Update api docs

Change-Id: I44f59a4b066929dcbd5d8f07df87d0d600a4aca8
diff --git a/TestON/Documentation/TestON_Document/TestON-module.html b/TestON/Documentation/TestON_Document/TestON-module.html
index efd9708..c8dacdc 100644
--- a/TestON/Documentation/TestON_Document/TestON-module.html
+++ b/TestON/Documentation/TestON_Document/TestON-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -78,15 +83,23 @@
     <ul>
     <li> <strong class="uidlink"><a href="TestON.bin.cli-module.html">TestON.bin.cli</a></strong>: <em class="summary">Created on 20-Dec-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.bin.generatedriver-module.html">TestON.bin.generatedriver</a></strong>: <em class="summary">Created on 11-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.bin.nec-module.html">TestON.bin.nec</a></strong>    </li>
+    <li> <strong class="uidlink">TestON.bin.pronto</strong>    </li>
     <li> <strong class="uidlink"><a href="TestON.bin.updatedriver-module.html">TestON.bin.updatedriver</a></strong>    </li>
-    <li> <strong class="uidlink"><a href="TestON.bin.vyatta-module.html">TestON.bin.vyatta</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.bin.vyatta-module.html">TestON.bin.vyatta</a></strong>: <em class="summary">TestON is free software: you can redistribute it and/or modify it 
+        under the terms of the GNU General Public License as published by 
+        the Free Software Foundation, either version 2 of the License, or 
+        (at your option) any later version.</em>    </li>
     </ul>
     </li>
     <li> <strong class="uidlink"><a href="TestON.core-module.html">TestON.core</a></strong>
     <ul>
+    <li> <strong class="uidlink"><a href="TestON.core.Thread-module.html">TestON.core.Thread</a></strong>    </li>
     <li> <strong class="uidlink"><a href="TestON.core.ast-module.html">TestON.core.ast</a></strong>: <em class="summary">ast
 ~~~</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.core.dicttoobject-module.html">TestON.core.dicttoobject</a></strong>    </li>
     <li> <strong class="uidlink"><a href="TestON.core.iniparser-module.html">TestON.core.iniparser</a></strong>: <em class="summary">Created on 07-Jan-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.core.jsonparser-module.html">TestON.core.jsonparser</a></strong>: <em class="summary">Created on 07-Jan-2013</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.core.logger-module.html">TestON.core.logger</a></strong>: <em class="summary">Created on 07-Jan-2013</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.core.openspeak-module.html">TestON.core.openspeak</a></strong>: <em class="summary">Created on 20-Dec-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.core.teston-module.html">TestON.core.teston</a></strong>: <em class="summary">Created on 22-Oct-2012</em>    </li>
@@ -102,27 +115,44 @@
     <ul>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.api-module.html">TestON.drivers.common.api</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controller-module.html">TestON.drivers.common.api.controller</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controller-module.html">TestON.drivers.common.api.controller</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controller.onosrestdriver-module.html">TestON.drivers.common.api.controller.onosrestdriver</a></strong>: <em class="summary">Created on 07-08-2015</em>    </li>
+    </ul>
+    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controllerdriver-module.html">TestON.drivers.common.api.controllerdriver</a></strong>: <em class="summary">Created on 29-Nov-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.api.fvtapidriver-module.html">TestON.drivers.common.api.fvtapidriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink">TestON.drivers.common.apidriver</strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.apidriver-module.html">TestON.drivers.common.apidriver</a></strong>: <em class="summary">Created on 22-Nov-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a></strong>
     <ul>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.dpclidriver-module.html">TestON.drivers.common.cli.dpclidriver</a></strong>: <em class="summary">Driver for blank dataplane VMs.</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator-module.html">TestON.drivers.common.cli.emulator</a></strong>
     <ul>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-module.html">TestON.drivers.common.cli.emulator.flowvisordriver</a></strong>: <em class="summary">Created on 26-Mar-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-module.html">TestON.drivers.common.cli.emulator.lincoedriver</a></strong>: <em class="summary">This driver handles the optical switch emulator linc-oe.</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-module.html">TestON.drivers.common.cli.emulator.mininetclidriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.poxclidriver-module.html">TestON.drivers.common.cli.emulator.poxclidriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-module.html">TestON.drivers.common.cli.emulator.remotemininetdriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     </ul>
     </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulatordriver-module.html">TestON.drivers.common.cli.emulatordriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesys-module.html">TestON.drivers.common.cli.remotesys</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.onosclidriver-module.html">TestON.drivers.common.cli.onosclidriver</a></strong>: <em class="summary">This driver enters the onos&gt; prompt to issue commands.</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.onosdriver-module.html">TestON.drivers.common.cli.onosdriver</a></strong>: <em class="summary">This driver interacts with ONOS bench, the OSGi platform that 
+        configures the ONOS nodes.</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.quaggaclidriver-module.html">TestON.drivers.common.cli.quaggaclidriver</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesys-module.html">TestON.drivers.common.cli.remotesys</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesysdriver-module.html">TestON.drivers.common.cli.remotesysdriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed-module.html">TestON.drivers.common.cli.remotetestbed</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html">TestON.drivers.common.cli.remotesys.hpswitchdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html">TestON.drivers.common.cli.remotetestbed.floodlightclidriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html">TestON.drivers.common.cli.remotetestbed.necswitchdriver</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html">TestON.drivers.common.cli.remotetestbed.remotepoxdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html">TestON.drivers.common.cli.remotetestbed.remotevmdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesysdriver-module.html">TestON.drivers.common.cli.remotesysdriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbeddriver-module.html">TestON.drivers.common.cli.remotetestbeddriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.tool-module.html">TestON.drivers.common.cli.tool</a></strong>
     <ul>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.tool.dpctlclidriver-module.html">TestON.drivers.common.cli.tool.dpctlclidriver</a></strong>: <em class="summary">Created on 26-Nov-2012</em>    </li>
@@ -132,17 +162,19 @@
     </ul>
     </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.clidriver-module.html">TestON.drivers.common.clidriver</a></strong>: <em class="summary">Created on 24-Oct-2012</em>    </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.webdriver-module.html">TestON.drivers.common.webdriver</a></strong>: <em class="summary">Created on 27-Feb-2013</em>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.component-module.html">TestON.drivers.component</a></strong>    </li>
+    <li> <strong class="uidlink">TestON.drivers.component</strong>    </li>
     </ul>
     </li>
     <li> <strong class="uidlink"><a href="TestON.examples-module.html">TestON.examples</a></strong>
     <ul>
     <li> <strong class="uidlink"><a href="TestON.examples.Assert-module.html">TestON.examples.Assert</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.examples.Assert.Assert-module.html">TestON.examples.Assert.Assert</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.examples.Assert.Assert-module.html">TestON.examples.Assert.Assert</a></strong>: <em class="summary">TestON is free software: you can redistribute it and/or modify it 
+        under the terms of the GNU General Public License as published by 
+        the Free Software Foundation, either version 2 of the License, or 
+        (at your option) any later version.</em>    </li>
     </ul>
     </li>
     <li> <strong class="uidlink"><a href="TestON.examples.CaseParams-module.html">TestON.examples.CaseParams</a></strong>
@@ -170,39 +202,107 @@
     <li> <strong class="uidlink"><a href="TestON.lib-module.html">TestON.lib</a></strong>    </li>
     <li> <strong class="uidlink"><a href="TestON.tests-module.html">TestON.tests</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.DpctlTest-module.html">TestON.tests.DpctlTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.CHOtest-module.html">TestON.tests.CHOtest</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.DpctlTest.DpctlTest-module.html">TestON.tests.DpctlTest.DpctlTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.CHOtest.CHOtest-module.html">TestON.tests.CHOtest.CHOtest</a></strong>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.FvtTest-module.html">TestON.tests.FvtTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.FUNCintent-module.html">TestON.tests.FUNCintent</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.FvtTest.FvtTest-module.html">TestON.tests.FvtTest.FvtTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.FUNCintent.FUNCintent-module.html">TestON.tests.FUNCintent.FUNCintent</a></strong>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.HPSwitchTest-module.html">TestON.tests.HPSwitchTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart-module.html">TestON.tests.HAclusterRestart</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.HPSwitchTest.HPSwitchTest-module.html">TestON.tests.HPSwitchTest.HPSwitchTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-module.html">TestON.tests.HAclusterRestart.HAclusterRestart</a></strong>: <em class="summary">Description: This test is to determine if ONOS can handle
+    all of it's nodes restarting</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.dependencies-module.html">TestON.tests.HAclusterRestart.dependencies</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html">TestON.tests.HAclusterRestart.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html">TestON.tests.HAclusterRestart.dependencies.obelisk</a></strong>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.MininetTest-module.html">TestON.tests.MininetTest</a></strong>
-    <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.MininetTest.MininetTest-module.html">TestON.tests.MininetTest.MininetTest</a></strong>: <em class="summary">Created on 29-Oct-2012</em>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.PoxTest-module.html">TestON.tests.PoxTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart-module.html">TestON.tests.HAminorityRestart</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.PoxTest.PoxTest-module.html">TestON.tests.PoxTest.PoxTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-module.html">TestON.tests.HAminorityRestart.HAminorityRestart</a></strong>: <em class="summary">Description: This test is to determine if ONOS can handle
+    a minority of it's nodes restarting</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.dependencies-module.html">TestON.tests.HAminorityRestart.dependencies</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html">TestON.tests.HAminorityRestart.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html">TestON.tests.HAminorityRestart.dependencies.obelisk</a></strong>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.TicketBooking-module.html">TestON.tests.TicketBooking</a></strong>
-    <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.TicketBooking.TicketBooking-module.html">TestON.tests.TicketBooking.TicketBooking</a></strong>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.VyattaTest-module.html">TestON.tests.VyattaTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity-module.html">TestON.tests.HAsanity</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.VyattaTest.VyattaTest-module.html">TestON.tests.VyattaTest.VyattaTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.HAsanity-module.html">TestON.tests.HAsanity.HAsanity</a></strong>: <em class="summary">Description: This test is to determine if the HA test setup is
+    working correctly.</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.dependencies-module.html">TestON.tests.HAsanity.dependencies</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.dependencies.Counters-module.html">TestON.tests.HAsanity.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.dependencies.obelisk-module.html">TestON.tests.HAsanity.dependencies.obelisk</a></strong>    </li>
+    </ul>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart-module.html">TestON.tests.HAsingleInstanceRestart</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html">TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart</a></strong>: <em class="summary">Description: This test is to determine if a single
+    instance ONOS 'cluster' can handle a restart</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html">TestON.tests.HAsingleInstanceRestart.dependencies</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html">TestON.tests.HAsingleInstanceRestart.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html">TestON.tests.HAsingleInstanceRestart.dependencies.obelisk</a></strong>    </li>
+    </ul>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SAMPscaleTopo-module.html">TestON.tests.SAMPscaleTopo</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html">TestON.tests.SAMPscaleTopo.SAMPscaleTopo</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SAMPstartTemplate-module.html">TestON.tests.SAMPstartTemplate</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html">TestON.tests.SAMPstartTemplate.SAMPstartTemplate</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFcbench-module.html">TestON.tests.SCPFcbench</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFcbench.SCPFcbench-module.html">TestON.tests.SCPFcbench.SCPFcbench</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFflowTp1g-module.html">TestON.tests.SCPFflowTp1g</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html">TestON.tests.SCPFflowTp1g.SCPFflowTp1g</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentEventTp-module.html">TestON.tests.SCPFintentEventTp</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html">TestON.tests.SCPFintentEventTp.SCPFintentEventTp</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentInstallWithdrawLat-module.html">TestON.tests.SCPFintentInstallWithdrawLat</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html">TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentRerouteLat-module.html">TestON.tests.SCPFintentRerouteLat</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html">TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFportLat-module.html">TestON.tests.SCPFportLat</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFportLat.SCPFportLat-module.html">TestON.tests.SCPFportLat.SCPFportLat</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFswitchLat-module.html">TestON.tests.SCPFswitchLat</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html">TestON.tests.SCPFswitchLat.SCPFswitchLat</a></strong>    </li>
     </ul>
     </li>
     </ul>
@@ -211,6 +311,32 @@
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -231,13 +357,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON-pysrc.html b/TestON/Documentation/TestON_Document/TestON-pysrc.html
index 90f9441..04032e9 100644
--- a/TestON/Documentation/TestON_Document/TestON-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -83,13 +88,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.bin-module.html b/TestON/Documentation/TestON_Document/TestON.bin-module.html
index 76563ec..ff5ae91 100644
--- a/TestON/Documentation/TestON_Document/TestON.bin-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.bin-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -77,12 +82,43 @@
   <ul class="nomargin">
     <li> <strong class="uidlink"><a href="TestON.bin.cli-module.html">TestON.bin.cli</a></strong>: <em class="summary">Created on 20-Dec-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.bin.generatedriver-module.html">TestON.bin.generatedriver</a></strong>: <em class="summary">Created on 11-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.bin.nec-module.html">TestON.bin.nec</a></strong>    </li>
+    <li> <strong class="uidlink">TestON.bin.pronto</strong>    </li>
     <li> <strong class="uidlink"><a href="TestON.bin.updatedriver-module.html">TestON.bin.updatedriver</a></strong>    </li>
-    <li> <strong class="uidlink"><a href="TestON.bin.vyatta-module.html">TestON.bin.vyatta</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.bin.vyatta-module.html">TestON.bin.vyatta</a></strong>: <em class="summary">TestON is free software: you can redistribute it and/or modify it 
+        under the terms of the GNU General Public License as published by 
+        the Free Software Foundation, either version 2 of the License, or 
+        (at your option) any later version.</em>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -103,13 +139,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.bin-pysrc.html b/TestON/Documentation/TestON_Document/TestON.bin-pysrc.html
index cbb1101..d4e68d3 100644
--- a/TestON/Documentation/TestON_Document/TestON.bin-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.bin-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -84,13 +89,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.bin.cli-module.html b/TestON/Documentation/TestON_Document/TestON.bin.cli-module.html
index 4f339ee..7dff3fd 100644
--- a/TestON/Documentation/TestON_Document/TestON.bin.cli-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.bin.cli-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -62,7 +67,17 @@
 <hr />
 <div class="fields">      <p><strong>Author:</strong>
         Anil Kumar (anilkumar.s@paxterrasolutions.com)
-        <p>cli will provide the CLI shell for teston framework.</p>
+        <p>TestON is free software: you can redistribute it and/or modify 
+        it under the terms of the GNU General Public License as published 
+        by the Free Software Foundation, either version 2 of the License, 
+        or (at your option) any later version.</p>
+        <p>TestON is distributed in the hope that it will be useful, but 
+        WITHOUT ANY WARRANTY; without even the implied warranty of 
+        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+        General Public License for more details.</p>
+        <p>You should have received a copy of the GNU General Public 
+        License along with TestON.  If not, see 
+        &lt;http://www.gnu.org/licenses/&gt;.</p>
       </p>
 </div><!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
@@ -94,8 +109,8 @@
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
         <a href="TestON.bin.cli.TestThread-class.html" class="summary-name">TestThread</a><br />
-      TestThread class will handle the test execution and will communicate 
-      with the thread in the do_run.
+      TestThread class will handle the test execution and will 
+        communicate with the thread in the do_run.
     </td>
   </tr>
 </table>
@@ -196,15 +211,64 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.bin.cli-module.html#introduction" class="summary-name">introduction</a> = <code title="&quot;TestON is the testing framework \nDeveloped by Paxterra Solutions (ww\
-w.paxterrasolutions.com)&quot;">&quot;TestON is the testing framework \nDeveloped by<code class="variable-ellipsis">...</code></code>
+        <a href="TestON.bin.cli-module.html#introduction" class="summary-name">introduction</a> = <code title="'''TestON is the testing framework 
+Developed by Paxterra Solutions (www.paxterrasolutions.com)'''"><code class="variable-quote">'</code><code class="variable-string">TestON is the testing framework \nDeveloped by</code><code class="variable-ellipsis">...</code></code>
     </td>
   </tr>
 <tr>
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a name="path"></a><span class="summary-name">path</span> = <code title="re.sub(&quot;teston$&quot;, &quot;&quot;, os.getcwd())">re.sub(&quot;teston$&quot;, &quot;&quot;, os.getcwd())</code>
+        <a name="path"></a><span class="summary-name">path</span> = <code title="'/home/admin/OnosSystemTest/TestON/'"><code class="variable-quote">'</code><code class="variable-string">/home/admin/OnosSystemTest/TestON/</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.bin'"><code class="variable-quote">'</code><code class="variable-string">TestON.bin</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="config_path"></a><span class="summary-name">config_path</span> = <code title="'/home/admin/OnosSystemTest/TestON/config/'"><code class="variable-quote">'</code><code class="variable-string">/home/admin/OnosSystemTest/TestON/config/</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="core_path"></a><span class="summary-name">core_path</span> = <code title="'/home/admin/OnosSystemTest/TestON/core'"><code class="variable-quote">'</code><code class="variable-string">/home/admin/OnosSystemTest/TestON/core</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="drivers_path"></a><span class="summary-name">drivers_path</span> = <code title="'/home/admin/OnosSystemTest/TestON/drivers/'"><code class="variable-quote">'</code><code class="variable-string">/home/admin/OnosSystemTest/TestON/drivers/</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="location"></a><span class="summary-name">location</span> = <code title="'/home/admin/OnosSystemTest/TestON/core'"><code class="variable-quote">'</code><code class="variable-string">/home/admin/OnosSystemTest/TestON/core</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="logs_path"></a><span class="summary-name">logs_path</span> = <code title="'/home/admin/OnosSystemTest/TestON/logs/'"><code class="variable-quote">'</code><code class="variable-string">/home/admin/OnosSystemTest/TestON/logs/</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="tests_path"></a><span class="summary-name">tests_path</span> = <code title="'/home/admin/OnosSystemTest/TestON/tests'"><code class="variable-quote">'</code><code class="variable-string">/home/admin/OnosSystemTest/TestON/tests</code><code class="variable-quote">'</code></code>
     </td>
   </tr>
 </table>
@@ -277,8 +341,8 @@
   <dl class="fields">
     <dt>Value:</dt>
       <dd><table><tr><td><pre class="variable">
-&quot;TestON is the testing framework \nDeveloped by Paxterra Solutions (ww<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-w.paxterrasolutions.com)&quot;
+<code class="variable-quote">'''</code><code class="variable-string">TestON is the testing framework </code>
+<code class="variable-string">Developed by Paxterra Solutions (www.paxterrasolutions.com)</code><code class="variable-quote">'''</code>
 </pre></td></tr></table>
 </dd>
   </dl>
@@ -305,13 +369,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.bin.cli-pysrc.html b/TestON/Documentation/TestON_Document/TestON.bin.cli-pysrc.html
index 31d4a59..3b80751 100644
--- a/TestON/Documentation/TestON_Document/TestON.bin.cli-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.bin.cli-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,716 +65,838 @@
 <a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
 <a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
 <a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 20-Dec-2012</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
 <a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)</tt> </tt>
 <a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">cli will provide the CLI shell for teston framework.</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
 <a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-string">"""</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-string">A simple command-line interface for TestON.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-string">The TestON CLI provides a simple console which</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-string">makes it easy to launch the test. For example, the command run will execute the test.</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-string">teston&gt; run test DpctlTest</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-string">Several useful commands are provided.</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-string">"""</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">subprocess</tt> <tt class="py-keyword">import</tt> <tt class="py-name">call</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">cmd</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Cmd</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">os</tt> <tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.isatty()=TestON.bin.cli.CLI-class.html#isatty"><a title="TestON.bin.cli.CLI.isatty" class="py-name" href="#" onclick="return doclink('link-0', 'isatty', 'link-0');">isatty</a></tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">__builtin__</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pprint</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable TestON.bin.cli.dump=TestON.bin.cli-module.html#dump,Function TestON.core.ast.dump()=TestON.core.ast-module.html#dump,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dump()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#dump"><a title="TestON.bin.cli.dump
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">    (at your option) any later version.</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-string">"""</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-string">cli will provide the CLI shell for teston framework.</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-string">A simple command-line interface for TestON.</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-string">The TestON CLI provides a simple console which</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-string">makes it easy to launch the test. For example, the command run will execute the test.</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-string">teston&gt; run test DpctlTest</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-string">Several useful commands are provided.</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-string">"""</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">subprocess</tt> <tt class="py-keyword">import</tt> <tt class="py-name">call</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">cmd</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Cmd</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">os</tt> <tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.isatty()=TestON.bin.cli.CLI-class.html#isatty"><a title="TestON.bin.cli.CLI.isatty" class="py-name" href="#" onclick="return doclink('link-0', 'isatty', 'link-0');">isatty</a></tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">__builtin__</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pprint</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable TestON.bin.cli.dump=TestON.bin.cli-module.html#dump,Function TestON.core.ast.dump()=TestON.core.ast-module.html#dump,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dump()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#dump"><a title="TestON.bin.cli.dump
 TestON.core.ast.dump
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dump" class="py-name" href="#" onclick="return doclink('link-1', 'dump', 'link-1');">dump</a></tt> <tt class="py-op">=</tt> <tt class="py-name">pprint</tt><tt class="py-op">.</tt><tt class="py-name">PrettyPrinter</tt><tt class="py-op">(</tt><tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">testthread</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable TestON.bin.cli.introduction=TestON.bin.cli-module.html#introduction"><a title="TestON.bin.cli.introduction" class="py-name" href="#" onclick="return doclink('link-2', 'introduction', 'link-2');">introduction</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TestON is the testing framework \nDeveloped by Paxterra Solutions (www.paxterrasolutions.com)"</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-3', 'path', 'link-3');">path</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"teston$"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getcwd</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-4', 'path', 'link-3');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-5" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-5', 'path', 'link-3');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">"/Core"</tt><tt class="py-op">)</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-6', 'path', 'link-3');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"../"</tt><tt class="py-op">)</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name" targets="Package TestON.core=TestON.core-module.html"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-7', 'core', 'link-7');">core</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module TestON.core.teston=TestON.core.teston-module.html"><a title="TestON.core.teston" class="py-name" href="#" onclick="return doclink('link-8', 'teston', 'link-8');">teston</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt>  </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
-<a name="CLI"></a><div id="CLI-def"><a name="L41"></a><tt class="py-lineno"> 41</tt> <a class="py-toggle" href="#" id="CLI-toggle" onclick="return toggle('CLI');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html">CLI</a><tt class="py-op">(</tt> <tt class="py-base-class">threading</tt><tt class="py-op">.</tt><tt class="py-base-class">Thread</tt><tt class="py-op">,</tt><tt class="py-base-class">Cmd</tt><tt class="py-op">,</tt><tt class="py-base-class">object</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="CLI-expanded"><a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt class="py-docstring">"command-line interface to execute the test."</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">    <tt id="link-9" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-9', 'prompt', 'link-9');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'teston&gt; '</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
-<a name="CLI.__init__"></a><div id="CLI.__init__-def"><a name="L46"></a><tt class="py-lineno"> 46</tt> <a class="py-toggle" href="#" id="CLI.__init__-toggle" onclick="return toggle('CLI.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">teston</tt><tt class="py-op">,</tt> <tt class="py-param">stdin</tt><tt class="py-op">=</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">stdin</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.__init__-expanded"><a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.core.teston" class="py-name" href="#" onclick="return doclink('link-10', 'teston', 'link-8');">teston</a></tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name"><a title="TestON.core.teston" class="py-name" href="#" onclick="return doclink('link-11', 'teston', 'link-8');">teston</a></tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">         </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_mainevent</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Thread</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.drivers.common.webdriver.WebDriver.__init__()=TestON.drivers.common.webdriver.WebDriver-class.html#__init__,Method TestON.drivers.component.Component.__init__()=TestON.drivers.component.Component-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__()=TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#__init__,Method TestON.tests.FvtTest.FvtTest.FvtTest.__init__()=TestON.tests.FvtTest.FvtTest.FvtTest-class.html#__init__,Method TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__()=TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#__init__,Method TestON.tests.MininetTest.MininetTest.MininetTest.__init__()=TestON.tests.MininetTest.MininetTest.MininetTest-class.html#__init__,Method TestON.tests.PoxTest.PoxTest.PoxTest.__init__()=TestON.tests.PoxTest.PoxTest.PoxTest-class.html#__init__,Method TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__()=TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#__init__,Method TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__()=TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">testthread</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable TestON.bin.cli.introduction=TestON.bin.cli-module.html#introduction"><a title="TestON.bin.cli.introduction" class="py-name" href="#" onclick="return doclink('link-2', 'introduction', 'link-2');">introduction</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TestON is the testing framework \nDeveloped by Paxterra Solutions (www.paxterrasolutions.com)"</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">COLORS</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-3', 'path', 'link-3');">path</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">"/bin$"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-4', 'path', 'link-3');">path</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-5', 'path', 'link-3');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">insert</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt id="link-6" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-6', 'path', 'link-3');">path</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name" targets="Package TestON.core=TestON.core-module.html"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-7', 'core', 'link-7');">core</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Module TestON.core.teston=TestON.core.teston-module.html"><a title="TestON.core.teston" class="py-name" href="#" onclick="return doclink('link-8', 'teston', 'link-8');">teston</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"> </tt>
+<a name="CLI"></a><div id="CLI-def"><a name="L57"></a><tt class="py-lineno"> 57</tt> <a class="py-toggle" href="#" id="CLI-toggle" onclick="return toggle('CLI');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html">CLI</a><tt class="py-op">(</tt> <tt class="py-base-class">threading</tt><tt class="py-op">.</tt><tt class="py-base-class">Thread</tt><tt class="py-op">,</tt><tt class="py-base-class">Cmd</tt><tt class="py-op">,</tt><tt class="py-base-class">object</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="CLI-expanded"><a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">    <tt class="py-docstring">"command-line interface to execute the test."</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt id="link-9" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-9', 'prompt', 'link-9');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'teston&gt; '</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
+<a name="CLI.__init__"></a><div id="CLI.__init__-def"><a name="L62"></a><tt class="py-lineno"> 62</tt> <a class="py-toggle" href="#" id="CLI.__init__-toggle" onclick="return toggle('CLI.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">teston</tt><tt class="py-op">,</tt> <tt class="py-param">stdin</tt><tt class="py-op">=</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">stdin</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.__init__-expanded"><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.core.teston" class="py-name" href="#" onclick="return doclink('link-10', 'teston', 'link-8');">teston</a></tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name"><a title="TestON.core.teston" class="py-name" href="#" onclick="return doclink('link-11', 'teston', 'link-8');">teston</a></tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_mainevent</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Module TestON.core.Thread=TestON.core.Thread-module.html,Class TestON.core.Thread.Thread=TestON.core.Thread.Thread-class.html"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-12', 'Thread', 'link-12');">Thread</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
 TestON.bin.cli.TestThread.__init__
 TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
 TestON.bin.updatedriver.UpdateDriver.__init__
 TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
 TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
 TestON.core.openspeak.OpenSpeak.__init__
 TestON.core.teston.TestON.__init__
 TestON.core.testparser.TestParser.__init__
 TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
 TestON.drivers.common.api.controllerdriver.Controller.__init__
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
 TestON.drivers.common.cli.emulatordriver.Emulator.__init__
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
 TestON.drivers.common.cli.toolsdriver.Tools.__init__
 TestON.drivers.common.clidriver.CLI.__init__
-TestON.drivers.common.webdriver.WebDriver.__init__
-TestON.drivers.component.Component.__init__
 TestON.examples.Assert.Assert.Assert.__init__
 TestON.examples.CaseParams.CaseParams.CaseParams.__init__
 TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
 TestON.examples.StepParams.StepParams.StepParams.__init__
 TestON.examples.Topology.Topology.Topology.__init__
-TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__
-TestON.tests.FvtTest.FvtTest.FvtTest.__init__
-TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__
-TestON.tests.MininetTest.MininetTest.MininetTest.__init__
-TestON.tests.PoxTest.PoxTest.PoxTest.__init__
-TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__
-TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__" class="py-name" href="#" onclick="return doclink('link-12', '__init__', 'link-12');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">main_stop</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">locals</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">'test'</tt><tt class="py-op">:</tt> <tt id="link-13" class="py-name"><a title="TestON.core.teston" class="py-name" href="#" onclick="return doclink('link-13', 'teston', 'link-8');">teston</a></tt> <tt class="py-op">}</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stdin</tt> <tt class="py-op">=</tt> <tt class="py-name">stdin</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-name">Cmd</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.bin.cli.CLI.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-13', '__init__', 'link-13');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">main_stop</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">locals</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">'test'</tt><tt class="py-op">:</tt> <tt id="link-14" class="py-name"><a title="TestON.core.teston" class="py-name" href="#" onclick="return doclink('link-14', 'teston', 'link-8');">teston</a></tt> <tt class="py-op">}</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stdin</tt> <tt class="py-op">=</tt> <tt class="py-name">stdin</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-name">Cmd</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.bin.cli.CLI.__init__
 TestON.bin.cli.TestThread.__init__
 TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
 TestON.bin.updatedriver.UpdateDriver.__init__
 TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
 TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
 TestON.core.openspeak.OpenSpeak.__init__
 TestON.core.teston.TestON.__init__
 TestON.core.testparser.TestParser.__init__
 TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
 TestON.drivers.common.api.controllerdriver.Controller.__init__
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
 TestON.drivers.common.cli.emulatordriver.Emulator.__init__
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
 TestON.drivers.common.cli.toolsdriver.Tools.__init__
 TestON.drivers.common.clidriver.CLI.__init__
-TestON.drivers.common.webdriver.WebDriver.__init__
-TestON.drivers.component.Component.__init__
 TestON.examples.Assert.Assert.Assert.__init__
 TestON.examples.CaseParams.CaseParams.CaseParams.__init__
 TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
 TestON.examples.StepParams.StepParams.StepParams.__init__
 TestON.examples.Topology.Topology.Topology.__init__
-TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__
-TestON.tests.FvtTest.FvtTest.FvtTest.__init__
-TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__
-TestON.tests.MininetTest.MininetTest.MininetTest.__init__
-TestON.tests.PoxTest.PoxTest.PoxTest.__init__
-TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__
-TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__" class="py-name" href="#" onclick="return doclink('link-14', '__init__', 'link-12');">__init__</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method TestON.bin.cli.TestThread.pause()=TestON.bin.cli.TestThread-class.html#pause,Method TestON.core.teston.TestON.pause()=TestON.core.teston.TestON-class.html#pause"><a title="TestON.bin.cli.TestThread.pause
-TestON.core.teston.TestON.pause" class="py-name" href="#" onclick="return doclink('link-15', 'pause', 'link-15');">pause</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method TestON.bin.cli.TestThread.stop()=TestON.bin.cli.TestThread-class.html#stop"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-16', 'stop', 'link-16');">stop</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
-TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-17', 'cli', 'link-17');">cli</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
-</div><a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
-<a name="CLI.emptyline"></a><div id="CLI.emptyline-def"><a name="L59"></a><tt class="py-lineno"> 59</tt> <a class="py-toggle" href="#" id="CLI.emptyline-toggle" onclick="return toggle('CLI.emptyline');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#emptyline">emptyline</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.emptyline-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.emptyline-expanded"><a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-docstring">"Don't repeat last command when you hit return."</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">    <tt id="link-18" class="py-name" targets="Variable TestON.bin.cli.CLI.helpStr=TestON.bin.cli.CLI-class.html#helpStr"><a title="TestON.bin.cli.CLI.helpStr" class="py-name" href="#" onclick="return doclink('link-18', 'helpStr', 'link-18');">helpStr</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">              <tt class="py-string">" teston help"</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">    <tt class="py-op">)</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"> </tt>
-<a name="CLI.do_help"></a><div id="CLI.do_help-def"><a name="L67"></a><tt class="py-lineno"> 67</tt> <a class="py-toggle" href="#" id="CLI.do_help-toggle" onclick="return toggle('CLI.do_help');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_help">do_help</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_help-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_help-expanded"><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-docstring">"Describe available CLI commands."</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-name">Cmd</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method TestON.bin.cli.CLI.do_help()=TestON.bin.cli.CLI-class.html#do_help"><a title="TestON.bin.cli.CLI.do_help" class="py-name" href="#" onclick="return doclink('link-19', 'do_help', 'link-19');">do_help</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">line</tt> <tt class="py-keyword">is</tt> <tt class="py-string">''</tt><tt class="py-op">:</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">            <tt id="link-20" class="py-name" targets="Function TestON.bin.cli.output()=TestON.bin.cli-module.html#output"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-20', 'output', 'link-20');">output</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.bin.cli.CLI.helpStr" class="py-name" href="#" onclick="return doclink('link-21', 'helpStr', 'link-18');">helpStr</a></tt> <tt class="py-op">)</tt> </tt>
-</div><a name="CLI.do_run"></a><div id="CLI.do_run-def"><a name="L72"></a><tt class="py-lineno"> 72</tt> <a class="py-toggle" href="#" id="CLI.do_run-toggle" onclick="return toggle('CLI.do_run');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_run">do_run</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">args</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_run-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_run-expanded"><a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">        run command will execute the test with following optional command line arguments</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">        logdir &lt;directory to store logs in&gt;</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">        testcases &lt;list of testcases separated by comma or range of testcases separated by hypen&gt;</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">        mail &lt;mail-id or list of mail-ids seperated by comma&gt;</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">        example 1, to execute the examples specified in the ~/examples diretory.</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method TestON.bin.cli.CLI.parseArgs()=TestON.bin.cli.CLI-class.html#parseArgs"><a title="TestON.bin.cli.CLI.parseArgs" class="py-name" href="#" onclick="return doclink('link-22', 'parseArgs', 'link-22');">parseArgs</a></tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">,</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name" targets="Function TestON.bin.cli.dictToObj()=TestON.bin.cli-module.html#dictToObj"><a title="TestON.bin.cli.dictToObj" class="py-name" href="#" onclick="return doclink('link-23', 'dictToObj', 'link-23');">dictToObj</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">            <tt class="py-name">test</tt> <tt class="py-op">=</tt> <tt id="link-24" class="py-name" targets="Class TestON.bin.cli.TestThread=TestON.bin.cli.TestThread-class.html"><a title="TestON.bin.cli.TestThread" class="py-name" href="#" onclick="return doclink('link-24', 'TestThread', 'link-24');">TestThread</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-name">test</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">+</tt> <tt class="py-string">" test execution paused, please resume that before executing to another test"</tt> </tt>
-</div><a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                     </tt>
-<a name="CLI.do_resume"></a><div id="CLI.do_resume-def"><a name="L90"></a><tt class="py-lineno"> 90</tt> <a class="py-toggle" href="#" id="CLI.do_resume-toggle" onclick="return toggle('CLI.do_resume');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_resume">do_resume</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_resume-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_resume-expanded"><a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">        resume command will continue the execution of paused test.</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;resume</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring">        [2013-01-07 23:03:44.640723] [PoxTest] [STEP]  1.1: Checking the host reachability using pingHost</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring">        2013-01-07 23:03:44,858 - PoxTest - INFO - Expected Prompt Found</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring">        ....</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-name">testthread</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method TestON.bin.cli.TestThread.play()=TestON.bin.cli.TestThread-class.html#play"><a title="TestON.bin.cli.TestThread.play" class="py-name" href="#" onclick="return doclink('link-25', 'play', 'link-25');">play</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"There is no test to resume"</tt> </tt>
-</div><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">     </tt>
-<a name="CLI.do_nextstep"></a><div id="CLI.do_nextstep-def"><a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="CLI.do_nextstep-toggle" onclick="return toggle('CLI.do_nextstep');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_nextstep">do_nextstep</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_nextstep-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_nextstep-expanded"><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring">        nextstep will execute the next-step of the paused test and </tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">        it will pause the test after finishing of step.</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt; nextstep</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-docstring">        Will pause the test's execution, after completion of this step.....</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt; [2013-01-07 21:24:26.286601] [PoxTest] [STEP]  1.8: Checking the host reachability using pingHost</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-docstring">        2013-01-07 21:24:26,455 - PoxTest - INFO - Expected Prompt Found</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-docstring">        .....</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method TestON.drivers.component.Component.log()=TestON.drivers.component.Component-class.html#log"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-26', 'log', 'link-26');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Executing the nextstep, Will pause test execution, after completion of the step"</tt><tt class="py-op">)</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">            <tt class="py-name">testthread</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.bin.cli.TestThread.play" class="py-name" href="#" onclick="return doclink('link-27', 'play', 'link-25');">play</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">.1</tt><tt class="py-op">)</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-name">testthread</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.bin.cli.TestThread.pause
-TestON.core.teston.TestON.pause" class="py-name" href="#" onclick="return doclink('link-28', 'pause', 'link-15');">pause</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"There is no paused test "</tt> </tt>
-</div><a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">         </tt>
-<a name="CLI.do_dumpvar"></a><div id="CLI.do_dumpvar-def"><a name="L125"></a><tt class="py-lineno">125</tt> <a class="py-toggle" href="#" id="CLI.do_dumpvar-toggle" onclick="return toggle('CLI.do_dumpvar');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_dumpvar">do_dumpvar</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_dumpvar-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_dumpvar-expanded"><a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">        dumpvar will print all the test data in raw format.</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">        usgae : </tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;dumpvar main</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">        Here 'main' will be the test object.</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;dumpvar params </tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring">        here 'params' will be the parameters specified in the params file.</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;dumpvar topology</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring">        here 'topology' will be topology specification of the test specified in topo file.</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">line</tt> <tt class="py-op">==</tt> <tt class="py-string">"main"</tt><tt class="py-op">:</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">                <tt id="link-29" class="py-name"><a title="TestON.bin.cli.dump
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-15', '__init__', 'link-13');">__init__</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method TestON.bin.cli.TestThread.pause()=TestON.bin.cli.TestThread-class.html#pause,Method TestON.core.teston.TestON.pause()=TestON.core.teston.TestON-class.html#pause"><a title="TestON.bin.cli.TestThread.pause
+TestON.core.teston.TestON.pause" class="py-name" href="#" onclick="return doclink('link-16', 'pause', 'link-16');">pause</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method TestON.bin.cli.TestThread.stop()=TestON.bin.cli.TestThread-class.html#stop"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-17', 'stop', 'link-17');">stop</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-18', 'cli', 'link-18');">cli</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"> </tt>
+<a name="CLI.emptyline"></a><div id="CLI.emptyline-def"><a name="L75"></a><tt class="py-lineno"> 75</tt> <a class="py-toggle" href="#" id="CLI.emptyline-toggle" onclick="return toggle('CLI.emptyline');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#emptyline">emptyline</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.emptyline-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.emptyline-expanded"><a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-docstring">"Don't repeat last command when you hit return."</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">    <tt id="link-19" class="py-name" targets="Variable TestON.bin.cli.CLI.helpStr=TestON.bin.cli.CLI-class.html#helpStr"><a title="TestON.bin.cli.CLI.helpStr" class="py-name" href="#" onclick="return doclink('link-19', 'helpStr', 'link-19');">helpStr</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">              <tt class="py-string">" teston help"</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">    <tt class="py-op">)</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_help"></a><div id="CLI.do_help-def"><a name="L83"></a><tt class="py-lineno"> 83</tt> <a class="py-toggle" href="#" id="CLI.do_help-toggle" onclick="return toggle('CLI.do_help');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_help">do_help</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_help-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_help-expanded"><a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-docstring">"Describe available CLI commands."</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-name">Cmd</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method TestON.bin.cli.CLI.do_help()=TestON.bin.cli.CLI-class.html#do_help"><a title="TestON.bin.cli.CLI.do_help" class="py-name" href="#" onclick="return doclink('link-20', 'do_help', 'link-20');">do_help</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">line</tt> <tt class="py-keyword">is</tt> <tt class="py-string">''</tt><tt class="py-op">:</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt id="link-21" class="py-name" targets="Function TestON.bin.cli.output()=TestON.bin.cli-module.html#output"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-21', 'output', 'link-21');">output</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.bin.cli.CLI.helpStr" class="py-name" href="#" onclick="return doclink('link-22', 'helpStr', 'link-19');">helpStr</a></tt> <tt class="py-op">)</tt> </tt>
+</div><a name="CLI.do_run"></a><div id="CLI.do_run-def"><a name="L88"></a><tt class="py-lineno"> 88</tt> <a class="py-toggle" href="#" id="CLI.do_run-toggle" onclick="return toggle('CLI.do_run');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_run">do_run</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">args</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_run-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_run-expanded"><a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring">        run command will execute the test with following optional command line arguments</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">        logdir &lt;directory to store logs in&gt;</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">        testcases &lt;list of testcases separated by comma or range of testcases separated by hypen&gt;</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring">        mail &lt;mail-id or list of mail-ids seperated by comma&gt;</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring">        example 1, to execute the examples specified in the ~/examples diretory.</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.bin.cli.CLI.parseArgs()=TestON.bin.cli.CLI-class.html#parseArgs"><a title="TestON.bin.cli.CLI.parseArgs" class="py-name" href="#" onclick="return doclink('link-23', 'parseArgs', 'link-23');">parseArgs</a></tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">,</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt id="link-24" class="py-name" targets="Function TestON.bin.cli.dictToObj()=TestON.bin.cli-module.html#dictToObj"><a title="TestON.bin.cli.dictToObj" class="py-name" href="#" onclick="return doclink('link-24', 'dictToObj', 'link-24');">dictToObj</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt class="py-name">test</tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name" targets="Class TestON.bin.cli.TestThread=TestON.bin.cli.TestThread-class.html"><a title="TestON.bin.cli.TestThread" class="py-name" href="#" onclick="return doclink('link-25', 'TestThread', 'link-25');">TestThread</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">            <tt class="py-name">test</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">+</tt> <tt class="py-string">" test execution paused, please resume that before executing to another test"</tt> </tt>
+</div><a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_resume"></a><div id="CLI.do_resume-def"><a name="L106"></a><tt class="py-lineno">106</tt> <a class="py-toggle" href="#" id="CLI.do_resume-toggle" onclick="return toggle('CLI.do_resume');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_resume">do_resume</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_resume-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_resume-expanded"><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring">        resume command will continue the execution of paused test.</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;resume</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-docstring">        [2013-01-07 23:03:44.640723] [PoxTest] [STEP]  1.1: Checking the host reachability using pingHost</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring">        2013-01-07 23:03:44,858 - PoxTest - INFO - Expected Prompt Found</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-docstring">        ....</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-name">testthread</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method TestON.bin.cli.TestThread.play()=TestON.bin.cli.TestThread-class.html#play"><a title="TestON.bin.cli.TestThread.play" class="py-name" href="#" onclick="return doclink('link-26', 'play', 'link-26');">play</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"There is no test to resume"</tt> </tt>
+</div><a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_nextstep"></a><div id="CLI.do_nextstep-def"><a name="L119"></a><tt class="py-lineno">119</tt> <a class="py-toggle" href="#" id="CLI.do_nextstep-toggle" onclick="return toggle('CLI.do_nextstep');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_nextstep">do_nextstep</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_nextstep-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_nextstep-expanded"><a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-docstring">        nextstep will execute the next-step of the paused test and</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring">        it will pause the test after finishing of step.</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt; nextstep</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring">        Will pause the test's execution, after completion of this step.....</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt; [2013-01-07 21:24:26.286601] [PoxTest] [STEP]  1.8: Checking the host reachability using pingHost</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">        2013-01-07 21:24:26,455 - PoxTest - INFO - Expected Prompt Found</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">        .....</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-27', 'log', 'link-27');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Executing the nextstep, Will pause test execution, after completion of the step"</tt><tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">            <tt class="py-name">testthread</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.bin.cli.TestThread.play" class="py-name" href="#" onclick="return doclink('link-28', 'play', 'link-26');">play</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">.1</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">            <tt class="py-name">testthread</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.bin.cli.TestThread.pause
+TestON.core.teston.TestON.pause" class="py-name" href="#" onclick="return doclink('link-29', 'pause', 'link-16');">pause</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"There is no paused test "</tt> </tt>
+</div><a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_dumpvar"></a><div id="CLI.do_dumpvar-def"><a name="L141"></a><tt class="py-lineno">141</tt> <a class="py-toggle" href="#" id="CLI.do_dumpvar-toggle" onclick="return toggle('CLI.do_dumpvar');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_dumpvar">do_dumpvar</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_dumpvar-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_dumpvar-expanded"><a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"><tt class="py-docstring">        dumpvar will print all the test data in raw format.</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-docstring">        usgae :</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;dumpvar main</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-docstring">        Here 'main' will be the test object.</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;dumpvar params</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-docstring">        here 'params' will be the parameters specified in the params file.</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;dumpvar topology</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">        here 'topology' will be topology specification of the test specified in topo file.</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">line</tt> <tt class="py-op">==</tt> <tt class="py-string">"main"</tt><tt class="py-op">:</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">                <tt id="link-30" class="py-name"><a title="TestON.bin.cli.dump
 TestON.core.ast.dump
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dump" class="py-name" href="#" onclick="return doclink('link-29', 'dump', 'link-1');">dump</a></tt><tt class="py-op">.</tt><tt class="py-name">pprint</tt><tt class="py-op">(</tt><tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">                    <tt id="link-30" class="py-name"><a title="TestON.bin.cli.dump
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dump" class="py-name" href="#" onclick="return doclink('link-30', 'dump', 'link-1');">dump</a></tt><tt class="py-op">.</tt><tt class="py-name">pprint</tt><tt class="py-op">(</tt><tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">                    <tt id="link-31" class="py-name"><a title="TestON.bin.cli.dump
 TestON.core.ast.dump
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dump" class="py-name" href="#" onclick="return doclink('link-30', 'dump', 'link-1');">dump</a></tt><tt class="py-op">.</tt><tt class="py-name">pprint</tt><tt class="py-op">(</tt><tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">line</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-name">e</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"There is no paused test "</tt> </tt>
-</div><a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">             </tt>
-<a name="CLI.do_currentcase"></a><div id="CLI.do_currentcase-def"><a name="L149"></a><tt class="py-lineno">149</tt> <a class="py-toggle" href="#" id="CLI.do_currentcase-toggle" onclick="return toggle('CLI.do_currentcase');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_currentcase">do_currentcase</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_currentcase-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_currentcase-expanded"><a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring">        currentcase will return the current case in the test execution.</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;currentcase</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">        Currently executing test case is: 2</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">         </tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Currently executing test case is: "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"There is no paused test "</tt> </tt>
-</div><a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">             </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">             </tt>
-<a name="CLI.do_currentstep"></a><div id="CLI.do_currentstep-def"><a name="L163"></a><tt class="py-lineno">163</tt> <a class="py-toggle" href="#" id="CLI.do_currentstep-toggle" onclick="return toggle('CLI.do_currentstep');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_currentstep">do_currentstep</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_currentstep-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_currentstep-expanded"><a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"><tt class="py-docstring">        currentstep will return the current step in the test execution.</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt class="py-docstring">         </tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;currentstep</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-docstring">        Currently executing test step is: 2.3</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Currently executing test step is: "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">'.'</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt><tt class="py-op">)</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"There is no paused test "</tt> </tt>
-</div><a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">     </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">     </tt>
-<a name="CLI.do_stop"></a><div id="CLI.do_stop-def"><a name="L176"></a><tt class="py-lineno">176</tt> <a class="py-toggle" href="#" id="CLI.do_stop-toggle" onclick="return toggle('CLI.do_stop');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_stop">do_stop</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_stop-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_stop-expanded"><a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-docstring">        Will stop the paused test, if any !</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt class="py-name">testthread</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-31', 'stop', 'link-16');">stop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">             </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">'exited by user command'</tt> </tt>
-</div><a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">         </tt>
-<a name="CLI.do_gettest"></a><div id="CLI.do_gettest-def"><a name="L185"></a><tt class="py-lineno">185</tt> <a class="py-toggle" href="#" id="CLI.do_gettest-toggle" onclick="return toggle('CLI.do_gettest');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_gettest">do_gettest</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_gettest-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_gettest-expanded"><a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-docstring">        gettest will return the test name which is under execution or recently executed.</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"><tt class="py-docstring">        Test under execution:</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;gettest </tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-docstring">        Currently executing Test is: PoxTest</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"><tt class="py-docstring">        Test recently executed:</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"><tt class="py-docstring">        Recently executed test is: MininetTest</tt> </tt>
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dump" class="py-name" href="#" onclick="return doclink('link-31', 'dump', 'link-1');">dump</a></tt><tt class="py-op">.</tt><tt class="py-name">pprint</tt><tt class="py-op">(</tt><tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">line</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-name">e</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"There is no paused test "</tt> </tt>
+</div><a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_currentcase"></a><div id="CLI.do_currentcase-def"><a name="L165"></a><tt class="py-lineno">165</tt> <a class="py-toggle" href="#" id="CLI.do_currentcase-toggle" onclick="return toggle('CLI.do_currentcase');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_currentcase">do_currentcase</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_currentcase-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_currentcase-expanded"><a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-docstring">        currentcase will return the current case in the test execution.</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;currentcase</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-docstring">        Currently executing test case is: 2</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Currently executing test case is: "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"There is no paused test "</tt> </tt>
+</div><a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_currentstep"></a><div id="CLI.do_currentstep-def"><a name="L179"></a><tt class="py-lineno">179</tt> <a class="py-toggle" href="#" id="CLI.do_currentstep-toggle" onclick="return toggle('CLI.do_currentstep');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_currentstep">do_currentstep</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_currentstep-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_currentstep-expanded"><a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"><tt class="py-docstring">        currentstep will return the current step in the test execution.</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;currentstep</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"><tt class="py-docstring">        Currently executing test step is: 2.3</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Currently executing test step is: "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">'.'</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt><tt class="py-op">)</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"There is no paused test "</tt> </tt>
+</div><a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_stop"></a><div id="CLI.do_stop-def"><a name="L192"></a><tt class="py-lineno">192</tt> <a class="py-toggle" href="#" id="CLI.do_stop-toggle" onclick="return toggle('CLI.do_stop');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_stop">do_stop</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_stop-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_stop-expanded"><a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"><tt class="py-docstring">        Will stop the paused test, if any !</tt> </tt>
 <a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt> <tt class="py-op">:</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Currently executing Test is: "</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Recently executed test is: "</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">             </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"There is no previously executed Test"</tt> </tt>
-</div><a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">             </tt>
-<a name="CLI.do_showlog"></a><div id="CLI.do_showlog-def"><a name="L205"></a><tt class="py-lineno">205</tt> <a class="py-toggle" href="#" id="CLI.do_showlog-toggle" onclick="return toggle('CLI.do_showlog');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_showlog">do_showlog</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_showlog-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_showlog-expanded"><a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"><tt class="py-docstring">        showlog will show the test's Log</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;showlog</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"><tt class="py-docstring">        Last executed test's log is : //home/openflow/TestON/logs/PoxTest_07_Jan_2013_21_42_11/PoxTest_07_Jan_2013_21_42_11.log</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"><tt class="py-docstring">        .....</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;showlog</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"><tt class="py-docstring">        Currently executing Test's log is: /home/openflow/TestON/logs/PoxTest_07_Jan_2013_21_46_58/PoxTest_07_Jan_2013_21_46_58.log</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"><tt class="py-docstring">        .....</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt> <tt class="py-op">:</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Currently executing Test's log is: "</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">                 </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Last executed test's log is : "</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">             </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">            <tt class="py-name">logFile</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">            <tt class="py-name">logFileHandler</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">logFile</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">msg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">logFileHandler</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-name">msg</tt><tt class="py-op">,</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">                 </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">            <tt class="py-name">logFileHandler</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">             </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"There is no previously executed Test"</tt> </tt>
-</div><a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">             </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">     </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">             </tt>
-<a name="CLI.parseArgs"></a><div id="CLI.parseArgs-def"><a name="L234"></a><tt class="py-lineno">234</tt> <a class="py-toggle" href="#" id="CLI.parseArgs-toggle" onclick="return toggle('CLI.parseArgs');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#parseArgs">parseArgs</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">args</tt><tt class="py-op">,</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.parseArgs-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.parseArgs-expanded"><a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-docstring">        This will parse the command line arguments.</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Method TestON.bin.cli.CLI.initOptions()=TestON.bin.cli.CLI-class.html#initOptions"><a title="TestON.bin.cli.CLI.initOptions" class="py-name" href="#" onclick="return doclink('link-32', 'initOptions', 'link-32');">initOptions</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt> <tt class="py-op">:</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"logdir|mail|example|testdir|testcases"</tt><tt class="py-op">,</tt> <tt class="py-name">option</tt><tt class="py-op">,</tt> <tt class="py-name">flags</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">                        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">                        <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-name">option</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">                        <tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method TestON.bin.cli.CLI.testcasesInRange()=TestON.bin.cli.CLI-class.html#testcasesInRange"><a title="TestON.bin.cli.CLI.testcasesInRange" class="py-name" href="#" onclick="return doclink('link-33', 'testcasesInRange', 'link-33');">testcasesInRange</a></tt><tt class="py-op">(</tt><tt class="py-name">index</tt><tt class="py-op">,</tt><tt class="py-name">option</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">,</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">                    <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'testname'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">option</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">e</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">             </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">options</tt> </tt>
-</div><a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">     </tt>
-<a name="CLI.initOptions"></a><div id="CLI.initOptions-def"><a name="L253"></a><tt class="py-lineno">253</tt> <a class="py-toggle" href="#" id="CLI.initOptions-toggle" onclick="return toggle('CLI.initOptions');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#initOptions">initOptions</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.initOptions-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.initOptions-expanded"><a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"><tt class="py-docstring">        This will initialize the commandline options.</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">        <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'logdir'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'mail'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'example'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">        <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'testdir'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'testcases'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">options</tt>    </tt>
-</div><a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">     </tt>
-<a name="CLI.testcasesInRange"></a><div id="CLI.testcasesInRange-def"><a name="L264"></a><tt class="py-lineno">264</tt> <a class="py-toggle" href="#" id="CLI.testcasesInRange-toggle" onclick="return toggle('CLI.testcasesInRange');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#testcasesInRange">testcasesInRange</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">index</tt><tt class="py-op">,</tt><tt class="py-param">option</tt><tt class="py-op">,</tt><tt class="py-param">args</tt><tt class="py-op">,</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.testcasesInRange-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.testcasesInRange-expanded"><a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"><tt class="py-docstring">        This method will handle testcases list,specified in range [1-10].</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"testcases"</tt><tt class="py-op">,</tt><tt class="py-name">option</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">            <tt class="py-name">testcases</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">            <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\[|\]"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">            <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"(\d+)\-(\d+)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">m</tt><tt class="py-op">:</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">                <tt class="py-name">start_case</tt> <tt class="py-op">=</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">                <tt class="py-name">end_case</tt> <tt class="py-op">=</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">start_case</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">end_case</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">                    <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">start_case</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">                    <tt class="py-keyword">while</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">end_case</tt><tt class="py-op">:</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">                        <tt class="py-name">testcases</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">                        <tt class="py-name">i</tt><tt class="py-op">=</tt> <tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">1</tt>          </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">"Please specify testcases properly like 1-5"</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">                <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-name">option</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">options</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">            <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-name">option</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">testcases</tt><tt class="py-op">)</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">             </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">options</tt> </tt>
-</div><a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">     </tt>
-<a name="CLI.cmdloop"></a><div id="CLI.cmdloop-def"><a name="L289"></a><tt class="py-lineno">289</tt> <a class="py-toggle" href="#" id="CLI.cmdloop-toggle" onclick="return toggle('CLI.cmdloop');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#cmdloop">cmdloop</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">intro</tt><tt class="py-op">=</tt><tt id="link-34" class="py-name"><a title="TestON.bin.cli.introduction" class="py-name" href="#" onclick="return doclink('link-34', 'introduction', 'link-2');">introduction</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.cmdloop-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.cmdloop-expanded"><a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt id="link-35" class="py-name"><a title="TestON.bin.cli.introduction" class="py-name" href="#" onclick="return doclink('link-35', 'introduction', 'link-2');">introduction</a></tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">                <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-36" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
-TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-36', 'CLI', 'link-36');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Method TestON.bin.cli.CLI.cmdloop()=TestON.bin.cli.CLI-class.html#cmdloop"><a title="TestON.bin.cli.CLI.cmdloop" class="py-name" href="#" onclick="return doclink('link-37', 'cmdloop', 'link-37');">cmdloop</a></tt><tt class="py-op">(</tt><tt class="py-name">intro</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postloop</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">KeyboardInterrupt</tt><tt class="py-op">:</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">                <tt class="py-name">testthread</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.bin.cli.TestThread.pause
-TestON.core.teston.TestON.pause" class="py-name" href="#" onclick="return doclink('link-38', 'pause', 'link-15');">pause</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line"> </tt>
-<a name="CLI.do_echo"></a><div id="CLI.do_echo-def"><a name="L298"></a><tt class="py-lineno">298</tt> <a class="py-toggle" href="#" id="CLI.do_echo-toggle" onclick="return toggle('CLI.do_echo');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_echo">do_echo</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_echo-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_echo-expanded"><a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line"><tt class="py-docstring">        Echoing of given input.</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">        <tt id="link-39" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-39', 'output', 'link-20');">output</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line"> </tt>
-<a name="CLI.do_sh"></a><div id="CLI.do_sh-def"><a name="L304"></a><tt class="py-lineno">304</tt> <a class="py-toggle" href="#" id="CLI.do_sh-toggle" onclick="return toggle('CLI.do_sh');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_sh">do_sh</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_sh-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_sh-expanded"><a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line"><tt class="py-docstring">        Run an external shell command</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line"><tt class="py-docstring">        sh pwd</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"><tt class="py-docstring">        sh ifconfig etc.</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">        <tt class="py-name">call</tt><tt class="py-op">(</tt> <tt class="py-name">line</tt><tt class="py-op">,</tt> <tt class="py-name">shell</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
-</div><a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line"> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line"> </tt>
-<a name="CLI.do_py"></a><div id="CLI.do_py-def"><a name="L313"></a><tt class="py-lineno">313</tt> <a class="py-toggle" href="#" id="CLI.do_py-toggle" onclick="return toggle('CLI.do_py');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_py">do_py</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_py-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_py-expanded"><a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line"><tt class="py-docstring">        Evaluate a Python expression.</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line"><tt class="py-docstring">        py main.log.info("Sample Log Information")</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line"><tt class="py-docstring">        2013-01-07 12:07:26,804 - PoxTest - INFO - Sample Log Information</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">            <tt class="py-keyword">exec</tt><tt class="py-op">(</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">            <tt id="link-40" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-40', 'output', 'link-20');">output</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">'\n'</tt> <tt class="py-op">)</tt> </tt>
-</div><a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">             </tt>
-<a name="CLI.do_interpret"></a><div id="CLI.do_interpret-def"><a name="L326"></a><tt class="py-lineno">326</tt> <a class="py-toggle" href="#" id="CLI.do_interpret-toggle" onclick="return toggle('CLI.do_interpret');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_interpret">do_interpret</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_interpret-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_interpret-expanded"><a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line"><tt class="py-docstring">        interpret will translate the single line openspeak statement to equivalent python script.</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt; interpret ASSERT result EQUALS main.TRUE ONPASS "Ping executed successfully" ONFAIL "Ping failed"</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line"><tt class="py-docstring">        utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Ping executed successfully",onfail="Ping failed")</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">        <tt class="py-keyword">from</tt> <tt id="link-41" class="py-name"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-41', 'core', 'link-7');">core</a></tt> <tt class="py-keyword">import</tt> <tt id="link-42" class="py-name" targets="Module TestON.core.openspeak=TestON.core.openspeak-module.html"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-42', 'openspeak', 'link-42');">openspeak</a></tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">        <tt class="py-name">ospk</tt> <tt class="py-op">=</tt> <tt id="link-43" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-43', 'openspeak', 'link-42');">openspeak</a></tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Class TestON.core.openspeak.OpenSpeak=TestON.core.openspeak.OpenSpeak-class.html"><a title="TestON.core.openspeak.OpenSpeak" class="py-name" href="#" onclick="return doclink('link-44', 'OpenSpeak', 'link-44');">OpenSpeak</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">            <tt class="py-name">translated_code</tt> <tt class="py-op">=</tt> <tt class="py-name">ospk</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.interpret()=TestON.core.openspeak.OpenSpeak-class.html#interpret"><a title="TestON.core.openspeak.OpenSpeak.interpret" class="py-name" href="#" onclick="return doclink('link-45', 'interpret', 'link-45');">interpret</a></tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">=</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">translated_code</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">'Dynamic params are not allowed in single statement translations'</tt> </tt>
-</div><a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">         </tt>
-<a name="CLI.do_do"></a><div id="CLI.do_do-def"><a name="L342"></a><tt class="py-lineno">342</tt> <a class="py-toggle" href="#" id="CLI.do_do-toggle" onclick="return toggle('CLI.do_do');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_do">do_do</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_do-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_do-expanded"><a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"><tt class="py-docstring">        Do will translate and execute the openspeak statement for the paused test.</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"><tt class="py-docstring">        do &lt;OpenSpeak statement&gt;</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">            <tt class="py-keyword">from</tt> <tt id="link-46" class="py-name"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-46', 'core', 'link-7');">core</a></tt> <tt class="py-keyword">import</tt> <tt id="link-47" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-47', 'openspeak', 'link-42');">openspeak</a></tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">            <tt class="py-name">ospk</tt> <tt class="py-op">=</tt> <tt id="link-48" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-48', 'openspeak', 'link-42');">openspeak</a></tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.core.openspeak.OpenSpeak" class="py-name" href="#" onclick="return doclink('link-49', 'OpenSpeak', 'link-44');">OpenSpeak</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">                <tt class="py-name">translated_code</tt> <tt class="py-op">=</tt> <tt class="py-name">ospk</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.interpret" class="py-name" href="#" onclick="return doclink('link-50', 'interpret', 'link-45');">interpret</a></tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">=</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">                <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">translated_code</tt><tt class="py-op">)</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt><tt class="py-name">SyntaxError</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">'Dynamic params are not allowed in single statement translations'</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Do will translate and execute the openspeak statement for the paused test.\nPlease use interpret to translate the OpenSpeak statement."</tt> </tt>
-</div><a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">             </tt>
-<a name="CLI.do_compile"></a><div id="CLI.do_compile-def"><a name="L358"></a><tt class="py-lineno">358</tt> <a class="py-toggle" href="#" id="CLI.do_compile-toggle" onclick="return toggle('CLI.do_compile');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_compile">do_compile</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_compile-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_compile-expanded"><a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line"><tt class="py-docstring">        compile will translate the openspeak (.ospk) file into TestON test script (python).</tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"><tt class="py-docstring">        It will receive the openspeak file path as input and will generate </tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line"><tt class="py-docstring">        equivalent test-script file in the same directory. </tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line"><tt class="py-docstring">        usage:</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line"><tt class="py-docstring">        -----</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;compile /home/openflow/TestON/PoxTest.ospk</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line"><tt class="py-docstring">        Auto-generated test-script file is /home/openflow/TestON/PoxTest.py</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">        <tt class="py-keyword">from</tt> <tt id="link-51" class="py-name"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-51', 'core', 'link-7');">core</a></tt> <tt class="py-keyword">import</tt> <tt id="link-52" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-52', 'openspeak', 'link-42');">openspeak</a></tt> </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">        <tt id="link-53" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-53', 'openspeak', 'link-42');">openspeak</a></tt> <tt class="py-op">=</tt> <tt id="link-54" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-54', 'openspeak', 'link-42');">openspeak</a></tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.core.openspeak.OpenSpeak" class="py-name" href="#" onclick="return doclink('link-55', 'OpenSpeak', 'link-44');">OpenSpeak</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt>       </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt class="py-name">openspeakfile</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-56', 'path', 'link-3');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">            <tt id="link-57" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-57', 'openspeak', 'link-42');">openspeak</a></tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.compiler()=TestON.core.openspeak.OpenSpeak-class.html#compiler"><a title="TestON.core.openspeak.OpenSpeak.compiler" class="py-name" href="#" onclick="return doclink('link-58', 'compiler', 'link-58');">compiler</a></tt><tt class="py-op">(</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">=</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">,</tt><tt class="py-name">writetofile</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Auto-generated test-script file is "</tt><tt class="py-op">+</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"ospk"</tt><tt class="py-op">,</tt><tt class="py-string">"py"</tt><tt class="py-op">,</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">'There is no such file : '</tt><tt class="py-op">+</tt><tt class="py-name">line</tt> </tt>
-</div><a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line"> </tt>
-<a name="CLI.do_exit"></a><div id="CLI.do_exit-def"><a name="L379"></a><tt class="py-lineno">379</tt> <a class="py-toggle" href="#" id="CLI.do_exit-toggle" onclick="return toggle('CLI.do_exit');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_exit">do_exit</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">_line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_exit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_exit-expanded"><a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">        <tt class="py-docstring">"Exit"</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">            <tt class="py-name">testthread</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-59', 'stop', 'link-16');">stop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">             </tt>
-<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">        <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-60', 'exit', 'link-60');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line"> </tt>
-<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">'exited by user command'</tt> </tt>
-</div><a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line"> </tt>
-<a name="CLI.do_quit"></a><div id="CLI.do_quit-def"><a name="L388"></a><tt class="py-lineno">388</tt> <a class="py-toggle" href="#" id="CLI.do_quit-toggle" onclick="return toggle('CLI.do_quit');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_quit">do_quit</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_quit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_quit-expanded"><a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">        <tt class="py-docstring">"Exit"</tt> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name" targets="Method TestON.bin.cli.CLI.do_exit()=TestON.bin.cli.CLI-class.html#do_exit"><a title="TestON.bin.cli.CLI.do_exit" class="py-name" href="#" onclick="return doclink('link-61', 'do_exit', 'link-61');">do_exit</a></tt><tt class="py-op">(</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> </tt>
-</div><a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line"> </tt>
-<a name="CLI.do_EOF"></a><div id="CLI.do_EOF-def"><a name="L392"></a><tt class="py-lineno">392</tt> <a class="py-toggle" href="#" id="CLI.do_EOF-toggle" onclick="return toggle('CLI.do_EOF');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_EOF">do_EOF</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_EOF-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_EOF-expanded"><a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">        <tt class="py-docstring">"Exit"</tt> </tt>
-<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">        <tt id="link-62" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-62', 'output', 'link-20');">output</a></tt><tt class="py-op">(</tt> <tt class="py-string">'\n'</tt> <tt class="py-op">)</tt> </tt>
-<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.bin.cli.CLI.do_exit" class="py-name" href="#" onclick="return doclink('link-63', 'do_exit', 'link-61');">do_exit</a></tt><tt class="py-op">(</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> </tt>
-</div><a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line"> </tt>
-<a name="CLI.isatty"></a><div id="CLI.isatty-def"><a name="L397"></a><tt class="py-lineno">397</tt> <a class="py-toggle" href="#" id="CLI.isatty-toggle" onclick="return toggle('CLI.isatty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#isatty">isatty</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.isatty-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.isatty-expanded"><a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">        <tt class="py-docstring">"Is our standard input a tty?"</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-64" class="py-name"><a title="TestON.bin.cli.CLI.isatty" class="py-name" href="#" onclick="return doclink('link-64', 'isatty', 'link-0');">isatty</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stdin</tt><tt class="py-op">.</tt><tt class="py-name">fileno</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
-</div><a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line"> </tt>
-<a name="CLI.do_source"></a><div id="CLI.do_source-def"><a name="L401"></a><tt class="py-lineno">401</tt> <a class="py-toggle" href="#" id="CLI.do_source-toggle" onclick="return toggle('CLI.do_source');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_source">do_source</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_source-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_source-expanded"><a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line"><tt class="py-docstring">        Read shell commands from an input file and execute them sequentially.</tt> </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line"><tt class="py-docstring">        cmdsource.txt :</tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
-<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line"><tt class="py-docstring">        "pwd</tt> </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line"><tt class="py-docstring">         ls "</tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line"><tt class="py-docstring">         </tt> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;source /home/openflow/cmdsource.txt</tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line"><tt class="py-docstring">        /home/openflow/TestON/bin/</tt> </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line"><tt class="py-docstring">        cli.py  __init__.py</tt> </tt>
-<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
-<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line">         </tt>
-<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line">            <tt id="link-65" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-65', 'error', 'link-65');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">'usage: source &lt;file&gt;\n'</tt> <tt class="py-op">)</tt> </tt>
-<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
-<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">inputFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">                <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">inputFile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">                    <tt class="py-name">call</tt><tt class="py-op">(</tt> <tt class="py-name">line</tt><tt class="py-op">,</tt> <tt class="py-name">shell</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
-<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
-<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">:</tt> </tt>
-<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">            <tt id="link-66" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-66', 'error', 'link-65');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">'error reading file %s\n'</tt> <tt class="py-op">%</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-</div><a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">     </tt>
-<a name="CLI.do_updatedriver"></a><div id="CLI.do_updatedriver-def"><a name="L430"></a><tt class="py-lineno">430</tt> <a class="py-toggle" href="#" id="CLI.do_updatedriver-toggle" onclick="return toggle('CLI.do_updatedriver');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_updatedriver">do_updatedriver</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_updatedriver-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_updatedriver-expanded"><a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line"><tt class="py-docstring">         updatedriver will update the given driver name which exists into mentioned config file.</tt> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line"><tt class="py-docstring">         It will receive two optional arguments :</tt> </tt>
-<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line"><tt class="py-docstring">         </tt> </tt>
-<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line"><tt class="py-docstring">         1. Config File Path </tt> </tt>
-<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line"><tt class="py-docstring">         2. Drivers List to be updated.</tt> </tt>
-<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
-<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line"><tt class="py-docstring">         Default : config file = "~/TestON/config/updatedriver" ,</tt> </tt>
-<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line"><tt class="py-docstring">                   Driver List = all drivers specified in config file .</tt> </tt>
-<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line">        <tt id="link-67" class="py-name" targets="Method TestON.drivers.component.Component.config()=TestON.drivers.component.Component-class.html#config"><a title="TestON.drivers.component.Component.config" class="py-name" href="#" onclick="return doclink('link-67', 'config', 'link-67');">config</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line">        <tt id="link-68" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-68', 'drivers', 'link-68');">drivers</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">option</tt> <tt class="py-op">==</tt> <tt class="py-string">'config'</tt><tt class="py-op">:</tt> </tt>
-<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">                    <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">                    <tt id="link-69" class="py-name"><a title="TestON.drivers.component.Component.config" class="py-name" href="#" onclick="return doclink('link-69', 'config', 'link-67');">config</a></tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> </tt>
-<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">option</tt> <tt class="py-op">==</tt> <tt class="py-string">'drivers'</tt> <tt class="py-op">:</tt> </tt>
-<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">                    <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt>  </tt>
-<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">                    <tt id="link-70" class="py-name"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-70', 'drivers', 'link-68');">drivers</a></tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> </tt>
-<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt>
-<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt>         </tt>
-<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt id="link-71" class="py-name" targets="Module TestON.bin.updatedriver=TestON.bin.updatedriver-module.html"><a title="TestON.bin.updatedriver" class="py-name" href="#" onclick="return doclink('link-71', 'updatedriver', 'link-71');">updatedriver</a></tt> </tt>
-<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">        <tt class="py-name">converter</tt> <tt class="py-op">=</tt> <tt id="link-72" class="py-name"><a title="TestON.bin.updatedriver" class="py-name" href="#" onclick="return doclink('link-72', 'updatedriver', 'link-71');">updatedriver</a></tt><tt class="py-op">.</tt><tt id="link-73" class="py-name" targets="Class TestON.bin.updatedriver.UpdateDriver=TestON.bin.updatedriver.UpdateDriver-class.html"><a title="TestON.bin.updatedriver.UpdateDriver" class="py-name" href="#" onclick="return doclink('link-73', 'UpdateDriver', 'link-73');">UpdateDriver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line">         </tt>
-<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-74" class="py-name"><a title="TestON.drivers.component.Component.config" class="py-name" href="#" onclick="return doclink('link-74', 'config', 'link-67');">config</a></tt> <tt class="py-op">==</tt> <tt class="py-string">''</tt><tt class="py-op">:</tt> </tt>
-<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">            <tt id="link-75" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-75', 'path', 'link-3');">path</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"(bin)$"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getcwd</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">            <tt id="link-76" class="py-name"><a title="TestON.drivers.component.Component.config" class="py-name" href="#" onclick="return doclink('link-76', 'config', 'link-67');">config</a></tt> <tt class="py-op">=</tt> <tt id="link-77" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-77', 'path', 'link-3');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"/config/updatedriver.cfg"</tt> </tt>
-<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">            <tt class="py-name">configDict</tt> <tt class="py-op">=</tt> <tt class="py-name">converter</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.configparser()=TestON.bin.updatedriver.UpdateDriver-class.html#configparser,Method TestON.core.teston.TestON.configparser()=TestON.core.teston.TestON-class.html#configparser"><a title="TestON.bin.updatedriver.UpdateDriver.configparser
-TestON.core.teston.TestON.configparser" class="py-name" href="#" onclick="return doclink('link-78', 'configparser', 'link-78');">configparser</a></tt><tt class="py-op">(</tt><tt id="link-79" class="py-name"><a title="TestON.drivers.component.Component.config" class="py-name" href="#" onclick="return doclink('link-79', 'config', 'link-67');">config</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">             </tt>
-<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line">            <tt class="py-name">converter</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.configparser
-TestON.core.teston.TestON.configparser" class="py-name" href="#" onclick="return doclink('link-80', 'configparser', 'link-78');">configparser</a></tt><tt class="py-op">(</tt><tt id="link-81" class="py-name"><a title="TestON.drivers.component.Component.config" class="py-name" href="#" onclick="return doclink('link-81', 'config', 'link-67');">config</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">            <tt class="py-name">configDict</tt> <tt class="py-op">=</tt> <tt class="py-name">converter</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.configparser
-TestON.core.teston.TestON.configparser" class="py-name" href="#" onclick="return doclink('link-82', 'configparser', 'link-78');">configparser</a></tt><tt class="py-op">(</tt><tt id="link-83" class="py-name"><a title="TestON.drivers.component.Component.config" class="py-name" href="#" onclick="return doclink('link-83', 'config', 'link-67');">config</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">            </tt>
-<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">             </tt>
-<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">        <tt class="py-name">converter</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.writeDriver()=TestON.bin.updatedriver.UpdateDriver-class.html#writeDriver"><a title="TestON.bin.updatedriver.UpdateDriver.writeDriver" class="py-name" href="#" onclick="return doclink('link-84', 'writeDriver', 'link-84');">writeDriver</a></tt><tt class="py-op">(</tt><tt id="link-85" class="py-name"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-85', 'drivers', 'link-68');">drivers</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">                       </tt>
-<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">        </tt>
-<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">                      </tt>
-<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line">         </tt>
-<a name="CLI.do_time"></a><div id="CLI.do_time-def"><a name="L472"></a><tt class="py-lineno">472</tt> <a class="py-toggle" href="#" id="CLI.do_time-toggle" onclick="return toggle('CLI.do_time');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_time">do_time</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.do_time-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_time-expanded"><a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line">        <tt class="py-docstring">"Measure time taken for any command in TestON."</tt> </tt>
-<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">        <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">onecmd</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line">        <tt class="py-name">elapsed</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt> </tt>
-<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stdout</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"*** Elapsed time: %0.6f secs\n"</tt> <tt class="py-op">%</tt> <tt class="py-name">elapsed</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line"> </tt>
-<a name="CLI.default"></a><div id="CLI.default-def"><a name="L479"></a><tt class="py-lineno">479</tt> <a class="py-toggle" href="#" id="CLI.default-toggle" onclick="return toggle('CLI.default');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#default">default</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.default-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.default-expanded"><a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">        <tt class="py-docstring">"""Called on an input line when the command prefix is not recognized."""</tt> </tt>
-<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">        <tt class="py-name">first</tt><tt class="py-op">,</tt> <tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parseline</tt><tt class="py-op">(</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> </tt>
-<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">args</tt><tt class="py-op">:</tt> </tt>
-<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
-<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">args</tt> <tt class="py-keyword">and</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt> <tt class="py-keyword">and</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'\n'</tt><tt class="py-op">:</tt> </tt>
-<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line">            <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
-<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line">        <tt class="py-name">rest</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">' '</tt> <tt class="py-op">)</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-name">testthread</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-32', 'stop', 'link-17');">stop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">'exited by user command'</tt> </tt>
+</div><a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_gettest"></a><div id="CLI.do_gettest-def"><a name="L201"></a><tt class="py-lineno">201</tt> <a class="py-toggle" href="#" id="CLI.do_gettest-toggle" onclick="return toggle('CLI.do_gettest');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_gettest">do_gettest</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_gettest-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_gettest-expanded"><a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"><tt class="py-docstring">        gettest will return the test name which is under execution or recently executed.</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line"><tt class="py-docstring">        Test under execution:</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;gettest</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"><tt class="py-docstring">        Currently executing Test is: PoxTest</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"><tt class="py-docstring">        Test recently executed:</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"><tt class="py-docstring">        Recently executed test is: MininetTest</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt> <tt class="py-op">:</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Currently executing Test is: "</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Recently executed test is: "</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"There is no previously executed Test"</tt> </tt>
+</div><a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_showlog"></a><div id="CLI.do_showlog-def"><a name="L221"></a><tt class="py-lineno">221</tt> <a class="py-toggle" href="#" id="CLI.do_showlog-toggle" onclick="return toggle('CLI.do_showlog');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_showlog">do_showlog</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_showlog-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_showlog-expanded"><a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"><tt class="py-docstring">        showlog will show the test's Log</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;showlog</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring">        Last executed test's log is : //home/openflow/TestON/logs/PoxTest_07_Jan_2013_21_42_11/PoxTest_07_Jan_2013_21_42_11.log</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-docstring">        .....</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;showlog</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-docstring">        Currently executing Test's log is: /home/openflow/TestON/logs/PoxTest_07_Jan_2013_21_46_58/PoxTest_07_Jan_2013_21_46_58.log</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">        .....</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt> <tt class="py-op">:</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Currently executing Test's log is: "</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Last executed test's log is : "</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">            <tt class="py-name">logFile</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">            <tt class="py-name">logFileHandler</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">logFile</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">msg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">logFileHandler</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-name">msg</tt><tt class="py-op">,</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">            <tt class="py-name">logFileHandler</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"There is no previously executed Test"</tt> </tt>
+</div><a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"> </tt>
+<a name="CLI.parseArgs"></a><div id="CLI.parseArgs-def"><a name="L250"></a><tt class="py-lineno">250</tt> <a class="py-toggle" href="#" id="CLI.parseArgs-toggle" onclick="return toggle('CLI.parseArgs');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#parseArgs">parseArgs</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">args</tt><tt class="py-op">,</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.parseArgs-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.parseArgs-expanded"><a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"><tt class="py-docstring">        This will parse the command line arguments.</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">        <tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method TestON.bin.cli.CLI.initOptions()=TestON.bin.cli.CLI-class.html#initOptions"><a title="TestON.bin.cli.CLI.initOptions" class="py-name" href="#" onclick="return doclink('link-33', 'initOptions', 'link-33');">initOptions</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt> <tt class="py-op">:</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"logdir|mail|example|testdir|testcases|onoscell"</tt><tt class="py-op">,</tt> <tt class="py-name">option</tt><tt class="py-op">,</tt> <tt class="py-name">flags</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">                        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">                        <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-name">option</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">                        <tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Method TestON.bin.cli.CLI.testcasesInRange()=TestON.bin.cli.CLI-class.html#testcasesInRange"><a title="TestON.bin.cli.CLI.testcasesInRange" class="py-name" href="#" onclick="return doclink('link-34', 'testcasesInRange', 'link-34');">testcasesInRange</a></tt><tt class="py-op">(</tt><tt class="py-name">index</tt><tt class="py-op">,</tt><tt class="py-name">option</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">,</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">                    <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'testname'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">option</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">e</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">options</tt> </tt>
+</div><a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"> </tt>
+<a name="CLI.initOptions"></a><div id="CLI.initOptions-def"><a name="L269"></a><tt class="py-lineno">269</tt> <a class="py-toggle" href="#" id="CLI.initOptions-toggle" onclick="return toggle('CLI.initOptions');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#initOptions">initOptions</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.initOptions-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.initOptions-expanded"><a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"><tt class="py-docstring">        This will initialize the commandline options.</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">        <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'logdir'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">        <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'mail'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">        <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'example'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">        <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'testdir'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">        <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'testcases'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'onoscell'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">options</tt> </tt>
+</div><a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line"> </tt>
+<a name="CLI.testcasesInRange"></a><div id="CLI.testcasesInRange-def"><a name="L281"></a><tt class="py-lineno">281</tt> <a class="py-toggle" href="#" id="CLI.testcasesInRange-toggle" onclick="return toggle('CLI.testcasesInRange');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#testcasesInRange">testcasesInRange</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">index</tt><tt class="py-op">,</tt><tt class="py-param">option</tt><tt class="py-op">,</tt><tt class="py-param">args</tt><tt class="py-op">,</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.testcasesInRange-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.testcasesInRange-expanded"><a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line"><tt class="py-docstring">        This method will handle testcases list,specified in range [1-10].</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"testcases"</tt><tt class="py-op">,</tt><tt class="py-name">option</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">            <tt class="py-name">testcases</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">            <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\[|\]"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">            <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"(\d+)\-(\d+)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">m</tt><tt class="py-op">:</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">                <tt class="py-name">start_case</tt> <tt class="py-op">=</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">                <tt class="py-name">end_case</tt> <tt class="py-op">=</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">start_case</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">end_case</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">                    <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">start_case</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">                    <tt class="py-keyword">while</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">end_case</tt><tt class="py-op">:</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">                        <tt class="py-name">testcases</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">                        <tt class="py-name">i</tt><tt class="py-op">=</tt> <tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">"Please specify testcases properly like 1-5"</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">                <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-name">option</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">options</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">            <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-name">option</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">testcases</tt><tt class="py-op">)</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line"> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">options</tt> </tt>
+</div><a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"> </tt>
+<a name="CLI.cmdloop"></a><div id="CLI.cmdloop-def"><a name="L306"></a><tt class="py-lineno">306</tt> <a class="py-toggle" href="#" id="CLI.cmdloop-toggle" onclick="return toggle('CLI.cmdloop');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#cmdloop">cmdloop</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">intro</tt><tt class="py-op">=</tt><tt id="link-35" class="py-name"><a title="TestON.bin.cli.introduction" class="py-name" href="#" onclick="return doclink('link-35', 'introduction', 'link-2');">introduction</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.cmdloop-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.cmdloop-expanded"><a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt id="link-36" class="py-name"><a title="TestON.bin.cli.introduction" class="py-name" href="#" onclick="return doclink('link-36', 'introduction', 'link-2');">introduction</a></tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">                <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-37" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-37', 'CLI', 'link-37');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Method TestON.bin.cli.CLI.cmdloop()=TestON.bin.cli.CLI-class.html#cmdloop"><a title="TestON.bin.cli.CLI.cmdloop" class="py-name" href="#" onclick="return doclink('link-38', 'cmdloop', 'link-38');">cmdloop</a></tt><tt class="py-op">(</tt><tt class="py-name">intro</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postloop</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">KeyboardInterrupt</tt><tt class="py-op">:</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">                <tt class="py-name">testthread</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.bin.cli.TestThread.pause
+TestON.core.teston.TestON.pause" class="py-name" href="#" onclick="return doclink('link-39', 'pause', 'link-16');">pause</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_echo"></a><div id="CLI.do_echo-def"><a name="L315"></a><tt class="py-lineno">315</tt> <a class="py-toggle" href="#" id="CLI.do_echo-toggle" onclick="return toggle('CLI.do_echo');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_echo">do_echo</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_echo-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_echo-expanded"><a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line"><tt class="py-docstring">        Echoing of given input.</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">        <tt id="link-40" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-40', 'output', 'link-21');">output</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_sh"></a><div id="CLI.do_sh-def"><a name="L321"></a><tt class="py-lineno">321</tt> <a class="py-toggle" href="#" id="CLI.do_sh-toggle" onclick="return toggle('CLI.do_sh');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_sh">do_sh</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_sh-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_sh-expanded"><a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line"><tt class="py-docstring">        Run an external shell command</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line"><tt class="py-docstring">        sh pwd</tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"><tt class="py-docstring">        sh ifconfig etc.</tt> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">        <tt class="py-name">call</tt><tt class="py-op">(</tt> <tt class="py-name">line</tt><tt class="py-op">,</tt> <tt class="py-name">shell</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line"> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_py"></a><div id="CLI.do_py-def"><a name="L330"></a><tt class="py-lineno">330</tt> <a class="py-toggle" href="#" id="CLI.do_py-toggle" onclick="return toggle('CLI.do_py');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_py">do_py</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_py-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_py-expanded"><a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line"><tt class="py-docstring">        Evaluate a Python expression.</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line"><tt class="py-docstring">        py main.log.info("Sample Log Information")</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line"><tt class="py-docstring">        2013-01-07 12:07:26,804 - PoxTest - INFO - Sample Log Information</tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">            <tt class="py-keyword">exec</tt><tt class="py-op">(</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">            <tt id="link-41" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-41', 'output', 'link-21');">output</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">'\n'</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_interpret"></a><div id="CLI.do_interpret-def"><a name="L343"></a><tt class="py-lineno">343</tt> <a class="py-toggle" href="#" id="CLI.do_interpret-toggle" onclick="return toggle('CLI.do_interpret');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_interpret">do_interpret</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_interpret-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_interpret-expanded"><a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"><tt class="py-docstring">        interpret will translate the single line openspeak statement to equivalent python script.</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt; interpret ASSERT result EQUALS main.TRUE ONPASS "Ping executed successfully" ONFAIL "Ping failed"</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line"><tt class="py-docstring">        utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Ping executed successfully",onfail="Ping failed")</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">        <tt class="py-keyword">from</tt> <tt id="link-42" class="py-name"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-42', 'core', 'link-7');">core</a></tt> <tt class="py-keyword">import</tt> <tt id="link-43" class="py-name" targets="Module TestON.core.openspeak=TestON.core.openspeak-module.html"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-43', 'openspeak', 'link-43');">openspeak</a></tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">        <tt class="py-name">ospk</tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-44', 'openspeak', 'link-43');">openspeak</a></tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Class TestON.core.openspeak.OpenSpeak=TestON.core.openspeak.OpenSpeak-class.html"><a title="TestON.core.openspeak.OpenSpeak" class="py-name" href="#" onclick="return doclink('link-45', 'OpenSpeak', 'link-45');">OpenSpeak</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">            <tt class="py-name">translated_code</tt> <tt class="py-op">=</tt> <tt class="py-name">ospk</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.interpret()=TestON.core.openspeak.OpenSpeak-class.html#interpret"><a title="TestON.core.openspeak.OpenSpeak.interpret" class="py-name" href="#" onclick="return doclink('link-46', 'interpret', 'link-46');">interpret</a></tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">=</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">translated_code</tt> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">'Dynamic params are not allowed in single statement translations'</tt> </tt>
+</div><a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_do"></a><div id="CLI.do_do-def"><a name="L359"></a><tt class="py-lineno">359</tt> <a class="py-toggle" href="#" id="CLI.do_do-toggle" onclick="return toggle('CLI.do_do');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_do">do_do</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_do-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_do-expanded"><a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"><tt class="py-docstring">        Do will translate and execute the openspeak statement for the paused test.</tt> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line"><tt class="py-docstring">        do &lt;OpenSpeak statement&gt;</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">            <tt class="py-keyword">from</tt> <tt id="link-47" class="py-name"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-47', 'core', 'link-7');">core</a></tt> <tt class="py-keyword">import</tt> <tt id="link-48" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-48', 'openspeak', 'link-43');">openspeak</a></tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">            <tt class="py-name">ospk</tt> <tt class="py-op">=</tt> <tt id="link-49" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-49', 'openspeak', 'link-43');">openspeak</a></tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.core.openspeak.OpenSpeak" class="py-name" href="#" onclick="return doclink('link-50', 'OpenSpeak', 'link-45');">OpenSpeak</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">                <tt class="py-name">translated_code</tt> <tt class="py-op">=</tt> <tt class="py-name">ospk</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.interpret" class="py-name" href="#" onclick="return doclink('link-51', 'interpret', 'link-46');">interpret</a></tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">=</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">                <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">translated_code</tt><tt class="py-op">)</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt><tt class="py-name">AttributeError</tt><tt class="py-op">,</tt><tt class="py-name">SyntaxError</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">'Dynamic params are not allowed in single statement translations'</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Do will translate and execute the openspeak statement for the paused test.\nPlease use interpret to translate the OpenSpeak statement."</tt> </tt>
+</div><a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_compile"></a><div id="CLI.do_compile-def"><a name="L375"></a><tt class="py-lineno">375</tt> <a class="py-toggle" href="#" id="CLI.do_compile-toggle" onclick="return toggle('CLI.do_compile');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_compile">do_compile</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_compile-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_compile-expanded"><a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line"><tt class="py-docstring">        compile will translate the openspeak (.ospk) file into TestON test script (python).</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line"><tt class="py-docstring">        It will receive the openspeak file path as input and will generate</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line"><tt class="py-docstring">        equivalent test-script file in the same directory.</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line"><tt class="py-docstring">        usage:</tt> </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line"><tt class="py-docstring">        -----</tt> </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;compile /home/openflow/TestON/PoxTest.ospk</tt> </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line"><tt class="py-docstring">        Auto-generated test-script file is /home/openflow/TestON/PoxTest.py</tt> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">        <tt class="py-keyword">from</tt> <tt id="link-52" class="py-name"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-52', 'core', 'link-7');">core</a></tt> <tt class="py-keyword">import</tt> <tt id="link-53" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-53', 'openspeak', 'link-43');">openspeak</a></tt> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">        <tt id="link-54" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-54', 'openspeak', 'link-43');">openspeak</a></tt> <tt class="py-op">=</tt> <tt id="link-55" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-55', 'openspeak', 'link-43');">openspeak</a></tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.core.openspeak.OpenSpeak" class="py-name" href="#" onclick="return doclink('link-56', 'OpenSpeak', 'link-45');">OpenSpeak</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">        <tt class="py-name">openspeakfile</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-57', 'path', 'link-3');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">            <tt id="link-58" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-58', 'openspeak', 'link-43');">openspeak</a></tt><tt class="py-op">.</tt><tt id="link-59" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.compiler()=TestON.core.openspeak.OpenSpeak-class.html#compiler"><a title="TestON.core.openspeak.OpenSpeak.compiler" class="py-name" href="#" onclick="return doclink('link-59', 'compiler', 'link-59');">compiler</a></tt><tt class="py-op">(</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">=</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">,</tt><tt class="py-name">writetofile</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Auto-generated test-script file is "</tt><tt class="py-op">+</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"ospk"</tt><tt class="py-op">,</tt><tt class="py-string">"py"</tt><tt class="py-op">,</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">'There is no such file : '</tt><tt class="py-op">+</tt><tt class="py-name">line</tt> </tt>
+</div><a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_exit"></a><div id="CLI.do_exit-def"><a name="L396"></a><tt class="py-lineno">396</tt> <a class="py-toggle" href="#" id="CLI.do_exit-toggle" onclick="return toggle('CLI.do_exit');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_exit">do_exit</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">_line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_exit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_exit-expanded"><a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line">        <tt class="py-docstring">"Exit"</tt> </tt>
+<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">testthread</tt><tt class="py-op">:</tt> </tt>
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">            <tt class="py-name">testthread</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-60', 'stop', 'link-17');">stop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line"> </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">        <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-61', 'exit', 'link-61');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line"> </tt>
+<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">'exited by user command'</tt> </tt>
+</div><a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_quit"></a><div id="CLI.do_quit-def"><a name="L405"></a><tt class="py-lineno">405</tt> <a class="py-toggle" href="#" id="CLI.do_quit-toggle" onclick="return toggle('CLI.do_quit');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_quit">do_quit</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_quit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_quit-expanded"><a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">        <tt class="py-docstring">"Exit"</tt> </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name" targets="Method TestON.bin.cli.CLI.do_exit()=TestON.bin.cli.CLI-class.html#do_exit"><a title="TestON.bin.cli.CLI.do_exit" class="py-name" href="#" onclick="return doclink('link-62', 'do_exit', 'link-62');">do_exit</a></tt><tt class="py-op">(</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_EOF"></a><div id="CLI.do_EOF-def"><a name="L409"></a><tt class="py-lineno">409</tt> <a class="py-toggle" href="#" id="CLI.do_EOF-toggle" onclick="return toggle('CLI.do_EOF');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_EOF">do_EOF</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_EOF-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_EOF-expanded"><a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">        <tt class="py-docstring">"Exit"</tt> </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">        <tt id="link-63" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-63', 'output', 'link-21');">output</a></tt><tt class="py-op">(</tt> <tt class="py-string">'\n'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="TestON.bin.cli.CLI.do_exit" class="py-name" href="#" onclick="return doclink('link-64', 'do_exit', 'link-62');">do_exit</a></tt><tt class="py-op">(</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line"> </tt>
+<a name="CLI.isatty"></a><div id="CLI.isatty-def"><a name="L414"></a><tt class="py-lineno">414</tt> <a class="py-toggle" href="#" id="CLI.isatty-toggle" onclick="return toggle('CLI.isatty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#isatty">isatty</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.isatty-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.isatty-expanded"><a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line">        <tt class="py-docstring">"Is our standard input a tty?"</tt> </tt>
+<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-65" class="py-name"><a title="TestON.bin.cli.CLI.isatty" class="py-name" href="#" onclick="return doclink('link-65', 'isatty', 'link-0');">isatty</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stdin</tt><tt class="py-op">.</tt><tt class="py-name">fileno</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_source"></a><div id="CLI.do_source-def"><a name="L418"></a><tt class="py-lineno">418</tt> <a class="py-toggle" href="#" id="CLI.do_source-toggle" onclick="return toggle('CLI.do_source');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_source">do_source</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_source-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_source-expanded"><a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line"><tt class="py-docstring">        Read shell commands from an input file and execute them sequentially.</tt> </tt>
+<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line"><tt class="py-docstring">        cmdsource.txt :</tt> </tt>
+<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line"><tt class="py-docstring">        "pwd</tt> </tt>
+<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line"><tt class="py-docstring">         ls "</tt> </tt>
+<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line"><tt class="py-docstring">        teston&gt;source /home/openflow/cmdsource.txt</tt> </tt>
+<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line"><tt class="py-docstring">        /home/openflow/TestON/bin/</tt> </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line"><tt class="py-docstring">        cli.py  __init__.py</tt> </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line"> </tt>
+<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">            <tt id="link-66" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-66', 'error', 'link-66');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">'usage: source &lt;file&gt;\n'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">inputFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">                <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">inputFile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">                    <tt class="py-name">call</tt><tt class="py-op">(</tt> <tt class="py-name">line</tt><tt class="py-op">,</tt> <tt class="py-name">shell</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">:</tt> </tt>
+<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line">            <tt id="link-67" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-67', 'error', 'link-66');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">'error reading file %s\n'</tt> <tt class="py-op">%</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_updatedriver"></a><div id="CLI.do_updatedriver-def"><a name="L447"></a><tt class="py-lineno">447</tt> <a class="py-toggle" href="#" id="CLI.do_updatedriver-toggle" onclick="return toggle('CLI.do_updatedriver');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_updatedriver">do_updatedriver</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_updatedriver-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_updatedriver-expanded"><a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line"><tt class="py-docstring">         updatedriver will update the given driver name which exists into mentioned config file.</tt> </tt>
+<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line"><tt class="py-docstring">         It will receive two optional arguments :</tt> </tt>
+<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line"><tt class="py-docstring">         1. Config File Path</tt> </tt>
+<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line"><tt class="py-docstring">         2. Drivers List to be updated.</tt> </tt>
+<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line"><tt class="py-docstring">         Default : config file = "~/TestON/config/updatedriver" ,</tt> </tt>
+<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line"><tt class="py-docstring">                   Driver List = all drivers specified in config file .</tt> </tt>
+<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">        <tt class="py-name">config</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">        <tt id="link-68" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-68', 'drivers', 'link-68');">drivers</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">option</tt> <tt class="py-op">==</tt> <tt class="py-string">'config'</tt><tt class="py-op">:</tt> </tt>
+<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">                    <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">                    <tt class="py-name">config</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> </tt>
+<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">option</tt> <tt class="py-op">==</tt> <tt class="py-string">'drivers'</tt> <tt class="py-op">:</tt> </tt>
+<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">                    <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">                    <tt id="link-69" class="py-name"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-69', 'drivers', 'link-68');">drivers</a></tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> </tt>
+<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt id="link-70" class="py-name" targets="Module TestON.bin.updatedriver=TestON.bin.updatedriver-module.html"><a title="TestON.bin.updatedriver" class="py-name" href="#" onclick="return doclink('link-70', 'updatedriver', 'link-70');">updatedriver</a></tt> </tt>
+<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">        <tt class="py-name">converter</tt> <tt class="py-op">=</tt> <tt id="link-71" class="py-name"><a title="TestON.bin.updatedriver" class="py-name" href="#" onclick="return doclink('link-71', 'updatedriver', 'link-70');">updatedriver</a></tt><tt class="py-op">.</tt><tt id="link-72" class="py-name" targets="Class TestON.bin.updatedriver.UpdateDriver=TestON.bin.updatedriver.UpdateDriver-class.html"><a title="TestON.bin.updatedriver.UpdateDriver" class="py-name" href="#" onclick="return doclink('link-72', 'UpdateDriver', 'link-72');">UpdateDriver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line"> </tt>
+<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">config</tt> <tt class="py-op">==</tt> <tt class="py-string">''</tt><tt class="py-op">:</tt> </tt>
+<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line">            <tt id="link-73" class="py-name" targets="Variable TestON.bin.cli.location=TestON.bin.cli-module.html#location,Variable TestON.core.teston.location=TestON.core.teston-module.html#location"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-73', 'location', 'link-73');">location</a></tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-74', 'path', 'link-3');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">abspath</tt><tt class="py-op">(</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-75', 'path', 'link-3');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt class="py-op">(</tt> <tt class="py-name">__file__</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line">            <tt id="link-76" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-76', 'path', 'link-3');">path</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">"(bin)$"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt id="link-77" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-77', 'location', 'link-73');">location</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">            <tt class="py-name">config</tt> <tt class="py-op">=</tt> <tt id="link-78" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-78', 'path', 'link-3');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"/config/updatedriver.cfg"</tt> </tt>
+<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line">            <tt class="py-name">configDict</tt> <tt class="py-op">=</tt> <tt class="py-name">converter</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.configparser()=TestON.bin.updatedriver.UpdateDriver-class.html#configparser,Method TestON.core.teston.TestON.configparser()=TestON.core.teston.TestON-class.html#configparser"><a title="TestON.bin.updatedriver.UpdateDriver.configparser
+TestON.core.teston.TestON.configparser" class="py-name" href="#" onclick="return doclink('link-79', 'configparser', 'link-79');">configparser</a></tt><tt class="py-op">(</tt><tt class="py-name">config</tt><tt class="py-op">)</tt> </tt>
+<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line"> </tt>
+<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">            <tt class="py-name">converter</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.configparser
+TestON.core.teston.TestON.configparser" class="py-name" href="#" onclick="return doclink('link-80', 'configparser', 'link-79');">configparser</a></tt><tt class="py-op">(</tt><tt class="py-name">config</tt><tt class="py-op">)</tt> </tt>
+<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">            <tt class="py-name">configDict</tt> <tt class="py-op">=</tt> <tt class="py-name">converter</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.configparser
+TestON.core.teston.TestON.configparser" class="py-name" href="#" onclick="return doclink('link-81', 'configparser', 'link-79');">configparser</a></tt><tt class="py-op">(</tt><tt class="py-name">config</tt><tt class="py-op">)</tt> </tt>
+<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line"> </tt>
+<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line"> </tt>
+<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line">        <tt class="py-name">converter</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.writeDriver()=TestON.bin.updatedriver.UpdateDriver-class.html#writeDriver"><a title="TestON.bin.updatedriver.UpdateDriver.writeDriver" class="py-name" href="#" onclick="return doclink('link-82', 'writeDriver', 'link-82');">writeDriver</a></tt><tt class="py-op">(</tt><tt id="link-83" class="py-name"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-83', 'drivers', 'link-68');">drivers</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line"> </tt>
 <a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line"> </tt>
-<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line">        <tt id="link-86" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-86', 'error', 'link-65');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">'*** Unknown command: %s\n'</tt> <tt class="py-op">%</tt> <tt class="py-name">first</tt> <tt class="py-op">)</tt> </tt>
-</div></div><a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line"> </tt>
-<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line"> </tt>
-<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line"> </tt>
-<a name="TestThread"></a><div id="TestThread-def"><a name="L492"></a><tt class="py-lineno">492</tt> <a class="py-toggle" href="#" id="TestThread-toggle" onclick="return toggle('TestThread');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.bin.cli.TestThread-class.html">TestThread</a><tt class="py-op">(</tt><tt class="py-base-class">threading</tt><tt class="py-op">.</tt><tt class="py-base-class">Thread</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestThread-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="TestThread-expanded"><a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line"><tt class="py-docstring">    TestThread class will handle the test execution and will communicate with the thread in the do_run.</tt> </tt>
-<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="TestThread.__init__"></a><div id="TestThread.__init__-def"><a name="L496"></a><tt class="py-lineno">496</tt> <a class="py-toggle" href="#" id="TestThread.__init__-toggle" onclick="return toggle('TestThread.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.TestThread-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestThread.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestThread.__init__-expanded"><a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stopevent</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">        <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Thread</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.bin.cli.CLI.__init__
+<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line"> </tt>
+<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line"> </tt>
+<a name="CLI.do_time"></a><div id="CLI.do_time-def"><a name="L490"></a><tt class="py-lineno">490</tt> <a class="py-toggle" href="#" id="CLI.do_time-toggle" onclick="return toggle('CLI.do_time');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#do_time">do_time</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.do_time-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.do_time-expanded"><a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line">        <tt class="py-docstring">"Measure time taken for any command in TestON."</tt> </tt>
+<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line">        <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">onecmd</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">        <tt class="py-name">elapsed</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt> </tt>
+<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stdout</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"*** Elapsed time: %0.6f secs\n"</tt> <tt class="py-op">%</tt> <tt class="py-name">elapsed</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line"> </tt>
+<a name="CLI.default"></a><div id="CLI.default-def"><a name="L497"></a><tt class="py-lineno">497</tt> <a class="py-toggle" href="#" id="CLI.default-toggle" onclick="return toggle('CLI.default');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.CLI-class.html#default">default</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.default-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.default-expanded"><a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">        <tt class="py-docstring">"""Called on an input line when the command prefix is not recognized."""</tt> </tt>
+<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">        <tt class="py-name">first</tt><tt class="py-op">,</tt> <tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parseline</tt><tt class="py-op">(</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> </tt>
+<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">args</tt><tt class="py-op">:</tt> </tt>
+<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">args</tt> <tt class="py-keyword">and</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt> <tt class="py-keyword">and</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'\n'</tt><tt class="py-op">:</tt> </tt>
+<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line">            <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line">        <tt class="py-name">rest</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">' '</tt> <tt class="py-op">)</tt> </tt>
+<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line"> </tt>
+<a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line">        <tt id="link-84" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-84', 'error', 'link-66');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">'*** Unknown command: %s\n'</tt> <tt class="py-op">%</tt> <tt class="py-name">first</tt> <tt class="py-op">)</tt> </tt>
+</div></div><a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line"> </tt>
+<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line"> </tt>
+<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line"> </tt>
+<a name="TestThread"></a><div id="TestThread-def"><a name="L510"></a><tt class="py-lineno">510</tt> <a class="py-toggle" href="#" id="TestThread-toggle" onclick="return toggle('TestThread');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.bin.cli.TestThread-class.html">TestThread</a><tt class="py-op">(</tt><tt class="py-base-class">threading</tt><tt class="py-op">.</tt><tt class="py-base-class">Thread</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestThread-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="TestThread-expanded"><a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line"><tt class="py-docstring">    TestThread class will handle the test execution and will communicate with the thread in the do_run.</tt> </tt>
+<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="TestThread.__init__"></a><div id="TestThread.__init__-def"><a name="L514"></a><tt class="py-lineno">514</tt> <a class="py-toggle" href="#" id="TestThread.__init__-toggle" onclick="return toggle('TestThread.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.TestThread-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestThread.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestThread.__init__-expanded"><a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stopevent</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Event</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line">        <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-85', 'Thread', 'link-12');">Thread</a></tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.bin.cli.CLI.__init__
 TestON.bin.cli.TestThread.__init__
 TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
 TestON.bin.updatedriver.UpdateDriver.__init__
 TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
 TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
 TestON.core.openspeak.OpenSpeak.__init__
 TestON.core.teston.TestON.__init__
 TestON.core.testparser.TestParser.__init__
 TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
 TestON.drivers.common.api.controllerdriver.Controller.__init__
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
 TestON.drivers.common.cli.emulatordriver.Emulator.__init__
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
 TestON.drivers.common.cli.toolsdriver.Tools.__init__
 TestON.drivers.common.clidriver.CLI.__init__
-TestON.drivers.common.webdriver.WebDriver.__init__
-TestON.drivers.component.Component.__init__
 TestON.examples.Assert.Assert.Assert.__init__
 TestON.examples.CaseParams.CaseParams.CaseParams.__init__
 TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
 TestON.examples.StepParams.StepParams.StepParams.__init__
 TestON.examples.Topology.Topology.Topology.__init__
-TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__
-TestON.tests.FvtTest.FvtTest.FvtTest.__init__
-TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__
-TestON.tests.MininetTest.MininetTest.MininetTest.__init__
-TestON.tests.PoxTest.PoxTest.PoxTest.__init__
-TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__
-TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__" class="py-name" href="#" onclick="return doclink('link-87', '__init__', 'link-12');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">is_stop</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt> </tt>
-<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">testthread</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
-</div><a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line"> </tt>
-<a name="TestThread.run"></a><div id="TestThread.run-def"><a name="L503"></a><tt class="py-lineno">503</tt> <a class="py-toggle" href="#" id="TestThread.run-toggle" onclick="return toggle('TestThread.run');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.TestThread-class.html#run">run</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestThread.run-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestThread.run-expanded"><a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line"><tt class="py-docstring">        Will execute the test.</tt> </tt>
-<a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">is_stop</tt> <tt class="py-op">:</tt> </tt>
-<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stopevent</tt><tt class="py-op">.</tt><tt class="py-name">isSet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">test_on</tt> <tt class="py-op">=</tt> <tt id="link-88" class="py-name" targets="Package TestON=TestON-module.html,Class TestON.core.teston.TestON=TestON.core.teston.TestON-class.html"><a title="TestON
-TestON.core.teston.TestON" class="py-name" href="#" onclick="return doclink('link-88', 'TestON', 'link-88');">TestON</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
-<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">test_on</tt><tt class="py-op">.</tt><tt class="py-name">init_result</tt><tt class="py-op">:</tt> </tt>
-<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line">                        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">test_on</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name" targets="Method TestON.bin.cli.TestThread.run()=TestON.bin.cli.TestThread-class.html#run,Method TestON.core.teston.TestON.run()=TestON.core.teston.TestON-class.html#run"><a title="TestON.bin.cli.TestThread.run
-TestON.core.teston.TestON.run" class="py-name" href="#" onclick="return doclink('link-89', 'run', 'link-89');">run</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">is_stop</tt> <tt class="py-op">:</tt> </tt>
-<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line">                            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">test_on</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup,Method TestON.drivers.component.Component.cleanup()=TestON.drivers.component.Component-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup
-TestON.drivers.component.Component.cleanup" class="py-name" href="#" onclick="return doclink('link-90', 'cleanup', 'link-90');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">is_stop</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt><tt class="py-op">(</tt><tt class="py-name">KeyboardInterrupt</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">"Recevied Interrupt,cleaning-up the logs and drivers before exiting"</tt> </tt>
-<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">                    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">test_on</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="TestON.core.teston.TestON.cleanup
-TestON.drivers.component.Component.cleanup" class="py-name" href="#" onclick="return doclink('link-91', 'cleanup', 'link-90');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">is_stop</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line"> </tt>
-<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">testthread</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt>        </tt>
-</div><a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line"> </tt>
-<a name="TestThread.pause"></a><div id="TestThread.pause-def"><a name="L523"></a><tt class="py-lineno">523</tt> <a class="py-toggle" href="#" id="TestThread.pause-toggle" onclick="return toggle('TestThread.pause');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.TestThread-class.html#pause">pause</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestThread.pause-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestThread.pause-expanded"><a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line"><tt class="py-docstring">        Will pause the test.</tt> </tt>
-<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Will pause the test's execution, after completion of this step.....\n\n\n\n"</tt> </tt>
-<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">        <tt id="link-92" class="py-name"><a title="TestON.bin.cli
-TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-92', 'cli', 'link-17');">cli</a></tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.bin.cli.TestThread.pause
-TestON.core.teston.TestON.pause" class="py-name" href="#" onclick="return doclink('link-93', 'pause', 'link-15');">pause</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stopevent</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line"> </tt>
-<a name="TestThread.play"></a><div id="TestThread.play-def"><a name="L531"></a><tt class="py-lineno">531</tt> <a class="py-toggle" href="#" id="TestThread.play-toggle" onclick="return toggle('TestThread.play');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.TestThread-class.html#play">play</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestThread.play-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestThread.play-expanded"><a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line"><tt class="py-docstring">        Will resume the paused test.</tt> </tt>
-<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stopevent</tt><tt class="py-op">.</tt><tt class="py-name">clear</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">        <tt id="link-94" class="py-name"><a title="TestON.bin.cli
-TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-94', 'cli', 'link-17');">cli</a></tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.bin.cli.TestThread.pause
-TestON.core.teston.TestON.pause" class="py-name" href="#" onclick="return doclink('link-95', 'pause', 'link-15');">pause</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">         </tt>
-<a name="TestThread.stop"></a><div id="TestThread.stop-def"><a name="L538"></a><tt class="py-lineno">538</tt> <a class="py-toggle" href="#" id="TestThread.stop-toggle" onclick="return toggle('TestThread.stop');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.TestThread-class.html#stop">stop</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestThread.stop-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestThread.stop-expanded"><a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line"><tt class="py-docstring">        Will stop the test execution.</tt> </tt>
-<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line">         </tt>
-<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Stopping the test"</tt> </tt>
-<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">is_stop</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line">        <tt id="link-96" class="py-name"><a title="TestON.bin.cli
-TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-96', 'cli', 'link-17');">cli</a></tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-97', 'stop', 'link-16');">stop</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">testthread</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-</div></div><a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">         </tt>
-<a name="output"></a><div id="output-def"><a name="L548"></a><tt class="py-lineno">548</tt> <a class="py-toggle" href="#" id="output-toggle" onclick="return toggle('output');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli-module.html#output">output</a><tt class="py-op">(</tt><tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="output-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="output-expanded"><a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line"><tt class="py-docstring">    Simply, print the message in console</tt> </tt>
-<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-name">msg</tt> </tt>
-</div><a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line"> </tt>
-<a name="error"></a><div id="error-def"><a name="L554"></a><tt class="py-lineno">554</tt> <a class="py-toggle" href="#" id="error-toggle" onclick="return toggle('error');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli-module.html#error">error</a><tt class="py-op">(</tt><tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="error-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="error-expanded"><a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line"><tt class="py-docstring">    print the error message.</tt> </tt>
-<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-name">msg</tt> </tt>
-</div><a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line"> </tt>
-<a name="dictToObj"></a><div id="dictToObj-def"><a name="L560"></a><tt class="py-lineno">560</tt> <a class="py-toggle" href="#" id="dictToObj-toggle" onclick="return toggle('dictToObj');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli-module.html#dictToObj">dictToObj</a><tt class="py-op">(</tt><tt class="py-param">dictionary</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="dictToObj-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="dictToObj-expanded"><a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line"><tt class="py-docstring">    This will facilitates the converting of the dictionary to the object.</tt> </tt>
-<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line"><tt class="py-docstring">    This method will help to send options as object format to the test.</tt> </tt>
-<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">dictionary</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line">        <tt class="py-name">dictionary</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-98" class="py-name"><a title="TestON.bin.cli.dictToObj" class="py-name" href="#" onclick="return doclink('link-98', 'dictToObj', 'link-23');">dictToObj</a></tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dictionary</tt><tt class="py-op">]</tt> </tt>
-<a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">dictionary</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">dictionary</tt> </tt>
-<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line">    <tt class="py-keyword">class</tt> <tt class="py-def-name">Convert</tt><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line">    <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">Convert</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L572"></a><tt class="py-lineno">572</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">k</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dictionary</tt><tt class="py-op">:</tt> </tt>
-<a name="L573"></a><tt class="py-lineno">573</tt>  <tt class="py-line">        <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-99" class="py-name"><a title="TestON.bin.cli.dictToObj" class="py-name" href="#" onclick="return doclink('link-99', 'dictToObj', 'link-23');">dictToObj</a></tt><tt class="py-op">(</tt><tt class="py-name">dictionary</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">obj</tt> </tt>
-</div><a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line"> </tt>
-<a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line"> </tt>
-<a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
-<a name="L578"></a><tt class="py-lineno">578</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line">        <tt id="link-100" class="py-name"><a title="TestON.bin.cli.CLI
-TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-100', 'CLI', 'link-36');">CLI</a></tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">onecmd</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line">        <tt id="link-101" class="py-name"><a title="TestON.bin.cli.CLI
-TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-101', 'CLI', 'link-36');">CLI</a></tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.bin.cli.CLI.cmdloop" class="py-name" href="#" onclick="return doclink('link-102', 'cmdloop', 'link-37');">cmdloop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-86', '__init__', 'link-13');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">is_stop</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt> </tt>
+<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">testthread</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line"> </tt>
+<a name="TestThread.run"></a><div id="TestThread.run-def"><a name="L521"></a><tt class="py-lineno">521</tt> <a class="py-toggle" href="#" id="TestThread.run-toggle" onclick="return toggle('TestThread.run');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.TestThread-class.html#run">run</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestThread.run-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestThread.run-expanded"><a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line"><tt class="py-docstring">        Will execute the test.</tt> </tt>
+<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">is_stop</tt> <tt class="py-op">:</tt> </tt>
+<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stopevent</tt><tt class="py-op">.</tt><tt class="py-name">isSet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">test_on</tt> <tt class="py-op">=</tt> <tt id="link-87" class="py-name" targets="Package TestON=TestON-module.html,Class TestON.core.teston.TestON=TestON.core.teston.TestON-class.html"><a title="TestON
+TestON.core.teston.TestON" class="py-name" href="#" onclick="return doclink('link-87', 'TestON', 'link-87');">TestON</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
+<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">test_on</tt><tt class="py-op">.</tt><tt class="py-name">init_result</tt><tt class="py-op">:</tt> </tt>
+<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">                        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">test_on</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name" targets="Method TestON.bin.cli.TestThread.run()=TestON.bin.cli.TestThread-class.html#run,Method TestON.core.Thread.Thread.run()=TestON.core.Thread.Thread-class.html#run,Method TestON.core.teston.TestON.run()=TestON.core.teston.TestON-class.html#run,Function TestON.tests.HAclusterRestart.dependencies.obelisk.run()=TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#run,Function TestON.tests.HAminorityRestart.dependencies.obelisk.run()=TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#run,Function TestON.tests.HAsanity.dependencies.obelisk.run()=TestON.tests.HAsanity.dependencies.obelisk-module.html#run,Function TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#run"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-88', 'run', 'link-88');">run</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">is_stop</tt> <tt class="py-op">:</tt> </tt>
+<a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">                            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">test_on</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-89', 'cleanup', 'link-89');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">is_stop</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt><tt class="py-op">(</tt><tt class="py-name">KeyboardInterrupt</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">"Recevied Interrupt,cleaning-up the logs and drivers before exiting"</tt> </tt>
+<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">                    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">test_on</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-90', 'cleanup', 'link-89');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">is_stop</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line"> </tt>
+<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">testthread</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line"> </tt>
+<a name="TestThread.pause"></a><div id="TestThread.pause-def"><a name="L541"></a><tt class="py-lineno">541</tt> <a class="py-toggle" href="#" id="TestThread.pause-toggle" onclick="return toggle('TestThread.pause');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.TestThread-class.html#pause">pause</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestThread.pause-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestThread.pause-expanded"><a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line"><tt class="py-docstring">        Will pause the test.</tt> </tt>
+<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Will pause the test's execution, after completion of this step.....\n\n\n\n"</tt> </tt>
+<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line">        <tt id="link-91" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-91', 'cli', 'link-18');">cli</a></tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.bin.cli.TestThread.pause
+TestON.core.teston.TestON.pause" class="py-name" href="#" onclick="return doclink('link-92', 'pause', 'link-16');">pause</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stopevent</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line"> </tt>
+<a name="TestThread.play"></a><div id="TestThread.play-def"><a name="L549"></a><tt class="py-lineno">549</tt> <a class="py-toggle" href="#" id="TestThread.play-toggle" onclick="return toggle('TestThread.play');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.TestThread-class.html#play">play</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestThread.play-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestThread.play-expanded"><a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line"><tt class="py-docstring">        Will resume the paused test.</tt> </tt>
+<a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stopevent</tt><tt class="py-op">.</tt><tt class="py-name">clear</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line">        <tt id="link-93" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-93', 'cli', 'link-18');">cli</a></tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="TestON.bin.cli.TestThread.pause
+TestON.core.teston.TestON.pause" class="py-name" href="#" onclick="return doclink('link-94', 'pause', 'link-16');">pause</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line"> </tt>
+<a name="TestThread.stop"></a><div id="TestThread.stop-def"><a name="L556"></a><tt class="py-lineno">556</tt> <a class="py-toggle" href="#" id="TestThread.stop-toggle" onclick="return toggle('TestThread.stop');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli.TestThread-class.html#stop">stop</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestThread.stop-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestThread.stop-expanded"><a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line"><tt class="py-docstring">        Will stop the test execution.</tt> </tt>
+<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line"> </tt>
+<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Stopping the test"</tt> </tt>
+<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">is_stop</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line">        <tt id="link-95" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-95', 'cli', 'link-18');">cli</a></tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-96', 'stop', 'link-17');">stop</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">testthread</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+</div></div><a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line"> </tt>
+<a name="output"></a><div id="output-def"><a name="L566"></a><tt class="py-lineno">566</tt> <a class="py-toggle" href="#" id="output-toggle" onclick="return toggle('output');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli-module.html#output">output</a><tt class="py-op">(</tt><tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="output-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="output-expanded"><a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line"><tt class="py-docstring">    Simply, print the message in console</tt> </tt>
+<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-name">msg</tt> </tt>
+</div><a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line"> </tt>
+<a name="error"></a><div id="error-def"><a name="L572"></a><tt class="py-lineno">572</tt> <a class="py-toggle" href="#" id="error-toggle" onclick="return toggle('error');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli-module.html#error">error</a><tt class="py-op">(</tt><tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="error-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="error-expanded"><a name="L573"></a><tt class="py-lineno">573</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line"><tt class="py-docstring">    print the error message.</tt> </tt>
+<a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-name">msg</tt> </tt>
+</div><a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line"> </tt>
+<a name="dictToObj"></a><div id="dictToObj-def"><a name="L578"></a><tt class="py-lineno">578</tt> <a class="py-toggle" href="#" id="dictToObj-toggle" onclick="return toggle('dictToObj');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.cli-module.html#dictToObj">dictToObj</a><tt class="py-op">(</tt><tt class="py-param">dictionary</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="dictToObj-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="dictToObj-expanded"><a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line"><tt class="py-docstring">    This will facilitates the converting of the dictionary to the object.</tt> </tt>
+<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line"><tt class="py-docstring">    This method will help to send options as object format to the test.</tt> </tt>
+<a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="L583"></a><tt class="py-lineno">583</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">dictionary</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line">        <tt class="py-name">dictionary</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-97" class="py-name"><a title="TestON.bin.cli.dictToObj" class="py-name" href="#" onclick="return doclink('link-97', 'dictToObj', 'link-24');">dictToObj</a></tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dictionary</tt><tt class="py-op">]</tt> </tt>
+<a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">dictionary</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">dictionary</tt> </tt>
+<a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line">    <tt class="py-keyword">class</tt> <tt class="py-def-name">Convert</tt><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line">    <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">Convert</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">k</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dictionary</tt><tt class="py-op">:</tt> </tt>
+<a name="L591"></a><tt class="py-lineno">591</tt>  <tt class="py-line">        <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-98" class="py-name"><a title="TestON.bin.cli.dictToObj" class="py-name" href="#" onclick="return doclink('link-98', 'dictToObj', 'link-24');">dictToObj</a></tt><tt class="py-op">(</tt><tt class="py-name">dictionary</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">obj</tt> </tt>
+</div><a name="L593"></a><tt class="py-lineno">593</tt>  <tt class="py-line"> </tt>
+<a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line"> </tt>
+<a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
+<a name="L596"></a><tt class="py-lineno">596</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">COLORS</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line">        <tt id="link-99" class="py-name"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-99', 'CLI', 'link-37');">CLI</a></tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">onecmd</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">COLORS</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line">        <tt id="link-100" class="py-name"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-100', 'CLI', 'link-37');">CLI</a></tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="TestON.bin.cli.CLI.cmdloop" class="py-name" href="#" onclick="return doclink('link-101', 'cmdloop', 'link-38');">cmdloop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -796,13 +923,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.bin.cli.CLI-class.html b/TestON/Documentation/TestON_Document/TestON.bin.cli.CLI-class.html
index c320dae..4e44e3a 100644
--- a/TestON/Documentation/TestON_Document/TestON.bin.cli.CLI-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.bin.cli.CLI-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -58,20 +63,16 @@
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
 <h1 class="epydoc">Class CLI</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.bin.cli-pysrc.html#CLI">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-        object --+        
-                 |        
-threading._Verbose --+    
-                     |    
-      threading.Thread --+
-                         |
-               cmd.Cmd --+
-                         |
-                object --+
-                         |
-                        <strong class="uidshort">CLI</strong>
-</pre>
-
+<center>
+<center>  <map id="class_hierarchy_for_cli" name="class_hierarchy_for_cli">
+<area shape="rect" id="node1" href="TestON.bin.cli.CLI-class.html" title="CLI" alt="" coords="84,118,127,143"/>
+<area shape="rect" id="node2" href="javascript:void(0);" title="cmd.Cmd" alt="" coords="5,62,83,87"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="threading.Thread" alt="" coords="107,62,225,87"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="threading._Verbose" alt="" coords="99,6,233,31"/>
+</map>
+  <img src="class_hierarchy_for_cli.gif" alt='' usemap="#class_hierarchy_for_cli" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
 <hr />
 <p>command-line interface to execute the test.</p>
 
@@ -101,7 +102,7 @@
           <td><span class="summary-sig"><a href="TestON.bin.cli.CLI-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">teston</span>,
         <span class="summary-sig-arg">stdin</span>=<span class="summary-sig-default">sys.stdin</span>)</span><br />
-      Instantiate a line-oriented interpreter framework.</td>
+      This constructor should always be called with keyword arguments.</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.bin.cli-pysrc.html#CLI.__init__">source&nbsp;code</a></span>
             
@@ -383,7 +384,7 @@
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td><span class="summary-sig"><a href="TestON.bin.cli.CLI-class.html#cmdloop" class="summary-sig-name">cmdloop</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">intro</span>=<span class="summary-sig-default">introduction</span>)</span><br />
+        <span class="summary-sig-arg">intro</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">TestON is the testing framework \nDeveloped by Paxterra Solut</code><code class="variable-ellipsis">...</code></span>)</span><br />
       Repeatedly issue a prompt, accept input, parse an initial prefix off 
       the received input, and dispatch to action methods, passing them the 
       remainder of the line as argument.</td>
@@ -654,20 +655,18 @@
     <td colspan="2" class="summary">
     <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b>:
       <code>__repr__</code>,
-      <code>daemon</code>,
       <code>getName</code>,
-      <code>ident</code>,
       <code>isAlive</code>,
       <code>isDaemon</code>,
       <code>is_alive</code>,
       <code>join</code>,
-      <code>name</code>,
       <code>run</code>,
       <code>setDaemon</code>,
       <code>setName</code>,
       <code>start</code>
       </p>
     <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b> (private):
+      <code>_reset_internal_locks</code>,
       <code>_set_daemon</code>,
       <code>_set_ident</code>
       </p></div>
@@ -726,14 +725,14 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a name="prompt"></a><span class="summary-name">prompt</span> = <code title="'teston&gt; '">'teston&gt; '</code>
+        <a name="prompt"></a><span class="summary-name">prompt</span> = <code title="'teston&gt; '"><code class="variable-quote">'</code><code class="variable-string">teston&gt; </code><code class="variable-quote">'</code></code>
     </td>
   </tr>
 <tr>
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a name="helpStr"></a><span class="summary-name">helpStr</span> = <code title="&quot; teston help&quot;">&quot; teston help&quot;</code>
+        <a name="helpStr"></a><span class="summary-name">helpStr</span> = <code title="' teston help'"><code class="variable-quote">'</code><code class="variable-string"> teston help</code><code class="variable-quote">'</code></code>
     </td>
   </tr>
   <tr>
@@ -772,6 +771,14 @@
 </tr>
   <tr>
     <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b>:
+      <code>daemon</code>,
+      <code>ident</code>,
+      <code>name</code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b> (private):
+      <code>_block</code>
+      </p></div>
     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
       <code>__class__</code>
       </p>
@@ -813,13 +820,21 @@
     </td>
   </tr></table>
   
-  <p>Instantiate a line-oriented interpreter framework.</p>
-  <p>The optional argument 'completekey' is the readline name of a 
-  completion key; it defaults to the Tab key. If completekey is not None 
-  and the readline module is available, command completion is done 
-  automatically. The optional arguments stdin and stdout specify alternate 
-  input and output file objects; if not specified, sys.stdin and sys.stdout
-  are used.</p>
+  <p>This constructor should always be called with keyword arguments. 
+  Arguments are:</p>
+  <p>*group* should be None; reserved for future extension when a 
+  ThreadGroup class is implemented.</p>
+  <p>*target* is the callable object to be invoked by the run() method. 
+  Defaults to None, meaning nothing is called.</p>
+  <p>*name* is the thread name. By default, a unique name is constructed of
+  the form &quot;Thread-N&quot; where N is a small decimal number.</p>
+  <p>*args* is the argument tuple for the target invocation. Defaults to 
+  ().</p>
+  <p>*kwargs* is a dictionary of keyword arguments for the target 
+  invocation. Defaults to {}.</p>
+  <p>If a subclass overrides the constructor, it must make sure to invoke 
+  the base class constructor (Thread.__init__()) before doing anything else
+  to the thread.</p>
   <dl class="fields">
     <dt>Overrides:
         object.__init__
@@ -1046,7 +1061,7 @@
   <table width="100%" cellpadding="0" cellspacing="0" border="0">
   <tr valign="top"><td>
   <h3 class="epydoc"><span class="sig"><span class="sig-name">cmdloop</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">intro</span>=<span class="sig-default">introduction</span>)</span>
+        <span class="sig-arg">intro</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">TestON is the testing framework \nDeveloped by Paxterra Solut</code><code class="variable-ellipsis">...</code></span>)</span>
   </h3>
   </td><td align="right" valign="top"
     ><span class="codelink"><a href="TestON.bin.cli-pysrc.html#CLI.cmdloop">source&nbsp;code</a></span>&nbsp;
@@ -1179,7 +1194,7 @@
 
 &quot;pwd
  ls &quot;
- 
+
 teston&gt;source /home/openflow/cmdsource.txt
 /home/openflow/TestON/bin/
 cli.py  __init__.py
@@ -1209,7 +1224,7 @@
 updatedriver will update the given driver name which exists into mentioned config file.
 It will receive two optional arguments :
 
-1. Config File Path 
+1. Config File Path
 2. Drivers List to be updated.
 
 Default : config file = &quot;~/TestON/config/updatedriver&quot; ,
@@ -1264,13 +1279,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.bin.cli.TestThread-class.html b/TestON/Documentation/TestON_Document/TestON.bin.cli.TestThread-class.html
index 7c66392..5c29da4 100644
--- a/TestON/Documentation/TestON_Document/TestON.bin.cli.TestThread-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.bin.cli.TestThread-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -58,16 +63,15 @@
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
 <h1 class="epydoc">Class TestThread</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.bin.cli-pysrc.html#TestThread">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-        object --+        
-                 |        
-threading._Verbose --+    
-                     |    
-      threading.Thread --+
-                         |
-                        <strong class="uidshort">TestThread</strong>
-</pre>
-
+<center>
+<center>  <map id="class_hierarchy_for_testthread" name="class_hierarchy_for_testthread">
+<area shape="rect" id="node1" href="TestON.bin.cli.TestThread-class.html" title="TestThread" alt="" coords="28,118,116,143"/>
+<area shape="rect" id="node2" href="javascript:void(0);" title="threading.Thread" alt="" coords="13,62,131,87"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="threading._Verbose" alt="" coords="5,6,139,31"/>
+</map>
+  <img src="class_hierarchy_for_testthread.gif" alt='' usemap="#class_hierarchy_for_testthread" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
 <hr />
 <p>TestThread class will handle the test execution and will communicate 
   with the thread in the do_run.</p>
@@ -97,7 +101,7 @@
         <tr>
           <td><span class="summary-sig"><a href="TestON.bin.cli.TestThread-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">options</span>)</span><br />
-      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+      This constructor should always be called with keyword arguments.</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.bin.cli-pysrc.html#TestThread.__init__">source&nbsp;code</a></span>
             
@@ -179,19 +183,17 @@
     <td colspan="2" class="summary">
     <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b>:
       <code>__repr__</code>,
-      <code>daemon</code>,
       <code>getName</code>,
-      <code>ident</code>,
       <code>isAlive</code>,
       <code>isDaemon</code>,
       <code>is_alive</code>,
       <code>join</code>,
-      <code>name</code>,
       <code>setDaemon</code>,
       <code>setName</code>,
       <code>start</code>
       </p>
     <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b> (private):
+      <code>_reset_internal_locks</code>,
       <code>_set_daemon</code>,
       <code>_set_ident</code>
       </p></div>
@@ -233,6 +235,14 @@
 </tr>
   <tr>
     <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b>:
+      <code>daemon</code>,
+      <code>ident</code>,
+      <code>name</code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b> (private):
+      <code>_block</code>
+      </p></div>
     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
       <code>__class__</code>
       </p>
@@ -273,8 +283,21 @@
     </td>
   </tr></table>
   
-  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
-  signature</p>
+  <p>This constructor should always be called with keyword arguments. 
+  Arguments are:</p>
+  <p>*group* should be None; reserved for future extension when a 
+  ThreadGroup class is implemented.</p>
+  <p>*target* is the callable object to be invoked by the run() method. 
+  Defaults to None, meaning nothing is called.</p>
+  <p>*name* is the thread name. By default, a unique name is constructed of
+  the form &quot;Thread-N&quot; where N is a small decimal number.</p>
+  <p>*args* is the argument tuple for the target invocation. Defaults to 
+  ().</p>
+  <p>*kwargs* is a dictionary of keyword arguments for the target 
+  invocation. Defaults to {}.</p>
+  <p>If a subclass overrides the constructor, it must make sure to invoke 
+  the base class constructor (Thread.__init__()) before doing anything else
+  to the thread.</p>
   <dl class="fields">
     <dt>Overrides:
         object.__init__
@@ -326,13 +349,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.bin.generatedriver-module.html b/TestON/Documentation/TestON_Document/TestON.bin.generatedriver-module.html
index 7f8aa6b..d74ead5 100644
--- a/TestON/Documentation/TestON_Document/TestON.bin.generatedriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.bin.generatedriver-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -62,6 +67,17 @@
 <hr />
 <div class="fields">      <p><strong>Author:</strong>
         Anil Kumar (anilkumar.s@paxterrasolutions.com),
+        <p>TestON is free software: you can redistribute it and/or modify 
+        it under the terms of the GNU General Public License as published 
+        by the Free Software Foundation, either version 2 of the License, 
+        or (at your option) any later version.</p>
+        <p>TestON is distributed in the hope that it will be useful, but 
+        WITHOUT ANY WARRANTY; without even the implied warranty of 
+        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+        General Public License for more details.</p>
+        <p>You should have received a copy of the GNU General Public 
+        License along with TestON.  If not, see 
+        &lt;http://www.gnu.org/licenses/&gt;.</p>
       </p>
 </div><!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
@@ -89,6 +105,31 @@
     </td>
   </tr>
 </table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.bin'"><code class="variable-quote">'</code><code class="variable-string">TestON.bin</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -109,13 +150,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.bin.generatedriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.bin.generatedriver-pysrc.html
index 93b252f..bebeb6f 100644
--- a/TestON/Documentation/TestON_Document/TestON.bin.generatedriver-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.bin.generatedriver-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,304 +65,350 @@
 <a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
 <a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
 <a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 11-Oct-2012</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
 <a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">@authors: Anil Kumar (anilkumar.s@paxterrasolutions.com),</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">          </tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt><tt class="py-op">,</tt> <tt class="py-name">fcntl</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">signal</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-0', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"../"</tt><tt class="py-op">)</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package TestON.core=TestON.core-module.html"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-1', 'core', 'link-1');">core</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Module TestON.core.xmldict=TestON.core.xmldict-module.html"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-2', 'xmldict', 'link-2');">xmldict</a></tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
-<a name="GenerateDriver"></a><div id="GenerateDriver-def"><a name="L15"></a><tt class="py-lineno"> 15</tt> <a class="py-toggle" href="#" id="GenerateDriver-toggle" onclick="return toggle('GenerateDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="GenerateDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="GenerateDriver-expanded"><a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">        This will </tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="GenerateDriver.__init__"></a><div id="GenerateDriver.__init__-def"><a name="L19"></a><tt class="py-lineno"> 19</tt> <a class="py-toggle" href="#" id="GenerateDriver.__init__-toggle" onclick="return toggle('GenerateDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="GenerateDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.__init__-expanded"><a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-3', 'default', 'link-3');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt><tt class="py-string">''</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">command_dictionary</tt>  <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">last_sub_command</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">        <tt class="py-name">filePath</tt> <tt class="py-op">=</tt> <tt class="py-string">"/home/paxterra/Documents/anilkumars_workspace/TestON/config/generatedriver.cfg"</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt> <tt class="py-op">=</tt> <tt class="py-name">filePath</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">            <tt class="py-name">xml</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">filePath</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt> <tt class="py-op">=</tt> <tt id="link-4" class="py-name"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-4', 'xmldict', 'link-2');">xmldict</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Function TestON.core.xmldict.xml_to_dict()=TestON.core.xmldict-module.html#xml_to_dict"><a title="TestON.core.xmldict.xml_to_dict" class="py-name" href="#" onclick="return doclink('link-5', 'xml_to_dict', 'link-5');">xml_to_dict</a></tt><tt class="py-op">(</tt><tt class="py-name">xml</tt><tt class="py-op">)</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Error : Config file "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt> <tt class="py-op">+</tt> <tt class="py-string">" not defined properly or file path error"</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">            <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-6', 'exit', 'link-6');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">device_name</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-</div><a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">         </tt>
-<a name="GenerateDriver.connect"></a><div id="GenerateDriver.connect-def"><a name="L37"></a><tt class="py-lineno"> 37</tt> <a class="py-toggle" href="#" id="GenerateDriver.connect-toggle" onclick="return toggle('GenerateDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#connect">connect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">connectargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="GenerateDriver.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.connect-expanded"><a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-docstring">           Connection will establish to the remote host using ssh.</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-docstring">           It will take user_name ,ip_address and password as arguments&lt;br&gt;</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring">           and will return the handle. </tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">             </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">ssh_newkey</tt> <tt class="py-op">=</tt> <tt class="py-string">'Are you sure you want to continue connecting'</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-name">refused</tt> <tt class="py-op">=</tt> <tt class="py-string">"ssh: connect to host "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">+</tt><tt class="py-string">" port 22: Connection refused"</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">:</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">spawn</tt><tt class="py-op">(</tt><tt class="py-string">'ssh -p '</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">+</tt><tt class="py-string">' '</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">+</tt><tt class="py-string">'@'</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt><tt class="py-name">maxread</tt><tt class="py-op">=</tt><tt class="py-number">50000</tt><tt class="py-op">)</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">spawn</tt><tt class="py-op">(</tt><tt class="py-string">'ssh '</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">+</tt><tt class="py-string">'@'</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt><tt class="py-name">maxread</tt><tt class="py-op">=</tt><tt class="py-number">50000</tt><tt class="py-op">)</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">         </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logfile_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getcwd</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"/GenerateDriver.log"</tt><tt class="py-op">,</tt><tt class="py-string">"w+"</tt><tt class="py-op">)</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">logfile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logfile_handler</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-name">i</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">ssh_newkey</tt><tt class="py-op">,</tt><tt class="py-string">'password:'</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">,</tt><tt class="py-name">refused</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">         </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">0</tt><tt class="py-op">:</tt>     </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendline</tt><tt class="py-op">(</tt><tt class="py-string">'yes'</tt><tt class="py-op">)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">            <tt class="py-name">i</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">ssh_newkey</tt><tt class="py-op">,</tt><tt class="py-string">'password:'</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendline</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;|#|$'</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"ssh: connect to host "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">+</tt><tt class="py-string">": Error"</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">3</tt><tt class="py-op">:</tt> <tt class="py-comment">#timeout</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">             </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"ssh: connect to host "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">+</tt><tt class="py-string">": Connection timed out"</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"ssh: connect to host "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">+</tt><tt class="py-string">": Connection refused"</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendline</tt><tt class="py-op">(</tt><tt class="py-string">"\r"</tt><tt class="py-op">)</tt>         </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
-</div><a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">     </tt>
-<a name="GenerateDriver.execute"></a><div id="GenerateDriver.execute-def"><a name="L79"></a><tt class="py-lineno"> 79</tt> <a class="py-toggle" href="#" id="GenerateDriver.execute-toggle" onclick="return toggle('GenerateDriver.execute');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#execute">execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">execparams</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="GenerateDriver.execute-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.execute-expanded"><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">        This method will execute the command and will check for the expected prompt.</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-name">defaultPrompt</tt> <tt class="py-op">=</tt> <tt class="py-string">'.*[\$&gt;\#]'</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">execparams</tt><tt class="py-op">:</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">execparams</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">         </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendline</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-name">timeoutVar</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-keyword">else</tt> <tt class="py-number">10</tt>  </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">         </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-7', 'prompt', 'link-7');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-string">"--More--"</tt><tt class="py-op">,</tt> <tt class="py-string">'Command not found.'</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">,</tt><tt class="py-string">"\n:"</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeoutVar</tt><tt class="py-op">)</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-comment">#print "Expected Prompt Found"</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">send</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MORE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.drivers.component.Component.log()=TestON.drivers.component.Component-class.html#log"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-8', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Found More screen to go , Sending a key to proceed"</tt><tt class="py-op">)</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-name">indexMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"--More--"</tt><tt class="py-op">,</tt> <tt id="link-9" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-9', 'prompt', 'link-7');">prompt</a></tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeoutVar</tt><tt class="py-op">)</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">indexMore</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Found anoother More screen to go , Sending a key to proceed"</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">send</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MORE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">                <tt class="py-name">indexMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"--More--"</tt><tt class="py-op">,</tt> <tt id="link-10" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-10', 'prompt', 'link-7');">prompt</a></tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeoutVar</tt><tt class="py-op">)</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt><tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Command not found"</tt>  </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">    (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt><tt class="py-op">,</tt> <tt class="py-name">fcntl</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">signal</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.core=TestON.core-module.html"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-0', 'core', 'link-0');">core</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module TestON.core.xmldict=TestON.core.xmldict-module.html"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-1', 'xmldict', 'link-1');">xmldict</a></tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"> </tt>
+<a name="GenerateDriver"></a><div id="GenerateDriver-def"><a name="L28"></a><tt class="py-lineno"> 28</tt> <a class="py-toggle" href="#" id="GenerateDriver-toggle" onclick="return toggle('GenerateDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GenerateDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="GenerateDriver-expanded"><a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-docstring">        This will</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="GenerateDriver.__init__"></a><div id="GenerateDriver.__init__-def"><a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="GenerateDriver.__init__-toggle" onclick="return toggle('GenerateDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GenerateDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.__init__-expanded"><a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-2', 'default', 'link-2');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-3', 'prompt', 'link-3');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'&gt;'</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt><tt class="py-string">''</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">command_dictionary</tt>  <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">last_sub_command</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">filePath</tt> <tt class="py-op">=</tt> <tt class="py-string">"generatedriver.cfg"</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt> <tt class="py-op">=</tt> <tt class="py-name">filePath</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">            <tt class="py-name">xml</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">filePath</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt> <tt class="py-op">=</tt> <tt id="link-4" class="py-name"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-4', 'xmldict', 'link-1');">xmldict</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Function TestON.core.xmldict.xml_to_dict()=TestON.core.xmldict-module.html#xml_to_dict"><a title="TestON.core.xmldict.xml_to_dict" class="py-name" href="#" onclick="return doclink('link-5', 'xml_to_dict', 'link-5');">xml_to_dict</a></tt><tt class="py-op">(</tt><tt class="py-name">xml</tt><tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Error : Config file "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt> <tt class="py-op">+</tt> <tt class="py-string">" not defined properly or file path error"</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-6', 'exit', 'link-6');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">device_name</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"> </tt>
+<a name="GenerateDriver.connect"></a><div id="GenerateDriver.connect-def"><a name="L51"></a><tt class="py-lineno"> 51</tt> <a class="py-toggle" href="#" id="GenerateDriver.connect-toggle" onclick="return toggle('GenerateDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#connect">connect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">connectargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GenerateDriver.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.connect-expanded"><a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">           Connection will establish to the remote host using ssh.</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">           It will take user_name ,ip_address and password as arguments&lt;br&gt;</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">           and will return the handle.</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-name">ssh_newkey</tt> <tt class="py-op">=</tt> <tt class="py-string">'Are you sure you want to continue connecting'</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-name">refused</tt> <tt class="py-op">=</tt> <tt class="py-string">"ssh: connect to host "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">+</tt><tt class="py-string">" port 22: Connection refused"</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">spawn</tt><tt class="py-op">(</tt><tt class="py-string">'ssh -p '</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">+</tt><tt class="py-string">' '</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">+</tt><tt class="py-string">'@'</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt><tt class="py-name">maxread</tt><tt class="py-op">=</tt><tt class="py-number">50000</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">spawn</tt><tt class="py-op">(</tt><tt class="py-string">'ssh '</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">+</tt><tt class="py-string">'@'</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt><tt class="py-name">maxread</tt><tt class="py-op">=</tt><tt class="py-number">50000</tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logfile_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getcwd</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"/GenerateDriver.log"</tt><tt class="py-op">,</tt><tt class="py-string">"w+"</tt><tt class="py-op">)</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">logfile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logfile_handler</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-name">i</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">ssh_newkey</tt><tt class="py-op">,</tt><tt class="py-string">'password:'</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">,</tt><tt class="py-name">refused</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-7', 'sendline', 'link-7');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">'yes'</tt><tt class="py-op">)</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-name">i</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">ssh_newkey</tt><tt class="py-op">,</tt><tt class="py-string">'password:'</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-8', 'sendline', 'link-7');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt><tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;|#|$'</tt><tt class="py-op">)</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"ssh: connect to host "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">+</tt><tt class="py-string">": Error"</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">3</tt><tt class="py-op">:</tt> <tt class="py-comment">#timeout</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"ssh: connect to host "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">+</tt><tt class="py-string">": Connection timed out"</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"ssh: connect to host "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">+</tt><tt class="py-string">": Connection refused"</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-9', 'sendline', 'link-7');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"\r"</tt><tt class="py-op">)</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+</div><a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"> </tt>
+<a name="GenerateDriver.execute"></a><div id="GenerateDriver.execute-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="GenerateDriver.execute-toggle" onclick="return toggle('GenerateDriver.execute');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#execute">execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">execparams</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GenerateDriver.execute-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.execute-expanded"><a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring">        This method will execute the command and will check for the expected prompt.</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-name">defaultPrompt</tt> <tt class="py-op">=</tt> <tt class="py-string">'.*[\$&gt;\#]'</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">execparams</tt><tt class="py-op">:</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">execparams</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-10', 'sendline', 'link-7');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">timeoutVar</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-keyword">else</tt> <tt class="py-number">10</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-11', 'prompt', 'link-3');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-string">"byte\s\d+"</tt><tt class="py-op">,</tt> <tt class="py-string">'Command not found.'</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">,</tt><tt class="py-string">"\n:"</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeoutVar</tt><tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
 <a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt><tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Expected Prompt not found , Time Out!!"</tt>  </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendcontrol</tt><tt class="py-op">(</tt><tt class="py-string">"D"</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-comment">#print "AA"*89</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt class="py-name">indexMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"\n:"</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-11', 'prompt', 'link-7');">prompt</a></tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeoutVar</tt><tt class="py-op">)</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">indexMore</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendcontrol</tt><tt class="py-op">(</tt><tt class="py-string">"D"</tt><tt class="py-op">)</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">                <tt class="py-name">indexMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"\n:"</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-12', 'prompt', 'link-7');">prompt</a></tt><tt class="py-op">,</tt><tt class="py-string">".*"</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeoutVar</tt><tt class="py-op">)</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">         </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> </tt>
-</div><a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">         </tt>
-<a name="GenerateDriver.configure"></a><div id="GenerateDriver.configure-def"><a name="L125"></a><tt class="py-lineno">125</tt> <a class="py-toggle" href="#" id="GenerateDriver.configure-toggle" onclick="return toggle('GenerateDriver.configure');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#configure">configure</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="GenerateDriver.configure-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.configure-expanded"><a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">        Will start the Configure mode of the device.</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-name">config_result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute,Method TestON.drivers.component.Component.execute()=TestON.drivers.component.Component-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-13', 'execute', 'link-13');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"configure"</tt><tt class="py-op">,</tt><tt id="link-14" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-14', 'prompt', 'link-7');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">'\#'</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">config_result</tt> </tt>
-</div><a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">     </tt>
-<a name="GenerateDriver.get_command_help"></a><div id="GenerateDriver.get_command_help-def"><a name="L132"></a><tt class="py-lineno">132</tt> <a class="py-toggle" href="#" id="GenerateDriver.get_command_help-toggle" onclick="return toggle('GenerateDriver.get_command_help');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#get_command_help">get_command_help</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">command</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="GenerateDriver.get_command_help-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.get_command_help-expanded"><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">        Will get the help of the Command</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">         </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">setecho</tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">help_keyword</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt><tt class="py-op">[</tt><tt class="py-string">'device'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">device_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'help_keyword'</tt><tt class="py-op">]</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-name">interrupt_key</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt><tt class="py-op">[</tt><tt class="py-string">'device'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">device_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'interrupt_key'</tt><tt class="py-op">]</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-name">command_details</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-15', 'execute', 'link-13');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt><tt class="py-op">+</tt><tt class="py-name">help_keyword</tt><tt class="py-op">,</tt><tt id="link-16" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-16', 'prompt', 'link-7');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">'\#'</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-name">command_details</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-17', 'execute', 'link-13');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt><tt class="py-op">+</tt><tt class="py-name">help_keyword</tt><tt class="py-op">,</tt><tt id="link-18" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-18', 'prompt', 'link-7');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">'\#'</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendcontrol</tt><tt class="py-op">(</tt><tt class="py-name">interrupt_key</tt><tt class="py-op">)</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-comment">#print command_details</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">command_details</tt> </tt>
-</div><a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">     </tt>
-<a name="GenerateDriver.get_command_details"></a><div id="GenerateDriver.get_command_details-def"><a name="L146"></a><tt class="py-lineno">146</tt> <a class="py-toggle" href="#" id="GenerateDriver.get_command_details-toggle" onclick="return toggle('GenerateDriver.get_command_details');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#get_command_details">get_command_details</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">command</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="GenerateDriver.get_command_details-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.get_command_details-expanded"><a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-docstring">        Will Update the command_dictionary with the available commands details</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">         </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-name">temp_dictionary</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-name">command_resulut</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.get_command_help()=TestON.bin.generatedriver.GenerateDriver-class.html#get_command_help"><a title="TestON.bin.generatedriver.GenerateDriver.get_command_help" class="py-name" href="#" onclick="return doclink('link-19', 'get_command_help', 'link-19');">get_command_help</a></tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">)</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-name">words</tt> <tt class="py-op">=</tt> <tt class="py-name">command_resulut</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">e</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-name">command_resulut</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-name">options_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">lines</tt> <tt class="py-op">:</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">            <tt class="py-name">value_match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">'[\s|\&gt;|\+|\-|\&lt;]{3}(\&lt;(\w+))\s*'</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">value_match</tt><tt class="py-op">:</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">" Eneter Value for "</tt><tt class="py-op">+</tt><tt class="py-name">value_match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">                <tt class="py-comment">#self.handle.interact()</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">                <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">'[\s|\&gt;|\+|\-|\&lt;]{3}([a-zA-Z0-9_\.\-\/]+)\s*'</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">match</tt> <tt class="py-op">:</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">                    <tt class="py-name">match_command</tt> <tt class="py-op">=</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">                    <tt class="py-name">options_list</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">match_command</tt><tt class="py-op">)</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">                     </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-name">temp_dictionary</tt><tt class="py-op">[</tt><tt class="py-name">command</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">options_list</tt>  </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">command_dictionary</tt><tt class="py-op">[</tt><tt class="py-name">command</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">options_list</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.print_details()=TestON.bin.generatedriver.GenerateDriver-class.html#print_details"><a title="TestON.bin.generatedriver.GenerateDriver.print_details" class="py-name" href="#" onclick="return doclink('link-20', 'print_details', 'link-20');">print_details</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">command_dictionary</tt><tt class="py-op">)</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">temp_dictionary</tt> </tt>
-</div><a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">     </tt>
-<a name="GenerateDriver.print_details"></a><div id="GenerateDriver.print_details-def"><a name="L176"></a><tt class="py-lineno">176</tt> <a class="py-toggle" href="#" id="GenerateDriver.print_details-toggle" onclick="return toggle('GenerateDriver.print_details');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#print_details">print_details</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">command_dictionary</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="GenerateDriver.print_details-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.print_details-expanded"><a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-docstring">        Will print the details in Tree Format</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt> <tt class="py-op">=</tt> <tt class="py-name">command_dictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-comment"># Sorting the output based on the length of the command string</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">length</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt> <tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-name">sorted</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">sorted</tt><tt class="py-op">:</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">            <tt class="py-name">sorted</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">length</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">                    <tt class="py-name">sorted</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">          </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt><tt class="py-op">:</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">key</tt> <tt class="py-op">+</tt><tt class="py-string">"\t "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">command_dictionary</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>   </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"\n\n"</tt>    </tt>
-</div><a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"> </tt>
-<a name="GenerateDriver.get_details_recursive"></a><div id="GenerateDriver.get_details_recursive-def"><a name="L197"></a><tt class="py-lineno">197</tt> <a class="py-toggle" href="#" id="GenerateDriver.get_details_recursive-toggle" onclick="return toggle('GenerateDriver.get_details_recursive');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#get_details_recursive">get_details_recursive</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main_comand</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="GenerateDriver.get_details_recursive-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.get_details_recursive-expanded"><a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">last_sub_command</tt> <tt class="py-op">=</tt> <tt class="py-name">main_comand</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">main_comand</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">last_sub_command</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-name">main_result_dcitionary</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.get_command_details()=TestON.bin.generatedriver.GenerateDriver-class.html#get_command_details"><a title="TestON.bin.generatedriver.GenerateDriver.get_command_details" class="py-name" href="#" onclick="return doclink('link-21', 'get_command_details', 'link-21');">get_command_details</a></tt><tt class="py-op">(</tt><tt class="py-name">main_comand</tt><tt class="py-op">)</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main_result_dcitionary</tt> <tt class="py-op">:</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main_result_dcitionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">each_option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">main_result_dcitionary</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">                   </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt><tt class="py-op">[</tt><tt class="py-string">'device'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">device_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'end_pattern'</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-string">"|^\.|^\d"</tt><tt class="py-op">,</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main_result_dcitionary</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">                        <tt class="py-keyword">print</tt> <tt class="py-string">"Reached the last argument for this "</tt><tt class="py-op">+</tt><tt class="py-name">main_comand</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">each_option</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">                        <tt class="py-name">main_result_dcitionary</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">each_option</tt><tt class="py-op">)</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">                        <tt class="py-keyword">return</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">last_sub_command</tt> <tt class="py-op">==</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main_result_dcitionary</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">                        <tt class="py-keyword">print</tt> <tt class="py-string">"Same command repeating, So Exiting "</tt><tt class="py-op">+</tt><tt class="py-name">main_comand</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">each_option</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">                        <tt class="py-name">main_result_dcitionary</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">each_option</tt><tt class="py-op">)</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">                    <tt class="py-name">result_dcitionary</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.get_details_recursive()=TestON.bin.generatedriver.GenerateDriver-class.html#get_details_recursive"><a title="TestON.bin.generatedriver.GenerateDriver.get_details_recursive" class="py-name" href="#" onclick="return doclink('link-22', 'get_details_recursive', 'link-22');">get_details_recursive</a></tt><tt class="py-op">(</tt><tt class="py-name">main_comand</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">each_option</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">                 </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
-</div><a name="GenerateDriver.create_driver"></a><div id="GenerateDriver.create_driver-def"><a name="L218"></a><tt class="py-lineno">218</tt> <a class="py-toggle" href="#" id="GenerateDriver.create_driver-toggle" onclick="return toggle('GenerateDriver.create_driver');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#create_driver">create_driver</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="GenerateDriver.create_driver-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.create_driver-expanded"><a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">device_name</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-name">driver_file_data</tt> <tt class="py-op">=</tt> <tt class="py-string">'class '</tt><tt class="py-op">+</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt><tt class="py-string">":\n"</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-name">driver_file_data</tt> <tt class="py-op">=</tt> <tt class="py-name">driver_file_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"    def __init__( self ):\n"</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-name">driver_file_data</tt> <tt class="py-op">=</tt> <tt class="py-name">driver_file_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"        self.prompt = '(.*)'\n        self.timeout = 60 \n\n"</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">         </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt><tt class="py-name">command</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-string">'    def '</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">            <tt class="py-name">command_as_api</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">,</tt><tt class="py-string">"_"</tt> <tt class="py-op">,</tt> <tt class="py-name">command</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">            <tt class="py-name">command_as_api</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\.|\-|\\|\/|\/"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt> <tt class="py-op">,</tt> <tt class="py-name">command_as_api</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">            <tt class="py-comment">#options = ''</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">            <tt class="py-comment">#for option in self.command_dictionary[command]:</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">                <tt class="py-comment">#options = options+',' + option</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">             </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">            <tt class="py-comment">#options = re.sub("^\s*,|,$","" , options, 0)</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-name">command_as_api</tt><tt class="py-op">+</tt><tt class="py-string">"(self, *options, **def_args ):\n"</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"        '''Possible Options :"</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">command_dictionary</tt><tt class="py-op">[</tt><tt class="py-name">command</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"'''\n"</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"        arguments= ''\n"</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"        for option in options:\n"</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"            arguments = arguments + option +' ' \n"</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"        prompt = def_args.setdefault('prompt',self.prompt)\n"</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"        timeout = def_args.setdefault('timeout',self.timeout)\n"</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">             </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"        self.execute( cmd= \""</tt><tt class="py-op">+</tt> <tt class="py-name">command</tt> <tt class="py-op">+</tt> <tt class="py-string">" \"+ arguments, prompt = prompt, timeout = timeout ) \n"</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"        return main.TRUE\n"</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">             </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">            <tt class="py-name">driver_file_data</tt> <tt class="py-op">=</tt> <tt class="py-name">driver_file_data</tt> <tt class="py-op">+</tt>  <tt class="py-name">api_data</tt> <tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">        <tt class="py-name">driver_file</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getcwd</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">name</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">".py"</tt><tt class="py-op">,</tt> <tt class="py-string">'w'</tt><tt class="py-op">)</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-name">driver_file</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">driver_file_data</tt><tt class="py-op">)</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">driver_file_data</tt> </tt>
-</div><a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">     </tt>
-<a name="GenerateDriver.disconnect"></a><div id="GenerateDriver.disconnect-def"><a name="L249"></a><tt class="py-lineno">249</tt> <a class="py-toggle" href="#" id="GenerateDriver.disconnect-toggle" onclick="return toggle('GenerateDriver.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#disconnect">disconnect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="GenerateDriver.disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.disconnect-expanded"><a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
-</div><a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">     </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
-</div><a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">    <tt class="py-name">generate</tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name" targets="Class TestON.bin.generatedriver.GenerateDriver=TestON.bin.generatedriver.GenerateDriver-class.html"><a title="TestON.bin.generatedriver.GenerateDriver" class="py-name" href="#" onclick="return doclink('link-23', 'GenerateDriver', 'link-23');">GenerateDriver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">    <tt class="py-name">device_name</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">    <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt class="py-name">device_name</tt> <tt class="py-op">=</tt> <tt class="py-name">device_name</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">    <tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt><tt class="py-op">[</tt><tt class="py-string">'device'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">device_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'ip_address'</tt><tt class="py-op">]</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">    <tt class="py-name">user_name</tt> <tt class="py-op">=</tt> <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt><tt class="py-op">[</tt><tt class="py-string">'device'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">device_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'user_name'</tt><tt class="py-op">]</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">    <tt class="py-name">password</tt>  <tt class="py-op">=</tt> <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt><tt class="py-op">[</tt><tt class="py-string">'device'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">device_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'password'</tt><tt class="py-op">]</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">    <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt><tt class="py-op">[</tt><tt class="py-string">'device'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">device_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'command'</tt><tt class="py-op">]</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">    <tt class="py-name">commandlist</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"(\[|\])"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">command</tt><tt class="py-op">)</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">    <tt class="py-name">commandlist</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">+</tt><tt class="py-string">','</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">    <tt class="py-name">connect_handle</tt> <tt class="py-op">=</tt> <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect,Method TestON.drivers.common.webdriver.WebDriver.connect()=TestON.drivers.common.webdriver.WebDriver-class.html#connect,Method TestON.drivers.component.Component.connect()=TestON.drivers.component.Component-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">            <tt class="py-comment">#print "Expected Prompt Found"</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#send"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-12', 'send', 'link-12');">send</a></tt><tt class="py-op">(</tt><tt class="py-string">"\r"</tt><tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Found More screen to go , Sending a key to proceed"</tt><tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">            <tt class="py-name">indexMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"byte\s\d+"</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-13', 'prompt', 'link-3');">prompt</a></tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeoutVar</tt><tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">indexMore</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Found another More screen to go , Sending a key to proceed"</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-14', 'send', 'link-12');">send</a></tt><tt class="py-op">(</tt><tt class="py-string">"\r"</tt><tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">                <tt class="py-name">indexMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"byte\s\d+"</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-15', 'prompt', 'link-3');">prompt</a></tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeoutVar</tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">            <tt class="py-comment">#print self.LASTRSP</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt><tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Command not found"</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt><tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Expected Prompt not found , Time Out!!"</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendcontrol</tt><tt class="py-op">(</tt><tt class="py-string">"D"</tt><tt class="py-op">)</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">            <tt class="py-comment">#print "AA"*89</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">            <tt class="py-name">indexMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"\n:"</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-16', 'prompt', 'link-3');">prompt</a></tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeoutVar</tt><tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">indexMore</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendcontrol</tt><tt class="py-op">(</tt><tt class="py-string">"D"</tt><tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">                <tt class="py-name">indexMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"\n:"</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-17', 'prompt', 'link-3');">prompt</a></tt><tt class="py-op">,</tt><tt class="py-string">".*"</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeoutVar</tt><tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> </tt>
+</div><a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"> </tt>
+<a name="GenerateDriver.configure"></a><div id="GenerateDriver.configure-def"><a name="L140"></a><tt class="py-lineno">140</tt> <a class="py-toggle" href="#" id="GenerateDriver.configure-toggle" onclick="return toggle('GenerateDriver.configure');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#configure">configure</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GenerateDriver.configure-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.configure-expanded"><a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"><tt class="py-docstring">        Will start the Configure mode of the device.</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-name">config_result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-18', 'execute', 'link-18');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"configure"</tt><tt class="py-op">,</tt><tt id="link-19" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-19', 'prompt', 'link-3');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">'\#'</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">config_result</tt> </tt>
+</div><a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"> </tt>
+<a name="GenerateDriver.get_command_help"></a><div id="GenerateDriver.get_command_help-def"><a name="L147"></a><tt class="py-lineno">147</tt> <a class="py-toggle" href="#" id="GenerateDriver.get_command_help-toggle" onclick="return toggle('GenerateDriver.get_command_help');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#get_command_help">get_command_help</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">command</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GenerateDriver.get_command_help-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.get_command_help-expanded"><a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-docstring">        Will get the help of the Command</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">setecho</tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-name">help_keyword</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt><tt class="py-op">[</tt><tt class="py-string">'device'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">device_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'help_keyword'</tt><tt class="py-op">]</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-name">interrupt_key</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt><tt class="py-op">[</tt><tt class="py-string">'device'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">device_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'interrupt_key'</tt><tt class="py-op">]</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-name">command_details</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-20', 'execute', 'link-18');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt><tt class="py-op">+</tt><tt class="py-name">help_keyword</tt><tt class="py-op">,</tt><tt id="link-21" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-21', 'prompt', 'link-3');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">'\#'</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-comment">#command_details = self.execute(cmd=command+" "+help_keyword,prompt='\#',timeout=2)</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendcontrol</tt><tt class="py-op">(</tt><tt class="py-name">interrupt_key</tt><tt class="py-op">)</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-comment">#print command_details</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">command_details</tt> </tt>
+</div><a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"> </tt>
+<a name="GenerateDriver.get_command_details"></a><div id="GenerateDriver.get_command_details-def"><a name="L161"></a><tt class="py-lineno">161</tt> <a class="py-toggle" href="#" id="GenerateDriver.get_command_details-toggle" onclick="return toggle('GenerateDriver.get_command_details');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#get_command_details">get_command_details</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">command</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GenerateDriver.get_command_details-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.get_command_details-expanded"><a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring">        Will Update the command_dictionary with the available commands details</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-name">temp_dictionary</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-name">command_resulut</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.get_command_help()=TestON.bin.generatedriver.GenerateDriver-class.html#get_command_help"><a title="TestON.bin.generatedriver.GenerateDriver.get_command_help" class="py-name" href="#" onclick="return doclink('link-22', 'get_command_help', 'link-22');">get_command_help</a></tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">)</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">            <tt class="py-name">words</tt> <tt class="py-op">=</tt> <tt class="py-name">command_resulut</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">e</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-name">command_resulut</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-name">options_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">lines</tt> <tt class="py-op">:</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">            <tt class="py-name">value_match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">'[\s|\&gt;|\+|\-|\&lt;]{3}(\&lt;(\w+))\s*'</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">value_match</tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">" Enter Value for "</tt><tt class="py-op">+</tt><tt class="py-name">value_match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">                <tt class="py-comment">#self.handle.interact()</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">                <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">r"\s\s[\w|-]+\s\s"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">match</tt> <tt class="py-op">:</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">                    <tt class="py-name">match_command</tt> <tt class="py-op">=</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-name">match_command</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">                    <tt class="py-name">options_list</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">match_command</tt><tt class="py-op">)</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-name">temp_dictionary</tt><tt class="py-op">[</tt><tt class="py-name">command</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">options_list</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">command_dictionary</tt><tt class="py-op">[</tt><tt class="py-name">command</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">options_list</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.print_details()=TestON.bin.generatedriver.GenerateDriver-class.html#print_details"><a title="TestON.bin.generatedriver.GenerateDriver.print_details" class="py-name" href="#" onclick="return doclink('link-23', 'print_details', 'link-23');">print_details</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">command_dictionary</tt><tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"temp dir: --------"</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">temp_dictionary</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"-------------"</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">temp_dictionary</tt> </tt>
+</div><a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"> </tt>
+<a name="GenerateDriver.print_details"></a><div id="GenerateDriver.print_details-def"><a name="L195"></a><tt class="py-lineno">195</tt> <a class="py-toggle" href="#" id="GenerateDriver.print_details-toggle" onclick="return toggle('GenerateDriver.print_details');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#print_details">print_details</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">command_dictionary</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GenerateDriver.print_details-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.print_details-expanded"><a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"><tt class="py-docstring">        Will print the details in Tree Format</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt> <tt class="py-op">=</tt> <tt class="py-name">command_dictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-comment"># Sorting the output based on the length of the command string</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-name">length</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt> <tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-name">sorted</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">sorted</tt><tt class="py-op">:</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-name">sorted</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">length</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">                    <tt class="py-name">sorted</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt><tt class="py-op">:</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">key</tt> <tt class="py-op">+</tt><tt class="py-string">"\t "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">command_dictionary</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"\n\n"</tt> </tt>
+</div><a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"> </tt>
+<a name="GenerateDriver.get_details_recursive"></a><div id="GenerateDriver.get_details_recursive-def"><a name="L216"></a><tt class="py-lineno">216</tt> <a class="py-toggle" href="#" id="GenerateDriver.get_details_recursive-toggle" onclick="return toggle('GenerateDriver.get_details_recursive');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#get_details_recursive">get_details_recursive</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main_comand</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GenerateDriver.get_details_recursive-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.get_details_recursive-expanded"><a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">last_sub_command</tt> <tt class="py-op">=</tt> <tt class="py-name">main_comand</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">main_comand</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">last_sub_command</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-name">main_result_dcitionary</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.get_command_details()=TestON.bin.generatedriver.GenerateDriver-class.html#get_command_details"><a title="TestON.bin.generatedriver.GenerateDriver.get_command_details" class="py-name" href="#" onclick="return doclink('link-24', 'get_command_details', 'link-24');">get_command_details</a></tt><tt class="py-op">(</tt><tt class="py-name">main_comand</tt><tt class="py-op">)</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main_result_dcitionary</tt> <tt class="py-op">:</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main_result_dcitionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">each_option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">main_result_dcitionary</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt><tt class="py-op">[</tt><tt class="py-string">'device'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">device_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'end_pattern'</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-string">"|^\.|^\d"</tt><tt class="py-op">,</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main_result_dcitionary</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">                        <tt class="py-keyword">print</tt> <tt class="py-string">"Reached the last argument for this "</tt><tt class="py-op">+</tt><tt class="py-name">main_comand</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">each_option</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">                        <tt class="py-name">main_result_dcitionary</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">each_option</tt><tt class="py-op">)</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">                        <tt class="py-keyword">return</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">last_sub_command</tt> <tt class="py-op">==</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main_result_dcitionary</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">                        <tt class="py-keyword">print</tt> <tt class="py-string">"Same command repeating, So Exiting "</tt><tt class="py-op">+</tt><tt class="py-name">main_comand</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">each_option</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">                        <tt class="py-name">main_result_dcitionary</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">each_option</tt><tt class="py-op">)</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">                    <tt class="py-name">result_dcitionary</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.get_details_recursive()=TestON.bin.generatedriver.GenerateDriver-class.html#get_details_recursive"><a title="TestON.bin.generatedriver.GenerateDriver.get_details_recursive" class="py-name" href="#" onclick="return doclink('link-25', 'get_details_recursive', 'link-25');">get_details_recursive</a></tt><tt class="py-op">(</tt><tt class="py-name">main_comand</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">each_option</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="GenerateDriver.create_driver"></a><div id="GenerateDriver.create_driver-def"><a name="L237"></a><tt class="py-lineno">237</tt> <a class="py-toggle" href="#" id="GenerateDriver.create_driver-toggle" onclick="return toggle('GenerateDriver.create_driver');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#create_driver">create_driver</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GenerateDriver.create_driver-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.create_driver-expanded"><a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">device_name</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-name">driver_file_data</tt> <tt class="py-op">=</tt> <tt class="py-string">'class '</tt><tt class="py-op">+</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt><tt class="py-string">":\n"</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-name">driver_file_data</tt> <tt class="py-op">=</tt> <tt class="py-name">driver_file_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"    def __init__( self ):\n"</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt class="py-name">driver_file_data</tt> <tt class="py-op">=</tt> <tt class="py-name">driver_file_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"        self.prompt = '(.*)'\n        self.timeout = 60 \n\n"</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt><tt class="py-name">command</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">commnads_ordered_list</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-string">'    def '</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">            <tt class="py-name">command_as_api</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">,</tt><tt class="py-string">"_"</tt> <tt class="py-op">,</tt> <tt class="py-name">command</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">            <tt class="py-name">command_as_api</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\.|\-|\\|\/|\/"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt> <tt class="py-op">,</tt> <tt class="py-name">command_as_api</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">            <tt class="py-name">current_letter</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">            <tt class="py-name">underscore_count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">            <tt class="py-name">command_temp</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">command_as_api</tt><tt class="py-op">:</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">                <tt class="py-name">current_letter</tt> <tt class="py-op">=</tt> <tt class="py-name">current_letter</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">c</tt> <tt class="py-op">==</tt> <tt class="py-string">"_"</tt><tt class="py-op">:</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">                    <tt class="py-name">underscore_count</tt> <tt class="py-op">=</tt> <tt class="py-name">underscore_count</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">                    <tt class="py-name">underscore_count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">underscore_count</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">                   <tt class="py-name">command_temp</tt> <tt class="py-op">=</tt> <tt class="py-name">command_temp</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">                   <tt class="py-name">command_temp</tt> <tt class="py-op">=</tt> <tt class="py-name">command_temp</tt> <tt class="py-op">+</tt> <tt class="py-name">c</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">command_temp</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">command_temp</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"_"</tt><tt class="py-op">:</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">                <tt class="py-name">command_temp</tt> <tt class="py-op">=</tt> <tt class="py-name">command_temp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">command_temp</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">            <tt class="py-name">command_as_api</tt> <tt class="py-op">=</tt> <tt class="py-name">command_temp</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">            <tt class="py-comment">#options = ''</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">            <tt class="py-comment">#for option in self.command_dictionary[command]:</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">                <tt class="py-comment">#options = options+',' + option</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">            <tt class="py-comment">#options = re.sub("^\s*,|,$","" , options, 0)</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-name">command_as_api</tt><tt class="py-op">+</tt><tt class="py-string">"(self, *options, **def_args ):\n"</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"        '''Possible Options :"</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">command_dictionary</tt><tt class="py-op">[</tt><tt class="py-name">command</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"'''\n"</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"        arguments= ''\n"</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"        for option in options:\n"</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"            arguments = arguments + option +' ' \n"</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"        prompt = def_args.setdefault('prompt',self.prompt)\n"</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"        timeout = def_args.setdefault('timeout',self.timeout)\n"</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"        self.execute( cmd= \""</tt><tt class="py-op">+</tt> <tt class="py-name">command</tt> <tt class="py-op">+</tt> <tt class="py-string">" \"+ arguments, prompt = prompt, timeout = timeout ) \n"</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">            <tt class="py-name">api_data</tt> <tt class="py-op">=</tt> <tt class="py-name">api_data</tt> <tt class="py-op">+</tt> <tt class="py-string">"        return main.TRUE\n"</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line"> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">            <tt class="py-name">driver_file_data</tt> <tt class="py-op">=</tt> <tt class="py-name">driver_file_data</tt> <tt class="py-op">+</tt>  <tt class="py-name">api_data</tt> <tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">        <tt class="py-name">driver_file</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getcwd</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">name</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">".py"</tt><tt class="py-op">,</tt> <tt class="py-string">'w'</tt><tt class="py-op">)</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">        <tt class="py-name">driver_file</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">driver_file_data</tt><tt class="py-op">)</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">driver_file_data</tt> </tt>
+</div><a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line"> </tt>
+<a name="GenerateDriver.disconnect"></a><div id="GenerateDriver.disconnect-def"><a name="L284"></a><tt class="py-lineno">284</tt> <a class="py-toggle" href="#" id="GenerateDriver.disconnect-toggle" onclick="return toggle('GenerateDriver.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.generatedriver.GenerateDriver-class.html#disconnect">disconnect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GenerateDriver.disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GenerateDriver.disconnect-expanded"><a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
+</div><a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line"> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
+</div><a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line"> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">    <tt class="py-name">generate</tt> <tt class="py-op">=</tt> <tt id="link-26" class="py-name" targets="Class TestON.bin.generatedriver.GenerateDriver=TestON.bin.generatedriver.GenerateDriver-class.html"><a title="TestON.bin.generatedriver.GenerateDriver" class="py-name" href="#" onclick="return doclink('link-26', 'GenerateDriver', 'link-26');">GenerateDriver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">    <tt class="py-name">device_name</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">    <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt class="py-name">device_name</tt> <tt class="py-op">=</tt> <tt class="py-name">device_name</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">    <tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt><tt class="py-op">[</tt><tt class="py-string">'device'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">device_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'ip_address'</tt><tt class="py-op">]</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">    <tt class="py-name">user_name</tt> <tt class="py-op">=</tt> <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt><tt class="py-op">[</tt><tt class="py-string">'device'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">device_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'user_name'</tt><tt class="py-op">]</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">    <tt class="py-name">password</tt>  <tt class="py-op">=</tt> <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt><tt class="py-op">[</tt><tt class="py-string">'device'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">device_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'password'</tt><tt class="py-op">]</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">    <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt class="py-name">config_details</tt><tt class="py-op">[</tt><tt class="py-string">'device'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">device_name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'command'</tt><tt class="py-op">]</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">    <tt class="py-name">commandlist</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"(\[|\])"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">command</tt><tt class="py-op">)</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">    <tt class="py-name">commandlist</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">command</tt><tt class="py-op">+</tt><tt class="py-string">','</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">    <tt class="py-name">connect_handle</tt> <tt class="py-op">=</tt> <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
-TestON.drivers.common.clidriver.CLI.connect
-TestON.drivers.common.webdriver.WebDriver.connect
-TestON.drivers.component.Component.connect" class="py-name" href="#" onclick="return doclink('link-24', 'connect', 'link-24');">connect</a></tt><tt class="py-op">(</tt><tt class="py-name">user_name</tt> <tt class="py-op">=</tt> <tt class="py-name">user_name</tt> <tt class="py-op">,</tt><tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-name">pwd</tt> <tt class="py-op">=</tt> <tt class="py-name">password</tt> <tt class="py-op">,</tt> <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">connect_handle</tt> <tt class="py-op">:</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.configure()=TestON.bin.generatedriver.GenerateDriver-class.html#configure"><a title="TestON.bin.generatedriver.GenerateDriver.configure" class="py-name" href="#" onclick="return doclink('link-25', 'configure', 'link-25');">configure</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line"> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">root_command</tt> <tt class="py-keyword">in</tt> <tt class="py-name">commandlist</tt> <tt class="py-op">:</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">            <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.get_details_recursive" class="py-name" href="#" onclick="return doclink('link-26', 'get_details_recursive', 'link-22');">get_details_recursive</a></tt><tt class="py-op">(</tt><tt class="py-name">root_command</tt><tt class="py-op">)</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">             </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">        <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.create_driver()=TestON.bin.generatedriver.GenerateDriver-class.html#create_driver"><a title="TestON.bin.generatedriver.GenerateDriver.create_driver" class="py-name" href="#" onclick="return doclink('link-27', 'create_driver', 'link-27');">create_driver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">        <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.disconnect()=TestON.bin.generatedriver.GenerateDriver-class.html#disconnect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#disconnect,Method TestON.drivers.common.clidriver.CLI.disconnect()=TestON.drivers.common.clidriver.CLI-class.html#disconnect,Method TestON.drivers.common.webdriver.WebDriver.disconnect()=TestON.drivers.common.webdriver.WebDriver-class.html#disconnect,Method TestON.drivers.component.Component.disconnect()=TestON.drivers.component.Component-class.html#disconnect"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-27', 'connect', 'link-27');">connect</a></tt><tt class="py-op">(</tt><tt class="py-name">user_name</tt> <tt class="py-op">=</tt> <tt class="py-name">user_name</tt> <tt class="py-op">,</tt><tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-name">pwd</tt> <tt class="py-op">=</tt> <tt class="py-name">password</tt> <tt class="py-op">,</tt> <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">connect_handle</tt> <tt class="py-op">:</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">   <tt class="py-comment">#     generate.configure()</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">root_command</tt> <tt class="py-keyword">in</tt> <tt class="py-name">commandlist</tt> <tt class="py-op">:</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">            <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.get_details_recursive" class="py-name" href="#" onclick="return doclink('link-28', 'get_details_recursive', 'link-25');">get_details_recursive</a></tt><tt class="py-op">(</tt><tt class="py-name">root_command</tt><tt class="py-op">)</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">        <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.create_driver()=TestON.bin.generatedriver.GenerateDriver-class.html#create_driver"><a title="TestON.bin.generatedriver.GenerateDriver.create_driver" class="py-name" href="#" onclick="return doclink('link-29', 'create_driver', 'link-29');">create_driver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">        <tt class="py-name">generate</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.disconnect()=TestON.bin.generatedriver.GenerateDriver-class.html#disconnect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#disconnect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#disconnect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#disconnect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#disconnect,Method TestON.drivers.common.clidriver.CLI.disconnect()=TestON.drivers.common.clidriver.CLI-class.html#disconnect"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
-TestON.drivers.common.clidriver.CLI.disconnect
-TestON.drivers.common.webdriver.WebDriver.disconnect
-TestON.drivers.component.Component.disconnect" class="py-name" href="#" onclick="return doclink('link-28', 'disconnect', 'link-28');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">        <tt class="py-comment">#generate.get_command_details(main_command)</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Connection Failed to the host"</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-30', 'disconnect', 'link-30');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">        <tt class="py-comment">#generate.get_command_details(main_command)</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Connection Failed to the host"</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -384,13 +435,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.bin.generatedriver.GenerateDriver-class.html b/TestON/Documentation/TestON_Document/TestON.bin.generatedriver.GenerateDriver-class.html
index 3111e12..1e6157e 100644
--- a/TestON/Documentation/TestON_Document/TestON.bin.generatedriver.GenerateDriver-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.bin.generatedriver.GenerateDriver-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -313,13 +318,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.bin.nec-module.html
similarity index 67%
rename from TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
rename to TestON/Documentation/TestON_Document/TestON.bin.nec-module.html
index 81b602b..17f87ca 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.bin.nec-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest.PoxTest</title>
+  <title>TestON.bin.nec</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -38,9 +43,8 @@
     <td width="100%">
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.PoxTest-module.html">Package&nbsp;PoxTest</a> ::
-        Module&nbsp;PoxTest
+        <a href="TestON.bin-module.html">Package&nbsp;bin</a> ::
+        Module&nbsp;nec
       </span>
     </td>
     <td>
@@ -50,14 +54,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.bin.nec-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Module nec</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.bin.nec-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -79,7 +83,33 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html" class="summary-name">PoxTest</a>
+        <a href="TestON.bin.nec.NEC-class.html" class="summary-name">NEC</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
     </td>
   </tr>
 </table>
@@ -103,13 +133,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.bin.nec-pysrc.html b/TestON/Documentation/TestON_Document/TestON.bin.nec-pysrc.html
new file mode 100644
index 0000000..a91ca55
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.bin.nec-pysrc.html
@@ -0,0 +1,720 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.bin.nec</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.bin-module.html">Package&nbsp;bin</a> ::
+        Module&nbsp;nec
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.bin.nec-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.bin.nec-module.html">Module TestON.bin.nec</a></h1>
+<pre class="py-src">
+<a name="NEC"></a><div id="NEC-def"><a name="L1"></a><tt class="py-lineno">  1</tt> <a class="py-toggle" href="#" id="NEC-toggle" onclick="return toggle('NEC');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html">NEC</a><tt class="py-op">:</tt> </tt>
+</div><div id="NEC-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="NEC-expanded"><a name="NEC.__init__"></a><div id="NEC.__init__-def"><a name="L2"></a><tt class="py-lineno">  2</tt> <a class="py-toggle" href="#" id="NEC.__init__-toggle" onclick="return toggle('NEC.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.__init__-expanded"><a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-0', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'(.*)'</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">60</tt> </tt>
+</div><a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show"></a><div id="NEC.show-def"><a name="L6"></a><tt class="py-lineno">  6</tt> <a class="py-toggle" href="#" id="NEC.show-toggle" onclick="return toggle('NEC.show');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show">show</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show-expanded"><a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['  access-filter  ', '  accounting  ', '  acknowledgments  ', '  auto-config  ', '  axrp  ', '  cfm  ', '  channel-group  ', '  clock  ', '  config-lock-status  ', '  cpu  ', '  dhcp  ', '  dot1x  ', '  dumpfile  ', '  efmoam  ', '  environment  ', '  file  ', '  flash  ', '  gsrp  ', '  history  ', '  igmp-snooping  ', '  interfaces  ', '  ip  ', '  ip-dual  ', '  ipv6-dhcp  ', '  license  ', '  lldp  ', '  logging  ', '  loop-detection  ', '  mac-address-table  ', '  mc  ', '  memory  ', '  mld-snooping  ', '  netconf  ', '  netstat  ', '  ntp  ', '  oadp  ', '  openflow  ', '  port  ', '  power  ', '  processes  ', '  qos  ', '  qos-flow  ', '  sessions  ', '  sflow  ', '  spanning-tree  ', '  ssh  ', '  system  ', '  tcpdump  ', '  tech-support  ', '  track  ', '  version  ', '  vlan  ', '  vrrpstatus  ', '  whoami  ']'''</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line">        <tt id="link-1" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-1', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-2', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-3', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-4" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-4', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-5" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-5', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_ip"></a><div id="NEC.show_ip-def"><a name="L16"></a><tt class="py-lineno"> 16</tt> <a class="py-toggle" href="#" id="NEC.show_ip-toggle" onclick="return toggle('NEC.show_ip');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_ip">show_ip</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_ip-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_ip-expanded"><a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">        <tt id="link-6" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-6', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-7', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-8', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   ip   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-9" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-9', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-10" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-10', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_mc"></a><div id="NEC.show_mc-def"><a name="L26"></a><tt class="py-lineno"> 26</tt> <a class="py-toggle" href="#" id="NEC.show_mc-toggle" onclick="return toggle('NEC.show_mc');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_mc">show_mc</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_mc-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_mc-expanded"><a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt id="link-11" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-11', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-12', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-13', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   mc   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-14" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-14', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-15', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_cfm"></a><div id="NEC.show_cfm-def"><a name="L36"></a><tt class="py-lineno"> 36</tt> <a class="py-toggle" href="#" id="NEC.show_cfm-toggle" onclick="return toggle('NEC.show_cfm');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_cfm">show_cfm</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_cfm-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_cfm-expanded"><a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt id="link-16" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-16', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-17', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-18', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   cfm   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-19" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-19', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-20', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_ntp"></a><div id="NEC.show_ntp-def"><a name="L46"></a><tt class="py-lineno"> 46</tt> <a class="py-toggle" href="#" id="NEC.show_ntp-toggle" onclick="return toggle('NEC.show_ntp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_ntp">show_ntp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_ntp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_ntp-expanded"><a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt id="link-21" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-21', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-22', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-23', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   ntp   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-24" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-24', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-25', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_ssh"></a><div id="NEC.show_ssh-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="NEC.show_ssh-toggle" onclick="return toggle('NEC.show_ssh');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_ssh">show_ssh</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_ssh-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_ssh-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt id="link-26" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-26', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-27', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-28', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   ssh   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-29" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-29', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-30" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-30', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_qos"></a><div id="NEC.show_qos-def"><a name="L66"></a><tt class="py-lineno"> 66</tt> <a class="py-toggle" href="#" id="NEC.show_qos-toggle" onclick="return toggle('NEC.show_qos');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_qos">show_qos</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_qos-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_qos-expanded"><a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt id="link-31" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-31', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-32', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-33', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   qos   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-34" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-34', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-35" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-35', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_cpu"></a><div id="NEC.show_cpu-def"><a name="L76"></a><tt class="py-lineno"> 76</tt> <a class="py-toggle" href="#" id="NEC.show_cpu-toggle" onclick="return toggle('NEC.show_cpu');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_cpu">show_cpu</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_cpu-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_cpu-expanded"><a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt id="link-36" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-36', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-37', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-38', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   cpu   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-39" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-39', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-40" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-40', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_vlan"></a><div id="NEC.show_vlan-def"><a name="L86"></a><tt class="py-lineno"> 86</tt> <a class="py-toggle" href="#" id="NEC.show_vlan-toggle" onclick="return toggle('NEC.show_vlan');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_vlan">show_vlan</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_vlan-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_vlan-expanded"><a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt id="link-41" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-41', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-42', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-43', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   vlan   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-44" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-44', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-45" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-45', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_lldp"></a><div id="NEC.show_lldp-def"><a name="L96"></a><tt class="py-lineno"> 96</tt> <a class="py-toggle" href="#" id="NEC.show_lldp-toggle" onclick="return toggle('NEC.show_lldp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_lldp">show_lldp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_lldp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_lldp-expanded"><a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt id="link-46" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-46', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-47', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-48', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   lldp   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-49" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-49', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-50" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-50', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_dhcp"></a><div id="NEC.show_dhcp-def"><a name="L106"></a><tt class="py-lineno">106</tt> <a class="py-toggle" href="#" id="NEC.show_dhcp-toggle" onclick="return toggle('NEC.show_dhcp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_dhcp">show_dhcp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_dhcp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_dhcp-expanded"><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt id="link-51" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-51', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-52', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-53', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   dhcp   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-54" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-54', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-55" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-55', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_axrp"></a><div id="NEC.show_axrp-def"><a name="L116"></a><tt class="py-lineno">116</tt> <a class="py-toggle" href="#" id="NEC.show_axrp-toggle" onclick="return toggle('NEC.show_axrp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_axrp">show_axrp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_axrp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_axrp-expanded"><a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt id="link-56" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-56', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-57', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-58', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   axrp   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-59" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-59', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-60" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-60', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_oadp"></a><div id="NEC.show_oadp-def"><a name="L126"></a><tt class="py-lineno">126</tt> <a class="py-toggle" href="#" id="NEC.show_oadp-toggle" onclick="return toggle('NEC.show_oadp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_oadp">show_oadp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_oadp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_oadp-expanded"><a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt id="link-61" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-61', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-62', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-63', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   oadp   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-64" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-64', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-65" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-65', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_gsrp"></a><div id="NEC.show_gsrp-def"><a name="L136"></a><tt class="py-lineno">136</tt> <a class="py-toggle" href="#" id="NEC.show_gsrp-toggle" onclick="return toggle('NEC.show_gsrp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_gsrp">show_gsrp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_gsrp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_gsrp-expanded"><a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt id="link-66" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-66', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-67', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-68', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   gsrp   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-69" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-69', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-70" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-70', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_port"></a><div id="NEC.show_port-def"><a name="L146"></a><tt class="py-lineno">146</tt> <a class="py-toggle" href="#" id="NEC.show_port-toggle" onclick="return toggle('NEC.show_port');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_port">show_port</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_port-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_port-expanded"><a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt id="link-71" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-71', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-72', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-73', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   port   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-74" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-74', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-75" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-75', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_file"></a><div id="NEC.show_file-def"><a name="L156"></a><tt class="py-lineno">156</tt> <a class="py-toggle" href="#" id="NEC.show_file-toggle" onclick="return toggle('NEC.show_file');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_file">show_file</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_file-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_file-expanded"><a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt id="link-76" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-76', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-77', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-78', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   file   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-79" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-79', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-80" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-80', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_power"></a><div id="NEC.show_power-def"><a name="L166"></a><tt class="py-lineno">166</tt> <a class="py-toggle" href="#" id="NEC.show_power-toggle" onclick="return toggle('NEC.show_power');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_power">show_power</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_power-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_power-expanded"><a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt id="link-81" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-81', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-82', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-83', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   power   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-84" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-84', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-85" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-85', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_clock"></a><div id="NEC.show_clock-def"><a name="L176"></a><tt class="py-lineno">176</tt> <a class="py-toggle" href="#" id="NEC.show_clock-toggle" onclick="return toggle('NEC.show_clock');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_clock">show_clock</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_clock-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_clock-expanded"><a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt id="link-86" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-86', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-87', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-88', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   clock   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-89" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-89', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-90" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-90', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_dot1x"></a><div id="NEC.show_dot1x-def"><a name="L186"></a><tt class="py-lineno">186</tt> <a class="py-toggle" href="#" id="NEC.show_dot1x-toggle" onclick="return toggle('NEC.show_dot1x');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_dot1x">show_dot1x</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_dot1x-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_dot1x-expanded"><a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt id="link-91" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-91', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-92', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-93', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   dot1x   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-94" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-94', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-95" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-95', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_sflow"></a><div id="NEC.show_sflow-def"><a name="L196"></a><tt class="py-lineno">196</tt> <a class="py-toggle" href="#" id="NEC.show_sflow-toggle" onclick="return toggle('NEC.show_sflow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_sflow">show_sflow</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_sflow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_sflow-expanded"><a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt id="link-96" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-96', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-97', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-98', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   sflow   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-99" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-99', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-100" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-100', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_track"></a><div id="NEC.show_track-def"><a name="L206"></a><tt class="py-lineno">206</tt> <a class="py-toggle" href="#" id="NEC.show_track-toggle" onclick="return toggle('NEC.show_track');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_track">show_track</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_track-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_track-expanded"><a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt id="link-101" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-101', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-102', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-103', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   track   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-104" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-104', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-105" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-105', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_flash"></a><div id="NEC.show_flash-def"><a name="L216"></a><tt class="py-lineno">216</tt> <a class="py-toggle" href="#" id="NEC.show_flash-toggle" onclick="return toggle('NEC.show_flash');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_flash">show_flash</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_flash-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_flash-expanded"><a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt id="link-106" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-106', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-107', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-108', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   flash   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-109" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-109', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-110" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-110', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_system"></a><div id="NEC.show_system-def"><a name="L226"></a><tt class="py-lineno">226</tt> <a class="py-toggle" href="#" id="NEC.show_system-toggle" onclick="return toggle('NEC.show_system');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_system">show_system</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_system-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_system-expanded"><a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt id="link-111" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-111', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-112', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-113', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   system   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-114" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-114', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-115" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-115', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_whoami"></a><div id="NEC.show_whoami-def"><a name="L236"></a><tt class="py-lineno">236</tt> <a class="py-toggle" href="#" id="NEC.show_whoami-toggle" onclick="return toggle('NEC.show_whoami');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_whoami">show_whoami</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_whoami-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_whoami-expanded"><a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt id="link-116" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-116', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-117', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-118', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   whoami   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-119" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-119', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-120" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-120', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_efmoam"></a><div id="NEC.show_efmoam-def"><a name="L246"></a><tt class="py-lineno">246</tt> <a class="py-toggle" href="#" id="NEC.show_efmoam-toggle" onclick="return toggle('NEC.show_efmoam');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_efmoam">show_efmoam</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_efmoam-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_efmoam-expanded"><a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt id="link-121" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-121', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-122', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-123', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   efmoam   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-124" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-124', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-125" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-125', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_memory"></a><div id="NEC.show_memory-def"><a name="L256"></a><tt class="py-lineno">256</tt> <a class="py-toggle" href="#" id="NEC.show_memory-toggle" onclick="return toggle('NEC.show_memory');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_memory">show_memory</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_memory-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_memory-expanded"><a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt id="link-126" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-126', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-127', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-128', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   memory   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-129" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-129', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-130" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-130', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_tcpdump"></a><div id="NEC.show_tcpdump-def"><a name="L266"></a><tt class="py-lineno">266</tt> <a class="py-toggle" href="#" id="NEC.show_tcpdump-toggle" onclick="return toggle('NEC.show_tcpdump');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_tcpdump">show_tcpdump</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_tcpdump-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_tcpdump-expanded"><a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt id="link-131" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-131', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-132', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-133', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   tcpdump   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-134" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-134', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-135" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-135', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_history"></a><div id="NEC.show_history-def"><a name="L276"></a><tt class="py-lineno">276</tt> <a class="py-toggle" href="#" id="NEC.show_history-toggle" onclick="return toggle('NEC.show_history');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_history">show_history</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_history-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_history-expanded"><a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">        <tt id="link-136" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-136', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-137', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-138', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   history   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-139" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-139', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-140" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-140', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_logging"></a><div id="NEC.show_logging-def"><a name="L286"></a><tt class="py-lineno">286</tt> <a class="py-toggle" href="#" id="NEC.show_logging-toggle" onclick="return toggle('NEC.show_logging');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_logging">show_logging</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_logging-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_logging-expanded"><a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">        <tt id="link-141" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-141', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-142', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-143', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   logging   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-144" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-144', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-145" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-145', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_license"></a><div id="NEC.show_license-def"><a name="L296"></a><tt class="py-lineno">296</tt> <a class="py-toggle" href="#" id="NEC.show_license-toggle" onclick="return toggle('NEC.show_license');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_license">show_license</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_license-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_license-expanded"><a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">        <tt id="link-146" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-146', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-147', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-148', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   license   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-149" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-149', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-150" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-150', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_netstat"></a><div id="NEC.show_netstat-def"><a name="L306"></a><tt class="py-lineno">306</tt> <a class="py-toggle" href="#" id="NEC.show_netstat-toggle" onclick="return toggle('NEC.show_netstat');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_netstat">show_netstat</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_netstat-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_netstat-expanded"><a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">        <tt id="link-151" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-151', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-152', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-153', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   netstat   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-154" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-154', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-155" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-155', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_version"></a><div id="NEC.show_version-def"><a name="L316"></a><tt class="py-lineno">316</tt> <a class="py-toggle" href="#" id="NEC.show_version-toggle" onclick="return toggle('NEC.show_version');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_version">show_version</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_version-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_version-expanded"><a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">        <tt id="link-156" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-156', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-157', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-158', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   version   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-159" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-159', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-160" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-160', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_netconf"></a><div id="NEC.show_netconf-def"><a name="L326"></a><tt class="py-lineno">326</tt> <a class="py-toggle" href="#" id="NEC.show_netconf-toggle" onclick="return toggle('NEC.show_netconf');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_netconf">show_netconf</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_netconf-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_netconf-expanded"><a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">        <tt id="link-161" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-161', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-162', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-163', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   netconf   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-164" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-164', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-165" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-165', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_ipdual"></a><div id="NEC.show_ipdual-def"><a name="L336"></a><tt class="py-lineno">336</tt> <a class="py-toggle" href="#" id="NEC.show_ipdual-toggle" onclick="return toggle('NEC.show_ipdual');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_ipdual">show_ipdual</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_ipdual-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_ipdual-expanded"><a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">        <tt id="link-166" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-166', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-167', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-168', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   ip-dual   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-169" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-169', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-170" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-170', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_sessions"></a><div id="NEC.show_sessions-def"><a name="L346"></a><tt class="py-lineno">346</tt> <a class="py-toggle" href="#" id="NEC.show_sessions-toggle" onclick="return toggle('NEC.show_sessions');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_sessions">show_sessions</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_sessions-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_sessions-expanded"><a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">        <tt id="link-171" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-171', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-172', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-173', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   sessions   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-174" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-174', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-175" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-175', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_qosflow"></a><div id="NEC.show_qosflow-def"><a name="L356"></a><tt class="py-lineno">356</tt> <a class="py-toggle" href="#" id="NEC.show_qosflow-toggle" onclick="return toggle('NEC.show_qosflow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_qosflow">show_qosflow</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_qosflow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_qosflow-expanded"><a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">        <tt id="link-176" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-176', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-177', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-178', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   qos-flow   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-179" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-179', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-180" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-180', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_openflow"></a><div id="NEC.show_openflow-def"><a name="L366"></a><tt class="py-lineno">366</tt> <a class="py-toggle" href="#" id="NEC.show_openflow-toggle" onclick="return toggle('NEC.show_openflow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_openflow">show_openflow</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_openflow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_openflow-expanded"><a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">        <tt id="link-181" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-181', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-182', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-183', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   openflow   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-184" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-184', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-185" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-185', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_dumpfile"></a><div id="NEC.show_dumpfile-def"><a name="L376"></a><tt class="py-lineno">376</tt> <a class="py-toggle" href="#" id="NEC.show_dumpfile-toggle" onclick="return toggle('NEC.show_dumpfile');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_dumpfile">show_dumpfile</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_dumpfile-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_dumpfile-expanded"><a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">        <tt id="link-186" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-186', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-187', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-188', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   dumpfile   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-189" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-189', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-190" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-190', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_ipv6dhcp"></a><div id="NEC.show_ipv6dhcp-def"><a name="L386"></a><tt class="py-lineno">386</tt> <a class="py-toggle" href="#" id="NEC.show_ipv6dhcp-toggle" onclick="return toggle('NEC.show_ipv6dhcp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_ipv6dhcp">show_ipv6dhcp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_ipv6dhcp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_ipv6dhcp-expanded"><a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">        <tt id="link-191" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-191', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-192', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-193', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   ipv6-dhcp   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-194" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-194', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-195" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-195', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_processes"></a><div id="NEC.show_processes-def"><a name="L396"></a><tt class="py-lineno">396</tt> <a class="py-toggle" href="#" id="NEC.show_processes-toggle" onclick="return toggle('NEC.show_processes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_processes">show_processes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_processes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_processes-expanded"><a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">        <tt id="link-196" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-196', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-197', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-198', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   processes   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-199" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-199', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-200" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-200', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_vrrpstatus"></a><div id="NEC.show_vrrpstatus-def"><a name="L406"></a><tt class="py-lineno">406</tt> <a class="py-toggle" href="#" id="NEC.show_vrrpstatus-toggle" onclick="return toggle('NEC.show_vrrpstatus');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_vrrpstatus">show_vrrpstatus</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_vrrpstatus-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_vrrpstatus-expanded"><a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">        <tt id="link-201" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-201', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-202', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-203', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   vrrpstatus   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-204" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-204', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-205" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-205', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_interfaces"></a><div id="NEC.show_interfaces-def"><a name="L416"></a><tt class="py-lineno">416</tt> <a class="py-toggle" href="#" id="NEC.show_interfaces-toggle" onclick="return toggle('NEC.show_interfaces');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_interfaces">show_interfaces</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_interfaces-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_interfaces-expanded"><a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line">        <tt id="link-206" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-206', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-207', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-208', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   interfaces   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-209" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-209', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-210" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-210', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_environment"></a><div id="NEC.show_environment-def"><a name="L426"></a><tt class="py-lineno">426</tt> <a class="py-toggle" href="#" id="NEC.show_environment-toggle" onclick="return toggle('NEC.show_environment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_environment">show_environment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_environment-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_environment-expanded"><a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">        <tt id="link-211" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-211', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-212', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-213', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   environment   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-214" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-214', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-215" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-215', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_autoconfig"></a><div id="NEC.show_autoconfig-def"><a name="L436"></a><tt class="py-lineno">436</tt> <a class="py-toggle" href="#" id="NEC.show_autoconfig-toggle" onclick="return toggle('NEC.show_autoconfig');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_autoconfig">show_autoconfig</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_autoconfig-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_autoconfig-expanded"><a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">        <tt id="link-216" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-216', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-217', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-218', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   auto-config   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-219" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-219', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-220" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-220', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_techsupport"></a><div id="NEC.show_techsupport-def"><a name="L446"></a><tt class="py-lineno">446</tt> <a class="py-toggle" href="#" id="NEC.show_techsupport-toggle" onclick="return toggle('NEC.show_techsupport');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_techsupport">show_techsupport</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_techsupport-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_techsupport-expanded"><a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">        <tt id="link-221" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-221', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-222', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-223" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-223', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   tech-support   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-224" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-224', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-225" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-225', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_mldsnooping"></a><div id="NEC.show_mldsnooping-def"><a name="L456"></a><tt class="py-lineno">456</tt> <a class="py-toggle" href="#" id="NEC.show_mldsnooping-toggle" onclick="return toggle('NEC.show_mldsnooping');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_mldsnooping">show_mldsnooping</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_mldsnooping-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_mldsnooping-expanded"><a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">        <tt id="link-226" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-226', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-227', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-228', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   mld-snooping   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-229" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-229', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-230" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-230', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_igmpsnooping"></a><div id="NEC.show_igmpsnooping-def"><a name="L466"></a><tt class="py-lineno">466</tt> <a class="py-toggle" href="#" id="NEC.show_igmpsnooping-toggle" onclick="return toggle('NEC.show_igmpsnooping');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_igmpsnooping">show_igmpsnooping</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_igmpsnooping-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_igmpsnooping-expanded"><a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line">        <tt id="link-231" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-231', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-232" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-232', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-233', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   igmp-snooping   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-234" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-234', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-235" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-235', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_channelgroup"></a><div id="NEC.show_channelgroup-def"><a name="L476"></a><tt class="py-lineno">476</tt> <a class="py-toggle" href="#" id="NEC.show_channelgroup-toggle" onclick="return toggle('NEC.show_channelgroup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_channelgroup">show_channelgroup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_channelgroup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_channelgroup-expanded"><a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">        <tt id="link-236" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-236', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-237', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-238', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   channel-group   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-239" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-239', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-240" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-240', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_spanningtree"></a><div id="NEC.show_spanningtree-def"><a name="L486"></a><tt class="py-lineno">486</tt> <a class="py-toggle" href="#" id="NEC.show_spanningtree-toggle" onclick="return toggle('NEC.show_spanningtree');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_spanningtree">show_spanningtree</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_spanningtree-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_spanningtree-expanded"><a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line">        <tt id="link-241" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-241', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-242', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-243', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   spanning-tree   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-244" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-244', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-245" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-245', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_loopdetection"></a><div id="NEC.show_loopdetection-def"><a name="L496"></a><tt class="py-lineno">496</tt> <a class="py-toggle" href="#" id="NEC.show_loopdetection-toggle" onclick="return toggle('NEC.show_loopdetection');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_loopdetection">show_loopdetection</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_loopdetection-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_loopdetection-expanded"><a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line">        <tt id="link-246" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-246', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-247" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-247', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-248', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   loop-detection   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-249" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-249', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-250" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-250', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_acknowledgments"></a><div id="NEC.show_acknowledgments-def"><a name="L506"></a><tt class="py-lineno">506</tt> <a class="py-toggle" href="#" id="NEC.show_acknowledgments-toggle" onclick="return toggle('NEC.show_acknowledgments');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_acknowledgments">show_acknowledgments</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_acknowledgments-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_acknowledgments-expanded"><a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['  interface  ']'''</tt> </tt>
+<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line">        <tt id="link-251" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-251', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-252" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-252', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-253" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-253', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   acknowledgments   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-254" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-254', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-255" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-255', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_macaddresstable"></a><div id="NEC.show_macaddresstable-def"><a name="L516"></a><tt class="py-lineno">516</tt> <a class="py-toggle" href="#" id="NEC.show_macaddresstable-toggle" onclick="return toggle('NEC.show_macaddresstable');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_macaddresstable">show_macaddresstable</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_macaddresstable-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_macaddresstable-expanded"><a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line">        <tt id="link-256" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-256', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-257" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-257', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-258" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-258', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   mac-address-table   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-259" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-259', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-260" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-260', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_configlockstatus"></a><div id="NEC.show_configlockstatus-def"><a name="L526"></a><tt class="py-lineno">526</tt> <a class="py-toggle" href="#" id="NEC.show_configlockstatus-toggle" onclick="return toggle('NEC.show_configlockstatus');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_configlockstatus">show_configlockstatus</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_configlockstatus-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_configlockstatus-expanded"><a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line">        <tt id="link-261" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-261', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-262', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-263" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-263', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   config-lock-status   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-264" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-264', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-265" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-265', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_acknowledgments_interface"></a><div id="NEC.show_acknowledgments_interface-def"><a name="L536"></a><tt class="py-lineno">536</tt> <a class="py-toggle" href="#" id="NEC.show_acknowledgments_interface-toggle" onclick="return toggle('NEC.show_acknowledgments_interface');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.nec.NEC-class.html#show_acknowledgments_interface">show_acknowledgments_interface</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_acknowledgments_interface-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_acknowledgments_interface-expanded"><a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">        <tt id="link-266" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-266', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-267" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-267', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-268" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-268', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show   acknowledgments     interface   "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-269" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-269', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-270" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-270', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div></div><a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.bin.nec.NEC-class.html b/TestON/Documentation/TestON_Document/TestON.bin.nec.NEC-class.html
new file mode 100644
index 0000000..8904282
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.bin.nec.NEC-class.html
@@ -0,0 +1,1188 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.bin.nec.NEC</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.bin-module.html">Package&nbsp;bin</a> ::
+        <a href="TestON.bin.nec-module.html">Module&nbsp;nec</a> ::
+        Class&nbsp;NEC
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.bin.nec.NEC-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class NEC</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC">source&nbsp;code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show"></a><span class="summary-sig-name">show</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :['  access-filter  ', '  accounting  ', '  
+      acknowledgments  ', '  auto-config  ', '  axrp  ', '  cfm  ', '  
+      channel-group  ', '  clock  ', '  config-lock-status  ', '  cpu  ', '
+      dhcp  ', '  dot1x  ', '  dumpfile  ', '  efmoam  ', '  environment  
+      ', '  file  ', '  flash  ', '  gsrp  ', '  history  ', '  
+      igmp-snooping  ', '  interfaces  ', '  ip  ', '  ip-dual  ', '  
+      ipv6-dhcp  ', '  license  ', '  lldp  ', '  logging  ', '  
+      loop-detection  ', '  mac-address-table  ', '  mc  ', '  memory  ', '
+      mld-snooping  ', '  netconf  ', '  netstat  ', '  ntp  ', '  oadp  ',
+      '  openflow  ', '  port  ', '  power  ', '  processes  ', '  qos  ', 
+      '  qos-flow  ', '  sessions  ', '  sflow  ', '  spanning-tree  ', '  
+      ssh  ', '  system  ', '  tcpdump  ', '  tech-support  ', '  track  ',
+      '  version  ', '  vlan  ', '  vrrpstatus  ', '  whoami  ']</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_ip"></a><span class="summary-sig-name">show_ip</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_ip">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_mc"></a><span class="summary-sig-name">show_mc</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_mc">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_cfm"></a><span class="summary-sig-name">show_cfm</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_cfm">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_ntp"></a><span class="summary-sig-name">show_ntp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_ntp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_ssh"></a><span class="summary-sig-name">show_ssh</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_ssh">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_qos"></a><span class="summary-sig-name">show_qos</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_qos">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_cpu"></a><span class="summary-sig-name">show_cpu</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_cpu">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_vlan"></a><span class="summary-sig-name">show_vlan</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_vlan">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_lldp"></a><span class="summary-sig-name">show_lldp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_lldp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_dhcp"></a><span class="summary-sig-name">show_dhcp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_dhcp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_axrp"></a><span class="summary-sig-name">show_axrp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_axrp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_oadp"></a><span class="summary-sig-name">show_oadp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_oadp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_gsrp"></a><span class="summary-sig-name">show_gsrp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_gsrp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_port"></a><span class="summary-sig-name">show_port</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_port">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_file"></a><span class="summary-sig-name">show_file</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_file">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_power"></a><span class="summary-sig-name">show_power</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_power">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_clock"></a><span class="summary-sig-name">show_clock</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_clock">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_dot1x"></a><span class="summary-sig-name">show_dot1x</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_dot1x">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_sflow"></a><span class="summary-sig-name">show_sflow</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_sflow">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_track"></a><span class="summary-sig-name">show_track</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_track">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_flash"></a><span class="summary-sig-name">show_flash</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_flash">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_system"></a><span class="summary-sig-name">show_system</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_system">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_whoami"></a><span class="summary-sig-name">show_whoami</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_whoami">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_efmoam"></a><span class="summary-sig-name">show_efmoam</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_efmoam">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_memory"></a><span class="summary-sig-name">show_memory</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_memory">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_tcpdump"></a><span class="summary-sig-name">show_tcpdump</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_tcpdump">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_history"></a><span class="summary-sig-name">show_history</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_history">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_logging"></a><span class="summary-sig-name">show_logging</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_logging">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_license"></a><span class="summary-sig-name">show_license</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_license">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_netstat"></a><span class="summary-sig-name">show_netstat</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_netstat">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_version"></a><span class="summary-sig-name">show_version</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_version">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_netconf"></a><span class="summary-sig-name">show_netconf</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_netconf">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_ipdual"></a><span class="summary-sig-name">show_ipdual</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_ipdual">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_sessions"></a><span class="summary-sig-name">show_sessions</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_sessions">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_qosflow"></a><span class="summary-sig-name">show_qosflow</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_qosflow">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_openflow"></a><span class="summary-sig-name">show_openflow</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_openflow">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_dumpfile"></a><span class="summary-sig-name">show_dumpfile</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_dumpfile">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_ipv6dhcp"></a><span class="summary-sig-name">show_ipv6dhcp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_ipv6dhcp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_processes"></a><span class="summary-sig-name">show_processes</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_processes">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_vrrpstatus"></a><span class="summary-sig-name">show_vrrpstatus</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_vrrpstatus">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_interfaces"></a><span class="summary-sig-name">show_interfaces</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_interfaces">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_environment"></a><span class="summary-sig-name">show_environment</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_environment">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_autoconfig"></a><span class="summary-sig-name">show_autoconfig</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_autoconfig">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_techsupport"></a><span class="summary-sig-name">show_techsupport</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_techsupport">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_mldsnooping"></a><span class="summary-sig-name">show_mldsnooping</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_mldsnooping">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_igmpsnooping"></a><span class="summary-sig-name">show_igmpsnooping</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_igmpsnooping">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_channelgroup"></a><span class="summary-sig-name">show_channelgroup</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_channelgroup">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_spanningtree"></a><span class="summary-sig-name">show_spanningtree</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_spanningtree">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_loopdetection"></a><span class="summary-sig-name">show_loopdetection</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_loopdetection">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_acknowledgments"></a><span class="summary-sig-name">show_acknowledgments</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :['  interface  ']</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_acknowledgments">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_macaddresstable"></a><span class="summary-sig-name">show_macaddresstable</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_macaddresstable">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_configlockstatus"></a><span class="summary-sig-name">show_configlockstatus</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_configlockstatus">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_acknowledgments_interface"></a><span class="summary-sig-name">show_acknowledgments_interface</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.bin.nec-pysrc.html#NEC.show_acknowledgments_interface">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.bin.updatedriver-module.html b/TestON/Documentation/TestON_Document/TestON.bin.updatedriver-module.html
index 32ae269..8d01ceb 100644
--- a/TestON/Documentation/TestON_Document/TestON.bin.updatedriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.bin.updatedriver-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -82,6 +87,31 @@
     </td>
   </tr>
 </table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.bin'"><code class="variable-quote">'</code><code class="variable-string">TestON.bin</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -102,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.bin.updatedriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.bin.updatedriver-pysrc.html
index 344773b..ef80be5 100644
--- a/TestON/Documentation/TestON_Document/TestON.bin.updatedriver-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.bin.updatedriver-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,358 +65,380 @@
 <a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">inspect</tt> </tt>
 <a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
 <a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt>  </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-0', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"../"</tt><tt class="py-op">)</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package TestON.core=TestON.core-module.html"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-1', 'core', 'link-1');">core</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Module TestON.core.xmldict=TestON.core.xmldict-module.html"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-2', 'xmldict', 'link-2');">xmldict</a></tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"> </tt>
-<a name="UpdateDriver"></a><div id="UpdateDriver-def"><a name="L8"></a><tt class="py-lineno">  8</tt> <a class="py-toggle" href="#" id="UpdateDriver-toggle" onclick="return toggle('UpdateDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a><tt class="py-op">:</tt> </tt>
-</div><div id="UpdateDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UpdateDriver-expanded"><a name="UpdateDriver.__init__"></a><div id="UpdateDriver.__init__-def"><a name="L9"></a><tt class="py-lineno">  9</tt> <a class="py-toggle" href="#" id="UpdateDriver.__init__-toggle" onclick="return toggle('UpdateDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UpdateDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.__init__-expanded"><a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-3', 'default', 'link-3');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt> <tt class="py-op">=</tt> <tt class="py-string">"/home/openflow/TestON/config/ofadriver.cfg"</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileDict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-</div><a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">         </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"> </tt>
-<a name="UpdateDriver.getmethods"></a><div id="UpdateDriver.getmethods-def"><a name="L16"></a><tt class="py-lineno"> 16</tt> <a class="py-toggle" href="#" id="UpdateDriver.getmethods-toggle" onclick="return toggle('UpdateDriver.getmethods');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#getmethods">getmethods</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">modulePath</tt><tt class="py-op">,</tt><tt class="py-param">Class</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="UpdateDriver.getmethods-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.getmethods-expanded"><a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">         This will get the list of methods in given module or class.</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">         It accepts the module path and class name. If there is no </tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">         class name then it has be mentioned as None.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">        <tt class="py-name">methodList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt class="py-name">modulePath</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">        <tt class="py-name">newModule</tt> <tt class="py-op">=</tt> <tt class="py-string">"."</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Message : Method list is being obatined , Please wait ..."</tt>  </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">Class</tt> <tt class="py-op">:</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">                <tt class="py-name">Module</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">Class</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">                <tt class="py-name">ClassList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">Module</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">inspect</tt><tt class="py-op">.</tt><tt class="py-name">isclass</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ClassList</tt> <tt class="py-op">=</tt> <tt class="py-name">ClassList</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">                <tt class="py-name">Class</tt> <tt class="py-op">=</tt> <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">Module</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">Class</tt><tt class="py-op">]</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">                <tt class="py-name">methodList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">Class</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">inspect</tt><tt class="py-op">.</tt><tt class="py-name">isfunction</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">                <tt class="py-name">Module</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-op">[</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">                <tt class="py-name">methodList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">Module</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">inspect</tt><tt class="py-op">.</tt><tt class="py-name">isfunction</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">                <tt class="py-name">ClassList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">Module</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">inspect</tt><tt class="py-op">.</tt><tt class="py-name">isclass</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ClassList</tt> <tt class="py-op">=</tt> <tt class="py-name">ClassList</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Error : "</tt> <tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exc_info</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">          </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">         </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">methodList</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> </tt>
-</div><a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"> </tt>
-<a name="UpdateDriver.echo"></a><div id="UpdateDriver.echo-def"><a name="L45"></a><tt class="py-lineno"> 45</tt> <a class="py-toggle" href="#" id="UpdateDriver.echo-toggle" onclick="return toggle('UpdateDriver.echo');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#echo">echo</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="UpdateDriver.echo-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.echo-expanded"><a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Echoing !!!!!!"</tt> </tt>
-</div><a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"> </tt>
-<a name="UpdateDriver.getargs"></a><div id="UpdateDriver.getargs-def"><a name="L48"></a><tt class="py-lineno"> 48</tt> <a class="py-toggle" href="#" id="UpdateDriver.getargs-toggle" onclick="return toggle('UpdateDriver.getargs');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#getargs">getargs</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">moduleName</tt><tt class="py-op">,</tt><tt class="py-param">className</tt><tt class="py-op">,</tt><tt class="py-param">method</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="UpdateDriver.getargs-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.getargs-expanded"><a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring">          This will return the list of arguments in a method of python module of class.</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">          It accepts method list as an argument.</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Message : Argument list is being obtained for each method"</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-name">methodArgsDict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">className</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt class="py-name">moduleName</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"."</tt><tt class="py-op">)</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt><tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">method</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">                <tt class="py-name">Module</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">                    <tt class="py-name">names</tt> <tt class="py-op">=</tt> <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">Module</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">"Message : method '"</tt> <tt class="py-op">+</tt> <tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">"'does not exists,Continued with including it. "</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                <tt class="py-name">argumentList</tt> <tt class="py-op">=</tt> <tt class="py-name">inspect</tt><tt class="py-op">.</tt><tt class="py-name">getargspec</tt><tt class="py-op">(</tt><tt class="py-name">names</tt><tt class="py-op">)</tt> <tt class="py-comment">#inspect.getargvalues(name)</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">                <tt class="py-name">methodArgsDict</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">argumentList</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">            <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt class="py-name">moduleName</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"."</tt><tt class="py-op">)</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt><tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">method</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">                <tt class="py-name">Module</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">                <tt class="py-name">Class</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">Module</tt><tt class="py-op">,</tt> <tt class="py-name">className</tt><tt class="py-op">)</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">                    <tt class="py-name">names</tt> <tt class="py-op">=</tt> <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">Class</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt> <tt class="py-op">:</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">"Message : method '"</tt> <tt class="py-op">+</tt> <tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">"'does not exists,Continued with include it."</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">                <tt class="py-name">argumentList</tt> <tt class="py-op">=</tt> <tt class="py-name">inspect</tt><tt class="py-op">.</tt><tt class="py-name">getargspec</tt><tt class="py-op">(</tt><tt class="py-name">names</tt><tt class="py-op">)</tt> <tt class="py-comment">#inspect.getargvalues(name)</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">                <tt class="py-name">methodArgsDict</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">argumentList</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">methodArgsDict</tt> </tt>
-</div><a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"> </tt>
-<a name="UpdateDriver.configparser"></a><div id="UpdateDriver.configparser-def"><a name="L82"></a><tt class="py-lineno"> 82</tt> <a class="py-toggle" href="#" id="UpdateDriver.configparser-toggle" onclick="return toggle('UpdateDriver.configparser');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#configparser">configparser</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">fileName</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UpdateDriver.configparser-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.configparser-expanded"><a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">         It will parse the config file (ofa.cfg) and return as dictionary</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">         </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-name">matchFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">r'(.*)\.cfg'</tt><tt class="py-op">,</tt> <tt class="py-name">fileName</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">M</tt> <tt class="py-op">|</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">I</tt><tt class="py-op">)</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">matchFileName</tt><tt class="py-op">:</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt> <tt class="py-op">=</tt> <tt class="py-name">fileName</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">                <tt class="py-name">xml</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">fileName</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt> <tt class="py-op">=</tt> <tt id="link-4" class="py-name"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-4', 'xmldict', 'link-2');">xmldict</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Function TestON.core.xmldict.xml_to_dict()=TestON.core.xmldict-module.html#xml_to_dict"><a title="TestON.core.xmldict.xml_to_dict" class="py-name" href="#" onclick="return doclink('link-5', 'xml_to_dict', 'link-5');">xml_to_dict</a></tt><tt class="py-op">(</tt><tt class="py-name">xml</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Error : Config file "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt> <tt class="py-op">+</tt> <tt class="py-string">" not defined properly or file path error"</tt> </tt>
-</div><a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">         </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">  </tt>
-<a name="UpdateDriver.getList"></a><div id="UpdateDriver.getList-def"><a name="L98"></a><tt class="py-lineno"> 98</tt> <a class="py-toggle" href="#" id="UpdateDriver.getList-toggle" onclick="return toggle('UpdateDriver.getList');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#getList">getList</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UpdateDriver.getList-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.getList-expanded"><a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt class="py-docstring">          This method will maintain the hash with module-&gt;class-&gt;methodList or </tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"><tt class="py-docstring">          module -&gt; methodList .It will return the same Hash.</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">classList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">            <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Error : Module Does not Exists"</tt>     </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">e</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">      </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt><tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">            <tt class="py-name">modulePath</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">value</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'path'</tt><tt class="py-op">]</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">            <tt class="py-name">moduleName</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">value</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">                <tt class="py-name">pathList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">value</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'set-path'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">                <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-6', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">pathList</tt><tt class="py-op">)</tt>   </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt> <tt class="py-op">:</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Error : No System Path is given "</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">                <tt class="py-name">Class</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">value</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'classes'</tt><tt class="py-op">]</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">                <tt class="py-name">Class</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">Class</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">                <tt class="py-name">methodList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.getmethods()=TestON.bin.updatedriver.UpdateDriver-class.html#getmethods"><a title="TestON.bin.updatedriver.UpdateDriver.getmethods" class="py-name" href="#" onclick="return doclink('link-7', 'getmethods', 'link-7');">getmethods</a></tt><tt class="py-op">(</tt><tt class="py-name">modulePath</tt><tt class="py-op">,</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt>  <tt class="py-name">methodList</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.method_ignoreList()=TestON.bin.updatedriver.UpdateDriver-class.html#method_ignoreList"><a title="TestON.bin.updatedriver.UpdateDriver.method_ignoreList" class="py-name" href="#" onclick="return doclink('link-8', 'method_ignoreList', 'link-8');">method_ignoreList</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.getMethodArgsHash()=TestON.bin.updatedriver.UpdateDriver-class.html#getMethodArgsHash"><a title="TestON.bin.updatedriver.UpdateDriver.getMethodArgsHash" class="py-name" href="#" onclick="return doclink('link-9', 'getMethodArgsHash', 'link-9');">getMethodArgsHash</a></tt><tt class="py-op">(</tt><tt class="py-name">moduleName</tt><tt class="py-op">,</tt><tt class="py-name">value</tt><tt class="py-op">,</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">                <tt class="py-name">classList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">value</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'classes'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">indx</tt><tt class="py-op">,</tt><tt class="py-name">className</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">classList</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">className</tt> <tt class="py-op">==</tt> <tt class="py-string">'ignore-list'</tt> <tt class="py-op">:</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">                        <tt class="py-keyword">pass</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">                        <tt class="py-name">methodList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.getmethods" class="py-name" href="#" onclick="return doclink('link-10', 'getmethods', 'link-7');">getmethods</a></tt><tt class="py-op">(</tt><tt class="py-name">modulePath</tt><tt class="py-op">,</tt><tt class="py-name">className</tt><tt class="py-op">)</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">className</tt> <tt class="py-op">:</tt> <tt class="py-name">methodList</tt><tt class="py-op">}</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.method_ignoreList" class="py-name" href="#" onclick="return doclink('link-11', 'method_ignoreList', 'link-8');">method_ignoreList</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt><tt class="py-name">className</tt><tt class="py-op">)</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.class_ignoreList()=TestON.bin.updatedriver.UpdateDriver-class.html#class_ignoreList"><a title="TestON.bin.updatedriver.UpdateDriver.class_ignoreList" class="py-name" href="#" onclick="return doclink('link-12', 'class_ignoreList', 'link-12');">class_ignoreList</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.getMethodArgsHash" class="py-name" href="#" onclick="return doclink('link-13', 'getMethodArgsHash', 'link-9');">getMethodArgsHash</a></tt><tt class="py-op">(</tt><tt class="py-name">moduleName</tt><tt class="py-op">,</tt><tt class="py-name">value</tt><tt class="py-op">,</tt><tt class="py-name">className</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"> </tt>
-<a name="UpdateDriver.class_ignoreList"></a><div id="UpdateDriver.class_ignoreList-def"><a name="L142"></a><tt class="py-lineno">142</tt> <a class="py-toggle" href="#" id="UpdateDriver.class_ignoreList-toggle" onclick="return toggle('UpdateDriver.class_ignoreList');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#class_ignoreList">class_ignoreList</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">module</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="UpdateDriver.class_ignoreList-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.class_ignoreList-expanded"><a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-docstring">        It removes the ignored classes for each module mention in ofadriver.cfg </tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt id="link-14" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.class_ignoreList" class="py-name" href="#" onclick="return doclink('link-14', 'class_ignoreList', 'link-12');">class_ignoreList</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt>  </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt id="link-15" class="py-name" targets="Variable TestON.core.teston.module=TestON.core.teston-module.html#module"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-15', 'module', 'link-15');">module</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'classes'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">                <tt id="link-16" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.class_ignoreList" class="py-name" href="#" onclick="return doclink('link-16', 'class_ignoreList', 'link-12');">class_ignoreList</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt id="link-17" class="py-name"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-17', 'module', 'link-15');">module</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'classes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'ignore-list'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt> <tt class="py-op">:</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Message : No Class Ignore List present"</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-name">moduleName</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt id="link-18" class="py-name"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-18', 'module', 'link-15');">module</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt><tt class="py-name">className</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt id="link-19" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.class_ignoreList" class="py-name" href="#" onclick="return doclink('link-19', 'class_ignoreList', 'link-12');">class_ignoreList</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">className</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">                    <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt>       </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt> </tt>
-</div><a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"> </tt>
-<a name="UpdateDriver.method_ignoreList"></a><div id="UpdateDriver.method_ignoreList-def"><a name="L164"></a><tt class="py-lineno">164</tt> <a class="py-toggle" href="#" id="UpdateDriver.method_ignoreList-toggle" onclick="return toggle('UpdateDriver.method_ignoreList');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#method_ignoreList">method_ignoreList</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">module</tt><tt class="py-op">,</tt><tt class="py-param">className</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UpdateDriver.method_ignoreList-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.method_ignoreList-expanded"><a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt class="py-docstring">        It removes the ignored methods of each module or class mentioned in ofadriver.cfg.</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt id="link-20" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.method_ignoreList" class="py-name" href="#" onclick="return doclink('link-20', 'method_ignoreList', 'link-8');">method_ignoreList</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">className</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">                    <tt id="link-21" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.method_ignoreList" class="py-name" href="#" onclick="return doclink('link-21', 'method_ignoreList', 'link-8');">method_ignoreList</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt id="link-22" class="py-name"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-22', 'module', 'link-15');">module</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'methods'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'ignore-list'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">:</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">                    <tt id="link-23" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.method_ignoreList" class="py-name" href="#" onclick="return doclink('link-23', 'method_ignoreList', 'link-8');">method_ignoreList</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt id="link-24" class="py-name"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-24', 'module', 'link-15');">module</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'classes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'methods'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'ignore-list'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">:</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt>  </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt> <tt class="py-op">:</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Message : No Ignore-List Exists , proceeding for looking add method"</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.add_method()=TestON.bin.updatedriver.UpdateDriver-class.html#add_method"><a title="TestON.bin.updatedriver.UpdateDriver.add_method" class="py-name" href="#" onclick="return doclink('link-25', 'add_method', 'link-25');">add_method</a></tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-26', 'module', 'link-15');">module</a></tt><tt class="py-op">,</tt><tt class="py-name">className</tt><tt class="py-op">)</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-name">moduleName</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt id="link-27" class="py-name"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-27', 'module', 'link-15');">module</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-comment">#import pprint</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-comment">#pprint.pprint(self.methodDict[moduleName])</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt id="link-28" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.method_ignoreList" class="py-name" href="#" onclick="return doclink('link-28', 'method_ignoreList', 'link-8');">method_ignoreList</a></tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">className</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">method</tt><tt class="py-op">)</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">                    <tt class="py-comment">#pprint.pprint(self.methodDict)</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">"Message : Method "</tt> <tt class="py-op">+</tt> <tt class="py-name">method</tt> <tt class="py-op">+</tt> <tt class="py-string">"Does not exist in module "</tt> <tt class="py-op">+</tt> <tt class="py-name">moduleName</tt> <tt class="py-op">+</tt> <tt class="py-string">", Continue to rest execution"</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt>     </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">method</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt> <tt class="py-op">:</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">method</tt><tt class="py-op">)</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.add_method" class="py-name" href="#" onclick="return doclink('link-29', 'add_method', 'link-25');">add_method</a></tt><tt class="py-op">(</tt><tt id="link-30" class="py-name"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-30', 'module', 'link-15');">module</a></tt><tt class="py-op">,</tt><tt class="py-name">className</tt><tt class="py-op">)</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt> </tt>
-</div><a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"> </tt>
-<a name="UpdateDriver.add_method"></a><div id="UpdateDriver.add_method-def"><a name="L204"></a><tt class="py-lineno">204</tt> <a class="py-toggle" href="#" id="UpdateDriver.add_method-toggle" onclick="return toggle('UpdateDriver.add_method');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#add_method">add_method</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">module</tt><tt class="py-op">,</tt><tt class="py-param">className</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="UpdateDriver.add_method-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.add_method-expanded"><a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line"><tt class="py-docstring">         This  will add the methods(mentioned in ofadriver.cfg file) into method list if it doesnot exists in list. </tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-name">method_List</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">className</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">                    <tt class="py-name">method_List</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt id="link-31" class="py-name"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-31', 'module', 'link-15');">module</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'methods'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'add-list'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">:</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.core=TestON.core-module.html"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-0', 'core', 'link-0');">core</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module TestON.core.xmldict=TestON.core.xmldict-module.html"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-1', 'xmldict', 'link-1');">xmldict</a></tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-string">'''</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-string">@author: Raghav Kashyap (raghavkashyap@paxterrasolutions.com)</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-string">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-string">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-string">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-string">    (at your option) any later version.</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-string">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-string">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-string">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-string">    GNU General Public License for more details.</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-string">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-string">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-string">'''</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
+<a name="UpdateDriver"></a><div id="UpdateDriver-def"><a name="L26"></a><tt class="py-lineno"> 26</tt> <a class="py-toggle" href="#" id="UpdateDriver-toggle" onclick="return toggle('UpdateDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a><tt class="py-op">:</tt> </tt>
+</div><div id="UpdateDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UpdateDriver-expanded"><a name="UpdateDriver.__init__"></a><div id="UpdateDriver.__init__-def"><a name="L27"></a><tt class="py-lineno"> 27</tt> <a class="py-toggle" href="#" id="UpdateDriver.__init__-toggle" onclick="return toggle('UpdateDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UpdateDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.__init__-expanded"><a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-2', 'default', 'link-2');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt> <tt class="py-op">=</tt> <tt class="py-string">"/home/openflow/TestON/config/ofadriver.cfg"</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileDict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+</div><a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"> </tt>
+<a name="UpdateDriver.getmethods"></a><div id="UpdateDriver.getmethods-def"><a name="L34"></a><tt class="py-lineno"> 34</tt> <a class="py-toggle" href="#" id="UpdateDriver.getmethods-toggle" onclick="return toggle('UpdateDriver.getmethods');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#getmethods">getmethods</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">modulePath</tt><tt class="py-op">,</tt><tt class="py-param">Class</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="UpdateDriver.getmethods-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.getmethods-expanded"><a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring">         This will get the list of methods in given module or class.</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">         It accepts the module path and class name. If there is no</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-docstring">         class name then it has be mentioned as None.</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">methodList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt class="py-name">modulePath</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">newModule</tt> <tt class="py-op">=</tt> <tt class="py-string">"."</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Message : Method list is being obatined , Please wait ..."</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">Class</tt> <tt class="py-op">:</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">                <tt class="py-name">Module</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">Class</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">                <tt class="py-name">ClassList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">Module</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">inspect</tt><tt class="py-op">.</tt><tt class="py-name">isclass</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ClassList</tt> <tt class="py-op">=</tt> <tt class="py-name">ClassList</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">                <tt class="py-name">Class</tt> <tt class="py-op">=</tt> <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">Module</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">Class</tt><tt class="py-op">]</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">                <tt class="py-name">methodList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">Class</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">inspect</tt><tt class="py-op">.</tt><tt class="py-name">isfunction</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">                <tt class="py-name">Module</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-op">[</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">                <tt class="py-name">methodList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">Module</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">inspect</tt><tt class="py-op">.</tt><tt class="py-name">isfunction</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">                <tt class="py-name">ClassList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">Module</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">inspect</tt><tt class="py-op">.</tt><tt class="py-name">isclass</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ClassList</tt> <tt class="py-op">=</tt> <tt class="py-name">ClassList</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Error : "</tt> <tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exc_info</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">methodList</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> </tt>
+</div><a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"> </tt>
+<a name="UpdateDriver.echo"></a><div id="UpdateDriver.echo-def"><a name="L63"></a><tt class="py-lineno"> 63</tt> <a class="py-toggle" href="#" id="UpdateDriver.echo-toggle" onclick="return toggle('UpdateDriver.echo');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#echo">echo</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="UpdateDriver.echo-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.echo-expanded"><a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Echoing !!!!!!"</tt> </tt>
+</div><a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"> </tt>
+<a name="UpdateDriver.getargs"></a><div id="UpdateDriver.getargs-def"><a name="L66"></a><tt class="py-lineno"> 66</tt> <a class="py-toggle" href="#" id="UpdateDriver.getargs-toggle" onclick="return toggle('UpdateDriver.getargs');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#getargs">getargs</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">moduleName</tt><tt class="py-op">,</tt><tt class="py-param">className</tt><tt class="py-op">,</tt><tt class="py-param">method</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="UpdateDriver.getargs-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.getargs-expanded"><a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-docstring">          This will return the list of arguments in a method of python module of class.</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring">          It accepts method list as an argument.</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Message : Argument list is being obtained for each method"</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-name">methodArgsDict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">className</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt class="py-name">moduleName</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"."</tt><tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt><tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">method</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">                <tt class="py-name">Module</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">                    <tt class="py-name">names</tt> <tt class="py-op">=</tt> <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">Module</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">"Message : method '"</tt> <tt class="py-op">+</tt> <tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">"'does not exists,Continued with including it. "</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">                <tt class="py-name">argumentList</tt> <tt class="py-op">=</tt> <tt class="py-name">inspect</tt><tt class="py-op">.</tt><tt class="py-name">getargspec</tt><tt class="py-op">(</tt><tt class="py-name">names</tt><tt class="py-op">)</tt> <tt class="py-comment">#inspect.getargvalues(name)</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">                <tt class="py-name">methodArgsDict</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">argumentList</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">            <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt class="py-name">moduleName</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"."</tt><tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt><tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">method</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">                <tt class="py-name">Module</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">                <tt class="py-name">Class</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">Module</tt><tt class="py-op">,</tt> <tt class="py-name">className</tt><tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">                    <tt class="py-name">names</tt> <tt class="py-op">=</tt> <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">Class</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt> <tt class="py-op">:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">"Message : method '"</tt> <tt class="py-op">+</tt> <tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">"'does not exists,Continued with include it."</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                <tt class="py-name">argumentList</tt> <tt class="py-op">=</tt> <tt class="py-name">inspect</tt><tt class="py-op">.</tt><tt class="py-name">getargspec</tt><tt class="py-op">(</tt><tt class="py-name">names</tt><tt class="py-op">)</tt> <tt class="py-comment">#inspect.getargvalues(name)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">                <tt class="py-name">methodArgsDict</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">argumentList</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">methodArgsDict</tt> </tt>
+</div><a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"> </tt>
+<a name="UpdateDriver.configparser"></a><div id="UpdateDriver.configparser-def"><a name="L100"></a><tt class="py-lineno">100</tt> <a class="py-toggle" href="#" id="UpdateDriver.configparser-toggle" onclick="return toggle('UpdateDriver.configparser');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#configparser">configparser</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">fileName</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UpdateDriver.configparser-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.configparser-expanded"><a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-docstring">         It will parse the config file (ofa.cfg) and return as dictionary</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">matchFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">r'(.*)\.cfg'</tt><tt class="py-op">,</tt> <tt class="py-name">fileName</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">M</tt> <tt class="py-op">|</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">I</tt><tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">matchFileName</tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt> <tt class="py-op">=</tt> <tt class="py-name">fileName</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">                <tt class="py-name">xml</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">fileName</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt> <tt class="py-op">=</tt> <tt id="link-3" class="py-name"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-3', 'xmldict', 'link-1');">xmldict</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Function TestON.core.xmldict.xml_to_dict()=TestON.core.xmldict-module.html#xml_to_dict"><a title="TestON.core.xmldict.xml_to_dict" class="py-name" href="#" onclick="return doclink('link-4', 'xml_to_dict', 'link-4');">xml_to_dict</a></tt><tt class="py-op">(</tt><tt class="py-name">xml</tt><tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Error : Config file "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt> <tt class="py-op">+</tt> <tt class="py-string">" not defined properly or file path error"</tt> </tt>
+</div><a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"> </tt>
+<a name="UpdateDriver.getList"></a><div id="UpdateDriver.getList-def"><a name="L116"></a><tt class="py-lineno">116</tt> <a class="py-toggle" href="#" id="UpdateDriver.getList-toggle" onclick="return toggle('UpdateDriver.getList');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#getList">getList</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UpdateDriver.getList-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.getList-expanded"><a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-docstring">          This method will maintain the hash with module-&gt;class-&gt;methodList or</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring">          module -&gt; methodList .It will return the same Hash.</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-name">classList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Error : Module Does not Exists"</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">e</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt><tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">            <tt class="py-name">modulePath</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">value</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'path'</tt><tt class="py-op">]</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">            <tt class="py-name">moduleName</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">value</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">                <tt class="py-name">pathList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">value</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'set-path'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">                <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-5', 'path', 'link-5');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">pathList</tt><tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt> <tt class="py-op">:</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Error : No System Path is given "</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">                <tt class="py-name">Class</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">value</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'classes'</tt><tt class="py-op">]</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">                <tt class="py-name">Class</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">Class</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">                <tt class="py-name">methodList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.getmethods()=TestON.bin.updatedriver.UpdateDriver-class.html#getmethods"><a title="TestON.bin.updatedriver.UpdateDriver.getmethods" class="py-name" href="#" onclick="return doclink('link-6', 'getmethods', 'link-6');">getmethods</a></tt><tt class="py-op">(</tt><tt class="py-name">modulePath</tt><tt class="py-op">,</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt>  <tt class="py-name">methodList</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.method_ignoreList()=TestON.bin.updatedriver.UpdateDriver-class.html#method_ignoreList"><a title="TestON.bin.updatedriver.UpdateDriver.method_ignoreList" class="py-name" href="#" onclick="return doclink('link-7', 'method_ignoreList', 'link-7');">method_ignoreList</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.getMethodArgsHash()=TestON.bin.updatedriver.UpdateDriver-class.html#getMethodArgsHash"><a title="TestON.bin.updatedriver.UpdateDriver.getMethodArgsHash" class="py-name" href="#" onclick="return doclink('link-8', 'getMethodArgsHash', 'link-8');">getMethodArgsHash</a></tt><tt class="py-op">(</tt><tt class="py-name">moduleName</tt><tt class="py-op">,</tt><tt class="py-name">value</tt><tt class="py-op">,</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">                <tt class="py-name">classList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">value</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'classes'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">indx</tt><tt class="py-op">,</tt><tt class="py-name">className</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">classList</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">className</tt> <tt class="py-op">==</tt> <tt class="py-string">'ignore-list'</tt> <tt class="py-op">:</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">                        <tt class="py-keyword">pass</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">                        <tt class="py-name">methodList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.getmethods" class="py-name" href="#" onclick="return doclink('link-9', 'getmethods', 'link-6');">getmethods</a></tt><tt class="py-op">(</tt><tt class="py-name">modulePath</tt><tt class="py-op">,</tt><tt class="py-name">className</tt><tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">className</tt> <tt class="py-op">:</tt> <tt class="py-name">methodList</tt><tt class="py-op">}</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.method_ignoreList" class="py-name" href="#" onclick="return doclink('link-10', 'method_ignoreList', 'link-7');">method_ignoreList</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt><tt class="py-name">className</tt><tt class="py-op">)</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.class_ignoreList()=TestON.bin.updatedriver.UpdateDriver-class.html#class_ignoreList"><a title="TestON.bin.updatedriver.UpdateDriver.class_ignoreList" class="py-name" href="#" onclick="return doclink('link-11', 'class_ignoreList', 'link-11');">class_ignoreList</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.getMethodArgsHash" class="py-name" href="#" onclick="return doclink('link-12', 'getMethodArgsHash', 'link-8');">getMethodArgsHash</a></tt><tt class="py-op">(</tt><tt class="py-name">moduleName</tt><tt class="py-op">,</tt><tt class="py-name">value</tt><tt class="py-op">,</tt><tt class="py-name">className</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"> </tt>
+<a name="UpdateDriver.class_ignoreList"></a><div id="UpdateDriver.class_ignoreList-def"><a name="L160"></a><tt class="py-lineno">160</tt> <a class="py-toggle" href="#" id="UpdateDriver.class_ignoreList-toggle" onclick="return toggle('UpdateDriver.class_ignoreList');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#class_ignoreList">class_ignoreList</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">module</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="UpdateDriver.class_ignoreList-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.class_ignoreList-expanded"><a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">        It removes the ignored classes for each module mention in ofadriver.cfg</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt id="link-13" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.class_ignoreList" class="py-name" href="#" onclick="return doclink('link-13', 'class_ignoreList', 'link-11');">class_ignoreList</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">module</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'classes'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">                <tt id="link-14" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.class_ignoreList" class="py-name" href="#" onclick="return doclink('link-14', 'class_ignoreList', 'link-11');">class_ignoreList</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">module</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'classes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'ignore-list'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt> <tt class="py-op">:</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Message : No Class Ignore List present"</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-name">moduleName</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">module</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt><tt class="py-name">className</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt id="link-15" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.class_ignoreList" class="py-name" href="#" onclick="return doclink('link-15', 'class_ignoreList', 'link-11');">class_ignoreList</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">className</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">                    <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt> </tt>
+</div><a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"> </tt>
+<a name="UpdateDriver.method_ignoreList"></a><div id="UpdateDriver.method_ignoreList-def"><a name="L182"></a><tt class="py-lineno">182</tt> <a class="py-toggle" href="#" id="UpdateDriver.method_ignoreList-toggle" onclick="return toggle('UpdateDriver.method_ignoreList');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#method_ignoreList">method_ignoreList</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">module</tt><tt class="py-op">,</tt><tt class="py-param">className</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UpdateDriver.method_ignoreList-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.method_ignoreList-expanded"><a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"><tt class="py-docstring">        It removes the ignored methods of each module or class mentioned in ofadriver.cfg.</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt id="link-16" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.method_ignoreList" class="py-name" href="#" onclick="return doclink('link-16', 'method_ignoreList', 'link-7');">method_ignoreList</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">className</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">                    <tt id="link-17" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.method_ignoreList" class="py-name" href="#" onclick="return doclink('link-17', 'method_ignoreList', 'link-7');">method_ignoreList</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">module</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'methods'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'ignore-list'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">:</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">                    <tt id="link-18" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.method_ignoreList" class="py-name" href="#" onclick="return doclink('link-18', 'method_ignoreList', 'link-7');">method_ignoreList</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">module</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'classes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'methods'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'ignore-list'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">:</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt> <tt class="py-op">:</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Message : No Ignore-List Exists , proceeding for looking add method"</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.add_method()=TestON.bin.updatedriver.UpdateDriver-class.html#add_method"><a title="TestON.bin.updatedriver.UpdateDriver.add_method" class="py-name" href="#" onclick="return doclink('link-19', 'add_method', 'link-19');">add_method</a></tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt><tt class="py-name">className</tt><tt class="py-op">)</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-name">moduleName</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">module</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-comment">#import pprint</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-comment">#pprint.pprint(self.methodDict[moduleName])</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt id="link-20" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.method_ignoreList" class="py-name" href="#" onclick="return doclink('link-20', 'method_ignoreList', 'link-7');">method_ignoreList</a></tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">className</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">method</tt><tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">                    <tt class="py-comment">#pprint.pprint(self.methodDict)</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">"Message : Method "</tt> <tt class="py-op">+</tt> <tt class="py-name">method</tt> <tt class="py-op">+</tt> <tt class="py-string">"Does not exist in module "</tt> <tt class="py-op">+</tt> <tt class="py-name">moduleName</tt> <tt class="py-op">+</tt> <tt class="py-string">", Continue to rest execution"</tt> </tt>
 <a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">                    <tt class="py-name">method_List</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt id="link-32" class="py-name"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-32', 'module', 'link-15');">module</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'classes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'methods'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'add-list'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">:</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">                 </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt> <tt class="py-op">:</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Message : No Add-List Exists , Proceeding with all available methods"</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-name">moduleName</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt id="link-33" class="py-name"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-33', 'module', 'link-15');">module</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">method_List</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">className</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt>     </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">method</tt><tt class="py-op">)</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">method</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"> </tt>
-<a name="UpdateDriver.getMethodArgsHash"></a><div id="UpdateDriver.getMethodArgsHash-def"><a name="L233"></a><tt class="py-lineno">233</tt> <a class="py-toggle" href="#" id="UpdateDriver.getMethodArgsHash-toggle" onclick="return toggle('UpdateDriver.getMethodArgsHash');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#getMethodArgsHash">getMethodArgsHash</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">moduleName</tt><tt class="py-op">,</tt><tt class="py-param">module</tt><tt class="py-op">,</tt><tt class="py-param">className</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UpdateDriver.getMethodArgsHash-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.getMethodArgsHash-expanded"><a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-docstring">         This will maintain a Hash of class-&gt;method-&gt;argumentsList</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-name">modulePath</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt id="link-34" class="py-name"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-34', 'module', 'link-15');">module</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'path'</tt><tt class="py-op">]</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt class="py-name">modulePath</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-name">newModule</tt> <tt class="py-op">=</tt> <tt class="py-string">"."</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">className</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">            <tt class="py-name">methodArgs</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.getargs()=TestON.bin.updatedriver.UpdateDriver-class.html#getargs"><a title="TestON.bin.updatedriver.UpdateDriver.getargs" class="py-name" href="#" onclick="return doclink('link-35', 'getargs', 'link-35');">getargs</a></tt><tt class="py-op">(</tt><tt class="py-name">newModule</tt><tt class="py-op">,</tt><tt class="py-name">None</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>   </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">methodArgs</tt>  </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">            <tt class="py-name">methodArgs</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.getargs" class="py-name" href="#" onclick="return doclink('link-36', 'getargs', 'link-35');">getargs</a></tt><tt class="py-op">(</tt><tt class="py-name">newModule</tt><tt class="py-op">,</tt><tt class="py-name">className</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileDict</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">methodArgs</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileDict</tt> </tt>
-</div><a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">              </tt>
-<a name="UpdateDriver.appendDriver"></a><div id="UpdateDriver.appendDriver-def"><a name="L248"></a><tt class="py-lineno">248</tt> <a class="py-toggle" href="#" id="UpdateDriver.appendDriver-toggle" onclick="return toggle('UpdateDriver.appendDriver');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#appendDriver">appendDriver</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">fileName</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UpdateDriver.appendDriver-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.appendDriver-expanded"><a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"><tt class="py-docstring">         This will append the given driver file with methods along with arguments.</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">        <tt class="py-name">matchFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">r'(.*)\.py'</tt><tt class="py-op">,</tt> <tt class="py-name">fileName</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">M</tt> <tt class="py-op">|</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">I</tt><tt class="py-op">)</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">         </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">matchFileName</tt><tt class="py-op">:</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">            <tt class="py-name">fileHandle</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Message : Writing Driver file at "</tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">                <tt class="py-name">fileHandle</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">fileName</tt><tt class="py-op">,</tt><tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">                <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileDict</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">                    <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">                        <tt class="py-keyword">for</tt> <tt class="py-name">ind</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileDict</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">method</tt> <tt class="py-op">==</tt> <tt class="py-string">"__init__"</tt> <tt class="py-op">:</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">                                <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">                                <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-string">","</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileDict</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">method</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">                                <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt> <tt class="py-op">+</tt> <tt class="py-string">"def "</tt> <tt class="py-op">+</tt> <tt class="py-name">method</tt> <tt class="py-op">+</tt> <tt class="py-string">"(self,"</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt> <tt class="py-op">+</tt> <tt class="py-string">") :"</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">                                <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">8</tt> <tt class="py-op">+</tt> <tt class="py-string">"return "</tt> <tt class="py-op">+</tt> <tt class="py-name">key</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">method</tt> <tt class="py-op">+</tt> <tt class="py-string">"("</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt> <tt class="py-op">+</tt> <tt class="py-string">")\n"</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">                    <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt> <tt class="py-op">:</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">                        <tt class="py-keyword">pass</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">                <tt class="py-name">fileHandle</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">                <tt class="py-name">fileHandle</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">content</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Error : Driver file "</tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt> <tt class="py-op">+</tt> <tt class="py-string">"does not exists"</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">             <tt class="py-keyword">print</tt> <tt class="py-string">"Error : File name "</tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt> <tt class="py-op">+</tt> <tt class="py-string">"is not python module"</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">             <tt class="py-keyword">return</tt> <tt class="py-name">False</tt>   </tt>
-</div><a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line"> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"> </tt>
-<a name="UpdateDriver.writeDriver"></a><div id="UpdateDriver.writeDriver-def"><a name="L282"></a><tt class="py-lineno">282</tt> <a class="py-toggle" href="#" id="UpdateDriver.writeDriver-toggle" onclick="return toggle('UpdateDriver.writeDriver');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#writeDriver">writeDriver</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">driver</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="UpdateDriver.writeDriver-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.writeDriver-expanded"><a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"><tt class="py-docstring">         This will accept the List of driver name and write those drivers if no driver name is specified</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line"><tt class="py-docstring">         then it will write all of the driver specified in the ofadriver.cfg.</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.printHeader()=TestON.bin.updatedriver.UpdateDriver-class.html#printHeader"><a title="TestON.bin.updatedriver.UpdateDriver.printHeader" class="py-name" href="#" onclick="return doclink('link-37', 'printHeader', 'link-37');">printHeader</a></tt><tt class="py-op">(</tt><tt class="py-name">driver</tt><tt class="py-op">)</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">        <tt id="link-38" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-38', 'drivers', 'link-38');">drivers</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">        <tt class="py-name">commaMatch</tt>  <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">,</tt> <tt class="py-name">driver</tt><tt class="py-op">,</tt> <tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">commaMatch</tt><tt class="py-op">:</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">            <tt id="link-39" class="py-name"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-39', 'drivers', 'link-38');">drivers</a></tt> <tt class="py-op">=</tt> <tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">            <tt id="link-40" class="py-name"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-40', 'drivers', 'link-38');">drivers</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">driver</tt><tt class="py-op">)</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-41" class="py-name"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-41', 'drivers', 'link-38');">drivers</a></tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">driverName</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt> <tt class="py-op">=</tt> <tt class="py-name">driverName</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.getList()=TestON.bin.updatedriver.UpdateDriver-class.html#getList"><a title="TestON.bin.updatedriver.UpdateDriver.getList" class="py-name" href="#" onclick="return doclink('link-42', 'getList', 'link-42');">getList</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-op">:</tt>  </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.getDriverPath()=TestON.bin.updatedriver.UpdateDriver-class.html#getDriverPath,Method TestON.core.teston.TestON.getDriverPath()=TestON.core.teston.TestON-class.html#getDriverPath"><a title="TestON.bin.updatedriver.UpdateDriver.getDriverPath
-TestON.core.teston.TestON.getDriverPath" class="py-name" href="#" onclick="return doclink('link-43', 'getDriverPath', 'link-43');">getDriverPath</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.appendDriver()=TestON.bin.updatedriver.UpdateDriver-class.html#appendDriver"><a title="TestON.bin.updatedriver.UpdateDriver.appendDriver" class="py-name" href="#" onclick="return doclink('link-44', 'appendDriver', 'link-44');">appendDriver</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverPath</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt><tt class="py-op">)</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverPath</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt><tt class="py-op">)</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt>  </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">driverName</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt id="link-45" class="py-name"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-45', 'drivers', 'link-38');">drivers</a></tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">                 </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt> <tt class="py-op">=</tt> <tt class="py-name">driverName</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.getList" class="py-name" href="#" onclick="return doclink('link-46', 'getList', 'link-42');">getList</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-op">:</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.getDriverPath
-TestON.core.teston.TestON.getDriverPath" class="py-name" href="#" onclick="return doclink('link-47', 'getDriverPath', 'link-43');">getDriverPath</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.appendDriver" class="py-name" href="#" onclick="return doclink('link-48', 'appendDriver', 'link-44');">appendDriver</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverPath</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt><tt class="py-op">)</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverPath</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt><tt class="py-op">)</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt>  </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">          </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"="</tt> <tt class="py-op">*</tt> <tt class="py-number">90</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt>  <tt class="py-op">+</tt> <tt class="py-string">"Output Driver File :"</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">",\n"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverList</tt><tt class="py-op">)</tt>          </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"="</tt> <tt class="py-op">*</tt> <tt class="py-number">90</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt>    </tt>
-</div><a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">        </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line"> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">  </tt>
-<a name="UpdateDriver.getDriverPath"></a><div id="UpdateDriver.getDriverPath-def"><a name="L325"></a><tt class="py-lineno">325</tt> <a class="py-toggle" href="#" id="UpdateDriver.getDriverPath-toggle" onclick="return toggle('UpdateDriver.getDriverPath');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#getDriverPath">getDriverPath</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UpdateDriver.getDriverPath-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.getDriverPath-expanded"><a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line"><tt class="py-docstring">         It will set the driver path and returns it.If driver path is not specified then it will take </tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line"><tt class="py-docstring">         default path (/lib/updatedriver/).</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt>  </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverPath</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt>  </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverPath</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'driver-path'</tt><tt class="py-op">]</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">               </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt> <tt class="py-op">:</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">            <tt id="link-49" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-49', 'path', 'link-0');">path</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"(bin)$"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getcwd</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt>  </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverPath</tt> <tt class="py-op">=</tt> <tt id="link-50" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-50', 'path', 'link-0');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"/lib/updatedriver/"</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverPath</tt> </tt>
-</div><a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line"> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line"> </tt>
-<a name="UpdateDriver.printHeader"></a><div id="UpdateDriver.printHeader-def"><a name="L340"></a><tt class="py-lineno">340</tt> <a class="py-toggle" href="#" id="UpdateDriver.printHeader-toggle" onclick="return toggle('UpdateDriver.printHeader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#printHeader">printHeader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">driver</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="UpdateDriver.printHeader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.printHeader-expanded"><a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">         </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt><tt class="py-string">"="</tt> <tt class="py-op">*</tt> <tt class="py-number">90</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt> <tt class="py-op">+</tt> <tt class="py-string">"*-- Welcome to Updated Driver --*\n"</tt>        </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt> <tt class="py-string">"Config File : "</tt> <tt class="py-op">+</tt> <tt class="py-string">"/home/openflow/TestON/config/ofadriver.py"</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt> <tt class="py-string">"Drivers Name : "</tt> <tt class="py-op">+</tt> <tt class="py-name">driver</tt>       </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">content</tt>  </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt> <tt class="py-string">"="</tt> <tt class="py-op">*</tt> <tt class="py-number">90</tt> </tt>
-</div></div><a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">method</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt> <tt class="py-op">:</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">method</tt><tt class="py-op">)</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.add_method" class="py-name" href="#" onclick="return doclink('link-21', 'add_method', 'link-19');">add_method</a></tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt><tt class="py-name">className</tt><tt class="py-op">)</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt> </tt>
+</div><a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"> </tt>
+<a name="UpdateDriver.add_method"></a><div id="UpdateDriver.add_method-def"><a name="L222"></a><tt class="py-lineno">222</tt> <a class="py-toggle" href="#" id="UpdateDriver.add_method-toggle" onclick="return toggle('UpdateDriver.add_method');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#add_method">add_method</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">module</tt><tt class="py-op">,</tt><tt class="py-param">className</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="UpdateDriver.add_method-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.add_method-expanded"><a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">         This  will add the methods(mentioned in ofadriver.cfg file) into method list if it doesnot exists in list.</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-name">method_List</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">className</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">                    <tt class="py-name">method_List</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">module</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'methods'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'add-list'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">:</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">                    <tt class="py-name">method_List</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">module</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'classes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'methods'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'add-list'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">:</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt> <tt class="py-op">:</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Message : No Add-List Exists , Proceeding with all available methods"</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">        <tt class="py-name">moduleName</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">module</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">method_List</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">className</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">method</tt><tt class="py-op">)</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">method</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"> </tt>
+<a name="UpdateDriver.getMethodArgsHash"></a><div id="UpdateDriver.getMethodArgsHash-def"><a name="L251"></a><tt class="py-lineno">251</tt> <a class="py-toggle" href="#" id="UpdateDriver.getMethodArgsHash-toggle" onclick="return toggle('UpdateDriver.getMethodArgsHash');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#getMethodArgsHash">getMethodArgsHash</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">moduleName</tt><tt class="py-op">,</tt><tt class="py-param">module</tt><tt class="py-op">,</tt><tt class="py-param">className</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UpdateDriver.getMethodArgsHash-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.getMethodArgsHash-expanded"><a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line"><tt class="py-docstring">         This will maintain a Hash of class-&gt;method-&gt;argumentsList</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">        <tt class="py-name">modulePath</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'modules'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">module</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'path'</tt><tt class="py-op">]</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">        <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt class="py-name">modulePath</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">        <tt class="py-name">newModule</tt> <tt class="py-op">=</tt> <tt class="py-string">"."</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">className</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">            <tt class="py-name">methodArgs</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.getargs()=TestON.bin.updatedriver.UpdateDriver-class.html#getargs"><a title="TestON.bin.updatedriver.UpdateDriver.getargs" class="py-name" href="#" onclick="return doclink('link-22', 'getargs', 'link-22');">getargs</a></tt><tt class="py-op">(</tt><tt class="py-name">newModule</tt><tt class="py-op">,</tt><tt class="py-name">None</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">methodArgs</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">            <tt class="py-name">methodArgs</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.getargs" class="py-name" href="#" onclick="return doclink('link-23', 'getargs', 'link-22');">getargs</a></tt><tt class="py-op">(</tt><tt class="py-name">newModule</tt><tt class="py-op">,</tt><tt class="py-name">className</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodDict</tt><tt class="py-op">[</tt><tt class="py-name">moduleName</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileDict</tt><tt class="py-op">[</tt><tt class="py-name">className</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">methodArgs</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileDict</tt> </tt>
+</div><a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"> </tt>
+<a name="UpdateDriver.appendDriver"></a><div id="UpdateDriver.appendDriver-def"><a name="L266"></a><tt class="py-lineno">266</tt> <a class="py-toggle" href="#" id="UpdateDriver.appendDriver-toggle" onclick="return toggle('UpdateDriver.appendDriver');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#appendDriver">appendDriver</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">fileName</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UpdateDriver.appendDriver-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.appendDriver-expanded"><a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"><tt class="py-docstring">         This will append the given driver file with methods along with arguments.</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">        <tt class="py-name">matchFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">r'(.*)\.py'</tt><tt class="py-op">,</tt> <tt class="py-name">fileName</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">M</tt> <tt class="py-op">|</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">I</tt><tt class="py-op">)</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">matchFileName</tt><tt class="py-op">:</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">            <tt class="py-name">fileHandle</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Message : Writing Driver file at "</tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">                <tt class="py-name">fileHandle</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">fileName</tt><tt class="py-op">,</tt><tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">                <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line"> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileDict</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">                    <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">                        <tt class="py-keyword">for</tt> <tt class="py-name">ind</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileDict</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">method</tt> <tt class="py-op">==</tt> <tt class="py-string">"__init__"</tt> <tt class="py-op">:</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">                                <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">                                <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-string">","</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileDict</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">method</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">                                <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt> <tt class="py-op">+</tt> <tt class="py-string">"def "</tt> <tt class="py-op">+</tt> <tt class="py-name">method</tt> <tt class="py-op">+</tt> <tt class="py-string">"(self,"</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt> <tt class="py-op">+</tt> <tt class="py-string">") :"</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">                                <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">8</tt> <tt class="py-op">+</tt> <tt class="py-string">"return "</tt> <tt class="py-op">+</tt> <tt class="py-name">key</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">method</tt> <tt class="py-op">+</tt> <tt class="py-string">"("</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt> <tt class="py-op">+</tt> <tt class="py-string">")\n"</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">                    <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt> <tt class="py-op">:</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">                        <tt class="py-keyword">pass</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">                <tt class="py-name">fileHandle</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">                <tt class="py-name">fileHandle</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">content</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line"> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Error : Driver file "</tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt> <tt class="py-op">+</tt> <tt class="py-string">"does not exists"</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">             <tt class="py-keyword">print</tt> <tt class="py-string">"Error : File name "</tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt> <tt class="py-op">+</tt> <tt class="py-string">"is not python module"</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">             <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line"> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line"> </tt>
+<a name="UpdateDriver.writeDriver"></a><div id="UpdateDriver.writeDriver-def"><a name="L300"></a><tt class="py-lineno">300</tt> <a class="py-toggle" href="#" id="UpdateDriver.writeDriver-toggle" onclick="return toggle('UpdateDriver.writeDriver');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#writeDriver">writeDriver</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">driver</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="UpdateDriver.writeDriver-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.writeDriver-expanded"><a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line"><tt class="py-docstring">         This will accept the List of driver name and write those drivers if no driver name is specified</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line"><tt class="py-docstring">         then it will write all of the driver specified in the ofadriver.cfg.</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.printHeader()=TestON.bin.updatedriver.UpdateDriver-class.html#printHeader"><a title="TestON.bin.updatedriver.UpdateDriver.printHeader" class="py-name" href="#" onclick="return doclink('link-24', 'printHeader', 'link-24');">printHeader</a></tt><tt class="py-op">(</tt><tt class="py-name">driver</tt><tt class="py-op">)</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">        <tt id="link-25" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-25', 'drivers', 'link-25');">drivers</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">        <tt class="py-name">commaMatch</tt>  <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">,</tt> <tt class="py-name">driver</tt><tt class="py-op">,</tt> <tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">commaMatch</tt><tt class="py-op">:</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">            <tt id="link-26" class="py-name"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-26', 'drivers', 'link-25');">drivers</a></tt> <tt class="py-op">=</tt> <tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">            <tt id="link-27" class="py-name"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-27', 'drivers', 'link-25');">drivers</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">driver</tt><tt class="py-op">)</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-28" class="py-name"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-28', 'drivers', 'link-25');">drivers</a></tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">driverName</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt> <tt class="py-op">=</tt> <tt class="py-name">driverName</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.getList()=TestON.bin.updatedriver.UpdateDriver-class.html#getList"><a title="TestON.bin.updatedriver.UpdateDriver.getList" class="py-name" href="#" onclick="return doclink('link-29', 'getList', 'link-29');">getList</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-op">:</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.getDriverPath()=TestON.bin.updatedriver.UpdateDriver-class.html#getDriverPath,Method TestON.core.teston.TestON.getDriverPath()=TestON.core.teston.TestON-class.html#getDriverPath"><a title="TestON.bin.updatedriver.UpdateDriver.getDriverPath
+TestON.core.teston.TestON.getDriverPath" class="py-name" href="#" onclick="return doclink('link-30', 'getDriverPath', 'link-30');">getDriverPath</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.appendDriver()=TestON.bin.updatedriver.UpdateDriver-class.html#appendDriver"><a title="TestON.bin.updatedriver.UpdateDriver.appendDriver" class="py-name" href="#" onclick="return doclink('link-31', 'appendDriver', 'link-31');">appendDriver</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverPath</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt><tt class="py-op">)</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverPath</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt><tt class="py-op">)</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">driverName</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt id="link-32" class="py-name"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-32', 'drivers', 'link-25');">drivers</a></tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt> <tt class="py-op">=</tt> <tt class="py-name">driverName</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.getList" class="py-name" href="#" onclick="return doclink('link-33', 'getList', 'link-29');">getList</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-op">:</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.getDriverPath
+TestON.core.teston.TestON.getDriverPath" class="py-name" href="#" onclick="return doclink('link-34', 'getDriverPath', 'link-30');">getDriverPath</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.bin.updatedriver.UpdateDriver.appendDriver" class="py-name" href="#" onclick="return doclink('link-35', 'appendDriver', 'link-31');">appendDriver</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverPath</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt><tt class="py-op">)</tt> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverPath</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt><tt class="py-op">)</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line"> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"="</tt> <tt class="py-op">*</tt> <tt class="py-number">90</tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt>  <tt class="py-op">+</tt> <tt class="py-string">"Output Driver File :"</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">",\n"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverList</tt><tt class="py-op">)</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"="</tt> <tt class="py-op">*</tt> <tt class="py-number">90</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line"> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line"> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line"> </tt>
+<a name="UpdateDriver.getDriverPath"></a><div id="UpdateDriver.getDriverPath-def"><a name="L343"></a><tt class="py-lineno">343</tt> <a class="py-toggle" href="#" id="UpdateDriver.getDriverPath-toggle" onclick="return toggle('UpdateDriver.getDriverPath');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#getDriverPath">getDriverPath</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UpdateDriver.getDriverPath-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.getDriverPath-expanded"><a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"><tt class="py-docstring">         It will set the driver path and returns it.If driver path is not specified then it will take</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"><tt class="py-docstring">         default path (/lib/updatedriver/).</tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverPath</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverPath</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt><tt class="py-op">[</tt><tt class="py-string">'config-driver'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'importTypes'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'driver-path'</tt><tt class="py-op">]</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">            <tt id="link-36" class="py-name" targets="Variable TestON.bin.cli.location=TestON.bin.cli-module.html#location,Variable TestON.core.teston.location=TestON.core.teston-module.html#location"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-36', 'location', 'link-36');">location</a></tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-37', 'path', 'link-5');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">abspath</tt><tt class="py-op">(</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-38', 'path', 'link-5');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt class="py-op">(</tt> <tt class="py-name">__file__</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">            <tt id="link-39" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-39', 'path', 'link-5');">path</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">"(bin)$"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt id="link-40" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-40', 'location', 'link-36');">location</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverPath</tt> <tt class="py-op">=</tt> <tt id="link-41" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-41', 'path', 'link-5');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"/lib/updatedriver/"</tt> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverPath</tt> </tt>
+</div><a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line"> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line"> </tt>
+<a name="UpdateDriver.printHeader"></a><div id="UpdateDriver.printHeader-def"><a name="L359"></a><tt class="py-lineno">359</tt> <a class="py-toggle" href="#" id="UpdateDriver.printHeader-toggle" onclick="return toggle('UpdateDriver.printHeader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.updatedriver.UpdateDriver-class.html#printHeader">printHeader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">driver</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UpdateDriver.printHeader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="UpdateDriver.printHeader-expanded"><a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt><tt class="py-string">"="</tt> <tt class="py-op">*</tt> <tt class="py-number">90</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt> <tt class="py-op">+</tt> <tt class="py-string">"*-- Welcome to Updated Driver --*\n"</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt> <tt class="py-string">"Config File : "</tt> <tt class="py-op">+</tt> <tt class="py-string">"/home/openflow/TestON/config/ofadriver.py"</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt> <tt class="py-string">"Drivers Name : "</tt> <tt class="py-op">+</tt> <tt class="py-name">driver</tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">content</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt> <tt class="py-string">"="</tt> <tt class="py-op">*</tt> <tt class="py-number">90</tt> </tt>
+</div></div><a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -438,13 +465,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.bin.updatedriver.UpdateDriver-class.html b/TestON/Documentation/TestON_Document/TestON.bin.updatedriver.UpdateDriver-class.html
index 8f08124..1ef06b1 100644
--- a/TestON/Documentation/TestON_Document/TestON.bin.updatedriver.UpdateDriver-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.bin.updatedriver.UpdateDriver-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -423,13 +428,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.bin.vyatta-module.html b/TestON/Documentation/TestON_Document/TestON.bin.vyatta-module.html
index 117c4ca..9ad995f 100644
--- a/TestON/Documentation/TestON_Document/TestON.bin.vyatta-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.bin.vyatta-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -57,6 +62,17 @@
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
 <h1 class="epydoc">Module vyatta</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.bin.vyatta-pysrc.html">source&nbsp;code</a></span></p>
+<p>TestON is free software: you can redistribute it and/or modify it 
+  under the terms of the GNU General Public License as published by the 
+  Free Software Foundation, either version 2 of the License, or (at your 
+  option) any later version.</p>
+  <p>TestON is distributed in the hope that it will be useful, but WITHOUT 
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+  more details.</p>
+  <p>You should have received a copy of the GNU General Public License 
+  along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</p>
+
 <!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -82,6 +98,32 @@
     </td>
   </tr>
 </table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -102,13 +144,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.bin.vyatta-pysrc.html b/TestON/Documentation/TestON_Document/TestON.bin.vyatta-pysrc.html
index c9d5ded..6bd1e90 100644
--- a/TestON/Documentation/TestON_Document/TestON.bin.vyatta-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.bin.vyatta-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -57,827 +62,776 @@
 </table>
 <h1 class="epydoc">Source Code for <a href="TestON.bin.vyatta-module.html">Module TestON.bin.vyatta</a></h1>
 <pre class="py-src">
-<a name="Vyatta"></a><div id="Vyatta-def"><a name="L1"></a><tt class="py-lineno">  1</tt> <a class="py-toggle" href="#" id="Vyatta-toggle" onclick="return toggle('Vyatta');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Vyatta-expanded"><a name="Vyatta.__init__"></a><div id="Vyatta.__init__-def"><a name="L2"></a><tt class="py-lineno">  2</tt> <a class="py-toggle" href="#" id="Vyatta.__init__-toggle" onclick="return toggle('Vyatta.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.__init__-expanded"><a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-0', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'(.*)'</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">60</tt>  </tt>
-</div><a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces"></a><div id="Vyatta.show_interfaces-def"><a name="L6"></a><tt class="py-lineno">  6</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces-toggle" onclick="return toggle('Vyatta.show_interfaces');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces">show_interfaces</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces-expanded"><a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['ethernet', 'loopback']'''</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line">        <tt id="link-1" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-1', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-2', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute,Method TestON.drivers.component.Component.execute()=TestON.drivers.component.Component-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-3', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-4" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-4', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-5" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-5', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet"></a><div id="Vyatta.set_interfaces_ethernet-def"><a name="L16"></a><tt class="py-lineno"> 16</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet">set_interfaces_ethernet</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet-expanded"><a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['eth0', 'eth1']'''</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">        <tt id="link-6" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-6', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-7', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-8', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-9" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-9', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-10" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-10', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_loopback"></a><div id="Vyatta.show_interfaces_loopback-def"><a name="L26"></a><tt class="py-lineno"> 26</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_loopback-toggle" onclick="return toggle('Vyatta.show_interfaces_loopback');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_loopback">show_interfaces_loopback</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_loopback-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_loopback-expanded"><a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['lo']'''</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt id="link-11" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-11', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-12', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-13', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces loopback "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-14" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-14', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-15', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet"></a><div id="Vyatta.show_interfaces_ethernet-def"><a name="L36"></a><tt class="py-lineno"> 36</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet">show_interfaces_ethernet</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet-expanded"><a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['eth0', 'eth1']'''</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt id="link-16" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-16', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-17', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-18', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-19" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-19', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-20', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_loopback_lo"></a><div id="Vyatta.show_interfaces_loopback_lo-def"><a name="L46"></a><tt class="py-lineno"> 46</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_loopback_lo-toggle" onclick="return toggle('Vyatta.show_interfaces_loopback_lo');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_loopback_lo">show_interfaces_loopback_lo</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_loopback_lo-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_loopback_lo-expanded"><a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt id="link-21" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-21', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-22', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-23', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces loopback lo "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-24" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-24', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-25', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0"></a><div id="Vyatta.set_interfaces_ethernet_eth0-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0">set_interfaces_ethernet_eth0</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['address', 'bond-group', 'bridge-group', 'description', 'dhcpv6-options', 'DHCPv6', 'disable', 'disable-flow-control', 'Disable', 'disable-link-detect', 'Ignore', 'duplex', 'firewall', 'hw-id', 'ip', 'ipv6', 'mac', 'mirror', 'mtu', 'policy', 'pppoe']'''</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt id="link-26" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-26', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-27', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-28', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-29" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-29', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-30" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-30', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet_eth1"></a><div id="Vyatta.show_interfaces_ethernet_eth1-def"><a name="L66"></a><tt class="py-lineno"> 66</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1">show_interfaces_ethernet_eth1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet_eth1-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1-expanded"><a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['address', 'duplex', 'hw-id', 'smp_affinity', 'speed']'''</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt id="link-31" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-31', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-32', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-33', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-34" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-34', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-35" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-35', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet_eth0"></a><div id="Vyatta.show_interfaces_ethernet_eth0-def"><a name="L76"></a><tt class="py-lineno"> 76</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth0-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth0');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0">show_interfaces_ethernet_eth0</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet_eth0-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth0-expanded"><a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['duplex', 'hw-id', 'smp_affinity', 'speed']'''</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt id="link-36" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-36', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-37', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-38', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth0 "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-39" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-39', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-40" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-40', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_ip"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip-def"><a name="L86"></a><tt class="py-lineno"> 86</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip">set_interfaces_ethernet_eth0_ip</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip-expanded"><a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['enable-proxy-arp', 'Enable', 'ospf', 'rip']'''</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt id="link-41" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-41', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-42', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-43', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-44" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-44', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-45" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-45', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_hwid"></a><div id="Vyatta.set_interfaces_ethernet_eth0_hwid-def"><a name="L96"></a><tt class="py-lineno"> 96</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_hwid-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_hwid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_hwid">set_interfaces_ethernet_eth0_hwid</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_hwid-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_hwid-expanded"><a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['Media']'''</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt id="link-46" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-46', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-47', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-48', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 hw-id "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-49" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-49', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-50" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-50', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_DHCPv6"></a><div id="Vyatta.set_interfaces_ethernet_eth0_DHCPv6-def"><a name="L106"></a><tt class="py-lineno">106</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_DHCPv6-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_DHCPv6');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_DHCPv6">set_interfaces_ethernet_eth0_DHCPv6</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_DHCPv6-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_DHCPv6-expanded"><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt id="link-51" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-51', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-52', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-53', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 DHCPv6 "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-54" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-54', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-55" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-55', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_duplex"></a><div id="Vyatta.set_interfaces_ethernet_eth0_duplex-def"><a name="L116"></a><tt class="py-lineno">116</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_duplex-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_duplex');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex">set_interfaces_ethernet_eth0_duplex</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_duplex-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_duplex-expanded"><a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['auto', 'half', 'full']'''</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt id="link-56" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-56', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-57', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-58', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 duplex "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-59" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-59', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-60" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-60', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet_eth1_hwid"></a><div id="Vyatta.show_interfaces_ethernet_eth1_hwid-def"><a name="L126"></a><tt class="py-lineno">126</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1_hwid-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1_hwid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_hwid">show_interfaces_ethernet_eth1_hwid</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet_eth1_hwid-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1_hwid-expanded"><a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt id="link-61" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-61', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-62', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-63', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 hw-id "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-64" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-64', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-65" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-65', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet_eth0_speed"></a><div id="Vyatta.show_interfaces_ethernet_eth0_speed-def"><a name="L136"></a><tt class="py-lineno">136</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth0_speed-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth0_speed');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_speed">show_interfaces_ethernet_eth0_speed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet_eth0_speed-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth0_speed-expanded"><a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['auto']'''</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt id="link-66" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-66', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-67', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-68', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth0 speed "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-69" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-69', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-70" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-70', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet_eth1_speed"></a><div id="Vyatta.show_interfaces_ethernet_eth1_speed-def"><a name="L146"></a><tt class="py-lineno">146</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1_speed-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1_speed');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_speed">show_interfaces_ethernet_eth1_speed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet_eth1_speed-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1_speed-expanded"><a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['auto']'''</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt id="link-71" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-71', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-72', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-73', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 speed "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-74" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-74', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-75" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-75', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet_eth0_hwid"></a><div id="Vyatta.show_interfaces_ethernet_eth0_hwid-def"><a name="L156"></a><tt class="py-lineno">156</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth0_hwid-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth0_hwid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_hwid">show_interfaces_ethernet_eth0_hwid</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet_eth0_hwid-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth0_hwid-expanded"><a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt id="link-76" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-76', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-77', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-78', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth0 hw-id "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-79" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-79', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-80" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-80', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_Ignore"></a><div id="Vyatta.set_interfaces_ethernet_eth0_Ignore-def"><a name="L166"></a><tt class="py-lineno">166</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_Ignore-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_Ignore');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_Ignore">set_interfaces_ethernet_eth0_Ignore</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_Ignore-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_Ignore-expanded"><a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt id="link-81" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-81', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-82', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-83', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 Ignore "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-84" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-84', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-85" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-85', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet_eth1_duplex"></a><div id="Vyatta.show_interfaces_ethernet_eth1_duplex-def"><a name="L176"></a><tt class="py-lineno">176</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1_duplex-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1_duplex');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_duplex">show_interfaces_ethernet_eth1_duplex</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet_eth1_duplex-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1_duplex-expanded"><a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['auto']'''</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt id="link-86" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-86', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-87', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-88', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 duplex "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-89" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-89', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-90" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-90', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet_eth0_duplex"></a><div id="Vyatta.show_interfaces_ethernet_eth0_duplex-def"><a name="L186"></a><tt class="py-lineno">186</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth0_duplex-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth0_duplex');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_duplex">show_interfaces_ethernet_eth0_duplex</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet_eth0_duplex-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth0_duplex-expanded"><a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['auto']'''</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt id="link-91" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-91', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-92', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-93', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth0 duplex "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-94" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-94', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-95" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-95', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf-def"><a name="L196"></a><tt class="py-lineno">196</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf">set_interfaces_ethernet_eth0_ip_ospf</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf-expanded"><a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['authentication', 'OSPF', 'bandwidth', 'cost', 'dead-interval', 'Interval', 'hello-interval', 'Interval', 'mtu-ignore', 'network', 'priority', 'retransmit-interval', 'Interval', 'transmit-delay', 'Link']'''</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt id="link-96" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-96', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-97', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-98', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-99" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-99', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-100" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-100', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_Disable"></a><div id="Vyatta.set_interfaces_ethernet_eth0_Disable-def"><a name="L206"></a><tt class="py-lineno">206</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_Disable-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_Disable');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_Disable">set_interfaces_ethernet_eth0_Disable</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_Disable-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_Disable-expanded"><a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt id="link-101" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-101', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-102', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-103', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 Disable "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-104" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-104', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-105" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-105', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_disable"></a><div id="Vyatta.set_interfaces_ethernet_eth0_disable-def"><a name="L216"></a><tt class="py-lineno">216</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_disable-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_disable');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_disable">set_interfaces_ethernet_eth0_disable</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_disable-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_disable-expanded"><a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt id="link-106" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-106', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-107', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-108', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 disable "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-109" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-109', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-110" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-110', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_address"></a><div id="Vyatta.set_interfaces_ethernet_eth0_address-def"><a name="L226"></a><tt class="py-lineno">226</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_address-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_address');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_address">set_interfaces_ethernet_eth0_address</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_address-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_address-expanded"><a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt id="link-111" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-111', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-112', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-113', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 address "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-114" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-114', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-115" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-115', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_firewall"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall-def"><a name="L236"></a><tt class="py-lineno">236</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall">set_interfaces_ethernet_eth0_firewall</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall-expanded"><a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['in', 'local', 'out']'''</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt id="link-116" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-116', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-117', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-118', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-119" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-119', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-120" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-120', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet_eth1_address"></a><div id="Vyatta.show_interfaces_ethernet_eth1_address-def"><a name="L246"></a><tt class="py-lineno">246</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1_address-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1_address');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_address">show_interfaces_ethernet_eth1_address</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet_eth1_address-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1_address-expanded"><a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['192.168.56.81/24']'''</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt id="link-121" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-121', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-122', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-123', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 address "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-124" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-124', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-125" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-125', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_ip_Enable"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_Enable-def"><a name="L256"></a><tt class="py-lineno">256</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_Enable-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_Enable');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_Enable">set_interfaces_ethernet_eth0_ip_Enable</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_Enable-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_Enable-expanded"><a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt id="link-126" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-126', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-127', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-128', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip Enable "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-129" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-129', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-130" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-130', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_bondgroup"></a><div id="Vyatta.set_interfaces_ethernet_eth0_bondgroup-def"><a name="L266"></a><tt class="py-lineno">266</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_bondgroup-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_bondgroup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bondgroup">set_interfaces_ethernet_eth0_bondgroup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_bondgroup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_bondgroup-expanded"><a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt id="link-131" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-131', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-132', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-133', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 bond-group "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-134" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-134', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-135" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-135', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_duplex_half"></a><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_half-def"><a name="L276"></a><tt class="py-lineno">276</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_duplex_half-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_duplex_half');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex_half">set_interfaces_ethernet_eth0_duplex_half</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_half-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_half-expanded"><a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">        <tt id="link-136" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-136', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-137', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-138', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 duplex half "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-139" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-139', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-140" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-140', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_in"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in-def"><a name="L286"></a><tt class="py-lineno">286</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_in-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_in');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_in">set_interfaces_ethernet_eth0_firewall_in</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in-expanded"><a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['ipv6-name', 'name']'''</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">        <tt id="link-141" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-141', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-142', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-143', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall in "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-144" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-144', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-145" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-145', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet_eth1_speed_auto"></a><div id="Vyatta.show_interfaces_ethernet_eth1_speed_auto-def"><a name="L296"></a><tt class="py-lineno">296</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1_speed_auto-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1_speed_auto');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_speed_auto">show_interfaces_ethernet_eth1_speed_auto</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet_eth1_speed_auto-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1_speed_auto-expanded"><a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">        <tt id="link-146" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-146', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-147', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-148', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 speed auto "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-149" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-149', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-150" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-150', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_description"></a><div id="Vyatta.set_interfaces_ethernet_eth0_description-def"><a name="L306"></a><tt class="py-lineno">306</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_description-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_description');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_description">set_interfaces_ethernet_eth0_description</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_description-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_description-expanded"><a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">        <tt id="link-151" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-151', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-152', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-153', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 description "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-154" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-154', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-155" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-155', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet_eth0_speed_auto"></a><div id="Vyatta.show_interfaces_ethernet_eth0_speed_auto-def"><a name="L316"></a><tt class="py-lineno">316</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth0_speed_auto-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth0_speed_auto');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_speed_auto">show_interfaces_ethernet_eth0_speed_auto</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet_eth0_speed_auto-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth0_speed_auto-expanded"><a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">        <tt id="link-156" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-156', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-157', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-158', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth0 speed auto "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-159" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-159', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-160" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-160', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_hwid_Media"></a><div id="Vyatta.set_interfaces_ethernet_eth0_hwid_Media-def"><a name="L326"></a><tt class="py-lineno">326</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_hwid_Media-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_hwid_Media');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_hwid_Media">set_interfaces_ethernet_eth0_hwid_Media</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_hwid_Media-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_hwid_Media-expanded"><a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">        <tt id="link-161" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-161', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-162', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-163', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 hw-id Media "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-164" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-164', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-165" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-165', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_duplex_auto"></a><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_auto-def"><a name="L336"></a><tt class="py-lineno">336</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_duplex_auto-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_duplex_auto');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex_auto">set_interfaces_ethernet_eth0_duplex_auto</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_auto-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_auto-expanded"><a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">        <tt id="link-166" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-166', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-167', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-168', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 duplex auto "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-169" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-169', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-170" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-170', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_duplex_full"></a><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_full-def"><a name="L346"></a><tt class="py-lineno">346</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_duplex_full-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_duplex_full');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex_full">set_interfaces_ethernet_eth0_duplex_full</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_full-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_full-expanded"><a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">        <tt id="link-171" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-171', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-172', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-173', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 duplex full "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-174" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-174', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-175" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-175', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet_eth0_duplex_auto"></a><div id="Vyatta.show_interfaces_ethernet_eth0_duplex_auto-def"><a name="L356"></a><tt class="py-lineno">356</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth0_duplex_auto-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth0_duplex_auto');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_duplex_auto">show_interfaces_ethernet_eth0_duplex_auto</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet_eth0_duplex_auto-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth0_duplex_auto-expanded"><a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">        <tt id="link-176" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-176', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-177', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-178', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth0 duplex auto "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-179" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-179', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-180" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-180', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_OSPF"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_OSPF-def"><a name="L366"></a><tt class="py-lineno">366</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_OSPF-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf_OSPF');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_OSPF">set_interfaces_ethernet_eth0_ip_ospf_OSPF</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_OSPF-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_OSPF-expanded"><a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">        <tt id="link-181" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-181', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-182', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-183', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf OSPF "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-184" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-184', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-185" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-185', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_out"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out-def"><a name="L376"></a><tt class="py-lineno">376</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_out-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_out');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_out">set_interfaces_ethernet_eth0_firewall_out</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out-expanded"><a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['ipv6-name', 'name']'''</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">        <tt id="link-186" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-186', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-187', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-188', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall out "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-189" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-189', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-190" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-190', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_bridgegroup"></a><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup-def"><a name="L386"></a><tt class="py-lineno">386</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_bridgegroup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bridgegroup">set_interfaces_ethernet_eth0_bridgegroup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup-expanded"><a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['bridge', 'cost', 'priority']'''</tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">        <tt id="link-191" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-191', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-192', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-193', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 bridge-group "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-194" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-194', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-195" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-195', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet_eth1_duplex_auto"></a><div id="Vyatta.show_interfaces_ethernet_eth1_duplex_auto-def"><a name="L396"></a><tt class="py-lineno">396</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1_duplex_auto-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1_duplex_auto');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_duplex_auto">show_interfaces_ethernet_eth1_duplex_auto</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet_eth1_duplex_auto-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1_duplex_auto-expanded"><a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">        <tt id="link-196" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-196', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-197', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-198', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 duplex auto "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-199" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-199', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-200" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-200', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_cost"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_cost-def"><a name="L406"></a><tt class="py-lineno">406</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_cost-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf_cost');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_cost">set_interfaces_ethernet_eth0_ip_ospf_cost</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_cost-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_cost-expanded"><a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">        <tt id="link-201" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-201', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-202', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-203', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf cost "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-204" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-204', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-205" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-205', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet_eth0_smp_affinity"></a><div id="Vyatta.show_interfaces_ethernet_eth0_smp_affinity-def"><a name="L416"></a><tt class="py-lineno">416</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth0_smp_affinity-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth0_smp_affinity');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_smp_affinity">show_interfaces_ethernet_eth0_smp_affinity</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet_eth0_smp_affinity-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth0_smp_affinity-expanded"><a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['auto']'''</tt> </tt>
-<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line">        <tt id="link-206" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-206', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-207', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-208', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth0 smp_affinity "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-209" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-209', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-210" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-210', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet_eth1_smp_affinity"></a><div id="Vyatta.show_interfaces_ethernet_eth1_smp_affinity-def"><a name="L426"></a><tt class="py-lineno">426</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1_smp_affinity-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1_smp_affinity');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_smp_affinity">show_interfaces_ethernet_eth1_smp_affinity</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet_eth1_smp_affinity-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1_smp_affinity-expanded"><a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['auto']'''</tt> </tt>
-<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">        <tt id="link-211" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-211', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-212', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-213', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 smp_affinity "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-214" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-214', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-215" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-215', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_local"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local-def"><a name="L436"></a><tt class="py-lineno">436</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_local-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_local');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_local">set_interfaces_ethernet_eth0_firewall_local</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local-expanded"><a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['ipv6-name', 'name']'''</tt> </tt>
-<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">        <tt id="link-216" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-216', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-217', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-218', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall local "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-219" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-219', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-220" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-220', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options"></a><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options-def"><a name="L446"></a><tt class="py-lineno">446</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_dhcpv6options');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_dhcpv6options">set_interfaces_ethernet_eth0_dhcpv6options</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options-expanded"><a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['parameters-only', 'Acquire', 'temporary']'''</tt> </tt>
-<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">        <tt id="link-221" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-221', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-222', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-223" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-223', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 dhcpv6-options "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-224" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-224', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-225" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-225', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_in_name"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in_name-def"><a name="L456"></a><tt class="py-lineno">456</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_in_name-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_in_name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_in_name">set_interfaces_ethernet_eth0_firewall_in_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in_name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in_name-expanded"><a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">        <tt id="link-226" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-226', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-227', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-228', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall in name "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-229" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-229', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-230" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-230', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_cost"></a><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_cost-def"><a name="L466"></a><tt class="py-lineno">466</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_cost-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_bridgegroup_cost');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bridgegroup_cost">set_interfaces_ethernet_eth0_bridgegroup_cost</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_cost-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_cost-expanded"><a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line">        <tt id="link-231" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-231', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-232" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-232', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-233', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 bridge-group cost "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-234" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-234', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-235" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-235', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_out_name"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out_name-def"><a name="L476"></a><tt class="py-lineno">476</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_out_name-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_out_name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_out_name">set_interfaces_ethernet_eth0_firewall_out_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out_name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out_name-expanded"><a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">        <tt id="link-236" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-236', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-237', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-238', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall out name "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-239" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-239', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-240" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-240', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_bandwidth"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_bandwidth-def"><a name="L486"></a><tt class="py-lineno">486</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_bandwidth-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf_bandwidth');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_bandwidth">set_interfaces_ethernet_eth0_ip_ospf_bandwidth</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_bandwidth-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_bandwidth-expanded"><a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line">        <tt id="link-241" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-241', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-242', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-243', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf bandwidth "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-244" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-244', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-245" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-245', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet_eth0_smp_affinity_auto"></a><div id="Vyatta.show_interfaces_ethernet_eth0_smp_affinity_auto-def"><a name="L496"></a><tt class="py-lineno">496</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth0_smp_affinity_auto-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth0_smp_affinity_auto');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_smp_affinity_auto">show_interfaces_ethernet_eth0_smp_affinity_auto</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet_eth0_smp_affinity_auto-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth0_smp_affinity_auto-expanded"><a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line">        <tt id="link-246" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-246', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-247" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-247', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-248', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth0 smp_affinity auto "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-249" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-249', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-250" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-250', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.show_interfaces_ethernet_eth1_smp_affinity_auto"></a><div id="Vyatta.show_interfaces_ethernet_eth1_smp_affinity_auto-def"><a name="L506"></a><tt class="py-lineno">506</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1_smp_affinity_auto-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1_smp_affinity_auto');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_smp_affinity_auto">show_interfaces_ethernet_eth1_smp_affinity_auto</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.show_interfaces_ethernet_eth1_smp_affinity_auto-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1_smp_affinity_auto-expanded"><a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line">        <tt id="link-251" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-251', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-252" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-252', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-253" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-253', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 smp_affinity auto "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-254" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-254', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-255" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-255', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_ip_enableproxyarp"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_enableproxyarp-def"><a name="L516"></a><tt class="py-lineno">516</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_enableproxyarp-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_enableproxyarp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_enableproxyarp">set_interfaces_ethernet_eth0_ip_enableproxyarp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_enableproxyarp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_enableproxyarp-expanded"><a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line">        <tt id="link-256" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-256', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-257" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-257', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-258" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-258', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip enable-proxy-arp "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-259" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-259', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-260" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-260', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_disablelinkdetect"></a><div id="Vyatta.set_interfaces_ethernet_eth0_disablelinkdetect-def"><a name="L526"></a><tt class="py-lineno">526</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_disablelinkdetect-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_disablelinkdetect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_disablelinkdetect">set_interfaces_ethernet_eth0_disablelinkdetect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_disablelinkdetect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_disablelinkdetect-expanded"><a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line">        <tt id="link-261" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-261', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-262', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-263" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-263', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 disable-link-detect "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-264" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-264', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-265" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-265', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_local_name"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local_name-def"><a name="L536"></a><tt class="py-lineno">536</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_local_name-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_local_name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_local_name">set_interfaces_ethernet_eth0_firewall_local_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local_name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local_name-expanded"><a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">        <tt id="link-266" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-266', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-267" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-267', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-268" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-268', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall local name "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-269" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-269', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-270" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-270', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_bridge"></a><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_bridge-def"><a name="L546"></a><tt class="py-lineno">546</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_bridge-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_bridgegroup_bridge');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bridgegroup_bridge">set_interfaces_ethernet_eth0_bridgegroup_bridge</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_bridge-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_bridge-expanded"><a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line">        <tt id="link-271" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-271', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-272" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-272', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-273" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-273', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 bridge-group bridge "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-274" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-274', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-275" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-275', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_disableflowcontrol"></a><div id="Vyatta.set_interfaces_ethernet_eth0_disableflowcontrol-def"><a name="L556"></a><tt class="py-lineno">556</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_disableflowcontrol-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_disableflowcontrol');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_disableflowcontrol">set_interfaces_ethernet_eth0_disableflowcontrol</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_disableflowcontrol-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_disableflowcontrol-expanded"><a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line">        <tt id="link-276" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-276', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-277" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-277', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-278" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-278', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 disable-flow-control "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-279" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-279', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-280" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-280', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_priority"></a><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_priority-def"><a name="L566"></a><tt class="py-lineno">566</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_priority-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_bridgegroup_priority');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bridgegroup_priority">set_interfaces_ethernet_eth0_bridgegroup_priority</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_priority-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_priority-expanded"><a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line">        <tt id="link-281" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-281', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-282', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L572"></a><tt class="py-lineno">572</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L573"></a><tt class="py-lineno">573</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-283" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-283', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 bridge-group priority "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-284" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-284', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-285" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-285', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_in_ipv6name"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in_ipv6name-def"><a name="L576"></a><tt class="py-lineno">576</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_in_ipv6name-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_in_ipv6name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_in_ipv6name">set_interfaces_ethernet_eth0_firewall_in_ipv6name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in_ipv6name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in_ipv6name-expanded"><a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L578"></a><tt class="py-lineno">578</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line">        <tt id="link-286" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-286', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-287" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-287', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L583"></a><tt class="py-lineno">583</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-288', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall in ipv6-name "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-289" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-289', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-290" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-290', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_Acquire"></a><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_Acquire-def"><a name="L586"></a><tt class="py-lineno">586</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_Acquire-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_Acquire');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_dhcpv6options_Acquire">set_interfaces_ethernet_eth0_dhcpv6options_Acquire</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_Acquire-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_Acquire-expanded"><a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L591"></a><tt class="py-lineno">591</tt>  <tt class="py-line">        <tt id="link-291" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-291', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-292', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L593"></a><tt class="py-lineno">593</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-293" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-293', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 dhcpv6-options Acquire "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-294" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-294', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-295" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-295', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_out_ipv6name"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out_ipv6name-def"><a name="L596"></a><tt class="py-lineno">596</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_out_ipv6name-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_out_ipv6name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_out_ipv6name">set_interfaces_ethernet_eth0_firewall_out_ipv6name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out_ipv6name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out_ipv6name-expanded"><a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line">        <tt id="link-296" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-296', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-297" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-297', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L603"></a><tt class="py-lineno">603</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-298" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-298', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall out ipv6-name "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-299" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-299', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-300" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-300', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L604"></a><tt class="py-lineno">604</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L605"></a><tt class="py-lineno">605</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication-def"><a name="L606"></a><tt class="py-lineno">606</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication">set_interfaces_ethernet_eth0_ip_ospf_authentication</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication-expanded"><a name="L607"></a><tt class="py-lineno">607</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['md5', 'plaintext-password', 'Plain']'''</tt> </tt>
-<a name="L608"></a><tt class="py-lineno">608</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L609"></a><tt class="py-lineno">609</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L610"></a><tt class="py-lineno">610</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L611"></a><tt class="py-lineno">611</tt>  <tt class="py-line">        <tt id="link-301" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-301', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-302" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-302', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L612"></a><tt class="py-lineno">612</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L613"></a><tt class="py-lineno">613</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-303" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-303', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf authentication "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-304" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-304', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-305" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-305', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L614"></a><tt class="py-lineno">614</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L615"></a><tt class="py-lineno">615</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_local_ipv6name"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local_ipv6name-def"><a name="L616"></a><tt class="py-lineno">616</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_local_ipv6name-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_local_ipv6name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_local_ipv6name">set_interfaces_ethernet_eth0_firewall_local_ipv6name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local_ipv6name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local_ipv6name-expanded"><a name="L617"></a><tt class="py-lineno">617</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L618"></a><tt class="py-lineno">618</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L619"></a><tt class="py-lineno">619</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L620"></a><tt class="py-lineno">620</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L621"></a><tt class="py-lineno">621</tt>  <tt class="py-line">        <tt id="link-306" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-306', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-307', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L622"></a><tt class="py-lineno">622</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L623"></a><tt class="py-lineno">623</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-308" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-308', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall local ipv6-name "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-309" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-309', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-310" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-310', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L624"></a><tt class="py-lineno">624</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L625"></a><tt class="py-lineno">625</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_temporary"></a><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_temporary-def"><a name="L626"></a><tt class="py-lineno">626</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_temporary-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_temporary');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_dhcpv6options_temporary">set_interfaces_ethernet_eth0_dhcpv6options_temporary</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_temporary-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_temporary-expanded"><a name="L627"></a><tt class="py-lineno">627</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L628"></a><tt class="py-lineno">628</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L629"></a><tt class="py-lineno">629</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L630"></a><tt class="py-lineno">630</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L631"></a><tt class="py-lineno">631</tt>  <tt class="py-line">        <tt id="link-311" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-311', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-312" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-312', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L632"></a><tt class="py-lineno">632</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L633"></a><tt class="py-lineno">633</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-313" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-313', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 dhcpv6-options temporary "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-314" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-314', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-315" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-315', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L634"></a><tt class="py-lineno">634</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L635"></a><tt class="py-lineno">635</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5-def"><a name="L636"></a><tt class="py-lineno">636</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_md5">set_interfaces_ethernet_eth0_ip_ospf_authentication_md5</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5-expanded"><a name="L637"></a><tt class="py-lineno">637</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['key-id']'''</tt> </tt>
-<a name="L638"></a><tt class="py-lineno">638</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L639"></a><tt class="py-lineno">639</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L640"></a><tt class="py-lineno">640</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L641"></a><tt class="py-lineno">641</tt>  <tt class="py-line">        <tt id="link-316" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-316', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-317" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-317', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L642"></a><tt class="py-lineno">642</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L643"></a><tt class="py-lineno">643</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-318" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-318', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf authentication md5 "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-319" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-319', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-320" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-320', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L644"></a><tt class="py-lineno">644</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L645"></a><tt class="py-lineno">645</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain-def"><a name="L646"></a><tt class="py-lineno">646</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain">set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain-expanded"><a name="L647"></a><tt class="py-lineno">647</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L648"></a><tt class="py-lineno">648</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L649"></a><tt class="py-lineno">649</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L650"></a><tt class="py-lineno">650</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L651"></a><tt class="py-lineno">651</tt>  <tt class="py-line">        <tt id="link-321" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-321', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-322', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L652"></a><tt class="py-lineno">652</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L653"></a><tt class="py-lineno">653</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-323" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-323', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf authentication Plain "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-324" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-324', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-325" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-325', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L654"></a><tt class="py-lineno">654</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L655"></a><tt class="py-lineno">655</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_parametersonly"></a><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_parametersonly-def"><a name="L656"></a><tt class="py-lineno">656</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_parametersonly-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_parametersonly');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_dhcpv6options_parametersonly">set_interfaces_ethernet_eth0_dhcpv6options_parametersonly</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_parametersonly-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_parametersonly-expanded"><a name="L657"></a><tt class="py-lineno">657</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L658"></a><tt class="py-lineno">658</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L659"></a><tt class="py-lineno">659</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L660"></a><tt class="py-lineno">660</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L661"></a><tt class="py-lineno">661</tt>  <tt class="py-line">        <tt id="link-326" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-326', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-327" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-327', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L662"></a><tt class="py-lineno">662</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L663"></a><tt class="py-lineno">663</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-328" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-328', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 dhcpv6-options parameters-only "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-329" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-329', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-330" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-330', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L664"></a><tt class="py-lineno">664</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L665"></a><tt class="py-lineno">665</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid-def"><a name="L666"></a><tt class="py-lineno">666</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid">set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid-expanded"><a name="L667"></a><tt class="py-lineno">667</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L668"></a><tt class="py-lineno">668</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L669"></a><tt class="py-lineno">669</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L670"></a><tt class="py-lineno">670</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L671"></a><tt class="py-lineno">671</tt>  <tt class="py-line">        <tt id="link-331" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-331', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-332" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-332', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L672"></a><tt class="py-lineno">672</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L673"></a><tt class="py-lineno">673</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-333" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-333', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf authentication md5 key-id "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-334" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-334', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-335" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-335', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L674"></a><tt class="py-lineno">674</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L675"></a><tt class="py-lineno">675</tt>  <tt class="py-line"> </tt>
-<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword-def"><a name="L676"></a><tt class="py-lineno">676</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword">set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword-expanded"><a name="L677"></a><tt class="py-lineno">677</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
-<a name="L678"></a><tt class="py-lineno">678</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L679"></a><tt class="py-lineno">679</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
-<a name="L680"></a><tt class="py-lineno">680</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt>  </tt>
-<a name="L681"></a><tt class="py-lineno">681</tt>  <tt class="py-line">        <tt id="link-336" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-336', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-337" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-337', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L682"></a><tt class="py-lineno">682</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
-<a name="L683"></a><tt class="py-lineno">683</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-338" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-338', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf authentication plaintext-password "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-339" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-339', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-340" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-340', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt>  </tt>
-<a name="L684"></a><tt class="py-lineno">684</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div></div><a name="L685"></a><tt class="py-lineno">685</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">    (at your option) any later version.</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="Vyatta"></a><div id="Vyatta-def"><a name="L18"></a><tt class="py-lineno"> 18</tt> <a class="py-toggle" href="#" id="Vyatta-toggle" onclick="return toggle('Vyatta');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Vyatta-expanded"><a name="Vyatta.__init__"></a><div id="Vyatta.__init__-def"><a name="L19"></a><tt class="py-lineno"> 19</tt> <a class="py-toggle" href="#" id="Vyatta.__init__-toggle" onclick="return toggle('Vyatta.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.__init__-expanded"><a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-0', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'(.*)'</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">60</tt> </tt>
+</div><a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces"></a><div id="Vyatta.show_interfaces-def"><a name="L23"></a><tt class="py-lineno"> 23</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces-toggle" onclick="return toggle('Vyatta.show_interfaces');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces">show_interfaces</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces-expanded"><a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['ethernet', 'loopback']'''</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt id="link-1" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-1', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-2', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-3', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-4" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-4', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-5" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-5', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet"></a><div id="Vyatta.set_interfaces_ethernet-def"><a name="L33"></a><tt class="py-lineno"> 33</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet">set_interfaces_ethernet</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet-expanded"><a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['eth0', 'eth1']'''</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt id="link-6" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-6', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-7', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-8', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-9" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-9', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-10" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-10', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_loopback"></a><div id="Vyatta.show_interfaces_loopback-def"><a name="L43"></a><tt class="py-lineno"> 43</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_loopback-toggle" onclick="return toggle('Vyatta.show_interfaces_loopback');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_loopback">show_interfaces_loopback</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_loopback-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_loopback-expanded"><a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['lo']'''</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt id="link-11" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-11', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-12', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-13', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces loopback "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-14" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-14', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-15', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet"></a><div id="Vyatta.show_interfaces_ethernet-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet">show_interfaces_ethernet</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['eth0', 'eth1']'''</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt id="link-16" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-16', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-17', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-18', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-19" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-19', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-20', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_loopback_lo"></a><div id="Vyatta.show_interfaces_loopback_lo-def"><a name="L63"></a><tt class="py-lineno"> 63</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_loopback_lo-toggle" onclick="return toggle('Vyatta.show_interfaces_loopback_lo');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_loopback_lo">show_interfaces_loopback_lo</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_loopback_lo-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_loopback_lo-expanded"><a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt id="link-21" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-21', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-22', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-23', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces loopback lo "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-24" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-24', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-25', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0"></a><div id="Vyatta.set_interfaces_ethernet_eth0-def"><a name="L73"></a><tt class="py-lineno"> 73</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0">set_interfaces_ethernet_eth0</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0-expanded"><a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['address', 'bond-group', 'bridge-group', 'description', 'dhcpv6-options', 'DHCPv6', 'disable', 'disable-flow-control', 'Disable', 'disable-link-detect', 'Ignore', 'duplex', 'firewall', 'hw-id', 'ip', 'ipv6', 'mac', 'mirror', 'mtu', 'policy', 'pppoe']'''</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt id="link-26" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-26', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-27', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-28', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-29" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-29', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-30" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-30', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet_eth1"></a><div id="Vyatta.show_interfaces_ethernet_eth1-def"><a name="L83"></a><tt class="py-lineno"> 83</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1">show_interfaces_ethernet_eth1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet_eth1-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1-expanded"><a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['address', 'duplex', 'hw-id', 'smp_affinity', 'speed']'''</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt id="link-31" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-31', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-32', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-33', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-34" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-34', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-35" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-35', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet_eth0"></a><div id="Vyatta.show_interfaces_ethernet_eth0-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth0-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth0');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0">show_interfaces_ethernet_eth0</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet_eth0-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth0-expanded"><a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['duplex', 'hw-id', 'smp_affinity', 'speed']'''</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt id="link-36" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-36', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-37', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-38', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth0 "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-39" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-39', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-40" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-40', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_ip"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip-def"><a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip">set_interfaces_ethernet_eth0_ip</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip-expanded"><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['enable-proxy-arp', 'Enable', 'ospf', 'rip']'''</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt id="link-41" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-41', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-42', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-43', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-44" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-44', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-45" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-45', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_hwid"></a><div id="Vyatta.set_interfaces_ethernet_eth0_hwid-def"><a name="L113"></a><tt class="py-lineno">113</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_hwid-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_hwid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_hwid">set_interfaces_ethernet_eth0_hwid</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_hwid-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_hwid-expanded"><a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['Media']'''</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt id="link-46" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-46', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-47', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-48', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 hw-id "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-49" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-49', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-50" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-50', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_DHCPv6"></a><div id="Vyatta.set_interfaces_ethernet_eth0_DHCPv6-def"><a name="L123"></a><tt class="py-lineno">123</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_DHCPv6-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_DHCPv6');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_DHCPv6">set_interfaces_ethernet_eth0_DHCPv6</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_DHCPv6-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_DHCPv6-expanded"><a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt id="link-51" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-51', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-52', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-53', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 DHCPv6 "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-54" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-54', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-55" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-55', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_duplex"></a><div id="Vyatta.set_interfaces_ethernet_eth0_duplex-def"><a name="L133"></a><tt class="py-lineno">133</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_duplex-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_duplex');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex">set_interfaces_ethernet_eth0_duplex</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_duplex-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_duplex-expanded"><a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['auto', 'half', 'full']'''</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt id="link-56" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-56', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-57', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-58', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 duplex "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-59" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-59', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-60" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-60', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet_eth1_hwid"></a><div id="Vyatta.show_interfaces_ethernet_eth1_hwid-def"><a name="L143"></a><tt class="py-lineno">143</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1_hwid-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1_hwid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_hwid">show_interfaces_ethernet_eth1_hwid</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet_eth1_hwid-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1_hwid-expanded"><a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt id="link-61" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-61', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-62', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-63', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 hw-id "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-64" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-64', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-65" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-65', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet_eth0_speed"></a><div id="Vyatta.show_interfaces_ethernet_eth0_speed-def"><a name="L153"></a><tt class="py-lineno">153</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth0_speed-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth0_speed');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_speed">show_interfaces_ethernet_eth0_speed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet_eth0_speed-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth0_speed-expanded"><a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['auto']'''</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt id="link-66" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-66', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-67', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-68', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth0 speed "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-69" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-69', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-70" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-70', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet_eth1_speed"></a><div id="Vyatta.show_interfaces_ethernet_eth1_speed-def"><a name="L163"></a><tt class="py-lineno">163</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1_speed-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1_speed');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_speed">show_interfaces_ethernet_eth1_speed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet_eth1_speed-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1_speed-expanded"><a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['auto']'''</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt id="link-71" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-71', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-72', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-73', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 speed "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-74" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-74', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-75" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-75', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet_eth0_hwid"></a><div id="Vyatta.show_interfaces_ethernet_eth0_hwid-def"><a name="L173"></a><tt class="py-lineno">173</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth0_hwid-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth0_hwid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_hwid">show_interfaces_ethernet_eth0_hwid</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet_eth0_hwid-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth0_hwid-expanded"><a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt id="link-76" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-76', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-77', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-78', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth0 hw-id "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-79" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-79', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-80" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-80', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_Ignore"></a><div id="Vyatta.set_interfaces_ethernet_eth0_Ignore-def"><a name="L183"></a><tt class="py-lineno">183</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_Ignore-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_Ignore');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_Ignore">set_interfaces_ethernet_eth0_Ignore</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_Ignore-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_Ignore-expanded"><a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt id="link-81" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-81', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-82', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-83', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 Ignore "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-84" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-84', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-85" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-85', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet_eth1_duplex"></a><div id="Vyatta.show_interfaces_ethernet_eth1_duplex-def"><a name="L193"></a><tt class="py-lineno">193</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1_duplex-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1_duplex');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_duplex">show_interfaces_ethernet_eth1_duplex</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet_eth1_duplex-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1_duplex-expanded"><a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['auto']'''</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt id="link-86" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-86', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-87', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-88', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 duplex "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-89" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-89', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-90" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-90', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet_eth0_duplex"></a><div id="Vyatta.show_interfaces_ethernet_eth0_duplex-def"><a name="L203"></a><tt class="py-lineno">203</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth0_duplex-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth0_duplex');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_duplex">show_interfaces_ethernet_eth0_duplex</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet_eth0_duplex-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth0_duplex-expanded"><a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['auto']'''</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt id="link-91" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-91', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-92', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-93', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth0 duplex "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-94" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-94', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-95" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-95', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf-def"><a name="L213"></a><tt class="py-lineno">213</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf">set_interfaces_ethernet_eth0_ip_ospf</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf-expanded"><a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['authentication', 'OSPF', 'bandwidth', 'cost', 'dead-interval', 'Interval', 'hello-interval', 'Interval', 'mtu-ignore', 'network', 'priority', 'retransmit-interval', 'Interval', 'transmit-delay', 'Link']'''</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt id="link-96" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-96', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-97', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-98', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-99" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-99', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-100" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-100', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_Disable"></a><div id="Vyatta.set_interfaces_ethernet_eth0_Disable-def"><a name="L223"></a><tt class="py-lineno">223</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_Disable-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_Disable');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_Disable">set_interfaces_ethernet_eth0_Disable</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_Disable-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_Disable-expanded"><a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt id="link-101" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-101', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-102', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-103', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 Disable "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-104" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-104', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-105" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-105', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_disable"></a><div id="Vyatta.set_interfaces_ethernet_eth0_disable-def"><a name="L233"></a><tt class="py-lineno">233</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_disable-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_disable');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_disable">set_interfaces_ethernet_eth0_disable</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_disable-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_disable-expanded"><a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt id="link-106" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-106', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-107', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-108', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 disable "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-109" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-109', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-110" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-110', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_address"></a><div id="Vyatta.set_interfaces_ethernet_eth0_address-def"><a name="L243"></a><tt class="py-lineno">243</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_address-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_address');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_address">set_interfaces_ethernet_eth0_address</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_address-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_address-expanded"><a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">        <tt id="link-111" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-111', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-112', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-113', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 address "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-114" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-114', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-115" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-115', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_firewall"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall-def"><a name="L253"></a><tt class="py-lineno">253</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall">set_interfaces_ethernet_eth0_firewall</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall-expanded"><a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['in', 'local', 'out']'''</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt id="link-116" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-116', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-117', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-118', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-119" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-119', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-120" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-120', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet_eth1_address"></a><div id="Vyatta.show_interfaces_ethernet_eth1_address-def"><a name="L263"></a><tt class="py-lineno">263</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1_address-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1_address');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_address">show_interfaces_ethernet_eth1_address</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet_eth1_address-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1_address-expanded"><a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['192.168.56.81/24']'''</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt id="link-121" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-121', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-122', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-123', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 address "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-124" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-124', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-125" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-125', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_ip_Enable"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_Enable-def"><a name="L273"></a><tt class="py-lineno">273</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_Enable-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_Enable');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_Enable">set_interfaces_ethernet_eth0_ip_Enable</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_Enable-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_Enable-expanded"><a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt id="link-126" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-126', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-127', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-128', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip Enable "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-129" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-129', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-130" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-130', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_bondgroup"></a><div id="Vyatta.set_interfaces_ethernet_eth0_bondgroup-def"><a name="L283"></a><tt class="py-lineno">283</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_bondgroup-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_bondgroup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bondgroup">set_interfaces_ethernet_eth0_bondgroup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_bondgroup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_bondgroup-expanded"><a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">        <tt id="link-131" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-131', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-132', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-133', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 bond-group "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-134" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-134', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-135" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-135', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_duplex_half"></a><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_half-def"><a name="L293"></a><tt class="py-lineno">293</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_duplex_half-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_duplex_half');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex_half">set_interfaces_ethernet_eth0_duplex_half</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_half-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_half-expanded"><a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">        <tt id="link-136" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-136', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-137', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-138', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 duplex half "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-139" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-139', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-140" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-140', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_in"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in-def"><a name="L303"></a><tt class="py-lineno">303</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_in-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_in');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_in">set_interfaces_ethernet_eth0_firewall_in</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in-expanded"><a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['ipv6-name', 'name']'''</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">        <tt id="link-141" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-141', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-142', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-143', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall in "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-144" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-144', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-145" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-145', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet_eth1_speed_auto"></a><div id="Vyatta.show_interfaces_ethernet_eth1_speed_auto-def"><a name="L313"></a><tt class="py-lineno">313</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1_speed_auto-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1_speed_auto');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_speed_auto">show_interfaces_ethernet_eth1_speed_auto</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet_eth1_speed_auto-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1_speed_auto-expanded"><a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">        <tt id="link-146" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-146', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-147', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-148', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 speed auto "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-149" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-149', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-150" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-150', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_description"></a><div id="Vyatta.set_interfaces_ethernet_eth0_description-def"><a name="L323"></a><tt class="py-lineno">323</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_description-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_description');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_description">set_interfaces_ethernet_eth0_description</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_description-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_description-expanded"><a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">        <tt id="link-151" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-151', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-152', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-153', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 description "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-154" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-154', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-155" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-155', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet_eth0_speed_auto"></a><div id="Vyatta.show_interfaces_ethernet_eth0_speed_auto-def"><a name="L333"></a><tt class="py-lineno">333</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth0_speed_auto-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth0_speed_auto');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_speed_auto">show_interfaces_ethernet_eth0_speed_auto</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet_eth0_speed_auto-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth0_speed_auto-expanded"><a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">        <tt id="link-156" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-156', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-157', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-158', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth0 speed auto "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-159" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-159', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-160" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-160', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_hwid_Media"></a><div id="Vyatta.set_interfaces_ethernet_eth0_hwid_Media-def"><a name="L343"></a><tt class="py-lineno">343</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_hwid_Media-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_hwid_Media');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_hwid_Media">set_interfaces_ethernet_eth0_hwid_Media</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_hwid_Media-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_hwid_Media-expanded"><a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">        <tt id="link-161" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-161', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-162', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-163', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 hw-id Media "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-164" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-164', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-165" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-165', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_duplex_auto"></a><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_auto-def"><a name="L353"></a><tt class="py-lineno">353</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_duplex_auto-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_duplex_auto');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex_auto">set_interfaces_ethernet_eth0_duplex_auto</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_auto-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_auto-expanded"><a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">        <tt id="link-166" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-166', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-167', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-168', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 duplex auto "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-169" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-169', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-170" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-170', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_duplex_full"></a><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_full-def"><a name="L363"></a><tt class="py-lineno">363</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_duplex_full-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_duplex_full');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex_full">set_interfaces_ethernet_eth0_duplex_full</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_full-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_duplex_full-expanded"><a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">        <tt id="link-171" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-171', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-172', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-173', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 duplex full "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-174" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-174', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-175" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-175', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet_eth0_duplex_auto"></a><div id="Vyatta.show_interfaces_ethernet_eth0_duplex_auto-def"><a name="L373"></a><tt class="py-lineno">373</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth0_duplex_auto-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth0_duplex_auto');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_duplex_auto">show_interfaces_ethernet_eth0_duplex_auto</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet_eth0_duplex_auto-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth0_duplex_auto-expanded"><a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">        <tt id="link-176" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-176', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-177', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-178', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth0 duplex auto "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-179" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-179', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-180" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-180', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_OSPF"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_OSPF-def"><a name="L383"></a><tt class="py-lineno">383</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_OSPF-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf_OSPF');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_OSPF">set_interfaces_ethernet_eth0_ip_ospf_OSPF</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_OSPF-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_OSPF-expanded"><a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">        <tt id="link-181" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-181', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-182', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-183', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf OSPF "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-184" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-184', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-185" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-185', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_out"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out-def"><a name="L393"></a><tt class="py-lineno">393</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_out-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_out');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_out">set_interfaces_ethernet_eth0_firewall_out</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out-expanded"><a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['ipv6-name', 'name']'''</tt> </tt>
+<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">        <tt id="link-186" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-186', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-187', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-188', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall out "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-189" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-189', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-190" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-190', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_bridgegroup"></a><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup-def"><a name="L403"></a><tt class="py-lineno">403</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_bridgegroup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bridgegroup">set_interfaces_ethernet_eth0_bridgegroup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup-expanded"><a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['bridge', 'cost', 'priority']'''</tt> </tt>
+<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">        <tt id="link-191" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-191', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-192', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-193', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 bridge-group "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-194" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-194', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-195" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-195', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet_eth1_duplex_auto"></a><div id="Vyatta.show_interfaces_ethernet_eth1_duplex_auto-def"><a name="L413"></a><tt class="py-lineno">413</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1_duplex_auto-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1_duplex_auto');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_duplex_auto">show_interfaces_ethernet_eth1_duplex_auto</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet_eth1_duplex_auto-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1_duplex_auto-expanded"><a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line">        <tt id="link-196" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-196', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-197', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-198', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 duplex auto "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-199" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-199', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-200" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-200', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_cost"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_cost-def"><a name="L423"></a><tt class="py-lineno">423</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_cost-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf_cost');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_cost">set_interfaces_ethernet_eth0_ip_ospf_cost</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_cost-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_cost-expanded"><a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">        <tt id="link-201" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-201', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-202', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-203', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf cost "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-204" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-204', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-205" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-205', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet_eth0_smp_affinity"></a><div id="Vyatta.show_interfaces_ethernet_eth0_smp_affinity-def"><a name="L433"></a><tt class="py-lineno">433</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth0_smp_affinity-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth0_smp_affinity');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_smp_affinity">show_interfaces_ethernet_eth0_smp_affinity</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet_eth0_smp_affinity-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth0_smp_affinity-expanded"><a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['auto']'''</tt> </tt>
+<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">        <tt id="link-206" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-206', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-207', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-208', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth0 smp_affinity "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-209" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-209', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-210" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-210', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet_eth1_smp_affinity"></a><div id="Vyatta.show_interfaces_ethernet_eth1_smp_affinity-def"><a name="L443"></a><tt class="py-lineno">443</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1_smp_affinity-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1_smp_affinity');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_smp_affinity">show_interfaces_ethernet_eth1_smp_affinity</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet_eth1_smp_affinity-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1_smp_affinity-expanded"><a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['auto']'''</tt> </tt>
+<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">        <tt id="link-211" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-211', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-212', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-213', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 smp_affinity "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-214" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-214', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-215" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-215', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_local"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local-def"><a name="L453"></a><tt class="py-lineno">453</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_local-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_local');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_local">set_interfaces_ethernet_eth0_firewall_local</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local-expanded"><a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['ipv6-name', 'name']'''</tt> </tt>
+<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">        <tt id="link-216" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-216', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-217', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-218', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall local "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-219" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-219', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-220" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-220', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options"></a><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options-def"><a name="L463"></a><tt class="py-lineno">463</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_dhcpv6options');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_dhcpv6options">set_interfaces_ethernet_eth0_dhcpv6options</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options-expanded"><a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['parameters-only', 'Acquire', 'temporary']'''</tt> </tt>
+<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">        <tt id="link-221" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-221', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-222', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-223" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-223', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 dhcpv6-options "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-224" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-224', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-225" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-225', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_in_name"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in_name-def"><a name="L473"></a><tt class="py-lineno">473</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_in_name-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_in_name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_in_name">set_interfaces_ethernet_eth0_firewall_in_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in_name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in_name-expanded"><a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line">        <tt id="link-226" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-226', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-227', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-228', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall in name "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-229" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-229', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-230" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-230', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_cost"></a><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_cost-def"><a name="L483"></a><tt class="py-lineno">483</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_cost-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_bridgegroup_cost');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bridgegroup_cost">set_interfaces_ethernet_eth0_bridgegroup_cost</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_cost-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_cost-expanded"><a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line">        <tt id="link-231" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-231', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-232" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-232', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-233', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 bridge-group cost "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-234" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-234', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-235" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-235', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_out_name"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out_name-def"><a name="L493"></a><tt class="py-lineno">493</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_out_name-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_out_name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_out_name">set_interfaces_ethernet_eth0_firewall_out_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out_name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out_name-expanded"><a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">        <tt id="link-236" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-236', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-237', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-238', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall out name "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-239" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-239', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-240" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-240', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_bandwidth"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_bandwidth-def"><a name="L503"></a><tt class="py-lineno">503</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_bandwidth-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf_bandwidth');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_bandwidth">set_interfaces_ethernet_eth0_ip_ospf_bandwidth</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_bandwidth-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_bandwidth-expanded"><a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">        <tt id="link-241" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-241', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-242', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-243', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf bandwidth "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-244" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-244', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-245" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-245', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet_eth0_smp_affinity_auto"></a><div id="Vyatta.show_interfaces_ethernet_eth0_smp_affinity_auto-def"><a name="L513"></a><tt class="py-lineno">513</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth0_smp_affinity_auto-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth0_smp_affinity_auto');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_smp_affinity_auto">show_interfaces_ethernet_eth0_smp_affinity_auto</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet_eth0_smp_affinity_auto-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth0_smp_affinity_auto-expanded"><a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">        <tt id="link-246" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-246', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-247" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-247', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-248', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth0 smp_affinity auto "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-249" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-249', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-250" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-250', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.show_interfaces_ethernet_eth1_smp_affinity_auto"></a><div id="Vyatta.show_interfaces_ethernet_eth1_smp_affinity_auto-def"><a name="L523"></a><tt class="py-lineno">523</tt> <a class="py-toggle" href="#" id="Vyatta.show_interfaces_ethernet_eth1_smp_affinity_auto-toggle" onclick="return toggle('Vyatta.show_interfaces_ethernet_eth1_smp_affinity_auto');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_smp_affinity_auto">show_interfaces_ethernet_eth1_smp_affinity_auto</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.show_interfaces_ethernet_eth1_smp_affinity_auto-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.show_interfaces_ethernet_eth1_smp_affinity_auto-expanded"><a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">        <tt id="link-251" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-251', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-252" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-252', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-253" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-253', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"show interfaces ethernet eth1 smp_affinity auto "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-254" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-254', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-255" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-255', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_ip_enableproxyarp"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_enableproxyarp-def"><a name="L533"></a><tt class="py-lineno">533</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_enableproxyarp-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_enableproxyarp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_enableproxyarp">set_interfaces_ethernet_eth0_ip_enableproxyarp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_enableproxyarp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_enableproxyarp-expanded"><a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line">        <tt id="link-256" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-256', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-257" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-257', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-258" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-258', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip enable-proxy-arp "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-259" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-259', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-260" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-260', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_disablelinkdetect"></a><div id="Vyatta.set_interfaces_ethernet_eth0_disablelinkdetect-def"><a name="L543"></a><tt class="py-lineno">543</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_disablelinkdetect-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_disablelinkdetect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_disablelinkdetect">set_interfaces_ethernet_eth0_disablelinkdetect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_disablelinkdetect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_disablelinkdetect-expanded"><a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line">        <tt id="link-261" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-261', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-262', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-263" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-263', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 disable-link-detect "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-264" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-264', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-265" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-265', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_local_name"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local_name-def"><a name="L553"></a><tt class="py-lineno">553</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_local_name-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_local_name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_local_name">set_interfaces_ethernet_eth0_firewall_local_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local_name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local_name-expanded"><a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line">        <tt id="link-266" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-266', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-267" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-267', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-268" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-268', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall local name "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-269" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-269', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-270" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-270', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_bridge"></a><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_bridge-def"><a name="L563"></a><tt class="py-lineno">563</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_bridge-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_bridgegroup_bridge');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bridgegroup_bridge">set_interfaces_ethernet_eth0_bridgegroup_bridge</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_bridge-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_bridge-expanded"><a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line">        <tt id="link-271" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-271', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-272" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-272', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-273" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-273', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 bridge-group bridge "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-274" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-274', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-275" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-275', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L572"></a><tt class="py-lineno">572</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_disableflowcontrol"></a><div id="Vyatta.set_interfaces_ethernet_eth0_disableflowcontrol-def"><a name="L573"></a><tt class="py-lineno">573</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_disableflowcontrol-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_disableflowcontrol');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_disableflowcontrol">set_interfaces_ethernet_eth0_disableflowcontrol</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_disableflowcontrol-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_disableflowcontrol-expanded"><a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L578"></a><tt class="py-lineno">578</tt>  <tt class="py-line">        <tt id="link-276" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-276', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-277" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-277', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-278" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-278', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 disable-flow-control "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-279" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-279', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-280" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-280', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_priority"></a><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_priority-def"><a name="L583"></a><tt class="py-lineno">583</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_priority-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_bridgegroup_priority');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bridgegroup_priority">set_interfaces_ethernet_eth0_bridgegroup_priority</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_priority-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_bridgegroup_priority-expanded"><a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line">        <tt id="link-281" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-281', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-282', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-283" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-283', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 bridge-group priority "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-284" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-284', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-285" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-285', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L591"></a><tt class="py-lineno">591</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_in_ipv6name"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in_ipv6name-def"><a name="L593"></a><tt class="py-lineno">593</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_in_ipv6name-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_in_ipv6name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_in_ipv6name">set_interfaces_ethernet_eth0_firewall_in_ipv6name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in_ipv6name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_in_ipv6name-expanded"><a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L596"></a><tt class="py-lineno">596</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line">        <tt id="link-286" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-286', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-287" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-287', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-288', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall in ipv6-name "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-289" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-289', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-290" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-290', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_Acquire"></a><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_Acquire-def"><a name="L603"></a><tt class="py-lineno">603</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_Acquire-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_Acquire');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_dhcpv6options_Acquire">set_interfaces_ethernet_eth0_dhcpv6options_Acquire</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_Acquire-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_Acquire-expanded"><a name="L604"></a><tt class="py-lineno">604</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L605"></a><tt class="py-lineno">605</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L606"></a><tt class="py-lineno">606</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L607"></a><tt class="py-lineno">607</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L608"></a><tt class="py-lineno">608</tt>  <tt class="py-line">        <tt id="link-291" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-291', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-292', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L609"></a><tt class="py-lineno">609</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L610"></a><tt class="py-lineno">610</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-293" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-293', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 dhcpv6-options Acquire "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-294" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-294', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-295" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-295', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L611"></a><tt class="py-lineno">611</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L612"></a><tt class="py-lineno">612</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_out_ipv6name"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out_ipv6name-def"><a name="L613"></a><tt class="py-lineno">613</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_out_ipv6name-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_out_ipv6name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_out_ipv6name">set_interfaces_ethernet_eth0_firewall_out_ipv6name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out_ipv6name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_out_ipv6name-expanded"><a name="L614"></a><tt class="py-lineno">614</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L615"></a><tt class="py-lineno">615</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L616"></a><tt class="py-lineno">616</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L617"></a><tt class="py-lineno">617</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L618"></a><tt class="py-lineno">618</tt>  <tt class="py-line">        <tt id="link-296" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-296', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-297" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-297', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L619"></a><tt class="py-lineno">619</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L620"></a><tt class="py-lineno">620</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-298" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-298', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall out ipv6-name "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-299" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-299', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-300" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-300', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L621"></a><tt class="py-lineno">621</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L622"></a><tt class="py-lineno">622</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication-def"><a name="L623"></a><tt class="py-lineno">623</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication">set_interfaces_ethernet_eth0_ip_ospf_authentication</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication-expanded"><a name="L624"></a><tt class="py-lineno">624</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['md5', 'plaintext-password', 'Plain']'''</tt> </tt>
+<a name="L625"></a><tt class="py-lineno">625</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L626"></a><tt class="py-lineno">626</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L627"></a><tt class="py-lineno">627</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L628"></a><tt class="py-lineno">628</tt>  <tt class="py-line">        <tt id="link-301" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-301', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-302" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-302', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L629"></a><tt class="py-lineno">629</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L630"></a><tt class="py-lineno">630</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-303" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-303', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf authentication "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-304" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-304', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-305" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-305', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L631"></a><tt class="py-lineno">631</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L632"></a><tt class="py-lineno">632</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_firewall_local_ipv6name"></a><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local_ipv6name-def"><a name="L633"></a><tt class="py-lineno">633</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_firewall_local_ipv6name-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_firewall_local_ipv6name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_local_ipv6name">set_interfaces_ethernet_eth0_firewall_local_ipv6name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local_ipv6name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_firewall_local_ipv6name-expanded"><a name="L634"></a><tt class="py-lineno">634</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L635"></a><tt class="py-lineno">635</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L636"></a><tt class="py-lineno">636</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L637"></a><tt class="py-lineno">637</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L638"></a><tt class="py-lineno">638</tt>  <tt class="py-line">        <tt id="link-306" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-306', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-307', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L639"></a><tt class="py-lineno">639</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L640"></a><tt class="py-lineno">640</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-308" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-308', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 firewall local ipv6-name "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-309" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-309', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-310" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-310', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L641"></a><tt class="py-lineno">641</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L642"></a><tt class="py-lineno">642</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_temporary"></a><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_temporary-def"><a name="L643"></a><tt class="py-lineno">643</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_temporary-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_temporary');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_dhcpv6options_temporary">set_interfaces_ethernet_eth0_dhcpv6options_temporary</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_temporary-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_temporary-expanded"><a name="L644"></a><tt class="py-lineno">644</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L645"></a><tt class="py-lineno">645</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L646"></a><tt class="py-lineno">646</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L647"></a><tt class="py-lineno">647</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L648"></a><tt class="py-lineno">648</tt>  <tt class="py-line">        <tt id="link-311" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-311', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-312" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-312', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L649"></a><tt class="py-lineno">649</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L650"></a><tt class="py-lineno">650</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-313" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-313', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 dhcpv6-options temporary "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-314" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-314', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-315" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-315', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L651"></a><tt class="py-lineno">651</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L652"></a><tt class="py-lineno">652</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5-def"><a name="L653"></a><tt class="py-lineno">653</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_md5">set_interfaces_ethernet_eth0_ip_ospf_authentication_md5</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5-expanded"><a name="L654"></a><tt class="py-lineno">654</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :['key-id']'''</tt> </tt>
+<a name="L655"></a><tt class="py-lineno">655</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L656"></a><tt class="py-lineno">656</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L657"></a><tt class="py-lineno">657</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L658"></a><tt class="py-lineno">658</tt>  <tt class="py-line">        <tt id="link-316" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-316', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-317" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-317', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L659"></a><tt class="py-lineno">659</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L660"></a><tt class="py-lineno">660</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-318" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-318', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf authentication md5 "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-319" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-319', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-320" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-320', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L661"></a><tt class="py-lineno">661</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L662"></a><tt class="py-lineno">662</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain-def"><a name="L663"></a><tt class="py-lineno">663</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain">set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain-expanded"><a name="L664"></a><tt class="py-lineno">664</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L665"></a><tt class="py-lineno">665</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L666"></a><tt class="py-lineno">666</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L667"></a><tt class="py-lineno">667</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L668"></a><tt class="py-lineno">668</tt>  <tt class="py-line">        <tt id="link-321" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-321', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-322', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L669"></a><tt class="py-lineno">669</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L670"></a><tt class="py-lineno">670</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-323" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-323', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf authentication Plain "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-324" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-324', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-325" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-325', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L671"></a><tt class="py-lineno">671</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L672"></a><tt class="py-lineno">672</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_parametersonly"></a><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_parametersonly-def"><a name="L673"></a><tt class="py-lineno">673</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_parametersonly-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_parametersonly');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_dhcpv6options_parametersonly">set_interfaces_ethernet_eth0_dhcpv6options_parametersonly</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_parametersonly-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_parametersonly-expanded"><a name="L674"></a><tt class="py-lineno">674</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L675"></a><tt class="py-lineno">675</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L676"></a><tt class="py-lineno">676</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L677"></a><tt class="py-lineno">677</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L678"></a><tt class="py-lineno">678</tt>  <tt class="py-line">        <tt id="link-326" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-326', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-327" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-327', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L679"></a><tt class="py-lineno">679</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L680"></a><tt class="py-lineno">680</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-328" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-328', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 dhcpv6-options parameters-only "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-329" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-329', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-330" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-330', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L681"></a><tt class="py-lineno">681</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L682"></a><tt class="py-lineno">682</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid-def"><a name="L683"></a><tt class="py-lineno">683</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid">set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid-expanded"><a name="L684"></a><tt class="py-lineno">684</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L685"></a><tt class="py-lineno">685</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L686"></a><tt class="py-lineno">686</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L687"></a><tt class="py-lineno">687</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L688"></a><tt class="py-lineno">688</tt>  <tt class="py-line">        <tt id="link-331" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-331', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-332" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-332', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L689"></a><tt class="py-lineno">689</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L690"></a><tt class="py-lineno">690</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-333" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-333', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf authentication md5 key-id "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-334" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-334', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-335" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-335', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L691"></a><tt class="py-lineno">691</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L692"></a><tt class="py-lineno">692</tt>  <tt class="py-line"> </tt>
+<a name="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword"></a><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword-def"><a name="L693"></a><tt class="py-lineno">693</tt> <a class="py-toggle" href="#" id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword-toggle" onclick="return toggle('Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword">set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword-expanded"><a name="L694"></a><tt class="py-lineno">694</tt>  <tt class="py-line">        <tt class="py-docstring">'''Possible Options :[]'''</tt> </tt>
+<a name="L695"></a><tt class="py-lineno">695</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt><tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L696"></a><tt class="py-lineno">696</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L697"></a><tt class="py-lineno">697</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt><tt class="py-string">' '</tt> </tt>
+<a name="L698"></a><tt class="py-lineno">698</tt>  <tt class="py-line">        <tt id="link-336" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-336', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'prompt'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-337" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-337', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L699"></a><tt class="py-lineno">699</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'timeout'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L700"></a><tt class="py-lineno">700</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-338" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-338', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"set interfaces ethernet eth0 ip ospf authentication plaintext-password "</tt><tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-339" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-339', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt id="link-340" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-340', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L701"></a><tt class="py-lineno">701</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div></div><a name="L702"></a><tt class="py-lineno">702</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -904,13 +858,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.bin.vyatta.Vyatta-class.html b/TestON/Documentation/TestON_Document/TestON.bin.vyatta.Vyatta-class.html
index c9ff13e..ec6d673 100644
--- a/TestON/Documentation/TestON_Document/TestON.bin.vyatta.Vyatta-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.bin.vyatta.Vyatta-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -1412,13 +1417,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core-module.html b/TestON/Documentation/TestON_Document/TestON.core-module.html
index a23b0b7..52a490f 100644
--- a/TestON/Documentation/TestON_Document/TestON.core-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.core-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -75,9 +80,12 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
+    <li> <strong class="uidlink"><a href="TestON.core.Thread-module.html">TestON.core.Thread</a></strong>    </li>
     <li> <strong class="uidlink"><a href="TestON.core.ast-module.html">TestON.core.ast</a></strong>: <em class="summary">ast
 ~~~</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.core.dicttoobject-module.html">TestON.core.dicttoobject</a></strong>    </li>
     <li> <strong class="uidlink"><a href="TestON.core.iniparser-module.html">TestON.core.iniparser</a></strong>: <em class="summary">Created on 07-Jan-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.core.jsonparser-module.html">TestON.core.jsonparser</a></strong>: <em class="summary">Created on 07-Jan-2013</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.core.logger-module.html">TestON.core.logger</a></strong>: <em class="summary">Created on 07-Jan-2013</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.core.openspeak-module.html">TestON.core.openspeak</a></strong>: <em class="summary">Created on 20-Dec-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.core.teston-module.html">TestON.core.teston</a></strong>: <em class="summary">Created on 22-Oct-2012</em>    </li>
@@ -89,6 +97,32 @@
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -109,13 +143,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core-pysrc.html b/TestON/Documentation/TestON_Document/TestON.core-pysrc.html
index 232c89b..40feb1b 100644
--- a/TestON/Documentation/TestON_Document/TestON.core-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.core-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -84,13 +89,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.core.Thread-module.html
similarity index 65%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.core.Thread-module.html
index 81b602b..f5d3aef 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.Thread-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest.PoxTest</title>
+  <title>TestON.core.Thread</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -38,9 +43,8 @@
     <td width="100%">
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.PoxTest-module.html">Package&nbsp;PoxTest</a> ::
-        Module&nbsp;PoxTest
+        <a href="TestON.core-module.html">Package&nbsp;core</a> ::
+        Module&nbsp;Thread
       </span>
     </td>
     <td>
@@ -50,14 +54,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.core.Thread-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Module Thread</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.core.Thread-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -79,7 +83,32 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html" class="summary-name">PoxTest</a>
+        <a href="TestON.core.Thread.Thread-class.html" class="summary-name">Thread</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.core'"><code class="variable-quote">'</code><code class="variable-string">TestON.core</code><code class="variable-quote">'</code></code>
     </td>
   </tr>
 </table>
@@ -103,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.Thread-pysrc.html b/TestON/Documentation/TestON_Document/TestON.core.Thread-pysrc.html
new file mode 100644
index 0000000..1233440
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.core.Thread-pysrc.html
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.core.Thread</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.core-module.html">Package&nbsp;core</a> ::
+        Module&nbsp;Thread
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.core.Thread-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.core.Thread-module.html">Module TestON.core.Thread</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"> </tt>
+<a name="Thread"></a><div id="Thread-def"><a name="L5"></a><tt class="py-lineno"> 5</tt> <a class="py-toggle" href="#" id="Thread-toggle" onclick="return toggle('Thread');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.core.Thread.Thread-class.html">Thread</a><tt class="py-op">(</tt> <tt class="py-base-class">threading</tt><tt class="py-op">.</tt><tt class="py-base-class">Thread</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Thread-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Thread-expanded"><a name="Thread.__init__"></a><div id="Thread.__init__-def"><a name="L6"></a><tt class="py-lineno"> 6</tt> <a class="py-toggle" href="#" id="Thread.__init__-toggle" onclick="return toggle('Thread.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.Thread.Thread-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">target</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">threadID</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-param">args</tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line">                  <tt class="py-param">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-op">}</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Thread.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Thread.__init__-expanded"><a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-0" class="py-name" targets="Module TestON.core.Thread=TestON.core.Thread-module.html,Class TestON.core.Thread.Thread=TestON.core.Thread.Thread-class.html"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-0', 'Thread', 'link-0');">Thread</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-1', '__init__', 'link-1');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">threadID</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">name</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">target</tt> <tt class="py-op">=</tt> <tt class="py-name">target</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">kwargs</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"> </tt>
+<a name="Thread.run"></a><div id="Thread.run-def"><a name="L16"></a><tt class="py-lineno">16</tt> <a class="py-toggle" href="#" id="Thread.run-toggle" onclick="return toggle('Thread.run');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.Thread.Thread-class.html#run">run</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Thread.run-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Thread.run-expanded"><a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">target</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">target</tt><tt class="py-op">(</tt> <tt class="py-op">*</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">kwargs</tt> <tt class="py-op">)</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"ThreadID:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">", Name:"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">                  <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">"- something went wrong with "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">                  <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">target</tt><tt class="py-op">.</tt><tt class="py-name">im_class</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">                  <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">target</tt><tt class="py-op">.</tt><tt class="py-name">im_func</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" method: "</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">e</tt> </tt>
+</div></div><a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.core.Thread.Thread-class.html b/TestON/Documentation/TestON_Document/TestON.core.Thread.Thread-class.html
new file mode 100644
index 0000000..6e0bcd3
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.core.Thread.Thread-class.html
@@ -0,0 +1,341 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.core.Thread.Thread</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.core-module.html">Package&nbsp;core</a> ::
+        <a href="TestON.core.Thread-module.html">Module&nbsp;Thread</a> ::
+        Class&nbsp;Thread
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.core.Thread.Thread-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Thread</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.core.Thread-pysrc.html#Thread">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_thread" name="class_hierarchy_for_thread">
+<area shape="rect" id="node1" href="TestON.core.Thread.Thread-class.html" title="Thread" alt="" coords="41,118,103,143"/>
+<area shape="rect" id="node2" href="javascript:void(0);" title="threading.Thread" alt="" coords="13,62,131,87"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="threading._Verbose" alt="" coords="5,6,139,31"/>
+</map>
+  <img src="class_hierarchy_for_thread.gif" alt='' usemap="#class_hierarchy_for_thread" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.core.Thread.Thread-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">target</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">threadID</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">name</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
+        <span class="summary-sig-arg">args</span>=<span class="summary-sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>,
+        <span class="summary-sig-arg">kwargs</span>=<span class="summary-sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>)</span><br />
+      This constructor should always be called with keyword arguments.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.core.Thread-pysrc.html#Thread.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.core.Thread.Thread-class.html#run" class="summary-sig-name">run</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Method representing the thread's activity.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.core.Thread-pysrc.html#Thread.run">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b>:
+      <code>__repr__</code>,
+      <code>getName</code>,
+      <code>isAlive</code>,
+      <code>isDaemon</code>,
+      <code>is_alive</code>,
+      <code>join</code>,
+      <code>setDaemon</code>,
+      <code>setName</code>,
+      <code>start</code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b> (private):
+      <code>_reset_internal_locks</code>,
+      <code>_set_daemon</code>,
+      <code>_set_ident</code>
+      </p></div>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>threading._Verbose</code></b> (private):
+      <code>_note</code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b>:
+      <code>daemon</code>,
+      <code>ident</code>,
+      <code>name</code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>threading.Thread</code></b> (private):
+      <code>_block</code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">target</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">threadID</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">name</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
+        <span class="sig-arg">args</span>=<span class="sig-default"><code class="variable-group">(</code><code class="variable-group">)</code></span>,
+        <span class="sig-arg">kwargs</span>=<span class="sig-default"><code class="variable-group">{</code><code class="variable-group">}</code></span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.core.Thread-pysrc.html#Thread.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>This constructor should always be called with keyword arguments. 
+  Arguments are:</p>
+  <p>*group* should be None; reserved for future extension when a 
+  ThreadGroup class is implemented.</p>
+  <p>*target* is the callable object to be invoked by the run() method. 
+  Defaults to None, meaning nothing is called.</p>
+  <p>*name* is the thread name. By default, a unique name is constructed of
+  the form &quot;Thread-N&quot; where N is a small decimal number.</p>
+  <p>*args* is the argument tuple for the target invocation. Defaults to 
+  ().</p>
+  <p>*kwargs* is a dictionary of keyword arguments for the target 
+  invocation. Defaults to {}.</p>
+  <p>If a subclass overrides the constructor, it must make sure to invoke 
+  the base class constructor (Thread.__init__()) before doing anything else
+  to the thread.</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="run"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">run</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.core.Thread-pysrc.html#Thread.run">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Method representing the thread's activity.</p>
+  <p>You may override this method in a subclass. The standard run() method 
+  invokes the callable object passed to the object's constructor as the 
+  target argument, if any, with sequential and keyword arguments taken from
+  the args and kwargs arguments, respectively.</p>
+  <dl class="fields">
+    <dt>Overrides:
+        threading.Thread.run
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.core.ast-module.html b/TestON/Documentation/TestON_Document/TestON.core.ast-module.html
index 7376717..be751f9 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.ast-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.ast-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -86,7 +91,11 @@
 
 </pre>
 
-<!-- ==================== CLASSES ==================== -->
+<hr />
+<div class="fields">      <p><strong>Version:</strong>
+        82160
+      </p>
+</div><!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -117,8 +126,8 @@
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
         <a href="TestON.core.ast.NodeTransformer-class.html" class="summary-name">NodeTransformer</a><br />
-      A :class:`NodeVisitor` subclass that walks the abstract syntax tree 
-      and allows modification of nodes.
+      A :class:`NodeVisitor` subclass that walks the abstract syntax tree
+        and allows modification of nodes.
     </td>
   </tr>
 </table>
@@ -146,8 +155,8 @@
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td><span class="summary-sig"><a href="TestON.core.ast-module.html#parse" class="summary-sig-name">parse</a>(<span class="summary-sig-arg">source</span>,
-        <span class="summary-sig-arg">filename</span>=<span class="summary-sig-default">'&lt;unknown&gt;'</span>,
-        <span class="summary-sig-arg">mode</span>=<span class="summary-sig-default">'exec'</span>)</span><br />
+        <span class="summary-sig-arg">filename</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">&lt;unknown&gt;</code><code class="variable-quote">'</code></span>,
+        <span class="summary-sig-arg">mode</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">exec</code><code class="variable-quote">'</code></span>)</span><br />
       Parse the source into an AST node.</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.core.ast-pysrc.html#parse">source&nbsp;code</a></span>
@@ -325,6 +334,38 @@
     </td>
   </tr>
 </table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="PyCF_ONLY_AST"></a><span class="summary-name">PyCF_ONLY_AST</span> = <code title="1024">1024</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.core'"><code class="variable-quote">'</code><code class="variable-string">TestON.core</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
 <!-- ==================== FUNCTION DETAILS ==================== -->
 <a name="section-FunctionDetails"></a>
 <table class="details" border="1" cellpadding="3"
@@ -351,8 +392,8 @@
   <table width="100%" cellpadding="0" cellspacing="0" border="0">
   <tr valign="top"><td>
   <h3 class="epydoc"><span class="sig"><span class="sig-name">parse</span>(<span class="sig-arg">source</span>,
-        <span class="sig-arg">filename</span>=<span class="sig-default">'&lt;unknown&gt;'</span>,
-        <span class="sig-arg">mode</span>=<span class="sig-default">'exec'</span>)</span>
+        <span class="sig-arg">filename</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">&lt;unknown&gt;</code><code class="variable-quote">'</code></span>,
+        <span class="sig-arg">mode</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">exec</code><code class="variable-quote">'</code></span>)</span>
   </h3>
   </td><td align="right" valign="top"
     ><span class="codelink"><a href="TestON.core.ast-pysrc.html#parse">source&nbsp;code</a></span>&nbsp;
@@ -523,13 +564,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.ast-pysrc.html b/TestON/Documentation/TestON_Document/TestON.core.ast-pysrc.html
index 159075f..4da8dcc 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.ast-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.ast-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -93,7 +98,7 @@
 <a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring">    Parse the source into an AST node.</tt> </tt>
 <a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-docstring">    Equivalent to compile(source, filename, mode, PyCF_ONLY_AST).</tt> </tt>
 <a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">,</tt> <tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">,</tt> <tt class="py-name">PyCF_ONLY_AST</tt><tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">,</tt> <tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">,</tt> <tt id="link-0" class="py-name" targets="Variable TestON.core.ast.PyCF_ONLY_AST=TestON.core.ast-module.html#PyCF_ONLY_AST"><a title="TestON.core.ast.PyCF_ONLY_AST" class="py-name" href="#" onclick="return doclink('link-0', 'PyCF_ONLY_AST', 'link-0');">PyCF_ONLY_AST</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
 <a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"> </tt>
 <a name="literal_eval"></a><div id="literal_eval-def"><a name="L40"></a><tt class="py-lineno"> 40</tt> <a class="py-toggle" href="#" id="literal_eval-toggle" onclick="return toggle('literal_eval');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.ast-module.html#literal_eval">literal_eval</a><tt class="py-op">(</tt><tt class="py-param">node_or_string</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
@@ -105,9 +110,9 @@
 <a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
 <a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-name">_safe_names</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'None'</tt><tt class="py-op">:</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'True'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-string">'False'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">}</tt> </tt>
 <a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">node_or_string</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-name">node_or_string</tt> <tt class="py-op">=</tt> <tt id="link-0" class="py-name" targets="Function TestON.core.ast.parse()=TestON.core.ast-module.html#parse,Method TestON.core.iniparser.iniparser.parse()=TestON.core.iniparser.iniparser-class.html#parse,Method TestON.core.xmlparser.xmlparser.parse()=TestON.core.xmlparser.xmlparser-class.html#parse"><a title="TestON.core.ast.parse
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-name">node_or_string</tt> <tt class="py-op">=</tt> <tt id="link-1" class="py-name" targets="Function TestON.core.ast.parse()=TestON.core.ast-module.html#parse,Method TestON.core.iniparser.iniparser.parse()=TestON.core.iniparser.iniparser-class.html#parse,Method TestON.core.xmlparser.xmlparser.parse()=TestON.core.xmlparser.xmlparser-class.html#parse"><a title="TestON.core.ast.parse
 TestON.core.iniparser.iniparser.parse
-TestON.core.xmlparser.xmlparser.parse" class="py-name" href="#" onclick="return doclink('link-0', 'parse', 'link-0');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">node_or_string</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">=</tt><tt class="py-string">'eval'</tt><tt class="py-op">)</tt> </tt>
+TestON.core.xmlparser.xmlparser.parse" class="py-name" href="#" onclick="return doclink('link-1', 'parse', 'link-1');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">node_or_string</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">=</tt><tt class="py-string">'eval'</tt><tt class="py-op">)</tt> </tt>
 <a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">node_or_string</tt><tt class="py-op">,</tt> <tt class="py-name">Expression</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-name">node_or_string</tt> <tt class="py-op">=</tt> <tt class="py-name">node_or_string</tt><tt class="py-op">.</tt><tt class="py-name">body</tt> </tt>
 <a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    <tt class="py-keyword">def</tt> <tt class="py-def-name">_convert</tt><tt class="py-op">(</tt><tt class="py-param">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
@@ -152,7 +157,7 @@
 <a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
 <a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-keyword">def</tt> <tt class="py-def-name">_format</tt><tt class="py-op">(</tt><tt class="py-param">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">,</tt> <tt class="py-name">AST</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-name">fields</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">_format</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt> <tt class="py-keyword">in</tt> <tt id="link-1" class="py-name" targets="Function TestON.core.ast.iter_fields()=TestON.core.ast-module.html#iter_fields"><a title="TestON.core.ast.iter_fields" class="py-name" href="#" onclick="return doclink('link-1', 'iter_fields', 'link-1');">iter_fields</a></tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-name">fields</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">_format</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt> <tt class="py-keyword">in</tt> <tt id="link-2" class="py-name" targets="Function TestON.core.ast.iter_fields()=TestON.core.ast-module.html#iter_fields"><a title="TestON.core.ast.iter_fields" class="py-name" href="#" onclick="return doclink('link-2', 'iter_fields', 'link-2');">iter_fields</a></tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
 <a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">            <tt class="py-name">rv</tt> <tt class="py-op">=</tt> <tt class="py-string">'%s(%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt><tt class="py-op">,</tt> <tt class="py-string">', '</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt> </tt>
 <a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt class="py-string">'%s=%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">field</tt> <tt class="py-keyword">for</tt> <tt class="py-name">field</tt> <tt class="py-keyword">in</tt> <tt class="py-name">fields</tt><tt class="py-op">)</tt> </tt>
 <a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">annotate_fields</tt> <tt class="py-keyword">else</tt> </tt>
@@ -202,7 +207,7 @@
 <a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">                <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">col_offset</tt> <tt class="py-op">=</tt> <tt class="py-name">col_offset</tt> </tt>
 <a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
 <a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">                <tt class="py-name">col_offset</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">col_offset</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt id="link-2" class="py-name" targets="Function TestON.core.ast.iter_child_nodes()=TestON.core.ast-module.html#iter_child_nodes"><a title="TestON.core.ast.iter_child_nodes" class="py-name" href="#" onclick="return doclink('link-2', 'iter_child_nodes', 'link-2');">iter_child_nodes</a></tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt id="link-3" class="py-name" targets="Function TestON.core.ast.iter_child_nodes()=TestON.core.ast-module.html#iter_child_nodes"><a title="TestON.core.ast.iter_child_nodes" class="py-name" href="#" onclick="return doclink('link-3', 'iter_child_nodes', 'link-3');">iter_child_nodes</a></tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-name">_fix</tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-name">lineno</tt><tt class="py-op">,</tt> <tt class="py-name">col_offset</tt><tt class="py-op">)</tt> </tt>
 </div><a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">    <tt class="py-name">_fix</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
 <a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">node</tt> </tt>
@@ -213,7 +218,7 @@
 <a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">    Increment the line number of each node in the tree starting at *node* by *n*.</tt> </tt>
 <a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">    This is useful to "move code" to a different location in a file.</tt> </tt>
 <a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt id="link-3" class="py-name" targets="Function TestON.core.ast.walk()=TestON.core.ast-module.html#walk"><a title="TestON.core.ast.walk" class="py-name" href="#" onclick="return doclink('link-3', 'walk', 'link-3');">walk</a></tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">child</tt> <tt class="py-keyword">in</tt> <tt id="link-4" class="py-name" targets="Function TestON.core.ast.walk()=TestON.core.ast-module.html#walk"><a title="TestON.core.ast.walk" class="py-name" href="#" onclick="return doclink('link-4', 'walk', 'link-4');">walk</a></tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'lineno'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt class="py-name">_attributes</tt><tt class="py-op">:</tt> </tt>
 <a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-name">child</tt><tt class="py-op">.</tt><tt class="py-name">lineno</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-string">'lineno'</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">n</tt> </tt>
 <a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">node</tt> </tt>
@@ -236,7 +241,7 @@
 <a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-docstring">    Yield all direct child nodes of *node*, that is, all fields that are nodes</tt> </tt>
 <a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-docstring">    and all items of fields that are lists of nodes.</tt> </tt>
 <a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">field</tt> <tt class="py-keyword">in</tt> <tt id="link-4" class="py-name"><a title="TestON.core.ast.iter_fields" class="py-name" href="#" onclick="return doclink('link-4', 'iter_fields', 'link-1');">iter_fields</a></tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">field</tt> <tt class="py-keyword">in</tt> <tt id="link-5" class="py-name"><a title="TestON.core.ast.iter_fields" class="py-name" href="#" onclick="return doclink('link-5', 'iter_fields', 'link-2');">iter_fields</a></tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">field</tt><tt class="py-op">,</tt> <tt class="py-name">AST</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-keyword">yield</tt> <tt class="py-name">field</tt> </tt>
 <a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">field</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
@@ -271,7 +276,7 @@
 <a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">    <tt class="py-name">todo</tt> <tt class="py-op">=</tt> <tt class="py-name">deque</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
 <a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-name">todo</tt><tt class="py-op">:</tt> </tt>
 <a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-name">node</tt> <tt class="py-op">=</tt> <tt class="py-name">todo</tt><tt class="py-op">.</tt><tt class="py-name">popleft</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-name">todo</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt id="link-5" class="py-name"><a title="TestON.core.ast.iter_child_nodes" class="py-name" href="#" onclick="return doclink('link-5', 'iter_child_nodes', 'link-2');">iter_child_nodes</a></tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-name">todo</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt id="link-6" class="py-name"><a title="TestON.core.ast.iter_child_nodes" class="py-name" href="#" onclick="return doclink('link-6', 'iter_child_nodes', 'link-3');">iter_child_nodes</a></tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-keyword">yield</tt> <tt class="py-name">node</tt> </tt>
 </div><a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"> </tt>
 <a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"> </tt>
@@ -298,19 +303,19 @@
 <a name="NodeVisitor.visit"></a><div id="NodeVisitor.visit-def"><a name="L237"></a><tt class="py-lineno">237</tt> <a class="py-toggle" href="#" id="NodeVisitor.visit-toggle" onclick="return toggle('NodeVisitor.visit');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.ast.NodeVisitor-class.html#visit">visit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 </div><div id="NodeVisitor.visit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NodeVisitor.visit-expanded"><a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-docstring">"""Visit a node."""</tt> </tt>
 <a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-string">'visit_'</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-name">visitor</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.core.ast.NodeTransformer.generic_visit()=TestON.core.ast.NodeTransformer-class.html#generic_visit,Method TestON.core.ast.NodeVisitor.generic_visit()=TestON.core.ast.NodeVisitor-class.html#generic_visit"><a title="TestON.core.ast.NodeTransformer.generic_visit
-TestON.core.ast.NodeVisitor.generic_visit" class="py-name" href="#" onclick="return doclink('link-6', 'generic_visit', 'link-6');">generic_visit</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-name">visitor</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.core.ast.NodeTransformer.generic_visit()=TestON.core.ast.NodeTransformer-class.html#generic_visit,Method TestON.core.ast.NodeVisitor.generic_visit()=TestON.core.ast.NodeVisitor-class.html#generic_visit"><a title="TestON.core.ast.NodeTransformer.generic_visit
+TestON.core.ast.NodeVisitor.generic_visit" class="py-name" href="#" onclick="return doclink('link-7', 'generic_visit', 'link-7');">generic_visit</a></tt><tt class="py-op">)</tt> </tt>
 <a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">visitor</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> </tt>
 </div><a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"> </tt>
 <a name="NodeVisitor.generic_visit"></a><div id="NodeVisitor.generic_visit-def"><a name="L243"></a><tt class="py-lineno">243</tt> <a class="py-toggle" href="#" id="NodeVisitor.generic_visit-toggle" onclick="return toggle('NodeVisitor.generic_visit');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.ast.NodeVisitor-class.html#generic_visit">generic_visit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 </div><div id="NodeVisitor.generic_visit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NodeVisitor.generic_visit-expanded"><a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-docstring">"""Called if no explicit visitor function exists for a node."""</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">field</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt id="link-7" class="py-name"><a title="TestON.core.ast.iter_fields" class="py-name" href="#" onclick="return doclink('link-7', 'iter_fields', 'link-1');">iter_fields</a></tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">field</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt id="link-8" class="py-name"><a title="TestON.core.ast.iter_fields" class="py-name" href="#" onclick="return doclink('link-8', 'iter_fields', 'link-2');">iter_fields</a></tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value</tt><tt class="py-op">:</tt> </tt>
 <a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">,</tt> <tt class="py-name">AST</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.core.ast.NodeVisitor.visit()=TestON.core.ast.NodeVisitor-class.html#visit"><a title="TestON.core.ast.NodeVisitor.visit" class="py-name" href="#" onclick="return doclink('link-8', 'visit', 'link-8');">visit</a></tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.core.ast.NodeVisitor.visit()=TestON.core.ast.NodeVisitor-class.html#visit"><a title="TestON.core.ast.NodeVisitor.visit" class="py-name" href="#" onclick="return doclink('link-9', 'visit', 'link-9');">visit</a></tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
 <a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">AST</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.core.ast.NodeVisitor.visit" class="py-name" href="#" onclick="return doclink('link-9', 'visit', 'link-8');">visit</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.core.ast.NodeVisitor.visit" class="py-name" href="#" onclick="return doclink('link-10', 'visit', 'link-9');">visit</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
 </div></div><a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"> </tt>
 <a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line"> </tt>
 <a name="NodeTransformer"></a><div id="NodeTransformer-def"><a name="L254"></a><tt class="py-lineno">254</tt> <a class="py-toggle" href="#" id="NodeTransformer-toggle" onclick="return toggle('NodeTransformer');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.core.ast.NodeTransformer-class.html">NodeTransformer</a><tt class="py-op">(</tt><tt class="py-base-class">NodeVisitor</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
@@ -350,13 +355,13 @@
 <a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
 <a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"> </tt>
 <a name="NodeTransformer.generic_visit"></a><div id="NodeTransformer.generic_visit-def"><a name="L290"></a><tt class="py-lineno">290</tt> <a class="py-toggle" href="#" id="NodeTransformer.generic_visit-toggle" onclick="return toggle('NodeTransformer.generic_visit');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.ast.NodeTransformer-class.html#generic_visit">generic_visit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="NodeTransformer.generic_visit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NodeTransformer.generic_visit-expanded"><a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">field</tt><tt class="py-op">,</tt> <tt class="py-name">old_value</tt> <tt class="py-keyword">in</tt> <tt id="link-10" class="py-name"><a title="TestON.core.ast.iter_fields" class="py-name" href="#" onclick="return doclink('link-10', 'iter_fields', 'link-1');">iter_fields</a></tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NodeTransformer.generic_visit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NodeTransformer.generic_visit-expanded"><a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">field</tt><tt class="py-op">,</tt> <tt class="py-name">old_value</tt> <tt class="py-keyword">in</tt> <tt id="link-11" class="py-name"><a title="TestON.core.ast.iter_fields" class="py-name" href="#" onclick="return doclink('link-11', 'iter_fields', 'link-2');">iter_fields</a></tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">            <tt class="py-name">old_value</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">,</tt> <tt class="py-name">field</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
 <a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">old_value</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">                <tt class="py-name">new_values</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
 <a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">old_value</tt><tt class="py-op">:</tt> </tt>
 <a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">AST</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">                        <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.core.ast.NodeVisitor.visit" class="py-name" href="#" onclick="return doclink('link-11', 'visit', 'link-8');">visit</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">                        <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.core.ast.NodeVisitor.visit" class="py-name" href="#" onclick="return doclink('link-12', 'visit', 'link-9');">visit</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
 <a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
 <a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">                            <tt class="py-keyword">continue</tt> </tt>
 <a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">                        <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">AST</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
@@ -365,7 +370,7 @@
 <a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">                    <tt class="py-name">new_values</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
 <a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">                <tt class="py-name">old_value</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">new_values</tt> </tt>
 <a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">old_value</tt><tt class="py-op">,</tt> <tt class="py-name">AST</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">                <tt class="py-name">new_node</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.core.ast.NodeVisitor.visit" class="py-name" href="#" onclick="return doclink('link-12', 'visit', 'link-8');">visit</a></tt><tt class="py-op">(</tt><tt class="py-name">old_value</tt><tt class="py-op">)</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">                <tt class="py-name">new_node</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.core.ast.NodeVisitor.visit" class="py-name" href="#" onclick="return doclink('link-13', 'visit', 'link-9');">visit</a></tt><tt class="py-op">(</tt><tt class="py-name">old_value</tt><tt class="py-op">)</tt> </tt>
 <a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">new_node</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
 <a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">                    <tt class="py-name">delattr</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">,</tt> <tt class="py-name">field</tt><tt class="py-op">)</tt> </tt>
 <a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
@@ -398,13 +403,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.ast.NodeTransformer-class.html b/TestON/Documentation/TestON_Document/TestON.core.ast.NodeTransformer-class.html
index 15d03bb..b9eae29 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.ast.NodeTransformer-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.ast.NodeTransformer-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -58,14 +63,14 @@
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
 <h1 class="epydoc">Class NodeTransformer</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.core.ast-pysrc.html#NodeTransformer">source&nbsp;code</a></span></p>
-<pre class="base-tree">
- object --+    
-          |    
-<a href="TestON.core.ast.NodeVisitor-class.html">NodeVisitor</a> --+
-              |
-             <strong class="uidshort">NodeTransformer</strong>
-</pre>
-
+<center>
+<center>  <map id="class_hierarchy_for_nodetransf" name="class_hierarchy_for_nodetransf">
+<area shape="rect" id="node1" href="TestON.core.ast.NodeTransformer-class.html" title="NodeTransformer" alt="" coords="5,62,128,87"/>
+<area shape="rect" id="node2" href="TestON.core.ast.NodeVisitor-class.html" title="NodeVisitor" alt="" coords="21,6,112,31"/>
+</map>
+  <img src="class_hierarchy_for_nodetransf.gif" alt='' usemap="#class_hierarchy_for_nodetransf" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
 <hr />
 <p>A :class:`NodeVisitor` subclass that walks the abstract syntax tree 
   and allows modification of nodes.</p>
@@ -133,11 +138,27 @@
       
     </td>
   </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="visit"></a><span class="summary-sig-name">visit</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">node</span>)</span><br />
+      Visit a node.
+      <em>(Inherited from <a href="TestON.core.ast.NodeVisitor-class.html">TestON.core.ast.NodeVisitor</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.core.ast-pysrc.html#NodeVisitor.visit">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
   <tr>
     <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="TestON.core.ast.NodeVisitor-class.html">NodeVisitor</a></code></b>:
-      <code><a href="TestON.core.ast.NodeVisitor-class.html#visit">visit</a></code>
-      </p>
     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
       <code>__delattr__</code>,
       <code>__format__</code>,
@@ -244,13 +265,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.ast.NodeVisitor-class.html b/TestON/Documentation/TestON_Document/TestON.core.ast.NodeVisitor-class.html
index 013123f..d73e8a4 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.ast.NodeVisitor-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.ast.NodeVisitor-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -58,12 +63,14 @@
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
 <h1 class="epydoc">Class NodeVisitor</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.core.ast-pysrc.html#NodeVisitor">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
-         |
-        <strong class="uidshort">NodeVisitor</strong>
-</pre>
-
+<center>
+<center>  <map id="class_hierarchy_for_nodevisito" name="class_hierarchy_for_nodevisito">
+<area shape="rect" id="node1" href="TestON.core.ast.NodeTransformer-class.html" title="NodeTransformer" alt="" coords="5,62,128,87"/>
+<area shape="rect" id="node2" href="TestON.core.ast.NodeVisitor-class.html" title="NodeVisitor" alt="" coords="21,6,112,31"/>
+</map>
+  <img src="class_hierarchy_for_nodevisito.gif" alt='' usemap="#class_hierarchy_for_nodevisito" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
 <hr />
 <p>A node visitor base class that walks the abstract syntax tree and 
   calls a visitor function for every node found.  This function may return 
@@ -197,13 +204,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.core.dicttoobject-module.html
similarity index 66%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.core.dicttoobject-module.html
index 81b602b..12875a1 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.dicttoobject-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest.PoxTest</title>
+  <title>TestON.core.dicttoobject</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -38,9 +43,8 @@
     <td width="100%">
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.PoxTest-module.html">Package&nbsp;PoxTest</a> ::
-        Module&nbsp;PoxTest
+        <a href="TestON.core-module.html">Package&nbsp;core</a> ::
+        Module&nbsp;dicttoobject
       </span>
     </td>
     <td>
@@ -50,14 +54,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.core.dicttoobject-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Module dicttoobject</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.core.dicttoobject-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -79,7 +83,33 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html" class="summary-name">PoxTest</a>
+        <a href="TestON.core.dicttoobject.DictToObject-class.html" class="summary-name">DictToObject</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
     </td>
   </tr>
 </table>
@@ -103,13 +133,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.dicttoobject-pysrc.html b/TestON/Documentation/TestON_Document/TestON.core.dicttoobject-pysrc.html
new file mode 100644
index 0000000..cc71eea
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.core.dicttoobject-pysrc.html
@@ -0,0 +1,252 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.core.dicttoobject</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.core-module.html">Package&nbsp;core</a> ::
+        Module&nbsp;dicttoobject
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.core.dicttoobject-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.core.dicttoobject-module.html">Module TestON.core.dicttoobject</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"> </tt>
+<a name="DictToObject"></a><div id="DictToObject-def"><a name="L3"></a><tt class="py-lineno"> 3</tt> <a class="py-toggle" href="#" id="DictToObject-toggle" onclick="return toggle('DictToObject');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.core.dicttoobject.DictToObject-class.html">DictToObject</a><tt class="py-op">(</tt> <tt class="py-base-class">dict</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DictToObject-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="DictToObject-expanded"><a name="DictToObject.__init__"></a><div id="DictToObject.__init__-def"><a name="L4"></a><tt class="py-lineno"> 4</tt> <a class="py-toggle" href="#" id="DictToObject.__init__-toggle" onclick="return toggle('DictToObject.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.dicttoobject.DictToObject-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DictToObject.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="DictToObject.__init__-expanded"><a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-0" class="py-name" targets="Class TestON.core.dicttoobject.DictToObject=TestON.core.dicttoobject.DictToObject-class.html"><a title="TestON.core.dicttoobject.DictToObject" class="py-name" href="#" onclick="return doclink('link-0', 'DictToObject', 'link-0');">DictToObject</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-1', '__init__', 'link-1');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">data</tt><tt class="py-op">:</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.dicttoobject.DictToObject.__update()=TestON.core.dicttoobject.DictToObject-class.html#__update"><a title="TestON.core.dicttoobject.DictToObject.__update" class="py-name" href="#" onclick="return doclink('link-2', '__update', 'link-2');">__update</a></tt><tt class="py-op">(</tt> <tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"> </tt>
+<a name="DictToObject.__update"></a><div id="DictToObject.__update-def"><a name="L9"></a><tt class="py-lineno"> 9</tt> <a class="py-toggle" href="#" id="DictToObject.__update-toggle" onclick="return toggle('DictToObject.__update');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.dicttoobject.DictToObject-class.html#__update">__update</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">,</tt> <tt class="py-param">did</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DictToObject.__update-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="DictToObject.__update-expanded"><a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">        <tt class="py-name">dataid</tt> <tt class="py-op">=</tt> <tt class="py-name">id</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">        <tt class="py-name">did</tt><tt class="py-op">[</tt> <tt class="py-name">dataid</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">k</tt> <tt class="py-keyword">in</tt> <tt class="py-name">data</tt><tt class="py-op">:</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">            <tt class="py-name">dkid</tt> <tt class="py-op">=</tt> <tt class="py-name">id</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">did</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-name">dkid</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">did</tt><tt class="py-op">[</tt><tt class="py-name">dkid</tt><tt class="py-op">]</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-3" class="py-name"><a title="TestON.core.dicttoobject.DictToObject" class="py-name" href="#" onclick="return doclink('link-3', 'DictToObject', 'link-0');">DictToObject</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">                <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt id="link-4" class="py-name"><a title="TestON.core.dicttoobject.DictToObject" class="py-name" href="#" onclick="return doclink('link-4', 'DictToObject', 'link-0');">DictToObject</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">                <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.core.dicttoobject.DictToObject.__update" class="py-name" href="#" onclick="return doclink('link-5', '__update', 'link-2');">__update</a></tt><tt class="py-op">(</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">did</tt> <tt class="py-op">)</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">                <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"> </tt>
+<a name="DictToObject.__getattr__"></a><div id="DictToObject.__getattr__-def"><a name="L27"></a><tt class="py-lineno">27</tt> <a class="py-toggle" href="#" id="DictToObject.__getattr__-toggle" onclick="return toggle('DictToObject.__getattr__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.dicttoobject.DictToObject-class.html#__getattr__">__getattr__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DictToObject.__getattr__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="DictToObject.__getattr__-expanded"><a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"> </tt>
+<a name="DictToObject.__setattr__"></a><div id="DictToObject.__setattr__-def"><a name="L30"></a><tt class="py-lineno">30</tt> <a class="py-toggle" href="#" id="DictToObject.__setattr__-toggle" onclick="return toggle('DictToObject.__setattr__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.dicttoobject.DictToObject-class.html#__setattr__">__setattr__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DictToObject.__setattr__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="DictToObject.__setattr__-expanded"><a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt><tt class="py-name">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-6" class="py-name"><a title="TestON.core.dicttoobject.DictToObject" class="py-name" href="#" onclick="return doclink('link-6', 'DictToObject', 'link-0');">DictToObject</a></tt><tt class="py-op">(</tt> <tt class="py-name">value</tt> <tt class="py-op">)</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
+</div><a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line"> </tt>
+<a name="DictToObject.update"></a><div id="DictToObject.update-def"><a name="L36"></a><tt class="py-lineno">36</tt> <a class="py-toggle" href="#" id="DictToObject.update-toggle" onclick="return toggle('DictToObject.update');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.dicttoobject.DictToObject-class.html#update">update</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DictToObject.update-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="DictToObject.update-expanded"><a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">obj</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">:</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">k</tt> <tt class="py-keyword">in</tt> <tt class="py-name">obj</tt><tt class="py-op">:</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-7" class="py-name"><a title="TestON.core.dicttoobject.DictToObject" class="py-name" href="#" onclick="return doclink('link-7', 'DictToObject', 'link-0');">DictToObject</a></tt><tt class="py-op">(</tt> <tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line"> </tt>
+<a name="DictToObject.merge"></a><div id="DictToObject.merge-def"><a name="L45"></a><tt class="py-lineno">45</tt> <a class="py-toggle" href="#" id="DictToObject.merge-toggle" onclick="return toggle('DictToObject.merge');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.dicttoobject.DictToObject-class.html#merge">merge</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DictToObject.merge-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="DictToObject.merge-expanded"><a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">obj</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">:</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">k</tt> <tt class="py-keyword">in</tt> <tt class="py-name">obj</tt><tt class="py-op">:</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-name">k</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">list</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt id="link-8" class="py-name"><a title="TestON.core.dicttoobject.DictToObject" class="py-name" href="#" onclick="return doclink('link-8', 'DictToObject', 'link-0');">DictToObject</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">Object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.core.dicttoobject.DictToObject.merge()=TestON.core.dicttoobject.DictToObject-class.html#merge"><a title="TestON.core.dicttoobject.DictToObject.merge" class="py-name" href="#" onclick="return doclink('link-9', 'merge', 'link-9');">merge</a></tt><tt class="py-op">(</tt> <tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt id="link-10" class="py-name"><a title="TestON.core.dicttoobject.DictToObject" class="py-name" href="#" onclick="return doclink('link-10', 'DictToObject', 'link-0');">DictToObject</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.core.dicttoobject.DictToObject.merge" class="py-name" href="#" onclick="return doclink('link-11', 'merge', 'link-9');">merge</a></tt><tt class="py-op">(</tt> <tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">]</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name"><a title="TestON.core.dicttoobject.DictToObject" class="py-name" href="#" onclick="return doclink('link-12', 'DictToObject', 'link-0');">DictToObject</a></tt><tt class="py-op">(</tt> <tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div></div><a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.core.dicttoobject.DictToObject-class.html b/TestON/Documentation/TestON_Document/TestON.core.dicttoobject.DictToObject-class.html
new file mode 100644
index 0000000..3b0d9f2
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.core.dicttoobject.DictToObject-class.html
@@ -0,0 +1,452 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.core.dicttoobject.DictToObject</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.core-module.html">Package&nbsp;core</a> ::
+        <a href="TestON.core.dicttoobject-module.html">Module&nbsp;dicttoobject</a> ::
+        Class&nbsp;DictToObject
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.core.dicttoobject.DictToObject-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class DictToObject</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.core.dicttoobject-pysrc.html#DictToObject">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_dicttoobje" name="class_hierarchy_for_dicttoobje">
+<area shape="rect" id="node1" href="TestON.core.dicttoobject.DictToObject-class.html" title="DictToObject" alt="" coords="5,62,104,87"/>
+<area shape="rect" id="node2" href="javascript:void(0);" title="dict" alt="" coords="33,6,76,31"/>
+</map>
+  <img src="class_hierarchy_for_dicttoobje.gif" alt='' usemap="#class_hierarchy_for_dicttoobje" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"><pre class="literalblock">
+new empty dictionary
+
+</pre></span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.core.dicttoobject.DictToObject-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>)</span><br />
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.core.dicttoobject-pysrc.html#DictToObject.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__update"></a><span class="summary-sig-name">__update</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">data</span>,
+        <span class="summary-sig-arg">did</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.core.dicttoobject-pysrc.html#DictToObject.__update">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__getattr__"></a><span class="summary-sig-name">__getattr__</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">key</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.core.dicttoobject-pysrc.html#DictToObject.__getattr__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.core.dicttoobject.DictToObject-class.html#__setattr__" class="summary-sig-name">__setattr__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">key</span>,
+        <span class="summary-sig-arg">value</span>)</span><br />
+      x.__setattr__('name', value) &lt;==&gt; x.name = value</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.core.dicttoobject-pysrc.html#DictToObject.__setattr__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">None</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.core.dicttoobject.DictToObject-class.html#update" class="summary-sig-name">update</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*args</span>)</span><br />
+      Update D from dict/iterable E and F.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.core.dicttoobject-pysrc.html#DictToObject.update">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="merge"></a><span class="summary-sig-name">merge</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*args</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.core.dicttoobject-pysrc.html#DictToObject.merge">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>dict</code></b>:
+      <code>__cmp__</code>,
+      <code>__contains__</code>,
+      <code>__delitem__</code>,
+      <code>__eq__</code>,
+      <code>__ge__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__gt__</code>,
+      <code>__iter__</code>,
+      <code>__le__</code>,
+      <code>__len__</code>,
+      <code>__lt__</code>,
+      <code>__ne__</code>,
+      <code>__new__</code>,
+      <code>__repr__</code>,
+      <code>__setitem__</code>,
+      <code>__sizeof__</code>,
+      <code>clear</code>,
+      <code>copy</code>,
+      <code>fromkeys</code>,
+      <code>get</code>,
+      <code>has_key</code>,
+      <code>items</code>,
+      <code>iteritems</code>,
+      <code>iterkeys</code>,
+      <code>itervalues</code>,
+      <code>keys</code>,
+      <code>pop</code>,
+      <code>popitem</code>,
+      <code>setdefault</code>,
+      <code>values</code>,
+      <code>viewitems</code>,
+      <code>viewkeys</code>,
+      <code>viewvalues</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>dict</code></b>:
+      <code>__hash__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">data</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.core.dicttoobject-pysrc.html#DictToObject.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
+  <dl class="fields">
+    <dt>Returns: <pre class="literalblock">
+new empty dictionary
+
+</pre></dt>
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="__setattr__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__setattr__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">key</span>,
+        <span class="sig-arg">value</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.core.dicttoobject-pysrc.html#DictToObject.__setattr__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>x.__setattr__('name', value) &lt;==&gt; x.name = value</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__setattr__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="update"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">update</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">*args</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.core.dicttoobject-pysrc.html#DictToObject.update">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Update D from dict/iterable E and F. If E present and has a .keys() 
+  method, does:     for k in E: D[k] = E[k] If E present and lacks .keys() 
+  method, does:     for (k, v) in E: D[k] = v In either case, this is 
+  followed by: for k in F: D[k] = F[k]</p>
+  <dl class="fields">
+    <dt>Returns: None</dt>
+    <dt>Overrides:
+        dict.update
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.core.iniparser-module.html b/TestON/Documentation/TestON_Document/TestON.core.iniparser-module.html
index a6763f3..e3213c0 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.iniparser-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.iniparser-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -62,6 +67,17 @@
 <hr />
 <div class="fields">      <p><strong>Author:</strong>
         Raghav Kashyap(raghavkashyap@paxterrasolutions.com)
+        <p>TestON is free software: you can redistribute it and/or modify 
+        it under the terms of the GNU General Public License as published 
+        by the Free Software Foundation, either version 2 of the License, 
+        or (at your option) any later version.</p>
+        <p>TestON is distributed in the hope that it will be useful, but 
+        WITHOUT ANY WARRANTY; without even the implied warranty of 
+        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+        General Public License for more details.</p>
+        <p>You should have received a copy of the GNU General Public 
+        License along with TestON.  If not, see 
+        &lt;http://www.gnu.org/licenses/&gt;.</p>
       </p>
 </div><!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
@@ -89,6 +105,31 @@
     </td>
   </tr>
 </table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.core'"><code class="variable-quote">'</code><code class="variable-string">TestON.core</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -109,13 +150,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.iniparser-pysrc.html b/TestON/Documentation/TestON_Document/TestON.core.iniparser-pysrc.html
index 3a62982..070c791 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.iniparser-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.iniparser-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,69 +65,88 @@
 <a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#/usr/bin/env python</tt> </tt>
 <a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
 <a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 07-Jan-2013</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring">       </tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
 <a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Raghav Kashyap(raghavkashyap@paxterrasolutions.com)</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">configobj</tt> <tt class="py-keyword">import</tt> <tt class="py-name">ConfigObj</tt> </tt>
-<a name="iniparser"></a><div id="iniparser-def"><a name="L10"></a><tt class="py-lineno">10</tt> <a class="py-toggle" href="#" id="iniparser-toggle" onclick="return toggle('iniparser');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.core.iniparser.iniparser-class.html">iniparser</a><tt class="py-op">:</tt> </tt>
-</div><div id="iniparser-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="iniparser-expanded"><a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring">    Manages authoring, parsing and execution of the test. Sub components are</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    Test-Topology parser</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    Module that parses the test from plain English and topology</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    from a specification file and prepares for execution.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring">    Test sequencer </tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">    Module that executes the tests case by case,</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    step by step adding ability for step by step pause and debug later.</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring">    Object loader</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring">    Module that connects and loads all the component connection objects </tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring">    for access in the test </tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="iniparser.__init__"></a><div id="iniparser.__init__-def"><a name="L23"></a><tt class="py-lineno">23</tt> <a class="py-toggle" href="#" id="iniparser.__init__-toggle" onclick="return toggle('iniparser.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.iniparser.iniparser-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="iniparser.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="iniparser.__init__-expanded"><a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-</div><a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"> </tt>
-<a name="iniparser.parse"></a><div id="iniparser.parse-def"><a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="iniparser.parse-toggle" onclick="return toggle('iniparser.parse');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.iniparser.iniparser-class.html#parse">parse</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">fileName</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="iniparser.parse-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="iniparser.parse-expanded"><a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-docstring">         This will parse the params or topo or cfg file and return content in the file as Dictionary</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileName</tt> <tt class="py-op">=</tt> <tt class="py-name">fileName</tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">        <tt class="py-name">matchFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">r'(.*)\.(params|topo)'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileName</tt><tt class="py-op">,</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">M</tt><tt class="py-op">|</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">I</tt><tt class="py-op">)</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">matchFileName</tt><tt class="py-op">:</tt> </tt>
-<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">                <tt class="py-name">parsedInfo</tt> <tt class="py-op">=</tt> <tt class="py-name">ConfigObj</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileName</tt><tt class="py-op">)</tt> </tt>
-<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">parsedInfo</tt> </tt>
-<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"There is no such file to parse "</tt><tt class="py-op">+</tt><tt class="py-name">fileName</tt> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">configobj</tt> <tt class="py-keyword">import</tt> <tt class="py-name">ConfigObj</tt> </tt>
+<a name="iniparser"></a><div id="iniparser-def"><a name="L25"></a><tt class="py-lineno">25</tt> <a class="py-toggle" href="#" id="iniparser-toggle" onclick="return toggle('iniparser');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.core.iniparser.iniparser-class.html">iniparser</a><tt class="py-op">:</tt> </tt>
+</div><div id="iniparser-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="iniparser-expanded"><a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-docstring">    Manages authoring, parsing and execution of the test. Sub components are</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-docstring">    Test-Topology parser</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"><tt class="py-docstring">    Module that parses the test from plain English and topology</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"><tt class="py-docstring">    from a specification file and prepares for execution.</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"><tt class="py-docstring">    Test sequencer</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line"><tt class="py-docstring">    Module that executes the tests case by case,</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"><tt class="py-docstring">    step by step adding ability for step by step pause and debug later.</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"><tt class="py-docstring">    Object loader</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line"><tt class="py-docstring">    Module that connects and loads all the component connection objects</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"><tt class="py-docstring">    for access in the test</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="iniparser.__init__"></a><div id="iniparser.__init__-def"><a name="L38"></a><tt class="py-lineno">38</tt> <a class="py-toggle" href="#" id="iniparser.__init__-toggle" onclick="return toggle('iniparser.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.iniparser.iniparser-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="iniparser.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="iniparser.__init__-expanded"><a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
 </div><a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line"> </tt>
-<a name="iniparser.parseParams"></a><div id="iniparser.parseParams-def"><a name="L41"></a><tt class="py-lineno">41</tt> <a class="py-toggle" href="#" id="iniparser.parseParams-toggle" onclick="return toggle('iniparser.parseParams');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.iniparser.iniparser-class.html#parseParams">parseParams</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">paramsPath</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="iniparser.parseParams-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="iniparser.parseParams-expanded"><a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"><tt class="py-docstring">        It will take the params file path and will return the params dictionary</tt> </tt>
+<a name="iniparser.parse"></a><div id="iniparser.parse-def"><a name="L41"></a><tt class="py-lineno">41</tt> <a class="py-toggle" href="#" id="iniparser.parse-toggle" onclick="return toggle('iniparser.parse');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.iniparser.iniparser-class.html#parse">parse</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">fileName</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="iniparser.parse-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="iniparser.parse-expanded"><a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"><tt class="py-docstring">         This will parse the params or topo or cfg file and return content in the file as Dictionary</tt> </tt>
 <a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"> </tt>
-<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt class="py-name">paramsPath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\."</tt><tt class="py-op">,</tt><tt class="py-string">"/"</tt><tt class="py-op">,</tt><tt class="py-name">paramsPath</tt><tt class="py-op">)</tt> </tt>
-<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">        <tt class="py-name">paramsPath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"tests|examples"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">paramsPath</tt><tt class="py-op">)</tt> </tt>
-<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">        <tt class="py-comment">#print main.tests_path+"/"+paramsPath+".params"</tt> </tt>
-<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">        <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Function TestON.core.ast.parse()=TestON.core.ast-module.html#parse,Method TestON.core.iniparser.iniparser.parse()=TestON.core.iniparser.iniparser-class.html#parse,Method TestON.core.xmlparser.xmlparser.parse()=TestON.core.xmlparser.xmlparser-class.html#parse"><a title="TestON.core.ast.parse
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileName</tt> <tt class="py-op">=</tt> <tt class="py-name">fileName</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt class="py-name">matchFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">r'(.*)\.(params|topo)'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileName</tt><tt class="py-op">,</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">M</tt><tt class="py-op">|</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">I</tt><tt class="py-op">)</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">matchFileName</tt><tt class="py-op">:</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">                <tt class="py-name">parsedInfo</tt> <tt class="py-op">=</tt> <tt class="py-name">ConfigObj</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileName</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">parsedInfo</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"There is no such file to parse "</tt><tt class="py-op">+</tt><tt class="py-name">fileName</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt>
+</div><a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line"> </tt>
+<a name="iniparser.parseParams"></a><div id="iniparser.parseParams-def"><a name="L56"></a><tt class="py-lineno">56</tt> <a class="py-toggle" href="#" id="iniparser.parseParams-toggle" onclick="return toggle('iniparser.parseParams');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.iniparser.iniparser-class.html#parseParams">parseParams</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">paramsPath</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="iniparser.parseParams-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="iniparser.parseParams-expanded"><a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line"><tt class="py-docstring">        It will take the params file path and will return the params dictionary</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line"> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">        <tt class="py-name">paramsPath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\."</tt><tt class="py-op">,</tt><tt class="py-string">"/"</tt><tt class="py-op">,</tt><tt class="py-name">paramsPath</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">        <tt class="py-name">paramsPath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"tests|examples"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">paramsPath</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">        <tt class="py-comment">#print main.tests_path+"/"+paramsPath+".params"</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">        <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Function TestON.core.ast.parse()=TestON.core.ast-module.html#parse,Method TestON.core.iniparser.iniparser.parse()=TestON.core.iniparser.iniparser-class.html#parse,Method TestON.core.xmlparser.xmlparser.parse()=TestON.core.xmlparser.xmlparser-class.html#parse"><a title="TestON.core.ast.parse
 TestON.core.iniparser.iniparser.parse
-TestON.core.xmlparser.xmlparser.parse" class="py-name" href="#" onclick="return doclink('link-1', 'parse', 'link-1');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Variable TestON.core.teston.tests_path=TestON.core.teston-module.html#tests_path"><a title="TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-2', 'tests_path', 'link-2');">tests_path</a></tt><tt class="py-op">+</tt><tt class="py-name">paramsPath</tt><tt class="py-op">+</tt><tt class="py-string">".params"</tt><tt class="py-op">)</tt> </tt>
-<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">        <tt class="py-name">paramsAsString</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
-<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">paramsAsString</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line"> </tt>
-<a name="iniparser.parseTopology"></a><div id="iniparser.parseTopology-def"><a name="L53"></a><tt class="py-lineno">53</tt> <a class="py-toggle" href="#" id="iniparser.parseTopology-toggle" onclick="return toggle('iniparser.parseTopology');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.iniparser.iniparser-class.html#parseTopology">parseTopology</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">topologyPath</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="iniparser.parseTopology-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="iniparser.parseTopology-expanded"><a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line"><tt class="py-docstring">        It will take topology file path and will return topology dictionary</tt> </tt>
-<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">        <tt class="py-name">topologyPath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\."</tt><tt class="py-op">,</tt><tt class="py-string">"/"</tt><tt class="py-op">,</tt><tt class="py-name">topologyPath</tt><tt class="py-op">)</tt> </tt>
-<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">        <tt class="py-name">topologyPath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"tests|examples"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">topologyPath</tt><tt class="py-op">)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line">        <tt class="py-name">topology</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name"><a title="TestON.core.ast.parse
+TestON.core.xmlparser.xmlparser.parse" class="py-name" href="#" onclick="return doclink('link-1', 'parse', 'link-1');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Variable TestON.bin.cli.tests_path=TestON.bin.cli-module.html#tests_path,Variable TestON.core.teston.tests_path=TestON.core.teston-module.html#tests_path"><a title="TestON.bin.cli.tests_path
+TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-2', 'tests_path', 'link-2');">tests_path</a></tt><tt class="py-op">+</tt><tt class="py-name">paramsPath</tt><tt class="py-op">+</tt><tt class="py-string">".params"</tt><tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">        <tt class="py-name">paramsAsString</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">paramsAsString</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line"> </tt>
+<a name="iniparser.parseTopology"></a><div id="iniparser.parseTopology-def"><a name="L68"></a><tt class="py-lineno">68</tt> <a class="py-toggle" href="#" id="iniparser.parseTopology-toggle" onclick="return toggle('iniparser.parseTopology');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.iniparser.iniparser-class.html#parseTopology">parseTopology</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">topologyPath</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="iniparser.parseTopology-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="iniparser.parseTopology-expanded"><a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line"><tt class="py-docstring">        It will take topology file path and will return topology dictionary</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line">        <tt class="py-name">topologyPath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\."</tt><tt class="py-op">,</tt><tt class="py-string">"/"</tt><tt class="py-op">,</tt><tt class="py-name">topologyPath</tt><tt class="py-op">)</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">73</tt>  <tt class="py-line">        <tt class="py-name">topologyPath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"tests|examples"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">topologyPath</tt><tt class="py-op">)</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line">        <tt id="link-3" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#topology,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topology"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-3', 'topology', 'link-3');">topology</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.core.ast.parse
 TestON.core.iniparser.iniparser.parse
-TestON.core.xmlparser.xmlparser.parse" class="py-name" href="#" onclick="return doclink('link-3', 'parse', 'link-1');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-4', 'tests_path', 'link-2');">tests_path</a></tt><tt class="py-op">+</tt><tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">topologyPath</tt><tt class="py-op">+</tt><tt class="py-string">".topo"</tt><tt class="py-op">)</tt> </tt>
-<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">        <tt class="py-name">topoAsString</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">topology</tt><tt class="py-op">)</tt> </tt>
-<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">topoAsString</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+TestON.core.xmlparser.xmlparser.parse" class="py-name" href="#" onclick="return doclink('link-4', 'parse', 'link-1');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.bin.cli.tests_path
+TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-5', 'tests_path', 'link-2');">tests_path</a></tt><tt class="py-op">+</tt><tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">topologyPath</tt><tt class="py-op">+</tt><tt class="py-string">".topo"</tt><tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">75</tt>  <tt class="py-line">        <tt class="py-name">topoAsString</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-6" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-6', 'topology', 'link-3');">topology</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno">76</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">topoAsString</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L77"></a><tt class="py-lineno">77</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -149,13 +173,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.iniparser.iniparser-class.html b/TestON/Documentation/TestON_Document/TestON.core.iniparser.iniparser-class.html
index 54f69e8..5fc804a 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.iniparser.iniparser-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.iniparser.iniparser-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -176,13 +181,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.jsonparser-module.html b/TestON/Documentation/TestON_Document/TestON.core.jsonparser-module.html
new file mode 100644
index 0000000..ea08f06
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.core.jsonparser-module.html
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.core.jsonparser</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.core-module.html">Package&nbsp;core</a> ::
+        Module&nbsp;jsonparser
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.core.jsonparser-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module jsonparser</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.core.jsonparser-pysrc.html">source&nbsp;code</a></span></p>
+<p>Created on 07-Jan-2013</p>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        Raghav Kashyap(raghavkashyap@paxterrasolutions.com)
+        <p>TestON is free software: you can redistribute it and/or modify 
+        it under the terms of the GNU General Public License as published 
+        by the Free Software Foundation, either version 2 of the License, 
+        or (at your option) any later version.</p>
+        <p>TestON is distributed in the hope that it will be useful, but 
+        WITHOUT ANY WARRANTY; without even the implied warranty of 
+        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+        General Public License for more details.</p>
+        <p>You should have received a copy of the GNU General Public 
+        License along with TestON.  If not, see 
+        &lt;http://www.gnu.org/licenses/&gt;.</p>
+      </p>
+</div><!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="TestON.core.jsonparser.JsonParser-class.html" class="summary-name">JsonParser</a><br />
+      Module that parses the response Json to Dictionary and Vice versa.
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.core'"><code class="variable-quote">'</code><code class="variable-string">TestON.core</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.core.jsonparser-pysrc.html b/TestON/Documentation/TestON_Document/TestON.core.jsonparser-pysrc.html
new file mode 100644
index 0000000..93a00aa
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.core.jsonparser-pysrc.html
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.core.jsonparser</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.core-module.html">Package&nbsp;core</a> ::
+        Module&nbsp;jsonparser
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.core.jsonparser-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.core.jsonparser-module.html">Module TestON.core.jsonparser</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 07-Jan-2013</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Raghav Kashyap(raghavkashyap@paxterrasolutions.com)</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="JsonParser"></a><div id="JsonParser-def"><a name="L25"></a><tt class="py-lineno">25</tt> <a class="py-toggle" href="#" id="JsonParser-toggle" onclick="return toggle('JsonParser');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.core.jsonparser.JsonParser-class.html">JsonParser</a><tt class="py-op">:</tt> </tt>
+</div><div id="JsonParser-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="JsonParser-expanded"><a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-docstring">    Module that parses the response Json to Dictionary and Vice versa.</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="JsonParser.__init__"></a><div id="JsonParser.__init__-def"><a name="L29"></a><tt class="py-lineno">29</tt> <a class="py-toggle" href="#" id="JsonParser.__init__-toggle" onclick="return toggle('JsonParser.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.jsonparser.JsonParser-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="JsonParser.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="JsonParser.__init__-expanded"><a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"> </tt>
+<a name="JsonParser.response_parse"></a><div id="JsonParser.response_parse-def"><a name="L32"></a><tt class="py-lineno">32</tt> <a class="py-toggle" href="#" id="JsonParser.response_parse-toggle" onclick="return toggle('JsonParser.response_parse');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.jsonparser.JsonParser-class.html#response_parse">response_parse</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">json_response</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="JsonParser.response_parse-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="JsonParser.response_parse-expanded"><a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"><tt class="py-docstring">         This will parse the json formatted string and return content as Dictionary</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">        <tt class="py-name">response_dict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">            <tt class="py-name">response_dict</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">json_response</tt><tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-2', 'error', 'link-2');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Json Parser is unable to parse the string"</tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">response_dict</tt> </tt>
+</div><a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line"> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">    <tt class="py-string">'''</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"><tt class="py-string">    def dict_json(self,response_dict):</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line"><tt class="py-string">        # This will parse the Python Dictionary and return content as Json string.</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"><tt class="py-string">        json_response = {}</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"><tt class="py-string">        try :</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line"><tt class="py-string">            json_response = json.dumps(response_dict)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line"><tt class="py-string">        except Exception:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line"><tt class="py-string">            main.log.error("Json Parser is unable to parse the string")</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line"><tt class="py-string">        return json_response</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line"><tt class="py-string">    '''</tt> </tt>
+</div><a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html b/TestON/Documentation/TestON_Document/TestON.core.jsonparser.JsonParser-class.html
similarity index 73%
rename from TestON/Documentation/TestON_Document/TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html
rename to TestON/Documentation/TestON_Document/TestON.core.jsonparser.JsonParser-class.html
index 0de37dd..068b21f 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.jsonparser.JsonParser-class.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest</title>
+  <title>TestON.core.jsonparser.JsonParser</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -38,10 +43,9 @@
     <td width="100%">
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.HPSwitchTest-module.html">Package&nbsp;HPSwitchTest</a> ::
-        <a href="TestON.tests.HPSwitchTest.HPSwitchTest-module.html">Module&nbsp;HPSwitchTest</a> ::
-        Class&nbsp;HPSwitchTest
+        <a href="TestON.core-module.html">Package&nbsp;core</a> ::
+        <a href="TestON.core.jsonparser-module.html">Module&nbsp;jsonparser</a> ::
+        Class&nbsp;JsonParser
       </span>
     </td>
     <td>
@@ -51,14 +55,16 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html"
+            >]&nbsp;|&nbsp;<a href="TestON.core.jsonparser.JsonParser-class.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class HPSwitchTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HPSwitchTest.HPSwitchTest-pysrc.html#HPSwitchTest">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Class JsonParser</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.core.jsonparser-pysrc.html#JsonParser">source&nbsp;code</a></span></p>
+<p>Module that parses the response Json to Dictionary and Vice versa.</p>
+
 <!-- ==================== INSTANCE METHODS ==================== -->
 <a name="section-InstanceMethods"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -84,7 +90,7 @@
         <tr>
           <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.HPSwitchTest.HPSwitchTest-pysrc.html#HPSwitchTest.__init__">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.core.jsonparser-pysrc.html#JsonParser.__init__">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -98,10 +104,12 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">main</span>)</span></td>
+          <td><span class="summary-sig"><a name="response_parse"></a><span class="summary-sig-name">response_parse</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">json_response</span>)</span><br />
+      This will parse the json formatted string and return content as 
+      Dictionary</td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.HPSwitchTest.HPSwitchTest-pysrc.html#HPSwitchTest.CASE1">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.core.jsonparser-pysrc.html#JsonParser.response_parse">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -130,13 +138,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.logger-module.html b/TestON/Documentation/TestON_Document/TestON.core.logger-module.html
index 0470e98..0a0303e 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.logger-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.logger-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -62,6 +67,17 @@
 <hr />
 <div class="fields">      <p><strong>Author:</strong>
         Raghav Kashyap(raghavkashyap@paxterrasolutions.com)
+        <p>TestON is free software: you can redistribute it and/or modify 
+        it under the terms of the GNU General Public License as published 
+        by the Free Software Foundation, either version 2 of the License, 
+        or (at your option) any later version.</p>
+        <p>TestON is distributed in the hope that it will be useful, but 
+        WITHOUT ANY WARRANTY; without even the implied warranty of 
+        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+        General Public License for more details.</p>
+        <p>You should have received a copy of the GNU General Public 
+        License along with TestON.  If not, see 
+        &lt;http://www.gnu.org/licenses/&gt;.</p>
       </p>
 </div><!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
@@ -89,6 +105,31 @@
     </td>
   </tr>
 </table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.core'"><code class="variable-quote">'</code><code class="variable-string">TestON.core</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -109,13 +150,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.logger-pysrc.html b/TestON/Documentation/TestON_Document/TestON.core.logger-pysrc.html
index fc50d80..48c469c 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.logger-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.logger-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,241 +65,333 @@
 <a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#/usr/bin/env python</tt> </tt>
 <a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
 <a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 07-Jan-2013</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">       </tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
 <a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Raghav Kashyap(raghavkashyap@paxterrasolutions.com)</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">datetime</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="Logger"></a><div id="Logger-def"><a name="L12"></a><tt class="py-lineno"> 12</tt> <a class="py-toggle" href="#" id="Logger-toggle" onclick="return toggle('Logger');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.core.logger.Logger-class.html">Logger</a><tt class="py-op">:</tt> </tt>
-</div><div id="Logger-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Logger-expanded"><a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">        Add continuous logs and reports of the test.</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">        @author: Raghav Kashyap(raghavkashyap@paxterrasolutions.com)</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="Logger._printHeader"></a><div id="Logger._printHeader-def"><a name="L18"></a><tt class="py-lineno"> 18</tt> <a class="py-toggle" href="#" id="Logger._printHeader-toggle" onclick="return toggle('Logger._printHeader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.logger.Logger-class.html#_printHeader">_printHeader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="Logger._printHeader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Logger._printHeader-expanded"><a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">            Log's header will be append to the Log file</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">32</tt><tt class="py-op">+</tt><tt class="py-string">"+----------------+\n"</tt> <tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">" { Script And Files }  "</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> <tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">32</tt><tt class="py-op">+</tt><tt class="py-string">"+----------------+\n"</tt><tt class="py-op">;</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n\tScript Log File : "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n\tReport Log File : "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ReportFileName</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-0" class="py-name" targets="Module TestON.drivers.component=TestON.drivers.component-module.html"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-0', 'component', 'link-0');">component</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">            <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n\t"</tt><tt class="py-op">+</tt><tt id="link-1" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-1', 'component', 'link-0');">component</a></tt><tt class="py-op">+</tt><tt class="py-string">" Session Log : "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt><tt class="py-op">+</tt><tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt id="link-2" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-2', 'component', 'link-0');">component</a></tt><tt class="py-op">+</tt><tt class="py-string">".session"</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">             </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n\tTest Script :"</tt> <tt class="py-op">+</tt> <tt id="link-3" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-3', 'path', 'link-3');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"Tests/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt><tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n\tTest Params : "</tt> <tt class="py-op">+</tt> <tt id="link-4" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-4', 'path', 'link-3');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"Tests/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">".params"</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n\tTopology : "</tt> <tt class="py-op">+</tt> <tt id="link-5" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-5', 'path', 'link-3');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"Tests/"</tt> <tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">".tpl"</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">"+"</tt> <tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">18</tt><tt class="py-op">+</tt><tt class="py-string">"+"</tt> <tt class="py-op">+</tt><tt class="py-string">"\n"</tt> <tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">27</tt><tt class="py-op">+</tt><tt class="py-string">"  { Script Exec Params }  "</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">27</tt> <tt class="py-op">+</tt><tt class="py-string">"\n"</tt> <tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt> <tt class="py-op">+</tt><tt class="py-string">"+"</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">18</tt> <tt class="py-op">+</tt><tt class="py-string">"+\n"</tt><tt class="py-op">;</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">,</tt> <tt class="py-string">"\n\t"</tt><tt class="py-op">,</tt> <tt class="py-name">values</tt><tt class="py-op">)</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"{"</tt><tt class="py-op">,</tt> <tt class="py-string">"\n\t"</tt><tt class="py-op">,</tt> <tt class="py-name">values</tt><tt class="py-op">)</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"}"</tt><tt class="py-op">,</tt> <tt class="py-string">"\n\t"</tt><tt class="py-op">,</tt> <tt class="py-name">values</tt><tt class="py-op">)</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-name">values</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">         </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n\n"</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">31</tt><tt class="py-op">+</tt><tt class="py-string">"+---------------+\n"</tt> <tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">29</tt><tt class="py-op">+</tt><tt class="py-string">" { Components Used }  "</tt> <tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">29</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">31</tt><tt class="py-op">+</tt><tt class="py-string">"+---------------+\n"</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">component_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">component_list</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">         </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-comment"># Listing the components in the order of test_target component should be first.</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">dict</tt><tt class="py-op">:</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">test_target</tt> <tt class="py-op">==</tt> <tt class="py-name">key</tt> <tt class="py-op">:</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">                    <tt class="py-name">component_list</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">key</tt><tt class="py-op">+</tt><tt class="py-string">"-Test Target"</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">                    <tt class="py-name">component_list</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">                         </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">index</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">component_list</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">index</tt><tt class="py-op">==</tt><tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">component_list</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">                    <tt class="py-name">logmsg</tt><tt class="py-op">+=</tt><tt class="py-string">"\t"</tt><tt class="py-op">+</tt><tt class="py-name">component_list</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt> <tt class="py-op">:</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">                <tt class="py-name">logmsg</tt><tt class="py-op">+=</tt><tt class="py-string">"\t"</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">component_list</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">                 </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">             </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">             </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n\n"</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">"+--------+\n"</tt> <tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">28</tt><tt class="py-op">+</tt><tt class="py-string">" { Topology }  "</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">28</tt> <tt class="py-op">+</tt><tt class="py-string">"\n"</tt> <tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">"+--------+\n"</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">topology</tt><tt class="py-op">[</tt><tt class="py-string">'COMPONENT'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">,</tt> <tt class="py-string">"\n\t"</tt><tt class="py-op">,</tt> <tt class="py-name">values</tt><tt class="py-op">)</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"{"</tt><tt class="py-op">,</tt> <tt class="py-string">"\n\t"</tt><tt class="py-op">,</tt> <tt class="py-name">values</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"}"</tt><tt class="py-op">,</tt> <tt class="py-string">"\n\t"</tt><tt class="py-op">,</tt> <tt class="py-name">values</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-name">values</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">         </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">60</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">         </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-comment"># enter into log file all headers</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-name">logfile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt><tt class="py-op">,</tt><tt class="py-string">"w+"</tt><tt class="py-op">)</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt> <tt class="py-op">(</tt><tt class="py-name">logmsg</tt><tt class="py-op">)</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">logmsg</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logHeader</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">         </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-comment">#enter into report file all headers</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ReportFileName</tt><tt class="py-op">,</tt><tt class="py-string">"w+"</tt><tt class="py-op">)</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">logmsg</tt><tt class="py-op">)</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">         </tt>
-<a name="Logger.initlog"></a><div id="Logger.initlog-def"><a name="L81"></a><tt class="py-lineno"> 81</tt> <a class="py-toggle" href="#" id="Logger.initlog-toggle" onclick="return toggle('Logger.initlog');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.logger.Logger-class.html#initlog">initlog</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Logger.initlog-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Logger.initlog-expanded"><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">            Initialise all the log handles.</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.core.teston.TestON._getTest()=TestON.core.teston.TestON-class.html#_getTest"><a title="TestON.core.teston.TestON._getTest" class="py-name" href="#" onclick="return doclink('link-6', '_getTest', 'link-6');">_getTest</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">STARTTIME</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">now</tt><tt class="py-op">(</tt><tt class="py-op">)</tt>  </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">currentTime</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"-|\s|:|\."</tt><tt class="py-op">,</tt> <tt class="py-string">"_"</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">STARTTIME</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">"%d %b %Y %H:%M:%S"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt><tt class="py-op">:</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt><tt class="py-op">+</tt> <tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"_"</tt> <tt class="py-op">+</tt> <tt class="py-name">currentTime</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Variable TestON.core.teston.logs_path=TestON.core.teston-module.html#logs_path"><a title="TestON.core.teston.logs_path" class="py-name" href="#" onclick="return doclink('link-7', 'logs_path', 'link-7');">logs_path</a></tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"_"</tt> <tt class="py-op">+</tt> <tt class="py-name">currentTime</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">             </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">mkdir</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt><tt class="py-op">)</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">            </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"_"</tt> <tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">currentTime</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">".log"</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ReportFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"_"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">currentTime</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">".rpt"</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">                 </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-comment">#### Add log-level - Report</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">addLevelName</tt><tt class="py-op">(</tt><tt class="py-number">9</tt><tt class="py-op">,</tt> <tt class="py-string">"REPORT"</tt><tt class="py-op">)</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">addLevelName</tt><tt class="py-op">(</tt><tt class="py-number">7</tt><tt class="py-op">,</tt> <tt class="py-string">"EXACT"</tt><tt class="py-op">)</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">addLevelName</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">,</tt> <tt class="py-string">"CASE"</tt><tt class="py-op">)</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">addLevelName</tt><tt class="py-op">(</tt><tt class="py-number">11</tt><tt class="py-op">,</tt> <tt class="py-string">"STEP"</tt><tt class="py-op">)</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.drivers.component.Component.log()=TestON.drivers.component.Component-class.html#log"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-8', 'log', 'link-8');">log</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">)</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">report</tt> <tt class="py-op">(</tt><tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt class="py-docstring">'''</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">                Will append the report message to the logs.</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring">            '''</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt class="py-number">9</tt><tt class="py-op">,</tt><tt class="py-name">msg</tt><tt class="py-op">,</tt><tt class="py-string">"OpenFlowAutoMattion"</tt><tt class="py-op">,</tt><tt class="py-string">"OFAutoMation"</tt><tt class="py-op">)</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-name">currentTime</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">now</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">            <tt class="py-name">currentTime</tt> <tt class="py-op">=</tt> <tt class="py-name">currentTime</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">"%d %b %Y %H:%M:%S"</tt><tt class="py-op">)</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">            <tt class="py-name">newmsg</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n[REPORT] "</tt> <tt class="py-op">+</tt><tt class="py-string">"["</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">currentTime</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"] "</tt><tt class="py-op">+</tt><tt class="py-name">msg</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">newmsg</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ReportFileName</tt><tt class="py-op">,</tt><tt class="py-string">"a+"</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">newmsg</tt><tt class="py-op">)</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">             </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">             </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-10', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt> <tt class="py-op">=</tt> <tt class="py-name">report</tt>  </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">         </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">exact</tt> <tt class="py-op">(</tt><tt class="py-param">exmsg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">            <tt class="py-docstring">'''</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">               Will append the raw formatted message to the logs</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">            '''</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-11', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt class="py-number">7</tt><tt class="py-op">,</tt><tt class="py-name">exmsg</tt><tt class="py-op">,</tt><tt class="py-string">"OpenFlowAutoMattion"</tt><tt class="py-op">,</tt><tt class="py-string">"OFAutoMation"</tt><tt class="py-op">)</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ReportFileName</tt><tt class="py-op">,</tt><tt class="py-string">"a+"</tt><tt class="py-op">)</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">exmsg</tt><tt class="py-op">)</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt><tt class="py-op">,</tt><tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">exmsg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">exmsg</tt> </tt>
-</div><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">             </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-12', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exact</tt> <tt class="py-op">=</tt> <tt class="py-name">exact</tt>  </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">         </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">case</tt><tt class="py-op">(</tt><tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">            <tt class="py-docstring">'''</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring">               Format of the case type log defined here.</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-docstring">            '''</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt class="py-number">9</tt><tt class="py-op">,</tt><tt class="py-name">msg</tt><tt class="py-op">,</tt><tt class="py-string">"OpenFlowAutoMattion"</tt><tt class="py-op">,</tt><tt class="py-string">"OFAutoMation"</tt><tt class="py-op">)</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">            <tt class="py-name">currentTime</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">now</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">            <tt class="py-name">newmsg</tt> <tt class="py-op">=</tt> <tt class="py-string">"["</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">currentTime</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"] "</tt> <tt class="py-op">+</tt> <tt class="py-string">"["</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">+</tt><tt class="py-string">"] "</tt> <tt class="py-op">+</tt> <tt class="py-string">"[CASE] "</tt> <tt class="py-op">+</tt><tt class="py-name">msg</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt><tt class="py-op">,</tt><tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">newmsg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">newmsg</tt> </tt>
-</div><a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">                         </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-14', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-15', 'case', 'link-15');">case</a></tt> <tt class="py-op">=</tt> <tt id="link-16" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-16', 'case', 'link-15');">case</a></tt>  </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">         </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">step</tt> <tt class="py-op">(</tt><tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-docstring">'''</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">                Format of the step type log defined here.</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">            '''</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-17', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt class="py-number">9</tt><tt class="py-op">,</tt><tt class="py-name">msg</tt><tt class="py-op">,</tt><tt class="py-string">"OpenFlowAutoMattion"</tt><tt class="py-op">,</tt><tt class="py-string">"OFAutoMation"</tt><tt class="py-op">)</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">            <tt class="py-name">currentTime</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">now</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-name">newmsg</tt> <tt class="py-op">=</tt> <tt class="py-string">"["</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">currentTime</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"] "</tt> <tt class="py-op">+</tt> <tt class="py-string">"["</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">+</tt><tt class="py-string">"] "</tt> <tt class="py-op">+</tt> <tt class="py-string">"[STEP] "</tt> <tt class="py-op">+</tt><tt class="py-name">msg</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt><tt class="py-op">,</tt><tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">newmsg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">newmsg</tt> </tt>
-</div><a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">                         </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-18', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-19', 'step', 'link-19');">step</a></tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-20', 'step', 'link-19');">step</a></tt>  </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">         </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileHandler</tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">FileHandler</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt><tt class="py-op">)</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method TestON.core.logger.Logger._printHeader()=TestON.core.logger.Logger-class.html#_printHeader"><a title="TestON.core.logger.Logger._printHeader" class="py-name" href="#" onclick="return doclink('link-21', '_printHeader', 'link-21');">_printHeader</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">)</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-comment">### initializing logging module and settig log level</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-22', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">INFO</tt><tt class="py-op">)</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileHandler</tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">INFO</tt><tt class="py-op">)</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-comment"># create console handler with a higher log level</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ConsoleHandler</tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">StreamHandler</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ConsoleHandler</tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">INFO</tt><tt class="py-op">)</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-comment"># create formatter and add it to the handlers</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-name">formatter</tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">Formatter</tt><tt class="py-op">(</tt><tt class="py-string">'%(asctime)s - %(name)s - %(levelname)s - %(message)s'</tt><tt class="py-op">)</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ConsoleHandler</tt><tt class="py-op">.</tt><tt class="py-name">setFormatter</tt><tt class="py-op">(</tt><tt class="py-name">formatter</tt><tt class="py-op">)</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileHandler</tt><tt class="py-op">.</tt><tt class="py-name">setFormatter</tt><tt class="py-op">(</tt><tt class="py-name">formatter</tt><tt class="py-op">)</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-comment"># add the handlers to logger</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-23', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">addHandler</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ConsoleHandler</tt><tt class="py-op">)</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-24', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">addHandler</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileHandler</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">         </tt>
-<a name="Logger.testSummary"></a><div id="Logger.testSummary-def"><a name="L184"></a><tt class="py-lineno">184</tt> <a class="py-toggle" href="#" id="Logger.testSummary-toggle" onclick="return toggle('Logger.testSummary');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.logger.Logger-class.html#testSummary">testSummary</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Logger.testSummary-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Logger.testSummary-expanded"><a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-docstring">            testSummary will take care about the Summary of test.</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ENDTIME</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">now</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">EXECTIME</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ENDTIME</tt> <tt class="py-op">-</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">STARTTIME</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PASS</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_SUCCESS</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_SUCCESS</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PASS</tt><tt class="py-op">*</tt><tt class="py-number">100</tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt><tt class="py-op">)</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">             </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_EXECPERCENT</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_EXECPERCENT</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt><tt class="py-op">*</tt><tt class="py-number">100</tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PLANNED</tt><tt class="py-op">)</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">         </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">37</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">"\tTest Execution Summary\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">37</tt><tt class="py-op">+</tt><tt class="py-string">" \n"</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Test Start           : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">STARTTIME</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">"%d %b %Y %H:%M:%S"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Test End             : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ENDTIME</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">"%d %b %Y %H:%M:%S"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Execution Time       : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">EXECTIME</tt><tt class="py-op">)</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Total tests planned  : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PLANNED</tt><tt class="py-op">)</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Total tests RUN      : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt><tt class="py-op">)</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Total Pass           : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PASS</tt><tt class="py-op">)</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Total Fail           : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_FAIL</tt><tt class="py-op">)</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Total No Result      : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_NORESULT</tt><tt class="py-op">)</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Success Percentage   : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_SUCCESS</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"%"</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Execution Result     : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_EXECPERCENT</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"%"</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">         </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-comment">#main.log.report(testResult)</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testResult</tt> <tt class="py-op">=</tt> <tt class="py-name">testResult</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-25', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exact</tt><tt class="py-op">(</tt><tt class="py-name">testResult</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">                 </tt>
-<a name="Logger.updateCaseResults"></a><div id="Logger.updateCaseResults-def"><a name="L217"></a><tt class="py-lineno">217</tt> <a class="py-toggle" href="#" id="Logger.updateCaseResults-toggle" onclick="return toggle('Logger.updateCaseResults');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.logger.Logger-class.html#updateCaseResults">updateCaseResults</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Logger.updateCaseResults-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Logger.updateCaseResults-expanded"><a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"><tt class="py-docstring">            Update the case result based on the steps execution and asserting each step in the test-case</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt id="link-26" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-26', 'case', 'link-15');">case</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">         </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testCaseResult</tt><tt class="py-op">[</tt><tt id="link-27" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-27', 'case', 'link-15');">case</a></tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt>  <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_NORESULT</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_NORESULT</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-28', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exact</tt><tt class="py-op">(</tt><tt class="py-string">"\n "</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">29</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Result: No Assertion Called \n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">29</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testCaseResult</tt><tt class="py-op">[</tt><tt id="link-29" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-29', 'case', 'link-15');">case</a></tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt>  <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt>  <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PASS</tt> <tt class="py-op">=</tt>  <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PASS</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-30', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exact</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">29</tt><tt class="py-op">+</tt><tt class="py-string">"\n Result: Pass \n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">29</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testCaseResult</tt><tt class="py-op">[</tt><tt id="link-31" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-31', 'case', 'link-15');">case</a></tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt>  <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt>  <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_FAIL</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_FAIL</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-32', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exact</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">29</tt><tt class="py-op">+</tt><tt class="py-string">"\n Result: Failed \n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">29</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">    (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">datetime</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="Logger"></a><div id="Logger-def"><a name="L27"></a><tt class="py-lineno"> 27</tt> <a class="py-toggle" href="#" id="Logger-toggle" onclick="return toggle('Logger');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.core.logger.Logger-class.html">Logger</a><tt class="py-op">:</tt> </tt>
+</div><div id="Logger-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Logger-expanded"><a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-docstring">        Add continuous logs and reports of the test.</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring">        @author: Raghav Kashyap(raghavkashyap@paxterrasolutions.com)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="Logger._printHeader"></a><div id="Logger._printHeader-def"><a name="L33"></a><tt class="py-lineno"> 33</tt> <a class="py-toggle" href="#" id="Logger._printHeader-toggle" onclick="return toggle('Logger._printHeader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.logger.Logger-class.html#_printHeader">_printHeader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="Logger._printHeader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Logger._printHeader-expanded"><a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-docstring">            Log's header will be append to the Log file</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">32</tt><tt class="py-op">+</tt><tt class="py-string">"+----------------+\n"</tt> <tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">" { Script And Files }  "</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> <tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">32</tt><tt class="py-op">+</tt><tt class="py-string">"+----------------+\n"</tt><tt class="py-op">;</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n\tScript Log File : "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n\tReport Log File : "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ReportFileName</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">component</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">            <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n\t"</tt><tt class="py-op">+</tt><tt class="py-name">component</tt><tt class="py-op">+</tt><tt class="py-string">" Session Log : "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt><tt class="py-op">+</tt><tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">component</tt><tt class="py-op">+</tt><tt class="py-string">".session"</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n\tTest Script :"</tt> <tt class="py-op">+</tt> <tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-0', 'path', 'link-0');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"Tests/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt><tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n\tTest Params : "</tt> <tt class="py-op">+</tt> <tt id="link-1" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-1', 'path', 'link-0');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"Tests/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">".params"</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n\tTopology : "</tt> <tt class="py-op">+</tt> <tt id="link-2" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-2', 'path', 'link-0');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"Tests/"</tt> <tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">".topo"</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">"+"</tt> <tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">18</tt><tt class="py-op">+</tt><tt class="py-string">"+"</tt> <tt class="py-op">+</tt><tt class="py-string">"\n"</tt> <tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">27</tt><tt class="py-op">+</tt><tt class="py-string">"  { Script Exec Params }  "</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">27</tt> <tt class="py-op">+</tt><tt class="py-string">"\n"</tt> <tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt> <tt class="py-op">+</tt><tt class="py-string">"+"</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">18</tt> <tt class="py-op">+</tt><tt class="py-string">"+\n"</tt><tt class="py-op">;</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">,</tt> <tt class="py-string">"\n\t"</tt><tt class="py-op">,</tt> <tt class="py-name">values</tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"{"</tt><tt class="py-op">,</tt> <tt class="py-string">"\n\t"</tt><tt class="py-op">,</tt> <tt class="py-name">values</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"}"</tt><tt class="py-op">,</tt> <tt class="py-string">"\n\t"</tt><tt class="py-op">,</tt> <tt class="py-name">values</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-name">values</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n\n"</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">31</tt><tt class="py-op">+</tt><tt class="py-string">"+---------------+\n"</tt> <tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">29</tt><tt class="py-op">+</tt><tt class="py-string">" { Components Used }  "</tt> <tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">29</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">31</tt><tt class="py-op">+</tt><tt class="py-string">"+---------------+\n"</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-name">component_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-name">component_list</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-comment"># Listing the components in the order of test_target component should be first.</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">dict</tt><tt class="py-op">:</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">test_target</tt> <tt class="py-op">==</tt> <tt class="py-name">key</tt> <tt class="py-op">:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">                    <tt class="py-name">component_list</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">key</tt><tt class="py-op">+</tt><tt class="py-string">"-Test Target"</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">                    <tt class="py-name">component_list</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">index</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">component_list</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">index</tt><tt class="py-op">==</tt><tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">component_list</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">                    <tt class="py-name">logmsg</tt><tt class="py-op">+=</tt><tt class="py-string">"\t"</tt><tt class="py-op">+</tt><tt class="py-name">component_list</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt> <tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">                <tt class="py-name">logmsg</tt><tt class="py-op">+=</tt><tt class="py-string">"\t"</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">component_list</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n\n"</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">"+--------+\n"</tt> <tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">28</tt><tt class="py-op">+</tt><tt class="py-string">" { Topology }  "</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">28</tt> <tt class="py-op">+</tt><tt class="py-string">"\n"</tt> <tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">"+--------+\n"</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#topology,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topology"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-3', 'topology', 'link-3');">topology</a></tt><tt class="py-op">[</tt><tt class="py-string">'COMPONENT'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">,</tt> <tt class="py-string">"\n\t"</tt><tt class="py-op">,</tt> <tt class="py-name">values</tt><tt class="py-op">)</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"{"</tt><tt class="py-op">,</tt> <tt class="py-string">"\n\t"</tt><tt class="py-op">,</tt> <tt class="py-name">values</tt><tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"}"</tt><tt class="py-op">,</tt> <tt class="py-string">"\n\t"</tt><tt class="py-op">,</tt> <tt class="py-name">values</tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-name">values</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-name">logmsg</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt> <tt class="py-op">*</tt> <tt class="py-number">60</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-comment"># enter into log file all headers</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-name">logfile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt><tt class="py-op">,</tt><tt class="py-string">"w+"</tt><tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt> <tt class="py-op">(</tt><tt class="py-name">logmsg</tt><tt class="py-op">)</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">logmsg</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logHeader</tt> <tt class="py-op">=</tt> <tt class="py-name">logmsg</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-comment">#enter into report file all headers</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ReportFileName</tt><tt class="py-op">,</tt><tt class="py-string">"w+"</tt><tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">logmsg</tt><tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-comment">#Sumamry file header</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-name">currentTime</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">STARTTIME</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">"%d %b %Y %H:%M:%S"</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">summaryFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">SummaryFileName</tt><tt class="py-op">,</tt> <tt class="py-string">"w+"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">summaryFile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">" at "</tt> <tt class="py-op">+</tt> <tt class="py-name">currentTime</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">summaryFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-comment">#wiki file header</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-name">currentTime</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">STARTTIME</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">"%d %b %Y %H:%M:%S"</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">wikiFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">WikiFileName</tt><tt class="py-op">,</tt> <tt class="py-string">"w+"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">wikiFile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">" at "</tt> <tt class="py-op">+</tt> <tt class="py-name">currentTime</tt> <tt class="py-op">+</tt> <tt class="py-string">"&lt;p&gt;&lt;/p&gt;\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">wikiFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
+<a name="Logger.initlog"></a><div id="Logger.initlog-def"><a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="Logger.initlog-toggle" onclick="return toggle('Logger.initlog');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.logger.Logger-class.html#initlog">initlog</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Logger.initlog-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Logger.initlog-expanded"><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring">            Initialise all the log handles.</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method TestON.core.teston.TestON._getTest()=TestON.core.teston.TestON-class.html#_getTest"><a title="TestON.core.teston.TestON._getTest" class="py-name" href="#" onclick="return doclink('link-4', '_getTest', 'link-4');">_getTest</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">STARTTIME</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">now</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-name">currentTime</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"-|\s|:|\."</tt><tt class="py-op">,</tt> <tt class="py-string">"_"</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">STARTTIME</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">"%d %b %Y %H:%M:%S"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt><tt class="py-op">:</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt><tt class="py-op">+</tt> <tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"_"</tt> <tt class="py-op">+</tt> <tt class="py-name">currentTime</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Variable TestON.bin.cli.logs_path=TestON.bin.cli-module.html#logs_path,Variable TestON.core.teston.logs_path=TestON.core.teston-module.html#logs_path"><a title="TestON.bin.cli.logs_path
+TestON.core.teston.logs_path" class="py-name" href="#" onclick="return doclink('link-5', 'logs_path', 'link-5');">logs_path</a></tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"_"</tt> <tt class="py-op">+</tt> <tt class="py-name">currentTime</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">mkdir</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt><tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"_"</tt> <tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">currentTime</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">".log"</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ReportFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"_"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">currentTime</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">".rpt"</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">WikiFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"Wiki.txt"</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">SummaryFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"Summary.txt"</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">JenkinsCSV</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">".csv"</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-comment">#### Add log-level - Report</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">addLevelName</tt><tt class="py-op">(</tt><tt class="py-number">9</tt><tt class="py-op">,</tt> <tt class="py-string">"REPORT"</tt><tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">addLevelName</tt><tt class="py-op">(</tt><tt class="py-number">7</tt><tt class="py-op">,</tt> <tt class="py-string">"EXACT"</tt><tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">addLevelName</tt><tt class="py-op">(</tt><tt class="py-number">11</tt><tt class="py-op">,</tt> <tt class="py-string">"CASE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">addLevelName</tt><tt class="py-op">(</tt><tt class="py-number">12</tt><tt class="py-op">,</tt> <tt class="py-string">"STEP"</tt><tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-6', 'log', 'link-6');">log</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">)</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">report</tt><tt class="py-op">(</tt><tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">            <tt class="py-docstring">'''</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">                Will append the report message to the logs.</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring">            '''</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-7', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt class="py-number">9</tt><tt class="py-op">,</tt><tt class="py-name">msg</tt><tt class="py-op">,</tt><tt class="py-string">"OpenFlowAutoMattion"</tt><tt class="py-op">,</tt><tt class="py-string">"OFAutoMation"</tt><tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">            <tt class="py-name">currentTime</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">now</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">            <tt class="py-name">currentTime</tt> <tt class="py-op">=</tt> <tt class="py-name">currentTime</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">"%d %b %Y %H:%M:%S"</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">            <tt class="py-name">newmsg</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n[REPORT] "</tt> <tt class="py-op">+</tt><tt class="py-string">"["</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">currentTime</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"] "</tt><tt class="py-op">+</tt><tt class="py-name">msg</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">newmsg</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ReportFileName</tt><tt class="py-op">,</tt><tt class="py-string">"a+"</tt><tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">newmsg</tt><tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-8', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt> <tt class="py-op">=</tt> <tt class="py-name">report</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">summary</tt><tt class="py-op">(</tt> <tt class="py-param">msg</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">            <tt class="py-docstring">'''</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-docstring">                Will append the message to the txt file for the summary.</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-docstring">            '''</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt class="py-number">6</tt><tt class="py-op">,</tt><tt class="py-name">msg</tt><tt class="py-op">,</tt><tt class="py-string">"OpenFlowAutoMattion"</tt><tt class="py-op">,</tt><tt class="py-string">"OFAutoMation"</tt><tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">summaryFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">SummaryFileName</tt><tt class="py-op">,</tt><tt class="py-string">"a+"</tt><tt class="py-op">)</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">summaryFile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">summaryFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-10', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.summary()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#summary"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.summary" class="py-name" href="#" onclick="return doclink('link-11', 'summary', 'link-11');">summary</a></tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.summary" class="py-name" href="#" onclick="return doclink('link-12', 'summary', 'link-11');">summary</a></tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-param">msg</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-docstring">'''</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring">                Will append the message to the txt file for the wiki.</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-docstring">            '''</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt class="py-number">6</tt><tt class="py-op">,</tt><tt class="py-name">msg</tt><tt class="py-op">,</tt><tt class="py-string">"OpenFlowAutoMattion"</tt><tt class="py-op">,</tt><tt class="py-string">"OFAutoMation"</tt><tt class="py-op">)</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">wikiFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">WikiFileName</tt><tt class="py-op">,</tt><tt class="py-string">"a+"</tt><tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">wikiFile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">wikiFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-14', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt> <tt class="py-op">=</tt> <tt class="py-name">wiki</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">exact</tt><tt class="py-op">(</tt><tt class="py-param">exmsg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">            <tt class="py-docstring">'''</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-docstring">               Will append the raw formatted message to the logs</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-docstring">            '''</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-15', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt class="py-number">7</tt><tt class="py-op">,</tt><tt class="py-name">exmsg</tt><tt class="py-op">,</tt><tt class="py-string">"OpenFlowAutoMattion"</tt><tt class="py-op">,</tt><tt class="py-string">"OFAutoMation"</tt><tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ReportFileName</tt><tt class="py-op">,</tt><tt class="py-string">"a+"</tt><tt class="py-op">)</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">exmsg</tt><tt class="py-op">)</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">reportFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt><tt class="py-op">,</tt><tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">exmsg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">exmsg</tt> </tt>
+</div><a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-16', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exact</tt> <tt class="py-op">=</tt> <tt class="py-name">exact</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">case</tt><tt class="py-op">(</tt><tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">            <tt class="py-docstring">'''</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"><tt class="py-docstring">               Format of the case type log defined here.</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-docstring">            '''</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-17', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt class="py-number">9</tt><tt class="py-op">,</tt><tt class="py-name">msg</tt><tt class="py-op">,</tt><tt class="py-string">"OpenFlowAutoMattion"</tt><tt class="py-op">,</tt><tt class="py-string">"OFAutoMation"</tt><tt class="py-op">)</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">            <tt class="py-name">currentTime</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">now</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">            <tt class="py-name">newmsg</tt> <tt class="py-op">=</tt> <tt class="py-string">"["</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">currentTime</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"] "</tt> <tt class="py-op">+</tt> <tt class="py-string">"["</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">+</tt><tt class="py-string">"] "</tt> <tt class="py-op">+</tt> <tt class="py-string">"[CASE] "</tt> <tt class="py-op">+</tt><tt class="py-name">msg</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt><tt class="py-op">,</tt><tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">newmsg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">newmsg</tt> </tt>
+</div><a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-18', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-19', 'case', 'link-19');">case</a></tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-20', 'case', 'link-19');">case</a></tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">step</tt><tt class="py-op">(</tt><tt class="py-param">msg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-docstring">'''</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"><tt class="py-docstring">                Format of the step type log defined here.</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line"><tt class="py-docstring">            '''</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-21', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">_log</tt><tt class="py-op">(</tt><tt class="py-number">9</tt><tt class="py-op">,</tt><tt class="py-name">msg</tt><tt class="py-op">,</tt><tt class="py-string">"OpenFlowAutoMattion"</tt><tt class="py-op">,</tt><tt class="py-string">"OFAutoMation"</tt><tt class="py-op">)</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-name">currentTime</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">now</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">            <tt class="py-name">newmsg</tt> <tt class="py-op">=</tt> <tt class="py-string">"["</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">currentTime</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"] "</tt> <tt class="py-op">+</tt> <tt class="py-string">"["</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">+</tt><tt class="py-string">"] "</tt> <tt class="py-op">+</tt> <tt class="py-string">"[STEP] "</tt> <tt class="py-op">+</tt><tt class="py-name">msg</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt><tt class="py-op">,</tt><tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">newmsg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">newmsg</tt> </tt>
+</div><a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-22', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-23', 'step', 'link-23');">step</a></tt> <tt class="py-op">=</tt> <tt id="link-24" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-24', 'step', 'link-23');">step</a></tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileHandler</tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">FileHandler</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileName</tt><tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method TestON.core.logger.Logger._printHeader()=TestON.core.logger.Logger-class.html#_printHeader"><a title="TestON.core.logger.Logger._printHeader" class="py-name" href="#" onclick="return doclink('link-25', '_printHeader', 'link-25');">_printHeader</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">)</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-comment">### initializing logging module and settig log level</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-26', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">INFO</tt><tt class="py-op">)</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-27', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">DEBUG</tt><tt class="py-op">)</tt> <tt class="py-comment"># Temporary</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileHandler</tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">INFO</tt><tt class="py-op">)</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-comment"># create console handler with a higher log level</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ConsoleHandler</tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">StreamHandler</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ConsoleHandler</tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">INFO</tt><tt class="py-op">)</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ConsoleHandler</tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">DEBUG</tt><tt class="py-op">)</tt> <tt class="py-comment">#Temporary</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-comment"># create formatter and add it to the handlers</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-comment">#formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">MyFormatter</tt><tt class="py-op">(</tt> <tt class="py-base-class">logging</tt><tt class="py-op">.</tt><tt class="py-base-class">Formatter</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">            <tt class="py-name">colors</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">'cyan'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[96m'</tt><tt class="py-op">,</tt> <tt class="py-string">'purple'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[95m'</tt><tt class="py-op">,</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">                       <tt class="py-string">'blue'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[94m'</tt><tt class="py-op">,</tt> <tt class="py-string">'green'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[92m'</tt><tt class="py-op">,</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">                       <tt class="py-string">'yellow'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[93m'</tt><tt class="py-op">,</tt> <tt class="py-string">'red'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[91m'</tt><tt class="py-op">,</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">                       <tt class="py-string">'end'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[0m'</tt> <tt class="py-op">}</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">            <tt class="py-name">FORMATS</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'DEFAULT'</tt><tt class="py-op">:</tt> <tt class="py-string">'%(asctime)s - %(name)s - %(levelname)s - %(message)s'</tt><tt class="py-op">}</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">COLORS</tt><tt class="py-op">:</tt>  <tt class="py-comment"># NOTE:colors will only be loaded if command is run from one line</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">                        <tt class="py-comment">#      IE:   './cli.py run testname'</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">                        <tt class="py-comment">#      This is to prevent issues with Jenkins parsing</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">                        <tt class="py-comment"># TODO: Make colors configurable</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">                <tt class="py-name">levels</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> <tt class="py-op">:</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt><tt class="py-string">'red'</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">                                           <tt class="py-name">FORMATS</tt><tt class="py-op">[</tt><tt class="py-string">'DEFAULT'</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">                                           <tt class="py-name">colors</tt><tt class="py-op">[</tt><tt class="py-string">'end'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">                           <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">WARN</tt> <tt class="py-op">:</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt><tt class="py-string">'yellow'</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">                                          <tt class="py-name">FORMATS</tt><tt class="py-op">[</tt><tt class="py-string">'DEFAULT'</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">                                          <tt class="py-name">colors</tt><tt class="py-op">[</tt><tt class="py-string">'end'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">                           <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">DEBUG</tt> <tt class="py-op">:</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt><tt class="py-string">'purple'</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">                                          <tt class="py-name">FORMATS</tt><tt class="py-op">[</tt><tt class="py-string">'DEFAULT'</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">                                          <tt class="py-name">colors</tt><tt class="py-op">[</tt><tt class="py-string">'end'</tt><tt class="py-op">]</tt> <tt class="py-op">}</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">                <tt class="py-name">FORMATS</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method TestON.core.dicttoobject.DictToObject.update()=TestON.core.dicttoobject.DictToObject-class.html#update,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#update"><a title="TestON.core.dicttoobject.DictToObject.update
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update" class="py-name" href="#" onclick="return doclink('link-28', 'update', 'link-28');">update</a></tt><tt class="py-op">(</tt> <tt class="py-name">levels</tt> <tt class="py-op">)</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">format</tt><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">record</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FORMATS</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-name">record</tt><tt class="py-op">.</tt><tt class="py-name">levelno</tt><tt class="py-op">,</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">                                              <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FORMATS</tt><tt class="py-op">[</tt> <tt class="py-string">'DEFAULT'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">Formatter</tt><tt class="py-op">.</tt><tt class="py-name">format</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">record</tt> <tt class="py-op">)</tt> </tt>
+</div></div><a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">        <tt class="py-name">formatter</tt> <tt class="py-op">=</tt> <tt class="py-name">MyFormatter</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ConsoleHandler</tt><tt class="py-op">.</tt><tt class="py-name">setFormatter</tt><tt class="py-op">(</tt><tt class="py-name">formatter</tt><tt class="py-op">)</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileHandler</tt><tt class="py-op">.</tt><tt class="py-name">setFormatter</tt><tt class="py-op">(</tt><tt class="py-name">formatter</tt><tt class="py-op">)</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line"> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">        <tt class="py-comment"># add the handlers to logger</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-29', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">addHandler</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ConsoleHandler</tt><tt class="py-op">)</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-30', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">addHandler</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">LogFileHandler</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"> </tt>
+<a name="Logger.testSummary"></a><div id="Logger.testSummary-def"><a name="L258"></a><tt class="py-lineno">258</tt> <a class="py-toggle" href="#" id="Logger.testSummary-toggle" onclick="return toggle('Logger.testSummary');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.logger.Logger-class.html#testSummary">testSummary</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Logger.testSummary-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Logger.testSummary-expanded"><a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"><tt class="py-docstring">            testSummary will take care about the Summary of test.</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ENDTIME</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">now</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">EXECTIME</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ENDTIME</tt> <tt class="py-op">-</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">STARTTIME</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PASS</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_SUCCESS</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_SUCCESS</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PASS</tt><tt class="py-op">*</tt><tt class="py-number">100</tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt><tt class="py-op">)</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_EXECPERCENT</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_EXECPERCENT</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt><tt class="py-op">*</tt><tt class="py-number">100</tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PLANNED</tt><tt class="py-op">)</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">37</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">"\tTest Execution Summary\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">37</tt><tt class="py-op">+</tt><tt class="py-string">" \n"</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Test Start           : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">STARTTIME</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">"%d %b %Y %H:%M:%S"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Test End             : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ENDTIME</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">"%d %b %Y %H:%M:%S"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Execution Time       : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">EXECTIME</tt><tt class="py-op">)</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Total tests planned  : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PLANNED</tt><tt class="py-op">)</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Total tests RUN      : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt><tt class="py-op">)</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Total Pass           : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PASS</tt><tt class="py-op">)</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Total Fail           : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_FAIL</tt><tt class="py-op">)</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Total No Result      : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_NORESULT</tt><tt class="py-op">)</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Success Percentage   : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_SUCCESS</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"%"</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">        <tt class="py-name">testResult</tt> <tt class="py-op">=</tt>  <tt class="py-name">testResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Execution Result     : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_EXECPERCENT</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"%"</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">        <tt class="py-comment">#main.log.report(testResult)</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testResult</tt> <tt class="py-op">=</tt> <tt class="py-name">testResult</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-31', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exact</tt><tt class="py-op">(</tt><tt class="py-name">testResult</tt><tt class="py-op">)</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line"> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">        <tt class="py-comment">##CSV output needed for Jenkin's plot plugin</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">        <tt class="py-comment">#NOTE: the elements were orded based on the colors assigned to the data</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">        <tt class="py-name">logfile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">JenkinsCSV</tt> <tt class="py-op">,</tt><tt class="py-string">"w"</tt><tt class="py-op">)</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">        <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">'Tests Failed'</tt><tt class="py-op">,</tt> <tt class="py-string">'Tests Passed'</tt><tt class="py-op">,</tt> <tt class="py-string">'Tests Planned'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">        <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_FAIL</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PASS</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PLANNED</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">        <tt class="py-name">logfile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"> </tt>
+<a name="Logger.updateCaseResults"></a><div id="Logger.updateCaseResults-def"><a name="L296"></a><tt class="py-lineno">296</tt> <a class="py-toggle" href="#" id="Logger.updateCaseResults-toggle" onclick="return toggle('Logger.updateCaseResults');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.logger.Logger-class.html#updateCaseResults">updateCaseResults</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Logger.updateCaseResults-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Logger.updateCaseResults-expanded"><a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line"><tt class="py-docstring">            Update the case result based on the steps execution and asserting each step in the test-case</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">        <tt id="link-32" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-32', 'case', 'link-19');">case</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">        <tt class="py-name">currentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testCaseResult</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt id="link-33" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-33', 'case', 'link-19');">case</a></tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line"> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">currentResult</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt>  <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_NORESULT</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_NORESULT</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-34', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exact</tt><tt class="py-op">(</tt><tt class="py-string">"\n "</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">29</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n Result: No Assertion Called \n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">29</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">            <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-string">"Case "</tt><tt class="py-op">+</tt><tt id="link-35" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-35', 'case', 'link-19');">case</a></tt><tt class="py-op">+</tt><tt class="py-string">": "</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCase</tt><tt class="py-op">+</tt><tt class="py-string">" - No Result"</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">currentResult</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt>  <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt>  <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PASS</tt> <tt class="py-op">=</tt>  <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PASS</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-36', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exact</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">29</tt><tt class="py-op">+</tt><tt class="py-string">"\n Result: Pass \n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">29</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">            <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-string">"Case "</tt><tt class="py-op">+</tt><tt id="link-37" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-37', 'case', 'link-19');">case</a></tt><tt class="py-op">+</tt><tt class="py-string">": "</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCase</tt><tt class="py-op">+</tt><tt class="py-string">" - PASS"</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">currentResult</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt>  <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt>  <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_FAIL</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_FAIL</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-38', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exact</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">29</tt><tt class="py-op">+</tt><tt class="py-string">"\n Result: Failed \n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">29</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">            <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-string">"Case "</tt><tt class="py-op">+</tt><tt id="link-39" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-39', 'case', 'link-19');">case</a></tt><tt class="py-op">+</tt><tt class="py-string">": "</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCase</tt><tt class="py-op">+</tt><tt class="py-string">" - FAIL"</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-40', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-41', 'error', 'link-41');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">" Unknown result of case "</tt> <tt class="py-op">+</tt> <tt id="link-42" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-42', 'case', 'link-19');">case</a></tt> <tt class="py-op">+</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">                            <tt class="py-string">". Result was: "</tt> <tt class="py-op">+</tt> <tt class="py-name">currentResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">            <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-string">"Case "</tt><tt class="py-op">+</tt><tt id="link-43" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-43', 'case', 'link-19');">case</a></tt><tt class="py-op">+</tt><tt class="py-string">": "</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCase</tt><tt class="py-op">+</tt><tt class="py-string">" - ERROR"</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-44', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-string">"&lt;h3&gt;"</tt> <tt class="py-op">+</tt> <tt class="py-name">line</tt> <tt class="py-op">+</tt> <tt class="py-string">"&lt;/h3&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-45', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.summary" class="py-name" href="#" onclick="return doclink('link-46', 'summary', 'link-11');">summary</a></tt><tt class="py-op">(</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> </tt>
+</div></div><a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -321,13 +418,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.logger.Logger-class.html b/TestON/Documentation/TestON_Document/TestON.core.logger.Logger-class.html
index 2ec0a24..68254ac 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.logger.Logger-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.logger.Logger-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -175,13 +180,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.openspeak-module.html b/TestON/Documentation/TestON_Document/TestON.core.openspeak-module.html
index a15da6b..6c035d0 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.openspeak-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.openspeak-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -62,6 +67,17 @@
 <hr />
 <div class="fields">      <p><strong>Author:</strong>
         Raghav Kashyap(raghavkashyap@paxterrasolutions.com)
+        <p>TestON is free software: you can redistribute it and/or modify 
+        it under the terms of the GNU General Public License as published 
+        by the Free Software Foundation, either version 2 of the License, 
+        or (at your option) any later version.</p>
+        <p>TestON is distributed in the hope that it will be useful, but 
+        WITHOUT ANY WARRANTY; without even the implied warranty of 
+        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+        General Public License for more details.</p>
+        <p>You should have received a copy of the GNU General Public 
+        License along with TestON.  If not, see 
+        &lt;http://www.gnu.org/licenses/&gt;.</p>
       </p>
 </div><!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
@@ -88,6 +104,31 @@
     </td>
   </tr>
 </table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.core'"><code class="variable-quote">'</code><code class="variable-string">TestON.core</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -108,13 +149,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.openspeak-pysrc.html b/TestON/Documentation/TestON_Document/TestON.core.openspeak-pysrc.html
index 7de9d0f..c30ddce 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.openspeak-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.openspeak-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,797 +65,821 @@
 <a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#/usr/bin/env python</tt> </tt>
 <a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
 <a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 20-Dec-2012</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">       </tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
 <a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Raghav Kashyap(raghavkashyap@paxterrasolutions.com)</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">inspect</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"> </tt>
-<a name="OpenSpeak"></a><div id="OpenSpeak-def"><a name="L11"></a><tt class="py-lineno"> 11</tt> <a class="py-toggle" href="#" id="OpenSpeak-toggle" onclick="return toggle('OpenSpeak');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="OpenSpeak-expanded"><a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"> </tt>
-<a name="OpenSpeak.__init__"></a><div id="OpenSpeak.__init__-def"><a name="L13"></a><tt class="py-lineno"> 13</tt> <a class="py-toggle" href="#" id="OpenSpeak.__init__-toggle" onclick="return toggle('OpenSpeak.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.__init__-expanded"><a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt>  </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentStep</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grtrOrLssr</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-</div><a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"> </tt>
-<a name="OpenSpeak.compiler"></a><div id="OpenSpeak.compiler-def"><a name="L19"></a><tt class="py-lineno"> 19</tt> <a class="py-toggle" href="#" id="OpenSpeak.compiler-toggle" onclick="return toggle('OpenSpeak.compiler');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#compiler">compiler</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">compileParameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.compiler-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.compiler-expanded"><a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">         This method will parse the openspeak file and will write to a python module with the equivalent translations. </tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">         It can accept OpenSpeak syntax in string or an OpenSpeak file as an input parameter. </tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">         Translated form can be written into python module if attribute "WRITETOFILE" is set to 1.</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">       </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.parse_args()=TestON.core.openspeak.OpenSpeak-class.html#parse_args"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-1', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"OPENSPEAKFILE"</tt><tt class="py-op">,</tt><tt class="py-string">"TEXT"</tt><tt class="py-op">,</tt><tt class="py-string">"WRITETOFILE"</tt><tt class="py-op">,</tt><tt class="py-string">"FILEHANDLE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">compileParameters</tt><tt class="py-op">)</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-name">Test</tt> <tt class="py-op">=</tt> <tt class="py-string">"Mininet"</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"WRITETOFILE"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"WRITETOFILE"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"WRITETOFILE"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-number">1</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentStep</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentCase</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">  </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-comment">## here Open Speak file will be parsed by each line and translated.</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPENSPEAKFILE"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt><tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TEXT"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt><tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"FILEHANDLE"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">openspeakfile</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPENSPEAKFILE"</tt><tt class="py-op">]</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">            <tt class="py-name">openSpeakFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPENSPEAKFILE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-string">"r"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">  </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPENSPEAKFILE"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt><tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TEXT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"FILEHANDLE"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt>  </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">            <tt class="py-name">openSpeakFile</tt> <tt class="py-op">=</tt>  <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TEXT"</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt>      </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"FILEHANDLE"</tt><tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPENSPEAKFILE"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt><tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TEXT"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">            <tt class="py-name">openSpeakFile</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"FILEHANDLE"</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">             </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-name">outputFile</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-name">testName</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"\/(.*)\.ospk$"</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">testName</tt> <tt class="py-op">=</tt> <tt class="py-name">testName</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-name">testName</tt> <tt class="py-op">=</tt> <tt class="py-name">testName</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-name">testName</tt> <tt class="py-op">=</tt> <tt class="py-name">testName</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">testName</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-name">outputFile</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"\nclass "</tt> <tt class="py-op">+</tt> <tt class="py-name">testName</tt> <tt class="py-op">+</tt> <tt class="py-string">" :"</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-name">outputFile</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt> <tt class="py-op">+</tt> <tt class="py-string">"def __init__(self) :"</tt><tt class="py-op">)</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-name">outputFile</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">8</tt> <tt class="py-op">+</tt> <tt class="py-string">"self.default = \'\'"</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">)</tt>     </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">         </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">index</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">openSpeakFile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">            <tt class="py-name">ifelseMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s+IF|\s+ELSE|\s+ELIF"</tt><tt class="py-op">,</tt><tt class="py-name">openSpeakFile</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">openSpeakFile</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-name">repeatMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*REPEAT"</tt><tt class="py-op">,</tt> <tt class="py-name">openSpeakFile</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ifelseMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt>  <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.verify_and_translate()=TestON.core.openspeak.OpenSpeak-class.html#verify_and_translate"><a title="TestON.core.openspeak.OpenSpeak.verify_and_translate" class="py-name" href="#" onclick="return doclink('link-2', 'verify_and_translate', 'link-2');">verify_and_translate</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt>  </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">                <tt class="py-name">initialSpaces</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">lstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">outLoopSpace</tt> <tt class="py-op">=</tt> <tt class="py-name">initialSpaces</tt>   </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">                <tt class="py-name">nextLine</tt> <tt class="py-op">=</tt> <tt class="py-name">openSpeakFile</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">                <tt class="py-name">nextinitialSpaces</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">nextLine</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">nextLine</tt><tt class="py-op">.</tt><tt class="py-name">lstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">                 </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                     </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">                <tt class="py-keyword">while</tt> <tt class="py-name">nextinitialSpaces</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">initialSpaces</tt> <tt class="py-op">:</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">                    <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">                        <tt class="py-name">elseMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*ELSE|\s*ELIF"</tt><tt class="py-op">,</tt><tt class="py-name">nextLine</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">elseMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">                            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt>     </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">                        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.verify_and_translate" class="py-name" href="#" onclick="return doclink('link-3', 'verify_and_translate', 'link-2');">verify_and_translate</a></tt><tt class="py-op">(</tt><tt class="py-name">nextLine</tt><tt class="py-op">)</tt>   </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">                        <tt class="py-name">nextLine</tt> <tt class="py-op">=</tt> <tt class="py-name">openSpeakFile</tt><tt class="py-op">[</tt><tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">                        <tt class="py-name">nextinitialSpaces</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">nextLine</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">nextLine</tt><tt class="py-op">.</tt><tt class="py-name">lstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">                    <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">                        <tt class="py-keyword">pass</tt>  </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">                    <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt>  </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">repeatMatch</tt><tt class="py-op">:</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt>  <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.verify_and_translate" class="py-name" href="#" onclick="return doclink('link-4', 'verify_and_translate', 'link-2');">verify_and_translate</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">                <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">                <tt class="py-name">endMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*END"</tt><tt class="py-op">,</tt><tt class="py-name">openSpeakFile</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">                <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">endMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">                    <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">                         </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">                        <tt class="py-name">result</tt> <tt class="py-op">=</tt>  <tt class="py-name">result</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.verify_and_translate" class="py-name" href="#" onclick="return doclink('link-5', 'verify_and_translate', 'link-2');">verify_and_translate</a></tt><tt class="py-op">(</tt><tt class="py-name">openSpeakFile</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">                        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">                         </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                    <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt> <tt class="py-op">:</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">    (at your option) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">inspect</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak"></a><div id="OpenSpeak-def"><a name="L27"></a><tt class="py-lineno"> 27</tt> <a class="py-toggle" href="#" id="OpenSpeak-toggle" onclick="return toggle('OpenSpeak');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="OpenSpeak-expanded"><a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.__init__"></a><div id="OpenSpeak.__init__-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="OpenSpeak.__init__-toggle" onclick="return toggle('OpenSpeak.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.__init__-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentStep</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grtrOrLssr</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+</div><a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.compiler"></a><div id="OpenSpeak.compiler-def"><a name="L35"></a><tt class="py-lineno"> 35</tt> <a class="py-toggle" href="#" id="OpenSpeak.compiler-toggle" onclick="return toggle('OpenSpeak.compiler');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#compiler">compiler</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">compileParameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.compiler-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.compiler-expanded"><a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">         This method will parse the openspeak file and will write to a python module with the equivalent translations.</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-docstring">         It can accept OpenSpeak syntax in string or an OpenSpeak file as an input parameter.</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-docstring">         Translated form can be written into python module if attribute "WRITETOFILE" is set to 1.</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.parse_args()=TestON.core.openspeak.OpenSpeak-class.html#parse_args"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-1', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"OPENSPEAKFILE"</tt><tt class="py-op">,</tt><tt class="py-string">"TEXT"</tt><tt class="py-op">,</tt><tt class="py-string">"WRITETOFILE"</tt><tt class="py-op">,</tt><tt class="py-string">"FILEHANDLE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">compileParameters</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-name">Test</tt> <tt class="py-op">=</tt> <tt class="py-string">"Mininet"</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"WRITETOFILE"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"WRITETOFILE"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"WRITETOFILE"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-number">1</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentStep</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentCase</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-comment">## here Open Speak file will be parsed by each line and translated.</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPENSPEAKFILE"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt><tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TEXT"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt><tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"FILEHANDLE"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">openspeakfile</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPENSPEAKFILE"</tt><tt class="py-op">]</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">            <tt class="py-name">openSpeakFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPENSPEAKFILE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-string">"r"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPENSPEAKFILE"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt><tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TEXT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"FILEHANDLE"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt class="py-name">openSpeakFile</tt> <tt class="py-op">=</tt>  <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TEXT"</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"FILEHANDLE"</tt><tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPENSPEAKFILE"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt><tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TEXT"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-name">openSpeakFile</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"FILEHANDLE"</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-name">outputFile</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-name">testName</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"\/(.*)\.ospk$"</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-name">testName</tt> <tt class="py-op">=</tt> <tt class="py-name">testName</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-name">testName</tt> <tt class="py-op">=</tt> <tt class="py-name">testName</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-name">testName</tt> <tt class="py-op">=</tt> <tt class="py-name">testName</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">testName</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-name">outputFile</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"\nclass "</tt> <tt class="py-op">+</tt> <tt class="py-name">testName</tt> <tt class="py-op">+</tt> <tt class="py-string">" :"</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-name">outputFile</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt> <tt class="py-op">+</tt> <tt class="py-string">"def __init__(self) :"</tt><tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-name">outputFile</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">8</tt> <tt class="py-op">+</tt> <tt class="py-string">"self.default = \'\'"</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">index</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">openSpeakFile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">            <tt class="py-name">ifelseMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s+IF|\s+ELSE|\s+ELIF"</tt><tt class="py-op">,</tt><tt class="py-name">openSpeakFile</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">            <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">openSpeakFile</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">            <tt class="py-name">repeatMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*REPEAT"</tt><tt class="py-op">,</tt> <tt class="py-name">openSpeakFile</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ifelseMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt>  <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.verify_and_translate()=TestON.core.openspeak.OpenSpeak-class.html#verify_and_translate"><a title="TestON.core.openspeak.OpenSpeak.verify_and_translate" class="py-name" href="#" onclick="return doclink('link-2', 'verify_and_translate', 'link-2');">verify_and_translate</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">                <tt class="py-name">initialSpaces</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">lstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">outLoopSpace</tt> <tt class="py-op">=</tt> <tt class="py-name">initialSpaces</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">                <tt class="py-name">nextLine</tt> <tt class="py-op">=</tt> <tt class="py-name">openSpeakFile</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">                <tt class="py-name">nextinitialSpaces</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">nextLine</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">nextLine</tt><tt class="py-op">.</tt><tt class="py-name">lstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">                <tt class="py-keyword">while</tt> <tt class="py-name">nextinitialSpaces</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">initialSpaces</tt> <tt class="py-op">:</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">                    <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">                        <tt class="py-name">elseMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*ELSE|\s*ELIF"</tt><tt class="py-op">,</tt><tt class="py-name">nextLine</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">elseMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">                            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">                        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.verify_and_translate" class="py-name" href="#" onclick="return doclink('link-3', 'verify_and_translate', 'link-2');">verify_and_translate</a></tt><tt class="py-op">(</tt><tt class="py-name">nextLine</tt><tt class="py-op">)</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">                        <tt class="py-name">nextLine</tt> <tt class="py-op">=</tt> <tt class="py-name">openSpeakFile</tt><tt class="py-op">[</tt><tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">                        <tt class="py-name">nextinitialSpaces</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">nextLine</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">nextLine</tt><tt class="py-op">.</tt><tt class="py-name">lstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                    <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt>
 <a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">                        <tt class="py-keyword">pass</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">                    </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">                                  </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">                    <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">repeatMatch</tt><tt class="py-op">:</tt> </tt>
 <a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.verify_and_translate" class="py-name" href="#" onclick="return doclink('link-6', 'verify_and_translate', 'link-2');">verify_and_translate</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt>  <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.verify_and_translate" class="py-name" href="#" onclick="return doclink('link-4', 'verify_and_translate', 'link-2');">verify_and_translate</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
 <a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">                <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-name">outputFile</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"WRITETOFILE"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt> <tt class="py-op">:</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-name">testscript</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"ospk"</tt><tt class="py-op">,</tt><tt class="py-string">"py"</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt class="py-name">testScript</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">testscript</tt><tt class="py-op">,</tt><tt class="py-string">"w"</tt><tt class="py-op">)</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">lines</tt> <tt class="py-keyword">in</tt> <tt class="py-name">outputFile</tt> <tt class="py-op">:</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">                <tt class="py-name">testScript</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-name">testScript</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
-</div><a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">   </tt>
-<a name="OpenSpeak.verify_and_translate"></a><div id="OpenSpeak.verify_and_translate-def"><a name="L107"></a><tt class="py-lineno">107</tt> <a class="py-toggle" href="#" id="OpenSpeak.verify_and_translate-toggle" onclick="return toggle('OpenSpeak.verify_and_translate');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#verify_and_translate">verify_and_translate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.verify_and_translate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.verify_and_translate-expanded"><a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-docstring">          It will accept the each line and calls the suitable API to conver into pyton equivalent syntax .</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-docstring">          It will return the translated python syntax .  </tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt>  </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-name">lineSpace</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^\s+"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-name">initialSpaces</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">lstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt>     </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"^\s+"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">lineSpace</tt> <tt class="py-keyword">else</tt> <tt class="py-name">line</tt>       </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">  </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">         </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt> <tt class="py-keyword">if</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">inspect</tt><tt class="py-op">.</tt><tt class="py-name">stack</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">"compiler"</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"\n"</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">indent</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-number">4</tt> <tt class="py-op">+</tt> <tt class="py-number">4</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt> <tt class="py-keyword">else</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt>          </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-name">caseMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"^CASE\s+(\d+)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-name">nameMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^NAME\s+\"(.*)\""</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-name">commentMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^COMMENT\s+\"(.*)\""</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-name">stepMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^STEP\s+\"(.*)\""</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-name">connectMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^CONNECT\s+(\w+)\s+USING\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-name">disconnectMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^DISCONNECT\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt>    </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-name">ondoMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^ON\s+(.*)\s+DO\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">         </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-name">storeMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^STORE\s+(.*)\s+IN\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-name">variableMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^(.*)\s+=\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt>  </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-name">assertMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^ASSERT\s+(\w+)\s+(.*)\s+(.*)\s+ONPASS\s+(.*)\s+ONFAIL\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-name">logMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^(ERROR|INFO|DEBUG|CRITICAL|REPORT|EXACT|WARN)\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">ifloop</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"IF\s+(\w+)\s*(..|\w+)\s*(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">elseloopMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"ELSE\s*$"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt>    </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-name">elifloop</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"ELSE\sIF\s+(\w+)\s*(..|\w+)\s*(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">forloopMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*REPEAT\s+(/d+)\s+TIMES"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">experimentalMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"EXPERIMENTAL\s+MODE\s+(\w+)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">repeatMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*REPEAT\s+(\d+)\s+TIMES"</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt><tt class="py-op">,</tt> <tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">         </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">caseMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentStep</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentCase</tt> <tt class="py-op">=</tt> <tt class="py-string">"CASE"</tt> <tt class="py-op">+</tt> <tt class="py-name">caseMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_case_block()=TestON.core.openspeak.OpenSpeak-class.html#translate_case_block"><a title="TestON.core.openspeak.OpenSpeak.translate_case_block" class="py-name" href="#" onclick="return doclink('link-7', 'translate_case_block', 'link-7');">translate_case_block</a></tt><tt class="py-op">(</tt><tt class="py-name">casenumber</tt><tt class="py-op">=</tt><tt class="py-name">caseMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">repeatMatch</tt><tt class="py-op">:</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_repeat()=TestON.core.openspeak.OpenSpeak-class.html#translate_repeat"><a title="TestON.core.openspeak.OpenSpeak.translate_repeat" class="py-name" href="#" onclick="return doclink('link-8', 'translate_repeat', 'link-8');">translate_repeat</a></tt><tt class="py-op">(</tt><tt class="py-name">repeat</tt><tt class="py-op">=</tt><tt class="py-name">repeatMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">nameMatch</tt> <tt class="py-op">:</tt>  </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt>  <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_testcase_name()=TestON.core.openspeak.OpenSpeak-class.html#translate_testcase_name"><a title="TestON.core.openspeak.OpenSpeak.translate_testcase_name" class="py-name" href="#" onclick="return doclink('link-9', 'translate_testcase_name', 'link-9');">translate_testcase_name</a></tt><tt class="py-op">(</tt><tt class="py-name">testname</tt><tt class="py-op">=</tt><tt class="py-name">nameMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">commentMatch</tt> <tt class="py-op">:</tt>  </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_comment()=TestON.core.openspeak.OpenSpeak-class.html#translate_comment"><a title="TestON.core.openspeak.OpenSpeak.translate_comment" class="py-name" href="#" onclick="return doclink('link-10', 'translate_comment', 'link-10');">translate_comment</a></tt><tt class="py-op">(</tt><tt class="py-name">comment</tt><tt class="py-op">=</tt><tt class="py-name">commentMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">stepMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentStep</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentStep</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_step()=TestON.core.openspeak.OpenSpeak-class.html#translate_step"><a title="TestON.core.openspeak.OpenSpeak.translate_step" class="py-name" href="#" onclick="return doclink('link-11', 'translate_step', 'link-11');">translate_step</a></tt><tt class="py-op">(</tt><tt id="link-12" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-12', 'step', 'link-12');">step</a></tt><tt class="py-op">=</tt><tt class="py-name">stepMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">connectMatch</tt> <tt class="py-op">:</tt>  </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_connect()=TestON.core.openspeak.OpenSpeak-class.html#translate_connect"><a title="TestON.core.openspeak.OpenSpeak.translate_connect" class="py-name" href="#" onclick="return doclink('link-13', 'translate_connect', 'link-13');">translate_connect</a></tt><tt class="py-op">(</tt><tt id="link-14" class="py-name" targets="Module TestON.drivers.component=TestON.drivers.component-module.html"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-14', 'component', 'link-14');">component</a></tt><tt class="py-op">=</tt><tt class="py-name">connectMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">                                                                           <tt class="py-name">arguments</tt><tt class="py-op">=</tt><tt class="py-name">connectMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">disconnectMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_disconnect()=TestON.core.openspeak.OpenSpeak-class.html#translate_disconnect"><a title="TestON.core.openspeak.OpenSpeak.translate_disconnect" class="py-name" href="#" onclick="return doclink('link-15', 'translate_disconnect', 'link-15');">translate_disconnect</a></tt><tt class="py-op">(</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-16', 'component', 'link-14');">component</a></tt><tt class="py-op">=</tt><tt class="py-name">disconnectMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">ondoMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_onDOAs()=TestON.core.openspeak.OpenSpeak-class.html#translate_onDOAs"><a title="TestON.core.openspeak.OpenSpeak.translate_onDOAs" class="py-name" href="#" onclick="return doclink('link-17', 'translate_onDOAs', 'link-17');">translate_onDOAs</a></tt><tt class="py-op">(</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-18', 'component', 'link-14');">component</a></tt><tt class="py-op">=</tt><tt class="py-name">ondoMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-name">ondoMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt>   </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">storeMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_store()=TestON.core.openspeak.OpenSpeak-class.html#translate_store"><a title="TestON.core.openspeak.OpenSpeak.translate_store" class="py-name" href="#" onclick="return doclink('link-19', 'translate_store', 'link-19');">translate_store</a></tt><tt class="py-op">(</tt><tt class="py-name">variable</tt><tt class="py-op">=</tt><tt class="py-name">storeMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">                                                                         <tt class="py-name">value</tt><tt class="py-op">=</tt><tt class="py-name">storeMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt>  </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">variableMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_store" class="py-name" href="#" onclick="return doclink('link-20', 'translate_store', 'link-19');">translate_store</a></tt><tt class="py-op">(</tt><tt class="py-name">variable</tt><tt class="py-op">=</tt><tt class="py-name">variableMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">                                                                         <tt class="py-name">value</tt><tt class="py-op">=</tt><tt class="py-name">variableMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">assertMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_assertion()=TestON.core.openspeak.OpenSpeak-class.html#translate_assertion"><a title="TestON.core.openspeak.OpenSpeak.translate_assertion" class="py-name" href="#" onclick="return doclink('link-21', 'translate_assertion', 'link-21');">translate_assertion</a></tt><tt class="py-op">(</tt><tt class="py-name">leftvalue</tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">                                                                        <tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">                                                                            <tt class="py-name">rightvalue</tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">                                                                            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">                                                                            <tt id="link-22" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-22', 'onfail', 'link-22');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt><tt class="py-op">)</tt>  </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">logMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_logs()=TestON.core.openspeak.OpenSpeak-class.html#translate_logs"><a title="TestON.core.openspeak.OpenSpeak.translate_logs" class="py-name" href="#" onclick="return doclink('link-23', 'translate_logs', 'link-23');">translate_logs</a></tt><tt class="py-op">(</tt><tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt class="py-name">logMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">                                                                        <tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">logMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">ifloop</tt> <tt class="py-op">:</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">             </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initSpace</tt> <tt class="py-op">=</tt> <tt class="py-name">initialSpaces</tt>  </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">            <tt class="py-name">operand</tt> <tt class="py-op">=</tt> <tt class="py-name">ifloop</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">            <tt class="py-name">operator</tt> <tt class="py-op">=</tt> <tt class="py-name">ifloop</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">ifloop</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt>   </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-string">"if "</tt> <tt class="py-op">+</tt> <tt class="py-name">operand</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_if_else_operator()=TestON.core.openspeak.OpenSpeak-class.html#translate_if_else_operator"><a title="TestON.core.openspeak.OpenSpeak.translate_if_else_operator" class="py-name" href="#" onclick="return doclink('link-24', 'translate_if_else_operator', 'link-24');">translate_if_else_operator</a></tt><tt class="py-op">(</tt><tt class="py-name">conditionoperator</tt><tt class="py-op">=</tt><tt class="py-name">operator</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">value</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt>  </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt>  </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">experimentalMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_experimental_mode()=TestON.core.openspeak.OpenSpeak-class.html#translate_experimental_mode"><a title="TestON.core.openspeak.OpenSpeak.translate_experimental_mode" class="py-name" href="#" onclick="return doclink('link-25', 'translate_experimental_mode', 'link-25');">translate_experimental_mode</a></tt><tt class="py-op">(</tt><tt class="py-name">mode</tt><tt class="py-op">=</tt><tt class="py-name">experimentalMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">              </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">elseloopMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">initialSpaces</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initSpace</tt> <tt class="py-keyword">or</tt> <tt class="py-name">initialSpaces</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">outLoopSpace</tt><tt class="py-op">:</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-string">"else :"</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">                <tt class="py-name">indent</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-number">4</tt> <tt class="py-op">+</tt> <tt class="py-number">4</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt>  </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-string">"else :"</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">                    </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">elifloop</tt> <tt class="py-op">:</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">             </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-name">operand</tt> <tt class="py-op">=</tt> <tt class="py-name">elifloop</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">            <tt class="py-name">operator</tt> <tt class="py-op">=</tt> <tt class="py-name">elifloop</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">elifloop</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt>   </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">initialSpaces</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initSpace</tt> <tt class="py-keyword">or</tt> <tt class="py-name">initialSpaces</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">outLoopSpace</tt><tt class="py-op">:</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-string">"elif "</tt> <tt class="py-op">+</tt> <tt class="py-name">operand</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_if_else_operator" class="py-name" href="#" onclick="return doclink('link-26', 'translate_if_else_operator', 'link-24');">translate_if_else_operator</a></tt><tt class="py-op">(</tt><tt class="py-name">conditionoperator</tt><tt class="py-op">=</tt><tt class="py-name">operator</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">value</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt>  </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt>  </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">                <tt class="py-name">indent</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-number">4</tt> <tt class="py-op">+</tt> <tt class="py-number">4</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt>  </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-string">"elif "</tt> <tt class="py-op">+</tt> <tt class="py-name">operand</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_if_else_operator" class="py-name" href="#" onclick="return doclink('link-27', 'translate_if_else_operator', 'link-24');">translate_if_else_operator</a></tt><tt class="py-op">(</tt><tt class="py-name">conditionoperator</tt><tt class="py-op">=</tt><tt class="py-name">operator</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">value</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt>  </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">                <tt class="py-name">endMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*END"</tt><tt class="py-op">,</tt><tt class="py-name">openSpeakFile</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">                <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">endMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">                    <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">                        <tt class="py-name">result</tt> <tt class="py-op">=</tt>  <tt class="py-name">result</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.verify_and_translate" class="py-name" href="#" onclick="return doclink('link-5', 'verify_and_translate', 'link-2');">verify_and_translate</a></tt><tt class="py-op">(</tt><tt class="py-name">openSpeakFile</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">                        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">                    <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt> <tt class="py-op">:</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">                        <tt class="py-keyword">pass</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.verify_and_translate" class="py-name" href="#" onclick="return doclink('link-6', 'verify_and_translate', 'link-2');">verify_and_translate</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">                <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">            <tt class="py-name">outputFile</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"WRITETOFILE"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt> <tt class="py-op">:</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt class="py-name">testscript</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"ospk"</tt><tt class="py-op">,</tt><tt class="py-string">"py"</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-name">testScript</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">testscript</tt><tt class="py-op">,</tt><tt class="py-string">"w"</tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">lines</tt> <tt class="py-keyword">in</tt> <tt class="py-name">outputFile</tt> <tt class="py-op">:</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">                <tt class="py-name">testScript</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">            <tt class="py-name">testScript</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.verify_and_translate"></a><div id="OpenSpeak.verify_and_translate-def"><a name="L123"></a><tt class="py-lineno">123</tt> <a class="py-toggle" href="#" id="OpenSpeak.verify_and_translate-toggle" onclick="return toggle('OpenSpeak.verify_and_translate');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#verify_and_translate">verify_and_translate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.verify_and_translate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.verify_and_translate-expanded"><a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring">          It will accept the each line and calls the suitable API to conver into pyton equivalent syntax .</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring">          It will return the translated python syntax .</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-name">lineSpace</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^\s+"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-name">initialSpaces</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">lstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"^\s+"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">lineSpace</tt> <tt class="py-keyword">else</tt> <tt class="py-name">line</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt> <tt class="py-keyword">if</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">inspect</tt><tt class="py-op">.</tt><tt class="py-name">stack</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">"compiler"</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"\n"</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">indent</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-number">4</tt> <tt class="py-op">+</tt> <tt class="py-number">4</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt> <tt class="py-keyword">else</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">caseMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"^CASE\s+(\d+)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">nameMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^NAME\s+\"(.*)\""</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">commentMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^COMMENT\s+\"(.*)\""</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-name">stepMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^STEP\s+\"(.*)\""</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-name">connectMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^CONNECT\s+(\w+)\s+USING\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-name">disconnectMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^DISCONNECT\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-name">ondoMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^ON\s+(.*)\s+DO\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-name">storeMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^STORE\s+(.*)\s+IN\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-name">variableMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^(.*)\s+=\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-name">assertMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^ASSERT\s+(\w+)\s+(.*)\s+(.*)\s+ONPASS\s+(.*)\s+ONFAIL\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-name">logMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^(ERROR|INFO|DEBUG|CRITICAL|REPORT|EXACT|WARN)\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-name">ifloop</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"IF\s+(\w+)\s*(..|\w+)\s*(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-name">elseloopMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"ELSE\s*$"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-name">elifloop</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"ELSE\sIF\s+(\w+)\s*(..|\w+)\s*(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-name">forloopMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*REPEAT\s+(/d+)\s+TIMES"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-name">experimentalMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"EXPERIMENTAL\s+MODE\s+(\w+)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-name">repeatMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*REPEAT\s+(\d+)\s+TIMES"</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt><tt class="py-op">,</tt> <tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-name">response_pasrse</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*PARSE\s+(\w+)\s+AS\s+(\w+)\s+INTO\s+(\w+)"</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt><tt class="py-op">,</tt> <tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">caseMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentStep</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentCase</tt> <tt class="py-op">=</tt> <tt class="py-string">"CASE"</tt> <tt class="py-op">+</tt> <tt class="py-name">caseMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_case_block()=TestON.core.openspeak.OpenSpeak-class.html#translate_case_block"><a title="TestON.core.openspeak.OpenSpeak.translate_case_block" class="py-name" href="#" onclick="return doclink('link-7', 'translate_case_block', 'link-7');">translate_case_block</a></tt><tt class="py-op">(</tt><tt class="py-name">casenumber</tt><tt class="py-op">=</tt><tt class="py-name">caseMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">repeatMatch</tt><tt class="py-op">:</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_repeat()=TestON.core.openspeak.OpenSpeak-class.html#translate_repeat"><a title="TestON.core.openspeak.OpenSpeak.translate_repeat" class="py-name" href="#" onclick="return doclink('link-8', 'translate_repeat', 'link-8');">translate_repeat</a></tt><tt class="py-op">(</tt><tt class="py-name">repeat</tt><tt class="py-op">=</tt><tt class="py-name">repeatMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">nameMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt>  <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_testcase_name()=TestON.core.openspeak.OpenSpeak-class.html#translate_testcase_name"><a title="TestON.core.openspeak.OpenSpeak.translate_testcase_name" class="py-name" href="#" onclick="return doclink('link-9', 'translate_testcase_name', 'link-9');">translate_testcase_name</a></tt><tt class="py-op">(</tt><tt class="py-name">testname</tt><tt class="py-op">=</tt><tt class="py-name">nameMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">commentMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_comment()=TestON.core.openspeak.OpenSpeak-class.html#translate_comment"><a title="TestON.core.openspeak.OpenSpeak.translate_comment" class="py-name" href="#" onclick="return doclink('link-10', 'translate_comment', 'link-10');">translate_comment</a></tt><tt class="py-op">(</tt><tt class="py-name">comment</tt><tt class="py-op">=</tt><tt class="py-name">commentMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">stepMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentStep</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentStep</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_step()=TestON.core.openspeak.OpenSpeak-class.html#translate_step"><a title="TestON.core.openspeak.OpenSpeak.translate_step" class="py-name" href="#" onclick="return doclink('link-11', 'translate_step', 'link-11');">translate_step</a></tt><tt class="py-op">(</tt><tt id="link-12" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-12', 'step', 'link-12');">step</a></tt><tt class="py-op">=</tt><tt class="py-name">stepMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">connectMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_connect()=TestON.core.openspeak.OpenSpeak-class.html#translate_connect"><a title="TestON.core.openspeak.OpenSpeak.translate_connect" class="py-name" href="#" onclick="return doclink('link-13', 'translate_connect', 'link-13');">translate_connect</a></tt><tt class="py-op">(</tt><tt class="py-name">component</tt><tt class="py-op">=</tt><tt class="py-name">connectMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">                                                                           <tt class="py-name">arguments</tt><tt class="py-op">=</tt><tt class="py-name">connectMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">disconnectMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_disconnect()=TestON.core.openspeak.OpenSpeak-class.html#translate_disconnect"><a title="TestON.core.openspeak.OpenSpeak.translate_disconnect" class="py-name" href="#" onclick="return doclink('link-14', 'translate_disconnect', 'link-14');">translate_disconnect</a></tt><tt class="py-op">(</tt><tt class="py-name">component</tt><tt class="py-op">=</tt><tt class="py-name">disconnectMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">ondoMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_onDOAs()=TestON.core.openspeak.OpenSpeak-class.html#translate_onDOAs"><a title="TestON.core.openspeak.OpenSpeak.translate_onDOAs" class="py-name" href="#" onclick="return doclink('link-15', 'translate_onDOAs', 'link-15');">translate_onDOAs</a></tt><tt class="py-op">(</tt><tt class="py-name">component</tt><tt class="py-op">=</tt><tt class="py-name">ondoMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-name">ondoMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">storeMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_store()=TestON.core.openspeak.OpenSpeak-class.html#translate_store"><a title="TestON.core.openspeak.OpenSpeak.translate_store" class="py-name" href="#" onclick="return doclink('link-16', 'translate_store', 'link-16');">translate_store</a></tt><tt class="py-op">(</tt><tt class="py-name">variable</tt><tt class="py-op">=</tt><tt class="py-name">storeMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">                                                                         <tt class="py-name">value</tt><tt class="py-op">=</tt><tt class="py-name">storeMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">variableMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_store" class="py-name" href="#" onclick="return doclink('link-17', 'translate_store', 'link-16');">translate_store</a></tt><tt class="py-op">(</tt><tt class="py-name">variable</tt><tt class="py-op">=</tt><tt class="py-name">variableMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">                                                                         <tt class="py-name">value</tt><tt class="py-op">=</tt><tt class="py-name">variableMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">assertMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_assertion()=TestON.core.openspeak.OpenSpeak-class.html#translate_assertion"><a title="TestON.core.openspeak.OpenSpeak.translate_assertion" class="py-name" href="#" onclick="return doclink('link-18', 'translate_assertion', 'link-18');">translate_assertion</a></tt><tt class="py-op">(</tt><tt class="py-name">leftvalue</tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">                                                                        <tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">                                                                            <tt class="py-name">rightvalue</tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">                                                                            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">                                                                            <tt id="link-19" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-19', 'onfail', 'link-19');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">logMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_logs()=TestON.core.openspeak.OpenSpeak-class.html#translate_logs"><a title="TestON.core.openspeak.OpenSpeak.translate_logs" class="py-name" href="#" onclick="return doclink('link-20', 'translate_logs', 'link-20');">translate_logs</a></tt><tt class="py-op">(</tt><tt class="py-name">loglevel</tt><tt class="py-op">=</tt><tt class="py-name">logMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">                                                                        <tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">logMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">ifloop</tt> <tt class="py-op">:</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initSpace</tt> <tt class="py-op">=</tt> <tt class="py-name">initialSpaces</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">            <tt class="py-name">operand</tt> <tt class="py-op">=</tt> <tt class="py-name">ifloop</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">            <tt class="py-name">operator</tt> <tt class="py-op">=</tt> <tt class="py-name">ifloop</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">ifloop</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-string">"if "</tt> <tt class="py-op">+</tt> <tt class="py-name">operand</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_if_else_operator()=TestON.core.openspeak.OpenSpeak-class.html#translate_if_else_operator"><a title="TestON.core.openspeak.OpenSpeak.translate_if_else_operator" class="py-name" href="#" onclick="return doclink('link-21', 'translate_if_else_operator', 'link-21');">translate_if_else_operator</a></tt><tt class="py-op">(</tt><tt class="py-name">conditionoperator</tt><tt class="py-op">=</tt><tt class="py-name">operator</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">value</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">experimentalMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_experimental_mode()=TestON.core.openspeak.OpenSpeak-class.html#translate_experimental_mode"><a title="TestON.core.openspeak.OpenSpeak.translate_experimental_mode" class="py-name" href="#" onclick="return doclink('link-22', 'translate_experimental_mode', 'link-22');">translate_experimental_mode</a></tt><tt class="py-op">(</tt><tt class="py-name">mode</tt><tt class="py-op">=</tt><tt class="py-name">experimentalMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">elseloopMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">initialSpaces</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initSpace</tt> <tt class="py-keyword">or</tt> <tt class="py-name">initialSpaces</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">outLoopSpace</tt><tt class="py-op">:</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-string">"else :"</tt> </tt>
 <a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">                    </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
-</div><a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"> </tt>
-<a name="OpenSpeak.translate_repeat"></a><div id="OpenSpeak.translate_repeat-def"><a name="L212"></a><tt class="py-lineno">212</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_repeat-toggle" onclick="return toggle('OpenSpeak.translate_repeat');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_repeat">translate_repeat</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">repeatStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_repeat-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_repeat-expanded"><a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"><tt class="py-docstring">        this will transalte the repeat statement into a python equivalen while loop</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">         </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-28', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"REPEAT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">repeatStatement</tt><tt class="py-op">)</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">         </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"i = 0"</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">8</tt> <tt class="py-op">+</tt><tt class="py-string">"while i&lt;"</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"REPEAT"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" :"</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
-</div><a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">      </tt>
-<a name="OpenSpeak.translate_if_else_operator"></a><div id="OpenSpeak.translate_if_else_operator-def"><a name="L224"></a><tt class="py-lineno">224</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_if_else_operator-toggle" onclick="return toggle('OpenSpeak.translate_if_else_operator');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_if_else_operator">translate_if_else_operator</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">loopBlock</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_if_else_operator-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_if_else_operator-expanded"><a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-docstring">          This method will translate if-else loop block into its equivalent python code.</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-docstring">          Whole loop block will be passed into loopBlock List. </tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-docstring">          It returns the transalted reuslt as a string.</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-29', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"CONDITIONOPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">loopBlock</tt><tt class="py-op">)</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-comment"># process the loopBlock List translate all statements underlying the given loop block</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">        <tt class="py-name">equalsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"EQUALS$|==\s*$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CONDITIONOPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-name">greaterMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"GREATER\s+THAN$|&gt;\s*$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CONDITIONOPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">        <tt class="py-name">lesserMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LESSER\s+THAN$|&lt;\s*$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CONDITIONOPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-name">greaterEqualMatch</tt> <tt class="py-op">=</tt>  <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"GREATER\s+THAN\s+OR\s+EQUALS$|&gt;=\s*$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CONDITIONOPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-name">lesserEqualMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LESSER\s+THAN\s+OR\s+EQUALS$|&lt;=\s*$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CONDITIONOPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">equalsMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">" == "</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">greaterMatch</tt> <tt class="py-op">:</tt>  </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">" &gt; "</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">lesserMatch</tt> <tt class="py-op">:</tt>  </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">" &lt; "</tt>  </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">greaterEqualMatch</tt><tt class="py-op">:</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">" &gt;= "</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">lesserEqualMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">" &lt;= "</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"\n Error: Given Operator is not listed "</tt>   </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">         </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt>       </tt>
-</div><a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">   </tt>
-<a name="OpenSpeak.translate_experimental_mode"></a><div id="OpenSpeak.translate_experimental_mode-def"><a name="L253"></a><tt class="py-lineno">253</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_experimental_mode-toggle" onclick="return toggle('OpenSpeak.translate_experimental_mode');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_experimental_mode">translate_experimental_mode</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">modeType</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_experimental_mode-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_experimental_mode-expanded"><a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"><tt class="py-docstring">         This API will translate statment EXPERIMENTAL MODE ON/OFF into python equivalent.</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"><tt class="py-docstring">         It will return the transalted value.</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"><tt class="py-docstring">         '''</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-30', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"MODE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">modeType</tt><tt class="py-op">)</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">        <tt class="py-name">ONmatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*ON"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MODE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-name">OFFmatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\sOFF"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MODE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">ONmatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"main.EXPERIMENTAL_MODE = main.TRUE"</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">OFFmatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"main.EXPERIMENTAL_MODE = main.FALSE"</tt>  </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line"> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
-</div><a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"> </tt>
-<a name="OpenSpeak.interpret"></a><div id="OpenSpeak.interpret-def"><a name="L270"></a><tt class="py-lineno">270</tt> <a class="py-toggle" href="#" id="OpenSpeak.interpret-toggle" onclick="return toggle('OpenSpeak.interpret');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#interpret">interpret</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">interpetParameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.interpret-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.interpret-expanded"><a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"><tt class="py-docstring">         This method will accept the OpenSpeak syntax into a string and will return </tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line"><tt class="py-docstring">         a python equivalent translations statement</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">       </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-31', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"TEXT"</tt><tt class="py-op">,</tt><tt class="py-string">"WRITETOFILE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">interpetParameters</tt><tt class="py-op">)</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-comment">## here Open Speak syntax will be translated into python equivalent.</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.verify_and_translate" class="py-name" href="#" onclick="return doclink('link-32', 'verify_and_translate', 'link-2');">verify_and_translate</a></tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TEXT"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">        <tt class="py-name">lineSpace</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^\s+"</tt><tt class="py-op">,</tt><tt class="py-name">resultString</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">            </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"^\s+"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">resultString</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">lineSpace</tt> <tt class="py-keyword">else</tt> <tt class="py-name">resultString</tt>  </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
-</div><a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"> </tt>
-<a name="OpenSpeak.translate_logs"></a><div id="OpenSpeak.translate_logs-def"><a name="L285"></a><tt class="py-lineno">285</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_logs-toggle" onclick="return toggle('OpenSpeak.translate_logs');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_logs">translate_logs</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">logStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_logs-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_logs-expanded"><a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the OpenSpeak log message statements into python equivalent </tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line"><tt class="py-docstring">         to resultString and returns resultString</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-33', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"LOGLEVEL"</tt><tt class="py-op">,</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">logStatement</tt><tt class="py-op">)</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here     </tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">        <tt class="py-name">message</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_log_message()=TestON.core.openspeak.OpenSpeak-class.html#translate_log_message"><a title="TestON.core.openspeak.OpenSpeak.translate_log_message" class="py-name" href="#" onclick="return doclink('link-34', 'translate_log_message', 'link-34');">translate_log_message</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LOGLEVEL"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"INFO"</tt> <tt class="py-op">:</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.log.info("</tt> <tt class="py-op">+</tt> <tt class="py-name">message</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LOGLEVEL"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"ERROR"</tt> <tt class="py-op">:</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.log.error("</tt> <tt class="py-op">+</tt> <tt class="py-name">message</tt>  <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LOGLEVEL"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEBUG"</tt> <tt class="py-op">:</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.log.debug("</tt> <tt class="py-op">+</tt> <tt class="py-name">message</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LOGLEVEL"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"REPORT"</tt> <tt class="py-op">:</tt> </tt>
-<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.log.report("</tt> <tt class="py-op">+</tt> <tt class="py-name">message</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt>  </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LOGLEVEL"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"CRITICAL"</tt> <tt class="py-op">:</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.log.critical("</tt> <tt class="py-op">+</tt> <tt class="py-name">message</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LOGLEVEL"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"WARN"</tt> <tt class="py-op">:</tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.log.warn("</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LOGLEVEL"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"EXACT"</tt> <tt class="py-op">:</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.log.exact("</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt>       </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">         </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
-</div><a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line"> </tt>
-<a name="OpenSpeak.translate_log_message"></a><div id="OpenSpeak.translate_log_message-def"><a name="L312"></a><tt class="py-lineno">312</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_log_message-toggle" onclick="return toggle('OpenSpeak.translate_log_message');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_log_message">translate_log_message</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">messageStatement</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_log_message-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_log_message-expanded"><a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line"><tt class="py-docstring">         This API will translate log messages if it is a string or Variable or combination</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line"><tt class="py-docstring">         of string and variable. </tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line"><tt class="py-docstring">         It will return the analysed and translate message.</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-35', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">messageStatement</tt><tt class="py-op">)</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line"> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">        <tt class="py-name">paramsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"PARAMS\[(.*)\]|STEP\[(.*)\]|TOPO\[(.*)\]|CASE\[(.*)\]|LAST_RESULT|LAST_RESPONSE"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">        <tt class="py-name">stringMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*\"(.*)\"\s*$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">        <tt class="py-name">stringWidVariableMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\"(.*)\"\s+\+\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">paramsMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_parameters()=TestON.core.openspeak.OpenSpeak-class.html#translate_parameters"><a title="TestON.core.openspeak.OpenSpeak.translate_parameters" class="py-name" href="#" onclick="return doclink('link-36', 'translate_parameters', 'link-36');">translate_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">stringMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">stringWidVariableMatch</tt><tt class="py-op">:</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">            <tt class="py-name">quoteWord</tt> <tt class="py-op">=</tt> <tt class="py-name">stringWidVariableMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">            <tt class="py-name">variableRef</tt> <tt class="py-op">=</tt> <tt class="py-name">stringWidVariableMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">            <tt class="py-name">varMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"PARAMS\[(.*)\]|STEP\[(.*)\]|TOPO\[(.*)\]|CASE\[(.*)\]"</tt><tt class="py-op">,</tt><tt class="py-name">variableRef</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">            <tt class="py-name">varRefMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"&lt;(\w+)&gt;"</tt><tt class="py-op">,</tt><tt class="py-name">variableRef</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt>   </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">varMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"\""</tt> <tt class="py-op">+</tt> <tt class="py-name">quoteWord</tt> <tt class="py-op">+</tt> <tt class="py-string">"\""</tt> <tt class="py-op">+</tt> <tt class="py-string">" + "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_parameters" class="py-name" href="#" onclick="return doclink('link-37', 'translate_parameters', 'link-36');">translate_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">=</tt><tt class="py-name">variableRef</tt><tt class="py-op">)</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">varRefMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"\""</tt> <tt class="py-op">+</tt> <tt class="py-name">quoteWord</tt> <tt class="py-op">+</tt> <tt class="py-string">"\""</tt> <tt class="py-op">+</tt>  <tt class="py-string">" + "</tt> <tt class="py-op">+</tt> <tt class="py-name">varRefMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt>  </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"\nError : Syntax error , Not defined way to give log message"</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt>  </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line"> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt>           </tt>
-</div><a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">    </tt>
-<a name="OpenSpeak.translate_assertion"></a><div id="OpenSpeak.translate_assertion-def"><a name="L342"></a><tt class="py-lineno">342</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_assertion-toggle" onclick="return toggle('OpenSpeak.translate_assertion');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_assertion">translate_assertion</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">assertStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_assertion-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_assertion-expanded"><a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the ASSERT &lt;value1&gt; &lt;COMPARISON OPERATOR&gt; &lt;value2&gt; into python </tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"><tt class="py-docstring">         equivalent to resultString and returns resultString</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-38', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"LEFTVALUE"</tt><tt class="py-op">,</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">,</tt><tt class="py-string">"RIGHTVALUE"</tt><tt class="py-op">,</tt><tt class="py-string">"ONPASS"</tt><tt class="py-op">,</tt><tt class="py-string">"ONFAIL"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">assertStatement</tt><tt class="py-op">)</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here   </tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">        <tt class="py-name">notOperatorMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"NOT\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">        <tt class="py-name">notOperatorSymbMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"\!(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt>  </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">        <tt class="py-name">operator</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">        <tt class="py-name">lastresultMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LAST_RESULT"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"RIGHTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">        <tt class="py-name">lastresponseMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LAST_RESPONSE"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"RIGHTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">lastresultMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">            <tt class="py-name">operator</tt> <tt class="py-op">=</tt> <tt class="py-string">"main.last_result"</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">lastresponseMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">            <tt class="py-name">operator</tt> <tt class="py-op">=</tt> <tt class="py-string">"main.last_response"</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">            <tt class="py-name">operator</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"RIGHTVALUE"</tt><tt class="py-op">]</tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">                  </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">""</tt> <tt class="py-op">:</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"\n Error : Operator has not been specified !!!"</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">notOperatorMatch</tt> <tt class="py-keyword">or</tt> <tt class="py-name">notOperatorSymbMatch</tt><tt class="py-op">:</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">             </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">            <tt class="py-name">operators</tt> <tt class="py-op">=</tt> <tt class="py-name">notOperatorMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">notOperatorMatch</tt> <tt class="py-keyword">else</tt> <tt class="py-name">notOperatorSymbMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">            <tt class="py-name">operators</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_operator()=TestON.core.openspeak.OpenSpeak-class.html#translate_operator"><a title="TestON.core.openspeak.OpenSpeak.translate_operator" class="py-name" href="#" onclick="return doclink('link-39', 'translate_operator', 'link-39');">translate_operator</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">operators</tt><tt class="py-op">)</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grtrOrLssr</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-op">:</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"utilities.assert_not_"</tt> <tt class="py-op">+</tt> <tt class="py-name">operators</tt> <tt class="py-op">+</tt> <tt class="py-string">"(expect="</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">                               <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_response_result()=TestON.core.openspeak.OpenSpeak-class.html#translate_response_result"><a title="TestON.core.openspeak.OpenSpeak.translate_response_result" class="py-name" href="#" onclick="return doclink('link-40', 'translate_response_result', 'link-40');">translate_response_result</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"RIGHTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">",actual="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_response_result" class="py-name" href="#" onclick="return doclink('link-41', 'translate_response_result', 'link-40');">translate_response_result</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LEFTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">                               <tt class="py-string">",onpass="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_assertMessage()=TestON.core.openspeak.OpenSpeak-class.html#translate_assertMessage"><a title="TestON.core.openspeak.OpenSpeak.translate_assertMessage" class="py-name" href="#" onclick="return doclink('link-42', 'translate_assertMessage', 'link-42');">translate_assertMessage</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ONPASS"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">                               <tt class="py-string">",onfail="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_assertMessage" class="py-name" href="#" onclick="return doclink('link-43', 'translate_assertMessage', 'link-42');">translate_assertMessage</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ONFAIL"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"utilities.assert_not_"</tt> <tt class="py-op">+</tt> <tt class="py-name">operators</tt> <tt class="py-op">+</tt> <tt class="py-string">"(expect="</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">                               <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_response_result" class="py-name" href="#" onclick="return doclink('link-44', 'translate_response_result', 'link-40');">translate_response_result</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LEFTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">",actual="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_response_result" class="py-name" href="#" onclick="return doclink('link-45', 'translate_response_result', 'link-40');">translate_response_result</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"RIGHTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">                               <tt class="py-string">",onpass="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_assertMessage" class="py-name" href="#" onclick="return doclink('link-46', 'translate_assertMessage', 'link-42');">translate_assertMessage</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ONPASS"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">                               <tt class="py-string">",onfail="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_assertMessage" class="py-name" href="#" onclick="return doclink('link-47', 'translate_assertMessage', 'link-42');">translate_assertMessage</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ONFAIL"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line"> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt>            </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">            <tt class="py-name">operators</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_operator" class="py-name" href="#" onclick="return doclink('link-48', 'translate_operator', 'link-39');">translate_operator</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grtrOrLssr</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-op">:</tt> </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"utilities.assert_"</tt> <tt class="py-op">+</tt> <tt class="py-name">operators</tt> <tt class="py-op">+</tt> <tt class="py-string">"(expect="</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">                               <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_response_result" class="py-name" href="#" onclick="return doclink('link-49', 'translate_response_result', 'link-40');">translate_response_result</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"RIGHTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">                               <tt class="py-string">",actual="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_response_result" class="py-name" href="#" onclick="return doclink('link-50', 'translate_response_result', 'link-40');">translate_response_result</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LEFTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">                               <tt class="py-string">",onpass="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_assertMessage" class="py-name" href="#" onclick="return doclink('link-51', 'translate_assertMessage', 'link-42');">translate_assertMessage</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ONPASS"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">                               <tt class="py-string">",onfail="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_assertMessage" class="py-name" href="#" onclick="return doclink('link-52', 'translate_assertMessage', 'link-42');">translate_assertMessage</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ONFAIL"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
-<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"utilities.assert_"</tt> <tt class="py-op">+</tt> <tt class="py-name">operators</tt> <tt class="py-op">+</tt> <tt class="py-string">"(expect="</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">                               <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_response_result" class="py-name" href="#" onclick="return doclink('link-53', 'translate_response_result', 'link-40');">translate_response_result</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LEFTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">                               <tt class="py-string">",actual="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_response_result" class="py-name" href="#" onclick="return doclink('link-54', 'translate_response_result', 'link-40');">translate_response_result</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"RIGHTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">                               <tt class="py-string">",onpass="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_assertMessage" class="py-name" href="#" onclick="return doclink('link-55', 'translate_assertMessage', 'link-42');">translate_assertMessage</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ONPASS"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">                               <tt class="py-string">",onfail="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_assertMessage" class="py-name" href="#" onclick="return doclink('link-56', 'translate_assertMessage', 'link-42');">translate_assertMessage</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ONFAIL"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
-<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">  </tt>
-<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">             </tt>
-<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
-</div><a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line"> </tt>
-<a name="OpenSpeak.translate_response_result"></a><div id="OpenSpeak.translate_response_result-def"><a name="L397"></a><tt class="py-lineno">397</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_response_result-toggle" onclick="return toggle('OpenSpeak.translate_response_result');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_response_result">translate_response_result</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">operatorStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_response_result-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_response_result-expanded"><a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line"><tt class="py-docstring">         It will translate the LAST_RESPONSE or LAST_RESULT statement into its equivalent.</tt> </tt>
-<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line"><tt class="py-docstring">         It returns the translate form in resulString.</tt> </tt>
-<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-57', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">operatorStatement</tt><tt class="py-op">)</tt> </tt>
-<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">        <tt class="py-name">lastResultMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LAST_RESULT"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">        <tt class="py-name">lastResponseMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LAST_RESPONSE"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt>      </tt>
-<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">lastResultMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.last_result"</tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">lastResponseMatch</tt><tt class="py-op">:</tt> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.last_response"</tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt> </tt>
-<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
-</div><a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line"> </tt>
-<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line">     </tt>
-<a name="OpenSpeak.translate_assertMessage"></a><div id="OpenSpeak.translate_assertMessage-def"><a name="L415"></a><tt class="py-lineno">415</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_assertMessage-toggle" onclick="return toggle('OpenSpeak.translate_assertMessage');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_assertMessage">translate_assertMessage</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">messageStatement</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_assertMessage-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_assertMessage-expanded"><a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line"><tt class="py-docstring">         This API will facilitate the translation of assert ONPASS or ONFAIL messages . The message can be</tt> </tt>
-<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line"><tt class="py-docstring">         a string or calling another API in OpenSpeak syntax.</tt> </tt>
-<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line"><tt class="py-docstring">         It will return the translated message</tt> </tt>
-<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-58', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">messageStatement</tt><tt class="py-op">)</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">         </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line">        <tt class="py-name">connectMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"CONNECT\s+(\w+)\s+USING\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">        <tt class="py-name">disconnectMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"DISCONNECT\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt>    </tt>
-<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">        <tt class="py-name">ondoMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"ON\s+(.*)\s+DO\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">        <tt class="py-name">paramsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"PARAMS\[(.*)\]|STEP\[(.*)\]|TOPO\[(.*)\]|CASE\[(.*)\]"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">        <tt class="py-name">stringMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"\"(.*)\"|\'(.*)\'"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">        <tt class="py-name">variableMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"\&lt;(.*)\&gt;"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line"> </tt>
-<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">connectMatch</tt> <tt class="py-op">:</tt>  </tt>
-<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_connect" class="py-name" href="#" onclick="return doclink('link-59', 'translate_connect', 'link-13');">translate_connect</a></tt><tt class="py-op">(</tt><tt id="link-60" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-60', 'component', 'link-14');">component</a></tt><tt class="py-op">=</tt><tt class="py-name">connectMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">                                                                 <tt class="py-name">arguments</tt><tt class="py-op">=</tt><tt class="py-name">connectMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
-<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">disconnectMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_disconnect" class="py-name" href="#" onclick="return doclink('link-61', 'translate_disconnect', 'link-15');">translate_disconnect</a></tt><tt class="py-op">(</tt><tt id="link-62" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-62', 'component', 'link-14');">component</a></tt><tt class="py-op">=</tt><tt class="py-name">disconnectMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">ondoMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_onDOAs" class="py-name" href="#" onclick="return doclink('link-63', 'translate_onDOAs', 'link-17');">translate_onDOAs</a></tt><tt class="py-op">(</tt><tt id="link-64" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-64', 'component', 'link-14');">component</a></tt><tt class="py-op">=</tt><tt class="py-name">ondoMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">                                                                <tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-name">ondoMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">paramsMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_parameters" class="py-name" href="#" onclick="return doclink('link-65', 'translate_parameters', 'link-36');">translate_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">stringMatch</tt> <tt class="py-op">:</tt>  </tt>
-<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"\""</tt> <tt class="py-op">+</tt> <tt class="py-name">stringMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\""</tt> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">variableMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">variableMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt>  </tt>
-<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt>  <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
-<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"\n Error : Please pass a message or action for assertion "</tt>   </tt>
-<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">   </tt>
-<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt>  </tt>
-</div><a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">  </tt>
-<a name="OpenSpeak.translate_operator"></a><div id="OpenSpeak.translate_operator-def"><a name="L450"></a><tt class="py-lineno">450</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_operator-toggle" onclick="return toggle('OpenSpeak.translate_operator');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_operator">translate_operator</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">operatorStatement</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_operator-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_operator-expanded"><a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line"><tt class="py-docstring">          It will translate the operator for assertion , by ensuring against given arguments.</tt> </tt>
-<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line"><tt class="py-docstring">          It will return the translated assertion operator.</tt> </tt>
-<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-66', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">operatorStatement</tt><tt class="py-op">)</tt> </tt>
-<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line">         </tt>
-<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">        <tt class="py-name">equalsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"EQUALS$|==$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">        <tt class="py-name">greaterMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"GREATER\s+THAN$|&gt;$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">        <tt class="py-name">lesserMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LESSER\s+THAN$|&lt;$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">        <tt class="py-name">stringMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"MATCHES|~$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line">        <tt class="py-name">greaterEqualMatch</tt> <tt class="py-op">=</tt>  <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"GREATER\s+THAN\s+OR\s+EQUALS$|&gt;=$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line">        <tt class="py-name">lesserEqualMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LESSER\s+THAN\s+OR\s+EQUALS$|&lt;=$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">equalsMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">             </tt>
-<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"equals"</tt> </tt>
-<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">greaterMatch</tt> <tt class="py-op">:</tt>  </tt>
-<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grtrOrLssr</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grtrOrLssr</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"greater"</tt> </tt>
-<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">lesserMatch</tt> <tt class="py-op">:</tt>  </tt>
-<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grtrOrLssr</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grtrOrLssr</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"lesser"</tt> </tt>
-<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">stringMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">             </tt>
-<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"matches"</tt> </tt>
-<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">greaterEqualMatch</tt><tt class="py-op">:</tt> </tt>
-<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">             </tt>
-<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"greater_equals"</tt> </tt>
-<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">lesserEqualMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">             </tt>
-<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"lesser_equals"</tt> </tt>
-<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"\n Error: Given Operator is not listed for assertion"</tt>   </tt>
-<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt>   </tt>
-</div><a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line"> </tt>
-<a name="OpenSpeak.translate_store"></a><div id="OpenSpeak.translate_store-def"><a name="L486"></a><tt class="py-lineno">486</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_store-toggle" onclick="return toggle('OpenSpeak.translate_store');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_store">translate_store</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">storeStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_store-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_store-expanded"><a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the STORE &lt;variable&gt; IN &lt;value&gt; or &lt;variable&gt; = &lt;value&gt;</tt> </tt>
-<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line"><tt class="py-docstring">         into python equivalent to resultString and returns resultString</tt> </tt>
-<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-67', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"VARIABLE"</tt><tt class="py-op">,</tt><tt class="py-string">"VALUE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">storeStatement</tt><tt class="py-op">)</tt> </tt>
-<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here</tt> </tt>
-<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">        <tt class="py-name">ondoMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^\s*ON\s+(.*)\s+DO\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"VALUE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line">        <tt class="py-name">paramsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^\s*PARAMS\[(.*)\]|STEP\[(.*)\]|TOPO\[(.*)\]|CASE\[(.*)\]|LAST_RESULT|LAST_RESPONSE"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"VALUE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">paramsMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line">            <tt class="py-name">argString</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_parameters" class="py-name" href="#" onclick="return doclink('link-68', 'translate_parameters', 'link-36');">translate_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"VALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"VARIABLE"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" = "</tt> <tt class="py-op">+</tt> <tt class="py-name">argString</tt> </tt>
-<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">ondoMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"VARIABLE"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" = "</tt>  <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_onDOAs" class="py-name" href="#" onclick="return doclink('link-69', 'translate_onDOAs', 'link-17');">translate_onDOAs</a></tt><tt class="py-op">(</tt><tt id="link-70" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-70', 'component', 'link-14');">component</a></tt><tt class="py-op">=</tt><tt class="py-name">ondoMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-name">ondoMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"VARIABLE"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" = "</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"VALUE"</tt><tt class="py-op">]</tt> </tt>
-<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line"> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">                <tt class="py-name">indent</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-number">4</tt> <tt class="py-op">+</tt> <tt class="py-number">4</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-string">"else :"</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">elifloop</tt> <tt class="py-op">:</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">            <tt class="py-name">operand</tt> <tt class="py-op">=</tt> <tt class="py-name">elifloop</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">            <tt class="py-name">operator</tt> <tt class="py-op">=</tt> <tt class="py-name">elifloop</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">            <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">elifloop</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">initialSpaces</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initSpace</tt> <tt class="py-keyword">or</tt> <tt class="py-name">initialSpaces</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">outLoopSpace</tt><tt class="py-op">:</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-string">"elif "</tt> <tt class="py-op">+</tt> <tt class="py-name">operand</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_if_else_operator" class="py-name" href="#" onclick="return doclink('link-23', 'translate_if_else_operator', 'link-21');">translate_if_else_operator</a></tt><tt class="py-op">(</tt><tt class="py-name">conditionoperator</tt><tt class="py-op">=</tt><tt class="py-name">operator</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">value</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">                <tt class="py-name">indent</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-number">4</tt> <tt class="py-op">+</tt> <tt class="py-number">4</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-string">"elif "</tt> <tt class="py-op">+</tt> <tt class="py-name">operand</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_if_else_operator" class="py-name" href="#" onclick="return doclink('link-24', 'translate_if_else_operator', 'link-21');">translate_if_else_operator</a></tt><tt class="py-op">(</tt><tt class="py-name">conditionoperator</tt><tt class="py-op">=</tt><tt class="py-name">operator</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">value</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">response_pasrse</tt> <tt class="py-op">:</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">            <tt class="py-name">output_string</tt> <tt class="py-op">=</tt> <tt class="py-name">response_pasrse</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">            <tt class="py-name">req_format</tt> <tt class="py-op">=</tt> <tt class="py-name">response_pasrse</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">            <tt class="py-name">store_in</tt> <tt class="py-op">=</tt> <tt class="py-name">response_pasrse</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">indent</tt> <tt class="py-op">+</tt> <tt class="py-name">store_in</tt> <tt class="py-op">+</tt><tt class="py-string">'= main.response_parser('</tt><tt class="py-op">+</tt><tt class="py-name">output_string</tt><tt class="py-op">+</tt><tt class="py-string">",\""</tt><tt class="py-op">+</tt><tt class="py-name">req_format</tt><tt class="py-op">+</tt><tt class="py-string">"\")"</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_repeat"></a><div id="OpenSpeak.translate_repeat-def"><a name="L233"></a><tt class="py-lineno">233</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_repeat-toggle" onclick="return toggle('OpenSpeak.translate_repeat');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_repeat">translate_repeat</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">repeatStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_repeat-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_repeat-expanded"><a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-docstring">        this will transalte the repeat statement into a python equivalen while loop</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-25', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"REPEAT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">repeatStatement</tt><tt class="py-op">)</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"i = 0"</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">8</tt> <tt class="py-op">+</tt><tt class="py-string">"while i&lt;"</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"REPEAT"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" :"</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_if_else_operator"></a><div id="OpenSpeak.translate_if_else_operator-def"><a name="L245"></a><tt class="py-lineno">245</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_if_else_operator-toggle" onclick="return toggle('OpenSpeak.translate_if_else_operator');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_if_else_operator">translate_if_else_operator</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">loopBlock</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_if_else_operator-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_if_else_operator-expanded"><a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"><tt class="py-docstring">          This method will translate if-else loop block into its equivalent python code.</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"><tt class="py-docstring">          Whole loop block will be passed into loopBlock List.</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"><tt class="py-docstring">          It returns the transalted reuslt as a string.</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-26', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"CONDITIONOPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">loopBlock</tt><tt class="py-op">)</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">        <tt class="py-comment"># process the loopBlock List translate all statements underlying the given loop block</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">        <tt class="py-name">equalsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"EQUALS$|==\s*$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CONDITIONOPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">        <tt class="py-name">greaterMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"GREATER\s+THAN$|&gt;\s*$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CONDITIONOPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">        <tt class="py-name">lesserMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LESSER\s+THAN$|&lt;\s*$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CONDITIONOPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">        <tt class="py-name">greaterEqualMatch</tt> <tt class="py-op">=</tt>  <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"GREATER\s+THAN\s+OR\s+EQUALS$|&gt;=\s*$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CONDITIONOPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt class="py-name">lesserEqualMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LESSER\s+THAN\s+OR\s+EQUALS$|&lt;=\s*$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CONDITIONOPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">equalsMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">" == "</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">greaterMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">" &gt; "</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">lesserMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">" &lt; "</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">greaterEqualMatch</tt><tt class="py-op">:</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">" &gt;= "</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">lesserEqualMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">" &lt;= "</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"\n Error: Given Operator is not listed "</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_experimental_mode"></a><div id="OpenSpeak.translate_experimental_mode-def"><a name="L274"></a><tt class="py-lineno">274</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_experimental_mode-toggle" onclick="return toggle('OpenSpeak.translate_experimental_mode');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_experimental_mode">translate_experimental_mode</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">modeType</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_experimental_mode-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_experimental_mode-expanded"><a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line"><tt class="py-docstring">         This API will translate statment EXPERIMENTAL MODE ON/OFF into python equivalent.</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line"><tt class="py-docstring">         It will return the transalted value.</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line"><tt class="py-docstring">         '''</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-27', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"MODE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">modeType</tt><tt class="py-op">)</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">        <tt class="py-name">ONmatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*ON"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MODE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">        <tt class="py-name">OFFmatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\sOFF"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MODE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line"> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">ONmatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"main.EXPERIMENTAL_MODE = main.TRUE"</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">OFFmatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"main.EXPERIMENTAL_MODE = main.FALSE"</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line"> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.interpret"></a><div id="OpenSpeak.interpret-def"><a name="L291"></a><tt class="py-lineno">291</tt> <a class="py-toggle" href="#" id="OpenSpeak.interpret-toggle" onclick="return toggle('OpenSpeak.interpret');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#interpret">interpret</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">interpetParameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.interpret-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.interpret-expanded"><a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line"><tt class="py-docstring">         This method will accept the OpenSpeak syntax into a string and will return</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"><tt class="py-docstring">         a python equivalent translations statement</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-28', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"TEXT"</tt><tt class="py-op">,</tt><tt class="py-string">"WRITETOFILE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">interpetParameters</tt><tt class="py-op">)</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">        <tt class="py-comment">## here Open Speak syntax will be translated into python equivalent.</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.verify_and_translate" class="py-name" href="#" onclick="return doclink('link-29', 'verify_and_translate', 'link-2');">verify_and_translate</a></tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TEXT"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">        <tt class="py-name">lineSpace</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^\s+"</tt><tt class="py-op">,</tt><tt class="py-name">resultString</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line"> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"^\s+"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">resultString</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">lineSpace</tt> <tt class="py-keyword">else</tt> <tt class="py-name">resultString</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_logs"></a><div id="OpenSpeak.translate_logs-def"><a name="L306"></a><tt class="py-lineno">306</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_logs-toggle" onclick="return toggle('OpenSpeak.translate_logs');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_logs">translate_logs</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">logStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_logs-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_logs-expanded"><a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the OpenSpeak log message statements into python equivalent</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"><tt class="py-docstring">         to resultString and returns resultString</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-30', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"LOGLEVEL"</tt><tt class="py-op">,</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">logStatement</tt><tt class="py-op">)</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">        <tt class="py-name">message</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_log_message()=TestON.core.openspeak.OpenSpeak-class.html#translate_log_message"><a title="TestON.core.openspeak.OpenSpeak.translate_log_message" class="py-name" href="#" onclick="return doclink('link-31', 'translate_log_message', 'link-31');">translate_log_message</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LOGLEVEL"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"INFO"</tt> <tt class="py-op">:</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.log.info("</tt> <tt class="py-op">+</tt> <tt class="py-name">message</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LOGLEVEL"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"ERROR"</tt> <tt class="py-op">:</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.log.error("</tt> <tt class="py-op">+</tt> <tt class="py-name">message</tt>  <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LOGLEVEL"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEBUG"</tt> <tt class="py-op">:</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.log.debug("</tt> <tt class="py-op">+</tt> <tt class="py-name">message</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LOGLEVEL"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"REPORT"</tt> <tt class="py-op">:</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.log.report("</tt> <tt class="py-op">+</tt> <tt class="py-name">message</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LOGLEVEL"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"CRITICAL"</tt> <tt class="py-op">:</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.log.critical("</tt> <tt class="py-op">+</tt> <tt class="py-name">message</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LOGLEVEL"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"WARN"</tt> <tt class="py-op">:</tt> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.log.warn("</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LOGLEVEL"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"EXACT"</tt> <tt class="py-op">:</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.log.exact("</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line"> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line"> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_log_message"></a><div id="OpenSpeak.translate_log_message-def"><a name="L333"></a><tt class="py-lineno">333</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_log_message-toggle" onclick="return toggle('OpenSpeak.translate_log_message');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_log_message">translate_log_message</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">messageStatement</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_log_message-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_log_message-expanded"><a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line"><tt class="py-docstring">         This API will translate log messages if it is a string or Variable or combination</tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line"><tt class="py-docstring">         of string and variable.</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line"><tt class="py-docstring">         It will return the analysed and translate message.</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-32', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">messageStatement</tt><tt class="py-op">)</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line"> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">        <tt class="py-name">paramsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"PARAMS\[(.*)\]|STEP\[(.*)\]|TOPO\[(.*)\]|CASE\[(.*)\]|LAST_RESULT|LAST_RESPONSE"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">        <tt class="py-name">stringMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*\"(.*)\"\s*$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">        <tt class="py-name">stringWidVariableMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\"(.*)\"\s+\+\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">        <tt class="py-name">varRefMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"\&lt;(\w+)\&gt;"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">paramsMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_parameters()=TestON.core.openspeak.OpenSpeak-class.html#translate_parameters"><a title="TestON.core.openspeak.OpenSpeak.translate_parameters" class="py-name" href="#" onclick="return doclink('link-33', 'translate_parameters', 'link-33');">translate_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">stringMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">stringWidVariableMatch</tt><tt class="py-op">:</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">            <tt class="py-name">quoteWord</tt> <tt class="py-op">=</tt> <tt class="py-name">stringWidVariableMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">            <tt class="py-name">variableRef</tt> <tt class="py-op">=</tt> <tt class="py-name">stringWidVariableMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">            <tt class="py-name">varMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"PARAMS\[(.*)\]|STEP\[(.*)\]|TOPO\[(.*)\]|CASE\[(.*)\]"</tt><tt class="py-op">,</tt><tt class="py-name">variableRef</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">            <tt class="py-name">varRefMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"\&lt;(\w+)\&gt;"</tt><tt class="py-op">,</tt><tt class="py-name">variableRef</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">varMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"\""</tt> <tt class="py-op">+</tt> <tt class="py-name">quoteWord</tt> <tt class="py-op">+</tt> <tt class="py-string">"\""</tt> <tt class="py-op">+</tt> <tt class="py-string">" + "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_parameters" class="py-name" href="#" onclick="return doclink('link-34', 'translate_parameters', 'link-33');">translate_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">=</tt><tt class="py-name">variableRef</tt><tt class="py-op">)</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">varRefMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"\""</tt> <tt class="py-op">+</tt> <tt class="py-name">quoteWord</tt> <tt class="py-op">+</tt> <tt class="py-string">"\""</tt> <tt class="py-op">+</tt>  <tt class="py-string">" + "</tt> <tt class="py-op">+</tt> <tt class="py-name">varRefMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">varRefMatch</tt><tt class="py-op">:</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">varRefMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"\nError : Syntax error , Not defined way to give log message"</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line"> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_assertion"></a><div id="OpenSpeak.translate_assertion-def"><a name="L366"></a><tt class="py-lineno">366</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_assertion-toggle" onclick="return toggle('OpenSpeak.translate_assertion');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_assertion">translate_assertion</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">assertStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_assertion-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_assertion-expanded"><a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the ASSERT &lt;value1&gt; &lt;COMPARISON OPERATOR&gt; &lt;value2&gt; into python</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line"><tt class="py-docstring">         equivalent to resultString and returns resultString</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-35', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"LEFTVALUE"</tt><tt class="py-op">,</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">,</tt><tt class="py-string">"RIGHTVALUE"</tt><tt class="py-op">,</tt><tt class="py-string">"ONPASS"</tt><tt class="py-op">,</tt><tt class="py-string">"ONFAIL"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">assertStatement</tt><tt class="py-op">)</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here</tt> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">        <tt class="py-name">notOperatorMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"NOT\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">        <tt class="py-name">notOperatorSymbMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"\!(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">        <tt class="py-name">operator</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">        <tt class="py-name">lastresultMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LAST_RESULT"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"RIGHTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">        <tt class="py-name">lastresponseMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LAST_RESPONSE"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"RIGHTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">lastresultMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">            <tt class="py-name">operator</tt> <tt class="py-op">=</tt> <tt class="py-string">"main.last_result"</tt> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">lastresponseMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">            <tt class="py-name">operator</tt> <tt class="py-op">=</tt> <tt class="py-string">"main.last_response"</tt> </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">            <tt class="py-name">operator</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"RIGHTVALUE"</tt><tt class="py-op">]</tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line"> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">""</tt> <tt class="py-op">:</tt> </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"\n Error : Operator has not been specified !!!"</tt> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">notOperatorMatch</tt> <tt class="py-keyword">or</tt> <tt class="py-name">notOperatorSymbMatch</tt><tt class="py-op">:</tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line"> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">            <tt class="py-name">operators</tt> <tt class="py-op">=</tt> <tt class="py-name">notOperatorMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">notOperatorMatch</tt> <tt class="py-keyword">else</tt> <tt class="py-name">notOperatorSymbMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">            <tt class="py-name">operators</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_operator()=TestON.core.openspeak.OpenSpeak-class.html#translate_operator"><a title="TestON.core.openspeak.OpenSpeak.translate_operator" class="py-name" href="#" onclick="return doclink('link-36', 'translate_operator', 'link-36');">translate_operator</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">operators</tt><tt class="py-op">)</tt> </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grtrOrLssr</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-op">:</tt> </tt>
+<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"utilities.assert_not_"</tt> <tt class="py-op">+</tt> <tt class="py-name">operators</tt> <tt class="py-op">+</tt> <tt class="py-string">"(expect="</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">                               <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_response_result()=TestON.core.openspeak.OpenSpeak-class.html#translate_response_result"><a title="TestON.core.openspeak.OpenSpeak.translate_response_result" class="py-name" href="#" onclick="return doclink('link-37', 'translate_response_result', 'link-37');">translate_response_result</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"RIGHTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">",actual="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_response_result" class="py-name" href="#" onclick="return doclink('link-38', 'translate_response_result', 'link-37');">translate_response_result</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LEFTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line">                               <tt class="py-string">",onpass="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_assertMessage()=TestON.core.openspeak.OpenSpeak-class.html#translate_assertMessage"><a title="TestON.core.openspeak.OpenSpeak.translate_assertMessage" class="py-name" href="#" onclick="return doclink('link-39', 'translate_assertMessage', 'link-39');">translate_assertMessage</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ONPASS"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">                               <tt class="py-string">",onfail="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_assertMessage" class="py-name" href="#" onclick="return doclink('link-40', 'translate_assertMessage', 'link-39');">translate_assertMessage</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ONFAIL"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
+<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"utilities.assert_not_"</tt> <tt class="py-op">+</tt> <tt class="py-name">operators</tt> <tt class="py-op">+</tt> <tt class="py-string">"(expect="</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">                               <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_response_result" class="py-name" href="#" onclick="return doclink('link-41', 'translate_response_result', 'link-37');">translate_response_result</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LEFTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">",actual="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_response_result" class="py-name" href="#" onclick="return doclink('link-42', 'translate_response_result', 'link-37');">translate_response_result</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"RIGHTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">                               <tt class="py-string">",onpass="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_assertMessage" class="py-name" href="#" onclick="return doclink('link-43', 'translate_assertMessage', 'link-39');">translate_assertMessage</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ONPASS"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">                               <tt class="py-string">",onfail="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_assertMessage" class="py-name" href="#" onclick="return doclink('link-44', 'translate_assertMessage', 'link-39');">translate_assertMessage</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ONFAIL"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line"> </tt>
+<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">            <tt class="py-name">operators</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_operator" class="py-name" href="#" onclick="return doclink('link-45', 'translate_operator', 'link-36');">translate_operator</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grtrOrLssr</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-op">:</tt> </tt>
+<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"utilities.assert_"</tt> <tt class="py-op">+</tt> <tt class="py-name">operators</tt> <tt class="py-op">+</tt> <tt class="py-string">"(expect="</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">                               <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_response_result" class="py-name" href="#" onclick="return doclink('link-46', 'translate_response_result', 'link-37');">translate_response_result</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"RIGHTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">                               <tt class="py-string">",actual="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_response_result" class="py-name" href="#" onclick="return doclink('link-47', 'translate_response_result', 'link-37');">translate_response_result</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LEFTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">                               <tt class="py-string">",onpass="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_assertMessage" class="py-name" href="#" onclick="return doclink('link-48', 'translate_assertMessage', 'link-39');">translate_assertMessage</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ONPASS"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">                               <tt class="py-string">",onfail="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_assertMessage" class="py-name" href="#" onclick="return doclink('link-49', 'translate_assertMessage', 'link-39');">translate_assertMessage</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ONFAIL"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"utilities.assert_"</tt> <tt class="py-op">+</tt> <tt class="py-name">operators</tt> <tt class="py-op">+</tt> <tt class="py-string">"(expect="</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line">                               <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_response_result" class="py-name" href="#" onclick="return doclink('link-50', 'translate_response_result', 'link-37');">translate_response_result</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"LEFTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line">                               <tt class="py-string">",actual="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_response_result" class="py-name" href="#" onclick="return doclink('link-51', 'translate_response_result', 'link-37');">translate_response_result</a></tt><tt class="py-op">(</tt><tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"RIGHTVALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line">                               <tt class="py-string">",onpass="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_assertMessage" class="py-name" href="#" onclick="return doclink('link-52', 'translate_assertMessage', 'link-39');">translate_assertMessage</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ONPASS"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">                               <tt class="py-string">",onfail="</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_assertMessage" class="py-name" href="#" onclick="return doclink('link-53', 'translate_assertMessage', 'link-39');">translate_assertMessage</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ONFAIL"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
+<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line"> </tt>
+<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line"> </tt>
+<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_response_result"></a><div id="OpenSpeak.translate_response_result-def"><a name="L421"></a><tt class="py-lineno">421</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_response_result-toggle" onclick="return toggle('OpenSpeak.translate_response_result');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_response_result">translate_response_result</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">operatorStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_response_result-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_response_result-expanded"><a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line"><tt class="py-docstring">         It will translate the LAST_RESPONSE or LAST_RESULT statement into its equivalent.</tt> </tt>
+<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line"><tt class="py-docstring">         It returns the translate form in resulString.</tt> </tt>
+<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-54', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">operatorStatement</tt><tt class="py-op">)</tt> </tt>
+<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">        <tt class="py-name">lastResultMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LAST_RESULT"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">        <tt class="py-name">lastResponseMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LAST_RESPONSE"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">lastResultMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.last_result"</tt> </tt>
+<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">lastResponseMatch</tt><tt class="py-op">:</tt> </tt>
+<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.last_response"</tt> </tt>
+<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt> </tt>
+<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line"> </tt>
+<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_assertMessage"></a><div id="OpenSpeak.translate_assertMessage-def"><a name="L439"></a><tt class="py-lineno">439</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_assertMessage-toggle" onclick="return toggle('OpenSpeak.translate_assertMessage');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_assertMessage">translate_assertMessage</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">messageStatement</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_assertMessage-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_assertMessage-expanded"><a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line"><tt class="py-docstring">         This API will facilitate the translation of assert ONPASS or ONFAIL messages . The message can be</tt> </tt>
+<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line"><tt class="py-docstring">         a string or calling another API in OpenSpeak syntax.</tt> </tt>
+<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line"><tt class="py-docstring">         It will return the translated message</tt> </tt>
+<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-55', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">messageStatement</tt><tt class="py-op">)</tt> </tt>
+<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line"> </tt>
+<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">        <tt class="py-name">connectMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"CONNECT\s+(\w+)\s+USING\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">        <tt class="py-name">disconnectMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"DISCONNECT\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">        <tt class="py-name">ondoMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"ON\s+(.*)\s+DO\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">        <tt class="py-name">paramsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"PARAMS\[(.*)\]|STEP\[(.*)\]|TOPO\[(.*)\]|CASE\[(.*)\]"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">        <tt class="py-name">stringMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"\"(.*)\"|\'(.*)\'"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">        <tt class="py-name">variableMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"\&lt;(.*)\&gt;"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line"> </tt>
+<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">connectMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_connect" class="py-name" href="#" onclick="return doclink('link-56', 'translate_connect', 'link-13');">translate_connect</a></tt><tt class="py-op">(</tt><tt class="py-name">component</tt><tt class="py-op">=</tt><tt class="py-name">connectMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">                                                                 <tt class="py-name">arguments</tt><tt class="py-op">=</tt><tt class="py-name">connectMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">disconnectMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_disconnect" class="py-name" href="#" onclick="return doclink('link-57', 'translate_disconnect', 'link-14');">translate_disconnect</a></tt><tt class="py-op">(</tt><tt class="py-name">component</tt><tt class="py-op">=</tt><tt class="py-name">disconnectMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">ondoMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_onDOAs" class="py-name" href="#" onclick="return doclink('link-58', 'translate_onDOAs', 'link-15');">translate_onDOAs</a></tt><tt class="py-op">(</tt><tt class="py-name">component</tt><tt class="py-op">=</tt><tt class="py-name">ondoMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line">                                                                <tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-name">ondoMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">paramsMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_parameters" class="py-name" href="#" onclick="return doclink('link-59', 'translate_parameters', 'link-33');">translate_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">stringMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"\""</tt> <tt class="py-op">+</tt> <tt class="py-name">stringMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\""</tt> </tt>
+<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">variableMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">variableMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MESSAGE"</tt><tt class="py-op">]</tt>  <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"\n Error : Please pass a message or action for assertion "</tt> </tt>
+<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line"> </tt>
+<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_operator"></a><div id="OpenSpeak.translate_operator-def"><a name="L474"></a><tt class="py-lineno">474</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_operator-toggle" onclick="return toggle('OpenSpeak.translate_operator');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_operator">translate_operator</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">operatorStatement</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_operator-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_operator-expanded"><a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line"><tt class="py-docstring">          It will translate the operator for assertion , by ensuring against given arguments.</tt> </tt>
+<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line"><tt class="py-docstring">          It will return the translated assertion operator.</tt> </tt>
+<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-60', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">operatorStatement</tt><tt class="py-op">)</tt> </tt>
+<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line"> </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">        <tt class="py-name">equalsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"EQUALS$|==$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line">        <tt class="py-name">greaterMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"GREATER\s+THAN$|&gt;$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line">        <tt class="py-name">lesserMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LESSER\s+THAN$|&lt;$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line">        <tt class="py-name">stringMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"MATCHES|~$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line">        <tt class="py-name">greaterEqualMatch</tt> <tt class="py-op">=</tt>  <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"GREATER\s+THAN\s+OR\s+EQUALS$|&gt;=$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line">        <tt class="py-name">lesserEqualMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LESSER\s+THAN\s+OR\s+EQUALS$|&lt;=$"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPERATOR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">equalsMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line"> </tt>
+<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"equals"</tt> </tt>
+<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">greaterMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grtrOrLssr</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grtrOrLssr</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"greater"</tt> </tt>
+<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">lesserMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grtrOrLssr</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grtrOrLssr</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"lesser"</tt> </tt>
+<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">stringMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line"> </tt>
+<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"matches"</tt> </tt>
+<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">greaterEqualMatch</tt><tt class="py-op">:</tt> </tt>
+<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line"> </tt>
+<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"greater_equals"</tt> </tt>
+<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">lesserEqualMatch</tt> <tt class="py-op">:</tt> </tt>
 <a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line"> </tt>
-<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
-</div><a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line">    </tt>
-<a name="OpenSpeak.translate_disconnect"></a><div id="OpenSpeak.translate_disconnect-def"><a name="L507"></a><tt class="py-lineno">507</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_disconnect-toggle" onclick="return toggle('OpenSpeak.translate_disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_disconnect">translate_disconnect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">disconnectStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_disconnect-expanded"><a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the DISCONNECT &lt;component_name&gt; into python </tt> </tt>
-<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line"><tt class="py-docstring">         equivalent to resultString and returns resultString</tt> </tt>
-<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-71', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"COMPONENT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">disconnectStatement</tt><tt class="py-op">)</tt> </tt>
-<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here</tt> </tt>
-<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"main."</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"COMPONENT"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">".disconnect()"</tt>      </tt>
-<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
-</div><a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">   </tt>
-<a name="OpenSpeak.translate_onDOAs"></a><div id="OpenSpeak.translate_onDOAs-def"><a name="L518"></a><tt class="py-lineno">518</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_onDOAs-toggle" onclick="return toggle('OpenSpeak.translate_onDOAs');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_onDOAs">translate_onDOAs</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">onDoStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_onDOAs-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_onDOAs-expanded"><a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the ON &lt;component&gt; DO &lt;action&gt; USING &lt;arg1&gt; AS &lt;value1&gt;,&lt;arg2&gt; AS &lt;value2&gt;</tt> </tt>
-<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line"><tt class="py-docstring">         into python equivalent to resultString and returns resultString</tt> </tt>
-<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-72', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"COMPONENT"</tt><tt class="py-op">,</tt><tt class="py-string">"ACTION"</tt><tt class="py-op">,</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">onDoStatement</tt><tt class="py-op">)</tt> </tt>
-<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">        <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line">         </tt>
-<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line">        <tt class="py-name">usingMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*(.*)\s+USING\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ACTION"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">        <tt class="py-name">action</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">usingMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">            <tt class="py-name">action</tt> <tt class="py-op">=</tt> <tt class="py-name">usingMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">usingMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line">            <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_usingas()=TestON.core.openspeak.OpenSpeak-class.html#translate_usingas"><a title="TestON.core.openspeak.OpenSpeak.translate_usingas" class="py-name" href="#" onclick="return doclink('link-73', 'translate_usingas', 'link-73');">translate_usingas</a></tt><tt class="py-op">(</tt><tt class="py-name">arguments</tt><tt class="py-op">=</tt><tt class="py-name">arguments</tt><tt class="py-op">)</tt> </tt>
-<a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">             </tt>
-<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line">            <tt class="py-name">andCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt> <tt class="py-op">(</tt><tt class="py-string">"(.*)\s+AND\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ACTION"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line">             </tt>
-<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">            <tt class="py-name">action</tt> <tt class="py-op">=</tt> <tt class="py-name">action</tt> <tt class="py-op">+</tt> <tt class="py-string">"()"</tt> </tt>
-<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">andCheck</tt><tt class="py-op">:</tt> </tt>
-<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line">                <tt class="py-name">action</tt> <tt class="py-op">=</tt> <tt class="py-name">andCheck</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"()"</tt> </tt>
-<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">                <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.handle_conjuction()=TestON.core.openspeak.OpenSpeak-class.html#handle_conjuction"><a title="TestON.core.openspeak.OpenSpeak.handle_conjuction" class="py-name" href="#" onclick="return doclink('link-74', 'handle_conjuction', 'link-74');">handle_conjuction</a></tt><tt class="py-op">(</tt><tt class="py-name">statement</tt><tt class="py-op">=</tt><tt class="py-name">andCheck</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">                <tt class="py-name">action</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ACTION"</tt><tt class="py-op">]</tt> </tt>
-<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line">                <tt class="py-name">action</tt> <tt class="py-op">=</tt> <tt class="py-name">action</tt> <tt class="py-op">+</tt> <tt class="py-string">"()"</tt> </tt>
-<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here    </tt> </tt>
-<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"main."</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"COMPONENT"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">action</tt> <tt class="py-op">+</tt> <tt class="py-name">subString</tt>  </tt>
-<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
-</div><a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line"> </tt>
-<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">     </tt>
-<a name="OpenSpeak.handle_conjuction"></a><div id="OpenSpeak.handle_conjuction-def"><a name="L548"></a><tt class="py-lineno">548</tt> <a class="py-toggle" href="#" id="OpenSpeak.handle_conjuction-toggle" onclick="return toggle('OpenSpeak.handle_conjuction');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#handle_conjuction">handle_conjuction</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">conjuctStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.handle_conjuction-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.handle_conjuction-expanded"><a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line"><tt class="py-docstring">        This will handle the conjuctions</tt> </tt>
-<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line">         </tt>
-<a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-75', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"STATEMENT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">conjuctStatement</tt><tt class="py-op">)</tt> </tt>
-<a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line">        <tt class="py-name">subSentence</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line">         </tt>
-<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line">        <tt class="py-name">storeMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*STORE\s+(.*)\s+IN\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"STATEMENT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line">        <tt class="py-name">assertMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*ASSERT\s+(\w+)\s+(.*)\s+(.*)\s+ONPASS\s+(.*)\s+ONFAIL\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"STATEMENT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">storeMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line">            <tt class="py-name">subSentence</tt> <tt class="py-op">=</tt>  <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">8</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_store" class="py-name" href="#" onclick="return doclink('link-76', 'translate_store', 'link-19');">translate_store</a></tt><tt class="py-op">(</tt><tt class="py-name">variable</tt><tt class="py-op">=</tt><tt class="py-name">storeMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line">                                                                         <tt class="py-name">value</tt><tt class="py-op">=</tt><tt class="py-name">storeMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">assertMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line">            <tt class="py-name">subSentence</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">8</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_assertion" class="py-name" href="#" onclick="return doclink('link-77', 'translate_assertion', 'link-21');">translate_assertion</a></tt><tt class="py-op">(</tt><tt class="py-name">leftvalue</tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line">                                                                    <tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line">                                                                    <tt class="py-name">rightvalue</tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line">                                                                    <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line">                                                                    <tt id="link-78" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-78', 'onfail', 'link-22');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">subSentence</tt> </tt>
-</div><a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line"> </tt>
-<a name="OpenSpeak.translate_usingas"></a><div id="OpenSpeak.translate_usingas-def"><a name="L569"></a><tt class="py-lineno">569</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_usingas-toggle" onclick="return toggle('OpenSpeak.translate_usingas');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_usingas">translate_usingas</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">argumentAS</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_usingas-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_usingas-expanded"><a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line"><tt class="py-docstring">         This will tranlate USING argument AS value Statement into equivalent argument passing.</tt> </tt>
-<a name="L572"></a><tt class="py-lineno">572</tt>  <tt class="py-line"><tt class="py-docstring">         It will return translated form into resultString</tt> </tt>
-<a name="L573"></a><tt class="py-lineno">573</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-79', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">argumentAS</tt><tt class="py-op">)</tt> </tt>
-<a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line">        <tt class="py-name">argsList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line">        <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"lesser_equals"</tt> </tt>
+<a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"\n Error: Given Operator is not listed for assertion"</tt> </tt>
+<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_store"></a><div id="OpenSpeak.translate_store-def"><a name="L510"></a><tt class="py-lineno">510</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_store-toggle" onclick="return toggle('OpenSpeak.translate_store');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_store">translate_store</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">storeStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_store-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_store-expanded"><a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the STORE &lt;variable&gt; IN &lt;value&gt; or &lt;variable&gt; = &lt;value&gt;</tt> </tt>
+<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line"><tt class="py-docstring">         into python equivalent to resultString and returns resultString</tt> </tt>
+<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-61', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"VARIABLE"</tt><tt class="py-op">,</tt><tt class="py-string">"VALUE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">storeStatement</tt><tt class="py-op">)</tt> </tt>
+<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here</tt> </tt>
+<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">        <tt class="py-name">ondoMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^\s*ON\s+(.*)\s+DO\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"VALUE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">        <tt class="py-name">paramsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"^\s*PARAMS\[(.*)\]|STEP\[(.*)\]|TOPO\[(.*)\]|CASE\[(.*)\]|LAST_RESULT|LAST_RESPONSE"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"VALUE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">paramsMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line">            <tt class="py-name">argString</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_parameters" class="py-name" href="#" onclick="return doclink('link-62', 'translate_parameters', 'link-33');">translate_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"VALUE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"VARIABLE"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" = "</tt> <tt class="py-op">+</tt> <tt class="py-name">argString</tt> </tt>
+<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">ondoMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"VARIABLE"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" = "</tt>  <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_onDOAs" class="py-name" href="#" onclick="return doclink('link-63', 'translate_onDOAs', 'link-15');">translate_onDOAs</a></tt><tt class="py-op">(</tt><tt class="py-name">component</tt><tt class="py-op">=</tt><tt class="py-name">ondoMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-name">ondoMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"VARIABLE"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" = "</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"VALUE"</tt><tt class="py-op">]</tt> </tt>
+<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line"> </tt>
+<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line"> </tt>
+<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_disconnect"></a><div id="OpenSpeak.translate_disconnect-def"><a name="L531"></a><tt class="py-lineno">531</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_disconnect-toggle" onclick="return toggle('OpenSpeak.translate_disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_disconnect">translate_disconnect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">disconnectStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_disconnect-expanded"><a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the DISCONNECT &lt;component_name&gt; into python</tt> </tt>
+<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line"><tt class="py-docstring">         equivalent to resultString and returns resultString</tt> </tt>
+<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-64', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"COMPONENT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">disconnectStatement</tt><tt class="py-op">)</tt> </tt>
+<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here</tt> </tt>
+<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"main."</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"COMPONENT"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">".disconnect()"</tt> </tt>
+<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_onDOAs"></a><div id="OpenSpeak.translate_onDOAs-def"><a name="L542"></a><tt class="py-lineno">542</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_onDOAs-toggle" onclick="return toggle('OpenSpeak.translate_onDOAs');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_onDOAs">translate_onDOAs</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">onDoStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_onDOAs-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_onDOAs-expanded"><a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the ON &lt;component&gt; DO &lt;action&gt; USING &lt;arg1&gt; AS &lt;value1&gt;,&lt;arg2&gt; AS &lt;value2&gt;</tt> </tt>
+<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line"><tt class="py-docstring">         into python equivalent to resultString and returns resultString</tt> </tt>
+<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-65', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"COMPONENT"</tt><tt class="py-op">,</tt><tt class="py-string">"ACTION"</tt><tt class="py-op">,</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">onDoStatement</tt><tt class="py-op">)</tt> </tt>
+<a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line">        <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line"> </tt>
+<a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line">        <tt class="py-name">usingMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*(.*)\s+USING\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ACTION"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line">        <tt class="py-name">action</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">usingMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line">            <tt class="py-name">action</tt> <tt class="py-op">=</tt> <tt class="py-name">usingMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">usingMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line">            <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.translate_usingas()=TestON.core.openspeak.OpenSpeak-class.html#translate_usingas"><a title="TestON.core.openspeak.OpenSpeak.translate_usingas" class="py-name" href="#" onclick="return doclink('link-66', 'translate_usingas', 'link-66');">translate_usingas</a></tt><tt class="py-op">(</tt><tt class="py-name">arguments</tt><tt class="py-op">=</tt><tt class="py-name">arguments</tt><tt class="py-op">)</tt> </tt>
+<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line"> </tt>
+<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line">            <tt class="py-name">andCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt> <tt class="py-op">(</tt><tt class="py-string">"(.*)\s+AND\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ACTION"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line"> </tt>
+<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line">            <tt class="py-name">action</tt> <tt class="py-op">=</tt> <tt class="py-name">action</tt> <tt class="py-op">+</tt> <tt class="py-string">"()"</tt> </tt>
+<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">andCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line">                <tt class="py-name">action</tt> <tt class="py-op">=</tt> <tt class="py-name">andCheck</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"()"</tt> </tt>
+<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line">                <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.handle_conjuction()=TestON.core.openspeak.OpenSpeak-class.html#handle_conjuction"><a title="TestON.core.openspeak.OpenSpeak.handle_conjuction" class="py-name" href="#" onclick="return doclink('link-67', 'handle_conjuction', 'link-67');">handle_conjuction</a></tt><tt class="py-op">(</tt><tt class="py-name">statement</tt><tt class="py-op">=</tt><tt class="py-name">andCheck</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line">                <tt class="py-name">action</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ACTION"</tt><tt class="py-op">]</tt> </tt>
+<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line">                <tt class="py-name">action</tt> <tt class="py-op">=</tt> <tt class="py-name">action</tt> <tt class="py-op">+</tt> <tt class="py-string">"()"</tt> </tt>
+<a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here</tt> </tt>
+<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"main."</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"COMPONENT"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">action</tt> <tt class="py-op">+</tt> <tt class="py-name">subString</tt> </tt>
+<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line"> </tt>
+<a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.handle_conjuction"></a><div id="OpenSpeak.handle_conjuction-def"><a name="L572"></a><tt class="py-lineno">572</tt> <a class="py-toggle" href="#" id="OpenSpeak.handle_conjuction-toggle" onclick="return toggle('OpenSpeak.handle_conjuction');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#handle_conjuction">handle_conjuction</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">conjuctStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.handle_conjuction-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.handle_conjuction-expanded"><a name="L573"></a><tt class="py-lineno">573</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line"><tt class="py-docstring">        This will handle the conjuctions</tt> </tt>
+<a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line"> </tt>
+<a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-68', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"STATEMENT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">conjuctStatement</tt><tt class="py-op">)</tt> </tt>
 <a name="L578"></a><tt class="py-lineno">578</tt>  <tt class="py-line">        <tt class="py-name">subSentence</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line">        <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line">        <tt class="py-name">andCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt> <tt class="py-op">(</tt><tt class="py-string">"(.*)\s+AND\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">andCheck</tt><tt class="py-op">:</tt> </tt>
-<a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line">            <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">andCheck</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L583"></a><tt class="py-lineno">583</tt>  <tt class="py-line">            <tt class="py-name">subSentence</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.handle_conjuction" class="py-name" href="#" onclick="return doclink('link-80', 'handle_conjuction', 'link-74');">handle_conjuction</a></tt><tt class="py-op">(</tt><tt class="py-name">statement</tt><tt class="py-op">=</tt><tt class="py-name">andCheck</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line">            <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt> </tt>
-<a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line">             </tt>
-<a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line">             </tt>
-<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line">         </tt>
-<a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line">        <tt class="py-name">argsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"(.*),(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line"> </tt>
-<a name="L591"></a><tt class="py-lineno">591</tt>  <tt class="py-line"> </tt>
-<a name="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">''</tt> <tt class="py-op">:</tt> </tt>
-<a name="L593"></a><tt class="py-lineno">593</tt>  <tt class="py-line">            <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">argsMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line">             </tt>
-<a name="L596"></a><tt class="py-lineno">596</tt>  <tt class="py-line">            <tt class="py-name">argsList</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
-<a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">arguments</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">argsList</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line">                <tt class="py-name">argMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"(.*)\s+AS\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">arguments</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">argMatch</tt><tt class="py-op">:</tt> </tt>
-<a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line">                    <tt class="py-name">argsKey</tt> <tt class="py-op">=</tt>  <tt class="py-name">argMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line">                    <tt class="py-name">argsValue</tt> <tt class="py-op">=</tt> <tt class="py-name">argMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line">                    <tt class="py-name">paramsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"PARAMS\[(.*)\]|STEP\[(.*)\]|TOPO\[(.*)\]|CASE\[(.*)\]|LAST_RESPONSE|LAST_RESULT"</tt><tt class="py-op">,</tt><tt class="py-name">argsValue</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L603"></a><tt class="py-lineno">603</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">paramsMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L604"></a><tt class="py-lineno">604</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">argsList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> <tt class="py-op">:</tt> </tt>
-<a name="L605"></a><tt class="py-lineno">605</tt>  <tt class="py-line">                            <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt>  <tt class="py-name">argsKey</tt> <tt class="py-op">+</tt> <tt class="py-string">"="</tt> <tt class="py-op">+</tt> <tt class="py-name">argsValue</tt> </tt>
-<a name="L606"></a><tt class="py-lineno">606</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L607"></a><tt class="py-lineno">607</tt>  <tt class="py-line">                            <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt>  <tt class="py-name">argsKey</tt> <tt class="py-op">+</tt> <tt class="py-string">"="</tt> <tt class="py-op">+</tt> <tt class="py-name">argsValue</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> </tt>
-<a name="L608"></a><tt class="py-lineno">608</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L609"></a><tt class="py-lineno">609</tt>  <tt class="py-line">                        <tt class="py-name">argString</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_parameters" class="py-name" href="#" onclick="return doclink('link-81', 'translate_parameters', 'link-36');">translate_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">=</tt><tt class="py-name">argsValue</tt><tt class="py-op">)</tt> </tt>
-<a name="L610"></a><tt class="py-lineno">610</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">argsList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> <tt class="py-op">:</tt> </tt>
-<a name="L611"></a><tt class="py-lineno">611</tt>  <tt class="py-line">                            <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt>  <tt class="py-name">argsKey</tt> <tt class="py-op">+</tt> <tt class="py-string">"="</tt> <tt class="py-op">+</tt> <tt class="py-name">argString</tt> </tt>
-<a name="L612"></a><tt class="py-lineno">612</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L613"></a><tt class="py-lineno">613</tt>  <tt class="py-line">                            <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt>  <tt class="py-name">argsKey</tt> <tt class="py-op">+</tt> <tt class="py-string">"="</tt> <tt class="py-op">+</tt> <tt class="py-name">argString</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> </tt>
-<a name="L614"></a><tt class="py-lineno">614</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L615"></a><tt class="py-lineno">615</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">argsList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> <tt class="py-op">:</tt> </tt>
-<a name="L616"></a><tt class="py-lineno">616</tt>  <tt class="py-line">                        <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt>  <tt class="py-name">arguments</tt> </tt>
-<a name="L617"></a><tt class="py-lineno">617</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L618"></a><tt class="py-lineno">618</tt>  <tt class="py-line">                        <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt>   </tt>
-<a name="L619"></a><tt class="py-lineno">619</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L620"></a><tt class="py-lineno">620</tt>  <tt class="py-line">            <tt class="py-name">argMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"(.*)\s+AS\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L621"></a><tt class="py-lineno">621</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">argMatch</tt><tt class="py-op">:</tt> </tt>
-<a name="L622"></a><tt class="py-lineno">622</tt>  <tt class="py-line">                <tt class="py-name">argsKey</tt> <tt class="py-op">=</tt>  <tt class="py-name">argMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L623"></a><tt class="py-lineno">623</tt>  <tt class="py-line">                <tt class="py-name">argsValue</tt> <tt class="py-op">=</tt> <tt class="py-name">argMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L624"></a><tt class="py-lineno">624</tt>  <tt class="py-line">                <tt class="py-name">paramsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"PARAMS\[(.*)\]|STEP\[(.*)\]|TOPO\[(.*)\]|CASE\[(.*)\]|LAST_RESPONSE|LAST_RESULT"</tt><tt class="py-op">,</tt><tt class="py-name">argsValue</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L625"></a><tt class="py-lineno">625</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">paramsMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L626"></a><tt class="py-lineno">626</tt>  <tt class="py-line">                    <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt>  <tt class="py-name">argsKey</tt> <tt class="py-op">+</tt> <tt class="py-string">"="</tt> <tt class="py-op">+</tt> <tt class="py-name">argsValue</tt> </tt>
-<a name="L627"></a><tt class="py-lineno">627</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L628"></a><tt class="py-lineno">628</tt>  <tt class="py-line">                    <tt class="py-name">argString</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_parameters" class="py-name" href="#" onclick="return doclink('link-82', 'translate_parameters', 'link-36');">translate_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">=</tt><tt class="py-name">argsValue</tt><tt class="py-op">)</tt> </tt>
-<a name="L629"></a><tt class="py-lineno">629</tt>  <tt class="py-line">                    <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt>  <tt class="py-name">argsKey</tt> <tt class="py-op">+</tt> <tt class="py-string">"="</tt> <tt class="py-op">+</tt> <tt class="py-name">argString</tt> </tt>
-<a name="L630"></a><tt class="py-lineno">630</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L631"></a><tt class="py-lineno">631</tt>  <tt class="py-line">                <tt class="py-name">paramsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"PARAMS\[(.*)\]|STEP\[(.*)\]|TOPO\[(.*)\]|CASE\[(.*)\]|LAST_RESPONSE|LAST_RESULT"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L632"></a><tt class="py-lineno">632</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">paramsMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L633"></a><tt class="py-lineno">633</tt>  <tt class="py-line">                    <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_parameters" class="py-name" href="#" onclick="return doclink('link-83', 'translate_parameters', 'link-36');">translate_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">=</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L634"></a><tt class="py-lineno">634</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L635"></a><tt class="py-lineno">635</tt>  <tt class="py-line">                    <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt>  <tt class="py-name">line</tt> </tt>
-<a name="L636"></a><tt class="py-lineno">636</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"("</tt> <tt class="py-op">+</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt><tt class="py-op">+</tt> <tt class="py-name">subSentence</tt> </tt>
-<a name="L637"></a><tt class="py-lineno">637</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
-</div><a name="L638"></a><tt class="py-lineno">638</tt>  <tt class="py-line"> </tt>
-<a name="L639"></a><tt class="py-lineno">639</tt>  <tt class="py-line"> </tt>
-<a name="OpenSpeak.translate_connect"></a><div id="OpenSpeak.translate_connect-def"><a name="L640"></a><tt class="py-lineno">640</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_connect-toggle" onclick="return toggle('OpenSpeak.translate_connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_connect">translate_connect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">connectStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_connect-expanded"><a name="L641"></a><tt class="py-lineno">641</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L642"></a><tt class="py-lineno">642</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the CONNECT &lt;component_name&gt; USING1 &lt;arg1&gt; AS &lt;value1&gt;, &lt;arg2&gt; AS &lt;value2&gt; </tt> </tt>
-<a name="L643"></a><tt class="py-lineno">643</tt>  <tt class="py-line"><tt class="py-docstring">         into python equivalent to resultString and returns resultString</tt> </tt>
-<a name="L644"></a><tt class="py-lineno">644</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L645"></a><tt class="py-lineno">645</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-84', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"COMPONENT"</tt><tt class="py-op">,</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">connectStatement</tt><tt class="py-op">)</tt> </tt>
-<a name="L646"></a><tt class="py-lineno">646</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L647"></a><tt class="py-lineno">647</tt>  <tt class="py-line">        <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_usingas" class="py-name" href="#" onclick="return doclink('link-85', 'translate_usingas', 'link-73');">translate_usingas</a></tt><tt class="py-op">(</tt><tt class="py-name">arguments</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L648"></a><tt class="py-lineno">648</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here    </tt> </tt>
-<a name="L649"></a><tt class="py-lineno">649</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"main."</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"COMPONENT"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">".connect("</tt> <tt class="py-op">+</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt>  </tt>
-<a name="L650"></a><tt class="py-lineno">650</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
-</div><a name="L651"></a><tt class="py-lineno">651</tt>  <tt class="py-line"> </tt>
-<a name="L652"></a><tt class="py-lineno">652</tt>  <tt class="py-line"> </tt>
-<a name="OpenSpeak.translate_parameters"></a><div id="OpenSpeak.translate_parameters-def"><a name="L653"></a><tt class="py-lineno">653</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_parameters-toggle" onclick="return toggle('OpenSpeak.translate_parameters');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_parameters">translate_parameters</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">parameterStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_parameters-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_parameters-expanded"><a name="L654"></a><tt class="py-lineno">654</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L655"></a><tt class="py-lineno">655</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the OpenSpeak Case and Params parameters into python equivalent </tt> </tt>
-<a name="L656"></a><tt class="py-lineno">656</tt>  <tt class="py-line"><tt class="py-docstring">         to resultString and returns resultString</tt> </tt>
-<a name="L657"></a><tt class="py-lineno">657</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L658"></a><tt class="py-lineno">658</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-86', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"PARAMETERS"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">parameterStatement</tt><tt class="py-op">)</tt> </tt>
-<a name="L659"></a><tt class="py-lineno">659</tt>  <tt class="py-line">        <tt class="py-name">argument</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"PARAMETERS"</tt><tt class="py-op">]</tt> </tt>
-<a name="L660"></a><tt class="py-lineno">660</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L661"></a><tt class="py-lineno">661</tt>  <tt class="py-line">        <tt class="py-comment">### match arguments </tt> </tt>
-<a name="L662"></a><tt class="py-lineno">662</tt>  <tt class="py-line">        <tt class="py-name">paramsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"PARAMS((\[(.*)\])*)"</tt><tt class="py-op">,</tt><tt class="py-name">argument</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L663"></a><tt class="py-lineno">663</tt>  <tt class="py-line">        <tt class="py-name">stepsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"STEP((\[(.*)\])*)"</tt><tt class="py-op">,</tt><tt class="py-name">argument</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L664"></a><tt class="py-lineno">664</tt>  <tt class="py-line">        <tt class="py-name">casesMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"CASE((\[(.*)\])*)"</tt><tt class="py-op">,</tt><tt class="py-name">argument</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L665"></a><tt class="py-lineno">665</tt>  <tt class="py-line">        <tt class="py-name">topoMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"TOPO((\[(.*)\])*)"</tt><tt class="py-op">,</tt><tt class="py-name">argument</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L666"></a><tt class="py-lineno">666</tt>  <tt class="py-line">        <tt class="py-name">lastResultMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LAST_RESULT"</tt><tt class="py-op">,</tt><tt class="py-name">argument</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L667"></a><tt class="py-lineno">667</tt>  <tt class="py-line">        <tt class="py-name">lastResponseMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LAST_RESPONSE"</tt><tt class="py-op">,</tt><tt class="py-name">argument</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt>      </tt>
-<a name="L668"></a><tt class="py-lineno">668</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here</tt> </tt>
-<a name="L669"></a><tt class="py-lineno">669</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">paramsMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L670"></a><tt class="py-lineno">670</tt>  <tt class="py-line">            <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-name">paramsMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L671"></a><tt class="py-lineno">671</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.params"</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak._argsCheck()=TestON.core.openspeak.OpenSpeak-class.html#_argsCheck"><a title="TestON.core.openspeak.OpenSpeak._argsCheck" class="py-name" href="#" onclick="return doclink('link-87', '_argsCheck', 'link-87');">_argsCheck</a></tt><tt class="py-op">(</tt><tt class="py-name">checkvar</tt><tt class="py-op">=</tt><tt class="py-name">params</tt><tt class="py-op">)</tt>  </tt>
-<a name="L672"></a><tt class="py-lineno">672</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">stepsMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L673"></a><tt class="py-lineno">673</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt><tt class="py-string">"main.params[\'"</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentCase</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L674"></a><tt class="py-lineno">674</tt>  <tt class="py-line">                           <tt class="py-string">"\'][\'STEP"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentStep</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\']"</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L675"></a><tt class="py-lineno">675</tt>  <tt class="py-line">                           <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.core.openspeak.OpenSpeak._argsCheck" class="py-name" href="#" onclick="return doclink('link-88', '_argsCheck', 'link-87');">_argsCheck</a></tt><tt class="py-op">(</tt><tt class="py-name">checkvar</tt><tt class="py-op">=</tt><tt class="py-name">stepsMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L676"></a><tt class="py-lineno">676</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">casesMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L677"></a><tt class="py-lineno">677</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.params[\'"</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentCase</tt> <tt class="py-op">+</tt> <tt class="py-string">"\']"</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L678"></a><tt class="py-lineno">678</tt>  <tt class="py-line">                           <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="TestON.core.openspeak.OpenSpeak._argsCheck" class="py-name" href="#" onclick="return doclink('link-89', '_argsCheck', 'link-87');">_argsCheck</a></tt><tt class="py-op">(</tt><tt class="py-name">checkvar</tt><tt class="py-op">=</tt><tt class="py-name">casesMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L679"></a><tt class="py-lineno">679</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">topoMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L680"></a><tt class="py-lineno">680</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.componentDictionary"</tt> <tt class="py-op">+</tt>\ </tt>
-<a name="L681"></a><tt class="py-lineno">681</tt>  <tt class="py-line">                           <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="TestON.core.openspeak.OpenSpeak._argsCheck" class="py-name" href="#" onclick="return doclink('link-90', '_argsCheck', 'link-87');">_argsCheck</a></tt><tt class="py-op">(</tt><tt class="py-name">checkvar</tt><tt class="py-op">=</tt><tt class="py-name">topoMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L682"></a><tt class="py-lineno">682</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">lastResultMatch</tt> <tt class="py-op">:</tt> </tt>
-<a name="L683"></a><tt class="py-lineno">683</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.last_result"</tt> </tt>
-<a name="L684"></a><tt class="py-lineno">684</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">lastResponseMatch</tt> <tt class="py-op">:</tt>  </tt>
-<a name="L685"></a><tt class="py-lineno">685</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.last_response"</tt>   </tt>
-<a name="L686"></a><tt class="py-lineno">686</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
-</div><a name="L687"></a><tt class="py-lineno">687</tt>  <tt class="py-line"> </tt>
-<a name="OpenSpeak._argsCheck"></a><div id="OpenSpeak._argsCheck-def"><a name="L688"></a><tt class="py-lineno">688</tt> <a class="py-toggle" href="#" id="OpenSpeak._argsCheck-toggle" onclick="return toggle('OpenSpeak._argsCheck');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#_argsCheck">_argsCheck</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">args</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak._argsCheck-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak._argsCheck-expanded"><a name="L689"></a><tt class="py-lineno">689</tt>  <tt class="py-line">        <tt class="py-docstring">''' This API will check if given argument is varibale reference or String and will translate accordingly.</tt> </tt>
-<a name="L690"></a><tt class="py-lineno">690</tt>  <tt class="py-line"><tt class="py-docstring">            It will return the tanslate form in resultString.</tt> </tt>
-<a name="L691"></a><tt class="py-lineno">691</tt>  <tt class="py-line"><tt class="py-docstring">         '''</tt>     </tt>
-<a name="L692"></a><tt class="py-lineno">692</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-91', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"CHECKVAR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> </tt>
-<a name="L693"></a><tt class="py-lineno">693</tt>  <tt class="py-line">        <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CHECKVAR"</tt><tt class="py-op">]</tt> </tt>
-<a name="L694"></a><tt class="py-lineno">694</tt>  <tt class="py-line">        <tt class="py-name">argsList</tt> <tt class="py-op">=</tt> <tt class="py-name">params</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"]"</tt><tt class="py-op">)</tt> </tt>
-<a name="L695"></a><tt class="py-lineno">695</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L696"></a><tt class="py-lineno">696</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">argsList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">argsList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt>  </tt>
-<a name="L697"></a><tt class="py-lineno">697</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt><tt class="py-name">paramArgs</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">argsList</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L698"></a><tt class="py-lineno">698</tt>  <tt class="py-line">            <tt class="py-name">argsWidVariable</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"(\"|\')\s*(\w+)\s*(\'|\")"</tt><tt class="py-op">,</tt><tt class="py-name">paramArgs</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L699"></a><tt class="py-lineno">699</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">argsWidVariable</tt> <tt class="py-op">:</tt> </tt>
-<a name="L700"></a><tt class="py-lineno">700</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"[\'"</tt> <tt class="py-op">+</tt> <tt class="py-name">argsWidVariable</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\']"</tt> </tt>
-<a name="L701"></a><tt class="py-lineno">701</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L702"></a><tt class="py-lineno">702</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">paramArgs</tt> <tt class="py-op">+</tt> <tt class="py-string">"]"</tt> </tt>
-<a name="L703"></a><tt class="py-lineno">703</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
-</div><a name="L704"></a><tt class="py-lineno">704</tt>  <tt class="py-line"> </tt>
-<a name="OpenSpeak.translate_step"></a><div id="OpenSpeak.translate_step-def"><a name="L705"></a><tt class="py-lineno">705</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_step-toggle" onclick="return toggle('OpenSpeak.translate_step');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_step">translate_step</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">stepStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_step-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_step-expanded"><a name="L706"></a><tt class="py-lineno">706</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L707"></a><tt class="py-lineno">707</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the STEP "DO SOMETHING HERE" into python equivalent </tt> </tt>
-<a name="L708"></a><tt class="py-lineno">708</tt>  <tt class="py-line"><tt class="py-docstring">         to resultString and returns resultString</tt> </tt>
-<a name="L709"></a><tt class="py-lineno">709</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L710"></a><tt class="py-lineno">710</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-92', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"STEP"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">stepStatement</tt><tt class="py-op">)</tt> </tt>
-<a name="L711"></a><tt class="py-lineno">711</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L712"></a><tt class="py-lineno">712</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"main.step(\""</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"STEP"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"\")"</tt> </tt>
-<a name="L713"></a><tt class="py-lineno">713</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here     </tt> </tt>
-<a name="L714"></a><tt class="py-lineno">714</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
-</div><a name="L715"></a><tt class="py-lineno">715</tt>  <tt class="py-line"> </tt>
-<a name="L716"></a><tt class="py-lineno">716</tt>  <tt class="py-line">  </tt>
-<a name="OpenSpeak.translate_comment"></a><div id="OpenSpeak.translate_comment-def"><a name="L717"></a><tt class="py-lineno">717</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_comment-toggle" onclick="return toggle('OpenSpeak.translate_comment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_comment">translate_comment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">commentStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_comment-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_comment-expanded"><a name="L718"></a><tt class="py-lineno">718</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L719"></a><tt class="py-lineno">719</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the COMMENT "DO SOMETHING HERE" into python equivalent </tt> </tt>
-<a name="L720"></a><tt class="py-lineno">720</tt>  <tt class="py-line"><tt class="py-docstring">         to resultString and returns resultString</tt> </tt>
-<a name="L721"></a><tt class="py-lineno">721</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L722"></a><tt class="py-lineno">722</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-93', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"COMMENT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">commentStatement</tt><tt class="py-op">)</tt> </tt>
-<a name="L723"></a><tt class="py-lineno">723</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L724"></a><tt class="py-lineno">724</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"#"</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"COMMENT"</tt><tt class="py-op">]</tt> </tt>
-<a name="L725"></a><tt class="py-lineno">725</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here     </tt> </tt>
-<a name="L726"></a><tt class="py-lineno">726</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt>       </tt>
-</div><a name="L727"></a><tt class="py-lineno">727</tt>  <tt class="py-line">    </tt>
-<a name="OpenSpeak.translate_testcase_name"></a><div id="OpenSpeak.translate_testcase_name-def"><a name="L728"></a><tt class="py-lineno">728</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_testcase_name-toggle" onclick="return toggle('OpenSpeak.translate_testcase_name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_testcase_name">translate_testcase_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">nameStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_testcase_name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_testcase_name-expanded"><a name="L729"></a><tt class="py-lineno">729</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L730"></a><tt class="py-lineno">730</tt>  <tt class="py-line"><tt class="py-docstring">         This method will convert NAME "&lt;Testcase_name&gt;" into python equivalent statement </tt> </tt>
-<a name="L731"></a><tt class="py-lineno">731</tt>  <tt class="py-line"><tt class="py-docstring">         to resultString and returns resultString </tt> </tt>
-<a name="L732"></a><tt class="py-lineno">732</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt>  </tt>
-<a name="L733"></a><tt class="py-lineno">733</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-94', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"TESTNAME"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">nameStatement</tt><tt class="py-op">)</tt> </tt>
-<a name="L734"></a><tt class="py-lineno">734</tt>  <tt class="py-line">        </tt>
+<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line"> </tt>
+<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line">        <tt class="py-name">storeMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*STORE\s+(.*)\s+IN\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"STATEMENT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line">        <tt class="py-name">assertMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"\s*ASSERT\s+(\w+)\s+(.*)\s+(.*)\s+ONPASS\s+(.*)\s+ONFAIL\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"STATEMENT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">storeMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L583"></a><tt class="py-lineno">583</tt>  <tt class="py-line">            <tt class="py-name">subSentence</tt> <tt class="py-op">=</tt>  <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">8</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_store" class="py-name" href="#" onclick="return doclink('link-69', 'translate_store', 'link-16');">translate_store</a></tt><tt class="py-op">(</tt><tt class="py-name">variable</tt><tt class="py-op">=</tt><tt class="py-name">storeMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line">                                                                         <tt class="py-name">value</tt><tt class="py-op">=</tt><tt class="py-name">storeMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">assertMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line">            <tt class="py-name">subSentence</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">8</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_assertion" class="py-name" href="#" onclick="return doclink('link-70', 'translate_assertion', 'link-18');">translate_assertion</a></tt><tt class="py-op">(</tt><tt class="py-name">leftvalue</tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line">                                                                    <tt class="py-name">operator</tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line">                                                                    <tt class="py-name">rightvalue</tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line">                                                                    <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line">                                                                    <tt id="link-71" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-71', 'onfail', 'link-19');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-name">assertMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L591"></a><tt class="py-lineno">591</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">subSentence</tt> </tt>
+</div><a name="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_usingas"></a><div id="OpenSpeak.translate_usingas-def"><a name="L593"></a><tt class="py-lineno">593</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_usingas-toggle" onclick="return toggle('OpenSpeak.translate_usingas');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_usingas">translate_usingas</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">argumentAS</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_usingas-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_usingas-expanded"><a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line"><tt class="py-docstring">         This will tranlate USING argument AS value Statement into equivalent argument passing.</tt> </tt>
+<a name="L596"></a><tt class="py-lineno">596</tt>  <tt class="py-line"><tt class="py-docstring">         It will return translated form into resultString</tt> </tt>
+<a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-72', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">argumentAS</tt><tt class="py-op">)</tt> </tt>
+<a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line">        <tt class="py-name">argsList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line">        <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line">        <tt class="py-name">subSentence</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L603"></a><tt class="py-lineno">603</tt>  <tt class="py-line">        <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L604"></a><tt class="py-lineno">604</tt>  <tt class="py-line">        <tt class="py-name">andCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt> <tt class="py-op">(</tt><tt class="py-string">"(.*)\s+AND\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L605"></a><tt class="py-lineno">605</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">andCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L606"></a><tt class="py-lineno">606</tt>  <tt class="py-line">            <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">andCheck</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L607"></a><tt class="py-lineno">607</tt>  <tt class="py-line">            <tt class="py-name">subSentence</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.handle_conjuction" class="py-name" href="#" onclick="return doclink('link-73', 'handle_conjuction', 'link-67');">handle_conjuction</a></tt><tt class="py-op">(</tt><tt class="py-name">statement</tt><tt class="py-op">=</tt><tt class="py-name">andCheck</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L608"></a><tt class="py-lineno">608</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L609"></a><tt class="py-lineno">609</tt>  <tt class="py-line">            <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt> </tt>
+<a name="L610"></a><tt class="py-lineno">610</tt>  <tt class="py-line"> </tt>
+<a name="L611"></a><tt class="py-lineno">611</tt>  <tt class="py-line"> </tt>
+<a name="L612"></a><tt class="py-lineno">612</tt>  <tt class="py-line"> </tt>
+<a name="L613"></a><tt class="py-lineno">613</tt>  <tt class="py-line">        <tt class="py-name">argsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"(.*),(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L614"></a><tt class="py-lineno">614</tt>  <tt class="py-line"> </tt>
+<a name="L615"></a><tt class="py-lineno">615</tt>  <tt class="py-line"> </tt>
+<a name="L616"></a><tt class="py-lineno">616</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">''</tt> <tt class="py-op">:</tt> </tt>
+<a name="L617"></a><tt class="py-lineno">617</tt>  <tt class="py-line">            <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L618"></a><tt class="py-lineno">618</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">argsMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L619"></a><tt class="py-lineno">619</tt>  <tt class="py-line"> </tt>
+<a name="L620"></a><tt class="py-lineno">620</tt>  <tt class="py-line">            <tt class="py-name">argsList</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L621"></a><tt class="py-lineno">621</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt> <tt class="py-name">arguments</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">argsList</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L622"></a><tt class="py-lineno">622</tt>  <tt class="py-line">                <tt class="py-name">argMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"(.*)\s+AS\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">arguments</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L623"></a><tt class="py-lineno">623</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">argMatch</tt><tt class="py-op">:</tt> </tt>
+<a name="L624"></a><tt class="py-lineno">624</tt>  <tt class="py-line">                    <tt class="py-name">argsKey</tt> <tt class="py-op">=</tt>  <tt class="py-name">argMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L625"></a><tt class="py-lineno">625</tt>  <tt class="py-line">                    <tt class="py-name">argsValue</tt> <tt class="py-op">=</tt> <tt class="py-name">argMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L626"></a><tt class="py-lineno">626</tt>  <tt class="py-line">                    <tt class="py-name">paramsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"PARAMS\[(.*)\]|STEP\[(.*)\]|TOPO\[(.*)\]|CASE\[(.*)\]|LAST_RESPONSE|LAST_RESULT"</tt><tt class="py-op">,</tt><tt class="py-name">argsValue</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L627"></a><tt class="py-lineno">627</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">paramsMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L628"></a><tt class="py-lineno">628</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">argsList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> <tt class="py-op">:</tt> </tt>
+<a name="L629"></a><tt class="py-lineno">629</tt>  <tt class="py-line">                            <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt>  <tt class="py-name">argsKey</tt> <tt class="py-op">+</tt> <tt class="py-string">"="</tt> <tt class="py-op">+</tt> <tt class="py-name">argsValue</tt> </tt>
+<a name="L630"></a><tt class="py-lineno">630</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L631"></a><tt class="py-lineno">631</tt>  <tt class="py-line">                            <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt>  <tt class="py-name">argsKey</tt> <tt class="py-op">+</tt> <tt class="py-string">"="</tt> <tt class="py-op">+</tt> <tt class="py-name">argsValue</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> </tt>
+<a name="L632"></a><tt class="py-lineno">632</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L633"></a><tt class="py-lineno">633</tt>  <tt class="py-line">                        <tt class="py-name">argString</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_parameters" class="py-name" href="#" onclick="return doclink('link-74', 'translate_parameters', 'link-33');">translate_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">=</tt><tt class="py-name">argsValue</tt><tt class="py-op">)</tt> </tt>
+<a name="L634"></a><tt class="py-lineno">634</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">argsList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> <tt class="py-op">:</tt> </tt>
+<a name="L635"></a><tt class="py-lineno">635</tt>  <tt class="py-line">                            <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt>  <tt class="py-name">argsKey</tt> <tt class="py-op">+</tt> <tt class="py-string">"="</tt> <tt class="py-op">+</tt> <tt class="py-name">argString</tt> </tt>
+<a name="L636"></a><tt class="py-lineno">636</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L637"></a><tt class="py-lineno">637</tt>  <tt class="py-line">                            <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt>  <tt class="py-name">argsKey</tt> <tt class="py-op">+</tt> <tt class="py-string">"="</tt> <tt class="py-op">+</tt> <tt class="py-name">argString</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> </tt>
+<a name="L638"></a><tt class="py-lineno">638</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L639"></a><tt class="py-lineno">639</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">argsList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> <tt class="py-op">:</tt> </tt>
+<a name="L640"></a><tt class="py-lineno">640</tt>  <tt class="py-line">                        <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt>  <tt class="py-name">arguments</tt> </tt>
+<a name="L641"></a><tt class="py-lineno">641</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L642"></a><tt class="py-lineno">642</tt>  <tt class="py-line">                        <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> </tt>
+<a name="L643"></a><tt class="py-lineno">643</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L644"></a><tt class="py-lineno">644</tt>  <tt class="py-line">            <tt class="py-name">argMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"(.*)\s+AS\s+(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L645"></a><tt class="py-lineno">645</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">argMatch</tt><tt class="py-op">:</tt> </tt>
+<a name="L646"></a><tt class="py-lineno">646</tt>  <tt class="py-line">                <tt class="py-name">argsKey</tt> <tt class="py-op">=</tt>  <tt class="py-name">argMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L647"></a><tt class="py-lineno">647</tt>  <tt class="py-line">                <tt class="py-name">argsValue</tt> <tt class="py-op">=</tt> <tt class="py-name">argMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L648"></a><tt class="py-lineno">648</tt>  <tt class="py-line">                <tt class="py-name">paramsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"PARAMS\[(.*)\]|STEP\[(.*)\]|TOPO\[(.*)\]|CASE\[(.*)\]|LAST_RESPONSE|LAST_RESULT"</tt><tt class="py-op">,</tt><tt class="py-name">argsValue</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L649"></a><tt class="py-lineno">649</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">paramsMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L650"></a><tt class="py-lineno">650</tt>  <tt class="py-line">                    <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt>  <tt class="py-name">argsKey</tt> <tt class="py-op">+</tt> <tt class="py-string">"="</tt> <tt class="py-op">+</tt> <tt class="py-name">argsValue</tt> </tt>
+<a name="L651"></a><tt class="py-lineno">651</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L652"></a><tt class="py-lineno">652</tt>  <tt class="py-line">                    <tt class="py-name">argString</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_parameters" class="py-name" href="#" onclick="return doclink('link-75', 'translate_parameters', 'link-33');">translate_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">=</tt><tt class="py-name">argsValue</tt><tt class="py-op">)</tt> </tt>
+<a name="L653"></a><tt class="py-lineno">653</tt>  <tt class="py-line">                    <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt>  <tt class="py-name">argsKey</tt> <tt class="py-op">+</tt> <tt class="py-string">"="</tt> <tt class="py-op">+</tt> <tt class="py-name">argString</tt> </tt>
+<a name="L654"></a><tt class="py-lineno">654</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L655"></a><tt class="py-lineno">655</tt>  <tt class="py-line">                <tt class="py-name">paramsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"PARAMS\[(.*)\]|STEP\[(.*)\]|TOPO\[(.*)\]|CASE\[(.*)\]|LAST_RESPONSE|LAST_RESULT"</tt><tt class="py-op">,</tt><tt class="py-name">line</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L656"></a><tt class="py-lineno">656</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">paramsMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L657"></a><tt class="py-lineno">657</tt>  <tt class="py-line">                    <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_parameters" class="py-name" href="#" onclick="return doclink('link-76', 'translate_parameters', 'link-33');">translate_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">=</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L658"></a><tt class="py-lineno">658</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L659"></a><tt class="py-lineno">659</tt>  <tt class="py-line">                    <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt>  <tt class="py-name">line</tt> </tt>
+<a name="L660"></a><tt class="py-lineno">660</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"("</tt> <tt class="py-op">+</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt><tt class="py-op">+</tt> <tt class="py-name">subSentence</tt> </tt>
+<a name="L661"></a><tt class="py-lineno">661</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L662"></a><tt class="py-lineno">662</tt>  <tt class="py-line"> </tt>
+<a name="L663"></a><tt class="py-lineno">663</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_connect"></a><div id="OpenSpeak.translate_connect-def"><a name="L664"></a><tt class="py-lineno">664</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_connect-toggle" onclick="return toggle('OpenSpeak.translate_connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_connect">translate_connect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">connectStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_connect-expanded"><a name="L665"></a><tt class="py-lineno">665</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L666"></a><tt class="py-lineno">666</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the CONNECT &lt;component_name&gt; USING1 &lt;arg1&gt; AS &lt;value1&gt;, &lt;arg2&gt; AS &lt;value2&gt;</tt> </tt>
+<a name="L667"></a><tt class="py-lineno">667</tt>  <tt class="py-line"><tt class="py-docstring">         into python equivalent to resultString and returns resultString</tt> </tt>
+<a name="L668"></a><tt class="py-lineno">668</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L669"></a><tt class="py-lineno">669</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-77', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"COMPONENT"</tt><tt class="py-op">,</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">connectStatement</tt><tt class="py-op">)</tt> </tt>
+<a name="L670"></a><tt class="py-lineno">670</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L671"></a><tt class="py-lineno">671</tt>  <tt class="py-line">        <tt class="py-name">subString</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.translate_usingas" class="py-name" href="#" onclick="return doclink('link-78', 'translate_usingas', 'link-66');">translate_usingas</a></tt><tt class="py-op">(</tt><tt class="py-name">arguments</tt><tt class="py-op">=</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ARGUMENTS"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L672"></a><tt class="py-lineno">672</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here</tt> </tt>
+<a name="L673"></a><tt class="py-lineno">673</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"main."</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"COMPONENT"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">".connect("</tt> <tt class="py-op">+</tt> <tt class="py-name">subString</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
+<a name="L674"></a><tt class="py-lineno">674</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L675"></a><tt class="py-lineno">675</tt>  <tt class="py-line"> </tt>
+<a name="L676"></a><tt class="py-lineno">676</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_parameters"></a><div id="OpenSpeak.translate_parameters-def"><a name="L677"></a><tt class="py-lineno">677</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_parameters-toggle" onclick="return toggle('OpenSpeak.translate_parameters');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_parameters">translate_parameters</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">parameterStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_parameters-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_parameters-expanded"><a name="L678"></a><tt class="py-lineno">678</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L679"></a><tt class="py-lineno">679</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the OpenSpeak Case and Params parameters into python equivalent</tt> </tt>
+<a name="L680"></a><tt class="py-lineno">680</tt>  <tt class="py-line"><tt class="py-docstring">         to resultString and returns resultString</tt> </tt>
+<a name="L681"></a><tt class="py-lineno">681</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L682"></a><tt class="py-lineno">682</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-79', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"PARAMETERS"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">parameterStatement</tt><tt class="py-op">)</tt> </tt>
+<a name="L683"></a><tt class="py-lineno">683</tt>  <tt class="py-line">        <tt class="py-name">argument</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"PARAMETERS"</tt><tt class="py-op">]</tt> </tt>
+<a name="L684"></a><tt class="py-lineno">684</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L685"></a><tt class="py-lineno">685</tt>  <tt class="py-line">        <tt class="py-comment">### match arguments</tt> </tt>
+<a name="L686"></a><tt class="py-lineno">686</tt>  <tt class="py-line">        <tt class="py-name">paramsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"PARAMS((\[(.*)\])*)"</tt><tt class="py-op">,</tt><tt class="py-name">argument</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L687"></a><tt class="py-lineno">687</tt>  <tt class="py-line">        <tt class="py-name">stepsMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"STEP((\[(.*)\])*)"</tt><tt class="py-op">,</tt><tt class="py-name">argument</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L688"></a><tt class="py-lineno">688</tt>  <tt class="py-line">        <tt class="py-name">casesMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"CASE((\[(.*)\])*)"</tt><tt class="py-op">,</tt><tt class="py-name">argument</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L689"></a><tt class="py-lineno">689</tt>  <tt class="py-line">        <tt class="py-name">topoMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"TOPO((\[(.*)\])*)"</tt><tt class="py-op">,</tt><tt class="py-name">argument</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L690"></a><tt class="py-lineno">690</tt>  <tt class="py-line">        <tt class="py-name">lastResultMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LAST_RESULT"</tt><tt class="py-op">,</tt><tt class="py-name">argument</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L691"></a><tt class="py-lineno">691</tt>  <tt class="py-line">        <tt class="py-name">lastResponseMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">"LAST_RESPONSE"</tt><tt class="py-op">,</tt><tt class="py-name">argument</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L692"></a><tt class="py-lineno">692</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here</tt> </tt>
+<a name="L693"></a><tt class="py-lineno">693</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">paramsMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L694"></a><tt class="py-lineno">694</tt>  <tt class="py-line">            <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-name">paramsMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L695"></a><tt class="py-lineno">695</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.params"</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak._argsCheck()=TestON.core.openspeak.OpenSpeak-class.html#_argsCheck"><a title="TestON.core.openspeak.OpenSpeak._argsCheck" class="py-name" href="#" onclick="return doclink('link-80', '_argsCheck', 'link-80');">_argsCheck</a></tt><tt class="py-op">(</tt><tt class="py-name">checkvar</tt><tt class="py-op">=</tt><tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
+<a name="L696"></a><tt class="py-lineno">696</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">stepsMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L697"></a><tt class="py-lineno">697</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt><tt class="py-string">"main.params[\'"</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentCase</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L698"></a><tt class="py-lineno">698</tt>  <tt class="py-line">                           <tt class="py-string">"\'][\'STEP"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentStep</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\']"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L699"></a><tt class="py-lineno">699</tt>  <tt class="py-line">                           <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.core.openspeak.OpenSpeak._argsCheck" class="py-name" href="#" onclick="return doclink('link-81', '_argsCheck', 'link-80');">_argsCheck</a></tt><tt class="py-op">(</tt><tt class="py-name">checkvar</tt><tt class="py-op">=</tt><tt class="py-name">stepsMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L700"></a><tt class="py-lineno">700</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">casesMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L701"></a><tt class="py-lineno">701</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.params[\'"</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentCase</tt> <tt class="py-op">+</tt> <tt class="py-string">"\']"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L702"></a><tt class="py-lineno">702</tt>  <tt class="py-line">                           <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.core.openspeak.OpenSpeak._argsCheck" class="py-name" href="#" onclick="return doclink('link-82', '_argsCheck', 'link-80');">_argsCheck</a></tt><tt class="py-op">(</tt><tt class="py-name">checkvar</tt><tt class="py-op">=</tt><tt class="py-name">casesMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L703"></a><tt class="py-lineno">703</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">topoMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L704"></a><tt class="py-lineno">704</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.componentDictionary"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L705"></a><tt class="py-lineno">705</tt>  <tt class="py-line">                           <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.core.openspeak.OpenSpeak._argsCheck" class="py-name" href="#" onclick="return doclink('link-83', '_argsCheck', 'link-80');">_argsCheck</a></tt><tt class="py-op">(</tt><tt class="py-name">checkvar</tt><tt class="py-op">=</tt><tt class="py-name">topoMatch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L706"></a><tt class="py-lineno">706</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">lastResultMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L707"></a><tt class="py-lineno">707</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.last_result"</tt> </tt>
+<a name="L708"></a><tt class="py-lineno">708</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">lastResponseMatch</tt> <tt class="py-op">:</tt> </tt>
+<a name="L709"></a><tt class="py-lineno">709</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"main.last_response"</tt> </tt>
+<a name="L710"></a><tt class="py-lineno">710</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L711"></a><tt class="py-lineno">711</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak._argsCheck"></a><div id="OpenSpeak._argsCheck-def"><a name="L712"></a><tt class="py-lineno">712</tt> <a class="py-toggle" href="#" id="OpenSpeak._argsCheck-toggle" onclick="return toggle('OpenSpeak._argsCheck');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#_argsCheck">_argsCheck</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">args</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak._argsCheck-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak._argsCheck-expanded"><a name="L713"></a><tt class="py-lineno">713</tt>  <tt class="py-line">        <tt class="py-docstring">''' This API will check if given argument is varibale reference or String and will translate accordingly.</tt> </tt>
+<a name="L714"></a><tt class="py-lineno">714</tt>  <tt class="py-line"><tt class="py-docstring">            It will return the tanslate form in resultString.</tt> </tt>
+<a name="L715"></a><tt class="py-lineno">715</tt>  <tt class="py-line"><tt class="py-docstring">         '''</tt> </tt>
+<a name="L716"></a><tt class="py-lineno">716</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-84', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"CHECKVAR"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> </tt>
+<a name="L717"></a><tt class="py-lineno">717</tt>  <tt class="py-line">        <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CHECKVAR"</tt><tt class="py-op">]</tt> </tt>
+<a name="L718"></a><tt class="py-lineno">718</tt>  <tt class="py-line">        <tt class="py-name">argsList</tt> <tt class="py-op">=</tt> <tt class="py-name">params</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"]"</tt><tt class="py-op">)</tt> </tt>
+<a name="L719"></a><tt class="py-lineno">719</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L720"></a><tt class="py-lineno">720</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">argsList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">argsList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L721"></a><tt class="py-lineno">721</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">index</tt><tt class="py-op">,</tt><tt class="py-name">paramArgs</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">argsList</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L722"></a><tt class="py-lineno">722</tt>  <tt class="py-line">            <tt class="py-name">argsWidVariable</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"(\"|\')\s*(\w+)\s*(\'|\")"</tt><tt class="py-op">,</tt><tt class="py-name">paramArgs</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L723"></a><tt class="py-lineno">723</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">argsWidVariable</tt> <tt class="py-op">:</tt> </tt>
+<a name="L724"></a><tt class="py-lineno">724</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-string">"[\'"</tt> <tt class="py-op">+</tt> <tt class="py-name">argsWidVariable</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\']"</tt> </tt>
+<a name="L725"></a><tt class="py-lineno">725</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L726"></a><tt class="py-lineno">726</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultString</tt> <tt class="py-op">+</tt> <tt class="py-name">paramArgs</tt> <tt class="py-op">+</tt> <tt class="py-string">"]"</tt> </tt>
+<a name="L727"></a><tt class="py-lineno">727</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L728"></a><tt class="py-lineno">728</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_step"></a><div id="OpenSpeak.translate_step-def"><a name="L729"></a><tt class="py-lineno">729</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_step-toggle" onclick="return toggle('OpenSpeak.translate_step');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_step">translate_step</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">stepStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_step-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_step-expanded"><a name="L730"></a><tt class="py-lineno">730</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L731"></a><tt class="py-lineno">731</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the STEP "DO SOMETHING HERE" into python equivalent</tt> </tt>
+<a name="L732"></a><tt class="py-lineno">732</tt>  <tt class="py-line"><tt class="py-docstring">         to resultString and returns resultString</tt> </tt>
+<a name="L733"></a><tt class="py-lineno">733</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L734"></a><tt class="py-lineno">734</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-85', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"STEP"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">stepStatement</tt><tt class="py-op">)</tt> </tt>
 <a name="L735"></a><tt class="py-lineno">735</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L736"></a><tt class="py-lineno">736</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"main.case(\""</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TESTNAME"</tt><tt class="py-op">]</tt>  <tt class="py-op">+</tt> <tt class="py-string">"\")"</tt>  </tt>
-<a name="L737"></a><tt class="py-lineno">737</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here     </tt> </tt>
-<a name="L738"></a><tt class="py-lineno">738</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt>       </tt>
-</div><a name="L739"></a><tt class="py-lineno">739</tt>  <tt class="py-line">       </tt>
-<a name="L740"></a><tt class="py-lineno">740</tt>  <tt class="py-line">          </tt>
-<a name="OpenSpeak.translate_case_block"></a><div id="OpenSpeak.translate_case_block-def"><a name="L741"></a><tt class="py-lineno">741</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_case_block-toggle" onclick="return toggle('OpenSpeak.translate_case_block');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_case_block">translate_case_block</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">caseBlock</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_case_block-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_case_block-expanded"><a name="L742"></a><tt class="py-lineno">742</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L743"></a><tt class="py-lineno">743</tt>  <tt class="py-line"><tt class="py-docstring">         This method will translate the case block in test script . </tt> </tt>
-<a name="L744"></a><tt class="py-lineno">744</tt>  <tt class="py-line"><tt class="py-docstring">         It returns the translated equivalent python code for test script</tt> </tt>
+<a name="L736"></a><tt class="py-lineno">736</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"main.step(\""</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"STEP"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"\")"</tt> </tt>
+<a name="L737"></a><tt class="py-lineno">737</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here</tt> </tt>
+<a name="L738"></a><tt class="py-lineno">738</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L739"></a><tt class="py-lineno">739</tt>  <tt class="py-line"> </tt>
+<a name="L740"></a><tt class="py-lineno">740</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_comment"></a><div id="OpenSpeak.translate_comment-def"><a name="L741"></a><tt class="py-lineno">741</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_comment-toggle" onclick="return toggle('OpenSpeak.translate_comment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_comment">translate_comment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">commentStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_comment-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_comment-expanded"><a name="L742"></a><tt class="py-lineno">742</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L743"></a><tt class="py-lineno">743</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the COMMENT "DO SOMETHING HERE" into python equivalent</tt> </tt>
+<a name="L744"></a><tt class="py-lineno">744</tt>  <tt class="py-line"><tt class="py-docstring">         to resultString and returns resultString</tt> </tt>
 <a name="L745"></a><tt class="py-lineno">745</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L746"></a><tt class="py-lineno">746</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-95', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"CASENUMBER"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">caseBlock</tt><tt class="py-op">)</tt> </tt>
-<a name="L747"></a><tt class="py-lineno">747</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-<a name="L748"></a><tt class="py-lineno">748</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"def CASE"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CASENUMBER"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"(self,main) :\n"</tt> </tt>
-<a name="L749"></a><tt class="py-lineno">749</tt>  <tt class="py-line">        <tt class="py-comment"># process the caseBlock List translate all statements underlying the given case     </tt> </tt>
+<a name="L746"></a><tt class="py-lineno">746</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-86', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"COMMENT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">commentStatement</tt><tt class="py-op">)</tt> </tt>
+<a name="L747"></a><tt class="py-lineno">747</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L748"></a><tt class="py-lineno">748</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"#"</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"COMMENT"</tt><tt class="py-op">]</tt> </tt>
+<a name="L749"></a><tt class="py-lineno">749</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here</tt> </tt>
 <a name="L750"></a><tt class="py-lineno">750</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
 </div><a name="L751"></a><tt class="py-lineno">751</tt>  <tt class="py-line"> </tt>
-<a name="L752"></a><tt class="py-lineno">752</tt>  <tt class="py-line">           </tt>
-<a name="L753"></a><tt class="py-lineno">753</tt>  <tt class="py-line">   </tt>
-<a name="OpenSpeak.translate_loop_block"></a><div id="OpenSpeak.translate_loop_block-def"><a name="L754"></a><tt class="py-lineno">754</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_loop_block-toggle" onclick="return toggle('OpenSpeak.translate_loop_block');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_loop_block">translate_loop_block</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">*</tt><tt class="py-param">loopBlock</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_loop_block-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_loop_block-expanded"><a name="L755"></a><tt class="py-lineno">755</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L756"></a><tt class="py-lineno">756</tt>  <tt class="py-line"><tt class="py-docstring">         This method will translate for loop block into its equivalent python code.</tt> </tt>
-<a name="L757"></a><tt class="py-lineno">757</tt>  <tt class="py-line"><tt class="py-docstring">         Whole loop block will be passed into loopBlock List. </tt> </tt>
-<a name="L758"></a><tt class="py-lineno">758</tt>  <tt class="py-line"><tt class="py-docstring">         It returns the transalted reuslt as a string.</tt> </tt>
-<a name="L759"></a><tt class="py-lineno">759</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L760"></a><tt class="py-lineno">760</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L761"></a><tt class="py-lineno">761</tt>  <tt class="py-line">        <tt class="py-comment"># process the loopBlock List translate all statements underlying the given loop block     </tt> </tt>
-<a name="L762"></a><tt class="py-lineno">762</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt>  </tt>
-</div><a name="L763"></a><tt class="py-lineno">763</tt>  <tt class="py-line">      </tt>
-<a name="L764"></a><tt class="py-lineno">764</tt>  <tt class="py-line">   </tt>
-<a name="OpenSpeak.translate_conjuction"></a><div id="OpenSpeak.translate_conjuction-def"><a name="L765"></a><tt class="py-lineno">765</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_conjuction-toggle" onclick="return toggle('OpenSpeak.translate_conjuction');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_conjuction">translate_conjuction</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">conjuctionStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.translate_conjuction-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_conjuction-expanded"><a name="L766"></a><tt class="py-lineno">766</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L767"></a><tt class="py-lineno">767</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the AND conjuction statements into python equivalent </tt> </tt>
-<a name="L768"></a><tt class="py-lineno">768</tt>  <tt class="py-line"><tt class="py-docstring">         to resultString and returns resultString</tt> </tt>
+<a name="OpenSpeak.translate_testcase_name"></a><div id="OpenSpeak.translate_testcase_name-def"><a name="L752"></a><tt class="py-lineno">752</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_testcase_name-toggle" onclick="return toggle('OpenSpeak.translate_testcase_name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_testcase_name">translate_testcase_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">nameStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_testcase_name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_testcase_name-expanded"><a name="L753"></a><tt class="py-lineno">753</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L754"></a><tt class="py-lineno">754</tt>  <tt class="py-line"><tt class="py-docstring">         This method will convert NAME "&lt;Testcase_name&gt;" into python equivalent statement</tt> </tt>
+<a name="L755"></a><tt class="py-lineno">755</tt>  <tt class="py-line"><tt class="py-docstring">         to resultString and returns resultString</tt> </tt>
+<a name="L756"></a><tt class="py-lineno">756</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L757"></a><tt class="py-lineno">757</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-87', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"TESTNAME"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">nameStatement</tt><tt class="py-op">)</tt> </tt>
+<a name="L758"></a><tt class="py-lineno">758</tt>  <tt class="py-line"> </tt>
+<a name="L759"></a><tt class="py-lineno">759</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L760"></a><tt class="py-lineno">760</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"main.case(\""</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TESTNAME"</tt><tt class="py-op">]</tt>  <tt class="py-op">+</tt> <tt class="py-string">"\")"</tt> </tt>
+<a name="L761"></a><tt class="py-lineno">761</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here</tt> </tt>
+<a name="L762"></a><tt class="py-lineno">762</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L763"></a><tt class="py-lineno">763</tt>  <tt class="py-line"> </tt>
+<a name="L764"></a><tt class="py-lineno">764</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_case_block"></a><div id="OpenSpeak.translate_case_block-def"><a name="L765"></a><tt class="py-lineno">765</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_case_block-toggle" onclick="return toggle('OpenSpeak.translate_case_block');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_case_block">translate_case_block</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">caseBlock</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_case_block-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_case_block-expanded"><a name="L766"></a><tt class="py-lineno">766</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L767"></a><tt class="py-lineno">767</tt>  <tt class="py-line"><tt class="py-docstring">         This method will translate the case block in test script .</tt> </tt>
+<a name="L768"></a><tt class="py-lineno">768</tt>  <tt class="py-line"><tt class="py-docstring">         It returns the translated equivalent python code for test script</tt> </tt>
 <a name="L769"></a><tt class="py-lineno">769</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L770"></a><tt class="py-lineno">770</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L771"></a><tt class="py-lineno">771</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here     </tt> </tt>
-<a name="L772"></a><tt class="py-lineno">772</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
-</div><a name="L773"></a><tt class="py-lineno">773</tt>  <tt class="py-line"> </tt>
-<a name="L774"></a><tt class="py-lineno">774</tt>  <tt class="py-line"> </tt>
-<a name="OpenSpeak.parse_args"></a><div id="OpenSpeak.parse_args-def"><a name="L775"></a><tt class="py-lineno">775</tt> <a class="py-toggle" href="#" id="OpenSpeak.parse_args-toggle" onclick="return toggle('OpenSpeak.parse_args');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#parse_args">parse_args</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="OpenSpeak.parse_args-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.parse_args-expanded"><a name="L776"></a><tt class="py-lineno">776</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L777"></a><tt class="py-lineno">777</tt>  <tt class="py-line"><tt class="py-docstring">        It will accept the (key,value) pair and will return the (key,value) pairs with keys in uppercase.</tt> </tt>
-<a name="L778"></a><tt class="py-lineno">778</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L779"></a><tt class="py-lineno">779</tt>  <tt class="py-line">        <tt class="py-name">newArgs</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L780"></a><tt class="py-lineno">780</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt><tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L781"></a><tt class="py-lineno">781</tt>  <tt class="py-line">            <tt class="py-comment">#currentKey =  str.upper(key)</tt> </tt>
-<a name="L782"></a><tt class="py-lineno">782</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">,</tt><tt class="py-name">list</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">str</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">:</tt> </tt>
-<a name="L783"></a><tt class="py-lineno">783</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">each</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">:</tt>                     </tt>
-<a name="L784"></a><tt class="py-lineno">784</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">each</tt><tt class="py-op">==</tt><tt class="py-name">str</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L785"></a><tt class="py-lineno">785</tt>  <tt class="py-line">                        <tt class="py-name">newArgs</tt> <tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">each</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
-<a name="L786"></a><tt class="py-lineno">786</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">each</tt> <tt class="py-op">!=</tt> <tt class="py-name">str</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">newArgs</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">each</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L787"></a><tt class="py-lineno">787</tt>  <tt class="py-line">                        <tt class="py-name">newArgs</tt><tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">each</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L788"></a><tt class="py-lineno">788</tt>  <tt class="py-line">                     </tt>
-<a name="L789"></a><tt class="py-lineno">789</tt>  <tt class="py-line">                    </tt>
-<a name="L790"></a><tt class="py-lineno">790</tt>  <tt class="py-line">             </tt>
-<a name="L791"></a><tt class="py-lineno">791</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">newArgs</tt> </tt>
-</div></div><a name="L792"></a><tt class="py-lineno">792</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<a name="L770"></a><tt class="py-lineno">770</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-88', 'parse_args', 'link-1');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"CASENUMBER"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">caseBlock</tt><tt class="py-op">)</tt> </tt>
+<a name="L771"></a><tt class="py-lineno">771</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L772"></a><tt class="py-lineno">772</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"def CASE"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CASENUMBER"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"(self,main) :\n"</tt> </tt>
+<a name="L773"></a><tt class="py-lineno">773</tt>  <tt class="py-line">        <tt class="py-comment"># process the caseBlock List translate all statements underlying the given case</tt> </tt>
+<a name="L774"></a><tt class="py-lineno">774</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L775"></a><tt class="py-lineno">775</tt>  <tt class="py-line"> </tt>
+<a name="L776"></a><tt class="py-lineno">776</tt>  <tt class="py-line"> </tt>
+<a name="L777"></a><tt class="py-lineno">777</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_loop_block"></a><div id="OpenSpeak.translate_loop_block-def"><a name="L778"></a><tt class="py-lineno">778</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_loop_block-toggle" onclick="return toggle('OpenSpeak.translate_loop_block');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_loop_block">translate_loop_block</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">*</tt><tt class="py-param">loopBlock</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_loop_block-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_loop_block-expanded"><a name="L779"></a><tt class="py-lineno">779</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L780"></a><tt class="py-lineno">780</tt>  <tt class="py-line"><tt class="py-docstring">         This method will translate for loop block into its equivalent python code.</tt> </tt>
+<a name="L781"></a><tt class="py-lineno">781</tt>  <tt class="py-line"><tt class="py-docstring">         Whole loop block will be passed into loopBlock List.</tt> </tt>
+<a name="L782"></a><tt class="py-lineno">782</tt>  <tt class="py-line"><tt class="py-docstring">         It returns the transalted reuslt as a string.</tt> </tt>
+<a name="L783"></a><tt class="py-lineno">783</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L784"></a><tt class="py-lineno">784</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L785"></a><tt class="py-lineno">785</tt>  <tt class="py-line">        <tt class="py-comment"># process the loopBlock List translate all statements underlying the given loop block</tt> </tt>
+<a name="L786"></a><tt class="py-lineno">786</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L787"></a><tt class="py-lineno">787</tt>  <tt class="py-line"> </tt>
+<a name="L788"></a><tt class="py-lineno">788</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.translate_conjuction"></a><div id="OpenSpeak.translate_conjuction-def"><a name="L789"></a><tt class="py-lineno">789</tt> <a class="py-toggle" href="#" id="OpenSpeak.translate_conjuction-toggle" onclick="return toggle('OpenSpeak.translate_conjuction');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#translate_conjuction">translate_conjuction</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">conjuctionStatement</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.translate_conjuction-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.translate_conjuction-expanded"><a name="L790"></a><tt class="py-lineno">790</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L791"></a><tt class="py-lineno">791</tt>  <tt class="py-line"><tt class="py-docstring">         This will translate the AND conjuction statements into python equivalent</tt> </tt>
+<a name="L792"></a><tt class="py-lineno">792</tt>  <tt class="py-line"><tt class="py-docstring">         to resultString and returns resultString</tt> </tt>
+<a name="L793"></a><tt class="py-lineno">793</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L794"></a><tt class="py-lineno">794</tt>  <tt class="py-line">        <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L795"></a><tt class="py-lineno">795</tt>  <tt class="py-line">        <tt class="py-comment"># convert the statement here</tt> </tt>
+<a name="L796"></a><tt class="py-lineno">796</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">resultString</tt> </tt>
+</div><a name="L797"></a><tt class="py-lineno">797</tt>  <tt class="py-line"> </tt>
+<a name="L798"></a><tt class="py-lineno">798</tt>  <tt class="py-line"> </tt>
+<a name="OpenSpeak.parse_args"></a><div id="OpenSpeak.parse_args-def"><a name="L799"></a><tt class="py-lineno">799</tt> <a class="py-toggle" href="#" id="OpenSpeak.parse_args-toggle" onclick="return toggle('OpenSpeak.parse_args');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.openspeak.OpenSpeak-class.html#parse_args">parse_args</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OpenSpeak.parse_args-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OpenSpeak.parse_args-expanded"><a name="L800"></a><tt class="py-lineno">800</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L801"></a><tt class="py-lineno">801</tt>  <tt class="py-line"><tt class="py-docstring">        It will accept the (key,value) pair and will return the (key,value) pairs with keys in uppercase.</tt> </tt>
+<a name="L802"></a><tt class="py-lineno">802</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L803"></a><tt class="py-lineno">803</tt>  <tt class="py-line">        <tt class="py-name">newArgs</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L804"></a><tt class="py-lineno">804</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt><tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L805"></a><tt class="py-lineno">805</tt>  <tt class="py-line">            <tt class="py-comment">#currentKey =  str.upper(key)</tt> </tt>
+<a name="L806"></a><tt class="py-lineno">806</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">,</tt><tt class="py-name">list</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">str</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">:</tt> </tt>
+<a name="L807"></a><tt class="py-lineno">807</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">each</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">:</tt> </tt>
+<a name="L808"></a><tt class="py-lineno">808</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">each</tt><tt class="py-op">==</tt><tt class="py-name">str</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L809"></a><tt class="py-lineno">809</tt>  <tt class="py-line">                        <tt class="py-name">newArgs</tt> <tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">each</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
+<a name="L810"></a><tt class="py-lineno">810</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">each</tt> <tt class="py-op">!=</tt> <tt class="py-name">str</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">newArgs</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">each</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L811"></a><tt class="py-lineno">811</tt>  <tt class="py-line">                        <tt class="py-name">newArgs</tt><tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">each</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L812"></a><tt class="py-lineno">812</tt>  <tt class="py-line"> </tt>
+<a name="L813"></a><tt class="py-lineno">813</tt>  <tt class="py-line"> </tt>
+<a name="L814"></a><tt class="py-lineno">814</tt>  <tt class="py-line"> </tt>
+<a name="L815"></a><tt class="py-lineno">815</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">newArgs</tt> </tt>
+</div></div><a name="L816"></a><tt class="py-lineno">816</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -877,13 +906,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.openspeak.OpenSpeak-class.html b/TestON/Documentation/TestON_Document/TestON.core.openspeak.OpenSpeak-class.html
index 440bdb5..fe6c295 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.openspeak.OpenSpeak-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.openspeak.OpenSpeak-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -908,13 +913,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.teston-module.html b/TestON/Documentation/TestON_Document/TestON.core.teston-module.html
index 29e89f2..6cd9a75 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.teston-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.teston-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -57,14 +62,33 @@
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
 <h1 class="epydoc">Module teston</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.core.teston-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 22-Oct-2012</p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-        <p>teston is the main module.</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 22-Oct-2012
+
+@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)
+
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    (at your option) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+
+
+teston is the main module.
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -211,6 +235,22 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
+          <td><span class="summary-sig"><a name="verifyOnosCell"></a><span class="summary-sig-name">verifyOnosCell</span>(<span class="summary-sig-arg">options</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.core.teston-pysrc.html#verifyOnosCell">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
           <td><span class="summary-sig"><a name="verifyTestScript"></a><span class="summary-sig-name">verifyTestScript</span>(<span class="summary-sig-arg">options</span>)</span><br />
       Verifyies test script.</td>
           <td align="right" valign="top">
@@ -348,49 +388,56 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a name="module"></a><span class="summary-name">module</span> = <code title="new.module(&quot;test&quot;)">new.module(&quot;test&quot;)</code>
+        <a name="location"></a><span class="summary-name">location</span> = <code title="'/home/admin/OnosSystemTest/TestON/core'"><code class="variable-quote">'</code><code class="variable-string">/home/admin/OnosSystemTest/TestON/core</code><code class="variable-quote">'</code></code>
     </td>
   </tr>
 <tr>
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a name="path"></a><span class="summary-name">path</span> = <code title="re.sub(&quot;(core|bin)$&quot;, &quot;&quot;, os.getcwd())">re.sub(&quot;(core|bin)$&quot;, &quot;&quot;, os.getcwd())</code>
+        <a name="path"></a><span class="summary-name">path</span> = <code title="'/home/admin/OnosSystemTest/TestON/'"><code class="variable-quote">'</code><code class="variable-string">/home/admin/OnosSystemTest/TestON/</code><code class="variable-quote">'</code></code>
     </td>
   </tr>
 <tr>
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a name="drivers_path"></a><span class="summary-name">drivers_path</span> = <code title="path+ &quot;drivers/&quot;">path+ &quot;drivers/&quot;</code>
+        <a name="drivers_path"></a><span class="summary-name">drivers_path</span> = <code title="'/home/admin/OnosSystemTest/TestON/drivers/'"><code class="variable-quote">'</code><code class="variable-string">/home/admin/OnosSystemTest/TestON/drivers/</code><code class="variable-quote">'</code></code>
     </td>
   </tr>
 <tr>
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a name="core_path"></a><span class="summary-name">core_path</span> = <code title="path+ &quot;core&quot;">path+ &quot;core&quot;</code>
+        <a name="core_path"></a><span class="summary-name">core_path</span> = <code title="'/home/admin/OnosSystemTest/TestON/core'"><code class="variable-quote">'</code><code class="variable-string">/home/admin/OnosSystemTest/TestON/core</code><code class="variable-quote">'</code></code>
     </td>
   </tr>
 <tr>
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a name="tests_path"></a><span class="summary-name">tests_path</span> = <code title="path+ &quot;tests&quot;">path+ &quot;tests&quot;</code>
+        <a name="tests_path"></a><span class="summary-name">tests_path</span> = <code title="'/home/admin/OnosSystemTest/TestON/tests'"><code class="variable-quote">'</code><code class="variable-string">/home/admin/OnosSystemTest/TestON/tests</code><code class="variable-quote">'</code></code>
     </td>
   </tr>
 <tr>
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a name="logs_path"></a><span class="summary-name">logs_path</span> = <code title="path+ &quot;logs/&quot;">path+ &quot;logs/&quot;</code>
+        <a name="logs_path"></a><span class="summary-name">logs_path</span> = <code title="'/home/admin/OnosSystemTest/TestON/logs/'"><code class="variable-quote">'</code><code class="variable-string">/home/admin/OnosSystemTest/TestON/logs/</code><code class="variable-quote">'</code></code>
     </td>
   </tr>
 <tr>
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a name="config_path"></a><span class="summary-name">config_path</span> = <code title="path+ &quot;config/&quot;">path+ &quot;config/&quot;</code>
+        <a name="config_path"></a><span class="summary-name">config_path</span> = <code title="'/home/admin/OnosSystemTest/TestON/config/'"><code class="variable-quote">'</code><code class="variable-string">/home/admin/OnosSystemTest/TestON/config/</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.core'"><code class="variable-quote">'</code><code class="variable-string">TestON.core</code><code class="variable-quote">'</code></code>
     </td>
   </tr>
 </table>
@@ -427,8 +474,8 @@
   </tr></table>
   
   <p>It facilitates the loading customised parser for topology and params 
-  file. It loads parser mentioned in tab named parser of ofa.cfg file. It 
-  also loads default xmlparser if no parser have specified in ofa.cfg 
+  file. It loads parser mentioned in tab named parser of teston.cfg file. 
+  It also loads default xmlparser if no parser have specified in teston.cfg
   file.</p>
   <dl class="fields">
   </dl>
@@ -449,8 +496,8 @@
   </tr></table>
   
   <p>It facilitates the loading customised parser for topology and params 
-  file. It loads parser mentioned in tab named parser of ofa.cfg file. It 
-  also loads default xmlparser if no parser have specified in ofa.cfg 
+  file. It loads parser mentioned in tab named parser of teston.cfg file. 
+  It also loads default xmlparser if no parser have specified in teston.cfg
   file.</p>
   <dl class="fields">
   </dl>
@@ -477,13 +524,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.teston-pysrc.html b/TestON/Documentation/TestON_Document/TestON.core.teston-pysrc.html
index bc8de16..93d22dd 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.teston-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.teston-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,653 +65,961 @@
 <a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
 <a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
 <a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 22-Oct-2012</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
 <a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)</tt> </tt>
 <a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">teston is the main module.</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">getpass</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">__builtin__</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">new</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Module TestON.core.xmldict=TestON.core.xmldict-module.html"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-0', 'xmldict', 'link-0');">xmldict</a></tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable TestON.core.teston.module=TestON.core.teston-module.html#module"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-1', 'module', 'link-1');">module</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-2', 'module', 'link-1');">module</a></tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Module TestON.core.openspeak=TestON.core.openspeak-module.html"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-3', 'openspeak', 'link-3');">openspeak</a></tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-keyword">global</tt> <tt id="link-4" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-4', 'path', 'link-4');">path</a></tt><tt class="py-op">,</tt> <tt id="link-5" class="py-name" targets="Variable TestON.core.teston.drivers_path=TestON.core.teston-module.html#drivers_path"><a title="TestON.core.teston.drivers_path" class="py-name" href="#" onclick="return doclink('link-5', 'drivers_path', 'link-5');">drivers_path</a></tt><tt class="py-op">,</tt> <tt id="link-6" class="py-name" targets="Variable TestON.core.teston.core_path=TestON.core.teston-module.html#core_path"><a title="TestON.core.teston.core_path" class="py-name" href="#" onclick="return doclink('link-6', 'core_path', 'link-6');">core_path</a></tt><tt class="py-op">,</tt> <tt id="link-7" class="py-name" targets="Variable TestON.core.teston.tests_path=TestON.core.teston-module.html#tests_path"><a title="TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-7', 'tests_path', 'link-7');">tests_path</a></tt><tt class="py-op">,</tt><tt id="link-8" class="py-name" targets="Variable TestON.core.teston.logs_path=TestON.core.teston-module.html#logs_path"><a title="TestON.core.teston.logs_path" class="py-name" href="#" onclick="return doclink('link-8', 'logs_path', 'link-8');">logs_path</a></tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt id="link-9" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-9', 'path', 'link-4');">path</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"(core|bin)$"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getcwd</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt id="link-10" class="py-name"><a title="TestON.core.teston.drivers_path" class="py-name" href="#" onclick="return doclink('link-10', 'drivers_path', 'link-5');">drivers_path</a></tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-11', 'path', 'link-4');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">"drivers/"</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt id="link-12" class="py-name"><a title="TestON.core.teston.core_path" class="py-name" href="#" onclick="return doclink('link-12', 'core_path', 'link-6');">core_path</a></tt> <tt class="py-op">=</tt> <tt id="link-13" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-13', 'path', 'link-4');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">"core"</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt id="link-14" class="py-name"><a title="TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-14', 'tests_path', 'link-7');">tests_path</a></tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-15', 'path', 'link-4');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">"tests"</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt id="link-16" class="py-name"><a title="TestON.core.teston.logs_path" class="py-name" href="#" onclick="return doclink('link-16', 'logs_path', 'link-8');">logs_path</a></tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-17', 'path', 'link-4');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">"logs/"</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt id="link-18" class="py-name" targets="Variable TestON.core.teston.config_path=TestON.core.teston-module.html#config_path"><a title="TestON.core.teston.config_path" class="py-name" href="#" onclick="return doclink('link-18', 'config_path', 'link-18');">config_path</a></tt> <tt class="py-op">=</tt> <tt id="link-19" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-19', 'path', 'link-4');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"config/"</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-20', 'path', 'link-4');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-21" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-21', 'path', 'link-4');">path</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-22', 'path', 'link-4');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-23" class="py-name"><a title="TestON.core.teston.drivers_path" class="py-name" href="#" onclick="return doclink('link-23', 'drivers_path', 'link-5');">drivers_path</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-24', 'path', 'link-4');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-25" class="py-name"><a title="TestON.core.teston.core_path" class="py-name" href="#" onclick="return doclink('link-25', 'core_path', 'link-6');">core_path</a></tt> <tt class="py-op">)</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-26', 'path', 'link-4');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-27" class="py-name"><a title="TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-27', 'tests_path', 'link-7');">tests_path</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-28" class="py-name" targets="Package TestON.core=TestON.core-module.html"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-28', 'core', 'link-28');">core</a></tt><tt class="py-op">.</tt><tt class="py-name">utilities</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Utilities</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt>  </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">datetime</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">optparse</tt> <tt class="py-keyword">import</tt> <tt class="py-name">OptionParser</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"> </tt>
-<a name="TestON"></a><div id="TestON-def"><a name="L38"></a><tt class="py-lineno"> 38</tt> <a class="py-toggle" href="#" id="TestON-toggle" onclick="return toggle('TestON');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html">TestON</a><tt class="py-op">:</tt> </tt>
-</div><div id="TestON-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="TestON-expanded"><a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring">    TestON will initiate the specified test. </tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-docstring">    The main tasks are : </tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-docstring">    * Initiate the required Component handles for the test. </tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring">    * Create Log file  Handles.</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="TestON.__init__"></a><div id="TestON.__init__-def"><a name="L47"></a><tt class="py-lineno"> 47</tt> <a class="py-toggle" href="#" id="TestON.__init__-toggle" onclick="return toggle('TestON.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestON.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.__init__-expanded"><a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-docstring">           Initialise the component handles specified in the topology file of the specified test.</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring">          </tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-comment"># Initialization of the variables.</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">main</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">         </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-29', 'path', 'link-4');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-30" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-30', 'path', 'link-4');">path</a></tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">utilities</tt> <tt class="py-op">=</tt> <tt class="py-name">Utilities</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FAIL</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">PASS</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CASERESULT</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">init_result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testResult</tt> <tt class="py-op">=</tt> <tt class="py-string">"Summary"</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepName</tt> <tt class="py-op">=</tt><tt class="py-string">""</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">EXPERIMENTAL_MODE</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt>    </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">test_target</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lastcommand</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testDir</tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name"><a title="TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-31', 'tests_path', 'link-7');">tests_path</a></tt>  </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt> <tt class="py-op">=</tt> <tt id="link-32" class="py-name"><a title="TestON.core.teston.config_path" class="py-name" href="#" onclick="return doclink('link-32', 'config_path', 'link-18');">config_path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"ofa.cfg"</tt>  </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parsingClass</tt> <tt class="py-op">=</tt> <tt class="py-string">"xmlparser"</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parserPath</tt> <tt class="py-op">=</tt> <tt id="link-33" class="py-name"><a title="TestON.core.teston.core_path" class="py-name" href="#" onclick="return doclink('link-33', 'core_path', 'link-6');">core_path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"/xmlparser"</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">loggerPath</tt> <tt class="py-op">=</tt> <tt id="link-34" class="py-name"><a title="TestON.core.teston.core_path" class="py-name" href="#" onclick="return doclink('link-34', 'core_path', 'link-6');">core_path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"/logger"</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">loggerClass</tt> <tt class="py-op">=</tt> <tt class="py-string">"Logger"</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.core.teston.logs_path" class="py-name" href="#" onclick="return doclink('link-35', 'logs_path', 'link-8');">logs_path</a></tt> <tt class="py-op">=</tt> <tt id="link-36" class="py-name"><a title="TestON.core.teston.logs_path" class="py-name" href="#" onclick="return doclink('link-36', 'logs_path', 'link-8');">logs_path</a></tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">         </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.configparser()=TestON.bin.updatedriver.UpdateDriver-class.html#configparser,Method TestON.core.teston.TestON.configparser()=TestON.core.teston.TestON-class.html#configparser"><a title="TestON.bin.updatedriver.UpdateDriver.configparser
-TestON.core.teston.TestON.configparser" class="py-name" href="#" onclick="return doclink('link-37', 'configparser', 'link-37');">configparser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt id="link-38" class="py-name" targets="Function TestON.core.teston.verifyOptions()=TestON.core.teston-module.html#verifyOptions"><a title="TestON.core.teston.verifyOptions" class="py-name" href="#" onclick="return doclink('link-38', 'verifyOptions', 'link-38');">verifyOptions</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt id="link-39" class="py-name" targets="Function TestON.core.teston.load_logger()=TestON.core.teston-module.html#load_logger"><a title="TestON.core.teston.load_logger" class="py-name" href="#" onclick="return doclink('link-39', 'load_logger', 'link-39');">load_logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">topology</tt> <tt class="py-op">[</tt><tt class="py-string">'COMPONENT'</tt><tt class="py-op">]</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driversList</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">str</tt> <tt class="py-op">:</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">)</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">             </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-40" class="py-name" targets="Module TestON.drivers.component=TestON.drivers.component-module.html"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-40', 'component', 'link-40');">component</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt> <tt class="py-op">:</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driversList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt id="link-41" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-41', 'component', 'link-40');">component</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'type'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">             </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driversList</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driversList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-comment"># Removing duplicates.</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-comment"># Checking the test_target option set for the component or not</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">dict</tt><tt class="py-op">:</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-42" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-42', 'component', 'link-40');">component</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-string">'test_target'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt id="link-43" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-43', 'component', 'link-40');">component</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">test_target</tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-44', 'component', 'link-40');">component</a></tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">              </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-comment"># Checking for the openspeak file and test script </tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Module TestON.core.logger=TestON.core.logger-module.html"><a title="TestON.core.logger" class="py-name" href="#" onclick="return doclink('link-45', 'logger', 'link-45');">logger</a></tt><tt class="py-op">.</tt><tt id="link-46" class="py-name" targets="Method TestON.core.logger.Logger.initlog()=TestON.core.logger.Logger-class.html#initlog"><a title="TestON.core.logger.Logger.initlog" class="py-name" href="#" onclick="return doclink('link-46', 'initlog', 'link-46');">initlog</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">    (at your option) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">teston is the main module.</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">getpass</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">__builtin__</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">new</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Module TestON.core.xmldict=TestON.core.xmldict-module.html"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-0', 'xmldict', 'link-0');">xmldict</a></tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">importlib</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">threading</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt class="py-name">new</tt><tt class="py-op">.</tt><tt class="py-name">module</tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module TestON.core.openspeak=TestON.core.openspeak-module.html"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-1', 'openspeak', 'link-1');">openspeak</a></tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">subprocess</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-keyword">global</tt> <tt id="link-2" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-2', 'path', 'link-2');">path</a></tt><tt class="py-op">,</tt> <tt id="link-3" class="py-name" targets="Variable TestON.bin.cli.drivers_path=TestON.bin.cli-module.html#drivers_path,Variable TestON.core.teston.drivers_path=TestON.core.teston-module.html#drivers_path"><a title="TestON.bin.cli.drivers_path
+TestON.core.teston.drivers_path" class="py-name" href="#" onclick="return doclink('link-3', 'drivers_path', 'link-3');">drivers_path</a></tt><tt class="py-op">,</tt> <tt id="link-4" class="py-name" targets="Variable TestON.bin.cli.core_path=TestON.bin.cli-module.html#core_path,Variable TestON.core.teston.core_path=TestON.core.teston-module.html#core_path"><a title="TestON.bin.cli.core_path
+TestON.core.teston.core_path" class="py-name" href="#" onclick="return doclink('link-4', 'core_path', 'link-4');">core_path</a></tt><tt class="py-op">,</tt> <tt id="link-5" class="py-name" targets="Variable TestON.bin.cli.tests_path=TestON.bin.cli-module.html#tests_path,Variable TestON.core.teston.tests_path=TestON.core.teston-module.html#tests_path"><a title="TestON.bin.cli.tests_path
+TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-5', 'tests_path', 'link-5');">tests_path</a></tt><tt class="py-op">,</tt><tt id="link-6" class="py-name" targets="Variable TestON.bin.cli.logs_path=TestON.bin.cli-module.html#logs_path,Variable TestON.core.teston.logs_path=TestON.core.teston-module.html#logs_path"><a title="TestON.bin.cli.logs_path
+TestON.core.teston.logs_path" class="py-name" href="#" onclick="return doclink('link-6', 'logs_path', 'link-6');">logs_path</a></tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt id="link-7" class="py-name" targets="Variable TestON.bin.cli.location=TestON.bin.cli-module.html#location,Variable TestON.core.teston.location=TestON.core.teston-module.html#location"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-7', 'location', 'link-7');">location</a></tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-8', 'path', 'link-2');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">abspath</tt><tt class="py-op">(</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-9', 'path', 'link-2');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt class="py-op">(</tt> <tt class="py-name">__file__</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt id="link-10" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-10', 'path', 'link-2');">path</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">"(core|bin)$"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt id="link-11" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-11', 'location', 'link-7');">location</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt id="link-12" class="py-name"><a title="TestON.bin.cli.drivers_path
+TestON.core.teston.drivers_path" class="py-name" href="#" onclick="return doclink('link-12', 'drivers_path', 'link-3');">drivers_path</a></tt> <tt class="py-op">=</tt> <tt id="link-13" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-13', 'path', 'link-2');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">"drivers/"</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt id="link-14" class="py-name"><a title="TestON.bin.cli.core_path
+TestON.core.teston.core_path" class="py-name" href="#" onclick="return doclink('link-14', 'core_path', 'link-4');">core_path</a></tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-15', 'path', 'link-2');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">"core"</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt id="link-16" class="py-name"><a title="TestON.bin.cli.tests_path
+TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-16', 'tests_path', 'link-5');">tests_path</a></tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-17', 'path', 'link-2');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">"tests"</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt id="link-18" class="py-name"><a title="TestON.bin.cli.logs_path
+TestON.core.teston.logs_path" class="py-name" href="#" onclick="return doclink('link-18', 'logs_path', 'link-6');">logs_path</a></tt> <tt class="py-op">=</tt> <tt id="link-19" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-19', 'path', 'link-2');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">"logs/"</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt id="link-20" class="py-name" targets="Variable TestON.bin.cli.config_path=TestON.bin.cli-module.html#config_path,Variable TestON.core.teston.config_path=TestON.core.teston-module.html#config_path"><a title="TestON.bin.cli.config_path
+TestON.core.teston.config_path" class="py-name" href="#" onclick="return doclink('link-20', 'config_path', 'link-20');">config_path</a></tt> <tt class="py-op">=</tt> <tt id="link-21" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-21', 'path', 'link-2');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"config/"</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-22', 'path', 'link-2');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-23" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-23', 'path', 'link-2');">path</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-24', 'path', 'link-2');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-25" class="py-name"><a title="TestON.bin.cli.drivers_path
+TestON.core.teston.drivers_path" class="py-name" href="#" onclick="return doclink('link-25', 'drivers_path', 'link-3');">drivers_path</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-26', 'path', 'link-2');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-27" class="py-name"><a title="TestON.bin.cli.core_path
+TestON.core.teston.core_path" class="py-name" href="#" onclick="return doclink('link-27', 'core_path', 'link-4');">core_path</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-28', 'path', 'link-2');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-29" class="py-name"><a title="TestON.bin.cli.tests_path
+TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-29', 'tests_path', 'link-5');">tests_path</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-30" class="py-name" targets="Package TestON.core=TestON.core-module.html"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-30', 'core', 'link-30');">core</a></tt><tt class="py-op">.</tt><tt class="py-name">utilities</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Utilities</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-31" class="py-name"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-31', 'core', 'link-30');">core</a></tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Module TestON.core.Thread=TestON.core.Thread-module.html,Class TestON.core.Thread.Thread=TestON.core.Thread.Thread-class.html"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-32', 'Thread', 'link-32');">Thread</a></tt> <tt class="py-keyword">import</tt> <tt id="link-33" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-33', 'Thread', 'link-32');">Thread</a></tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
+<a name="TestON"></a><div id="TestON-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="TestON-toggle" onclick="return toggle('TestON');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html">TestON</a><tt class="py-op">:</tt> </tt>
+</div><div id="TestON-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="TestON-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">    TestON will initiate the specified test.</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-docstring">    The main tasks are :</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-docstring">    * Initiate the required Component handles for the test.</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-docstring">    * Create Log file  Handles.</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="TestON.__init__"></a><div id="TestON.__init__-def"><a name="L63"></a><tt class="py-lineno"> 63</tt> <a class="py-toggle" href="#" id="TestON.__init__-toggle" onclick="return toggle('TestON.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.__init__-expanded"><a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">           Initialise the component handles specified in the topology file of the specified test.</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-comment"># Initialization of the variables.</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">main</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-34', 'path', 'link-2');">path</a></tt> <tt class="py-op">=</tt> <tt id="link-35" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-35', 'path', 'link-2');">path</a></tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">utilities</tt> <tt class="py-op">=</tt> <tt class="py-name">Utilities</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">NORESULT</tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FAIL</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">PASS</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CASERESULT</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">STEPRESULT</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">NORESULT</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepResults</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">init_result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testResult</tt> <tt class="py-op">=</tt> <tt class="py-string">"Summary"</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepName</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCache</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">EXPERIMENTAL_MODE</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">test_target</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lastcommand</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testDir</tt> <tt class="py-op">=</tt> <tt id="link-36" class="py-name"><a title="TestON.bin.cli.tests_path
+TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-36', 'tests_path', 'link-5');">tests_path</a></tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt> <tt class="py-op">=</tt> <tt id="link-37" class="py-name"><a title="TestON.bin.cli.config_path
+TestON.core.teston.config_path" class="py-name" href="#" onclick="return doclink('link-37', 'config_path', 'link-20');">config_path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"teston.cfg"</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parsingClass</tt> <tt class="py-op">=</tt> <tt class="py-string">"xmlparser"</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">parserPath</tt> <tt class="py-op">=</tt> <tt id="link-38" class="py-name"><a title="TestON.bin.cli.core_path
+TestON.core.teston.core_path" class="py-name" href="#" onclick="return doclink('link-38', 'core_path', 'link-4');">core_path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"/xmlparser"</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">loggerPath</tt> <tt class="py-op">=</tt> <tt id="link-39" class="py-name"><a title="TestON.bin.cli.core_path
+TestON.core.teston.core_path" class="py-name" href="#" onclick="return doclink('link-39', 'core_path', 'link-4');">core_path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"/logger"</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">loggerClass</tt> <tt class="py-op">=</tt> <tt class="py-string">"Logger"</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.bin.cli.logs_path
+TestON.core.teston.logs_path" class="py-name" href="#" onclick="return doclink('link-40', 'logs_path', 'link-6');">logs_path</a></tt> <tt class="py-op">=</tt> <tt id="link-41" class="py-name"><a title="TestON.bin.cli.logs_path
+TestON.core.teston.logs_path" class="py-name" href="#" onclick="return doclink('link-41', 'logs_path', 'link-6');">logs_path</a></tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-42', 'Thread', 'link-32');">Thread</a></tt> <tt class="py-op">=</tt> <tt id="link-43" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-43', 'Thread', 'link-32');">Thread</a></tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cleanupFlag</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cleanupLock</tt> <tt class="py-op">=</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Lock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initiated</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
 <a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-comment"># Creating Drivers Handles</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-name">initString</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">"\n CASE INIT \n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name" targets="Method TestON.drivers.component.Component.log()=TestON.drivers.component.Component-class.html#log"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-47', 'log', 'link-47');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exact</tt><tt class="py-op">(</tt><tt class="py-name">initString</tt><tt class="py-op">)</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverObject</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">dict</tt><tt class="py-op">:</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-48" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-48', 'component', 'link-40');">component</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name" targets="Method TestON.core.teston.TestON.componentInit()=TestON.core.teston.TestON-class.html#componentInit"><a title="TestON.core.teston.TestON.componentInit" class="py-name" href="#" onclick="return doclink('link-49', 'componentInit', 'link-49');">componentInit</a></tt><tt class="py-op">(</tt><tt id="link-50" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-50', 'component', 'link-40');">component</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">     </tt>
-<a name="TestON.configparser"></a><div id="TestON.configparser-def"><a name="L108"></a><tt class="py-lineno">108</tt> <a class="py-toggle" href="#" id="TestON.configparser-toggle" onclick="return toggle('TestON.configparser');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#configparser">configparser</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestON.configparser-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.configparser-expanded"><a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-docstring">        It will parse the config file (ofa.cfg) and return as dictionary</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-name">matchFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">r'(.*)\.cfg'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">M</tt> <tt class="py-op">|</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">I</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">matchFileName</tt><tt class="py-op">:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-name">xml</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt> <tt class="py-op">=</tt> <tt id="link-51" class="py-name"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-51', 'xmldict', 'link-0');">xmldict</a></tt><tt class="py-op">.</tt><tt id="link-52" class="py-name" targets="Function TestON.core.xmldict.xml_to_dict()=TestON.core.xmldict-module.html#xml_to_dict"><a title="TestON.core.xmldict.xml_to_dict" class="py-name" href="#" onclick="return doclink('link-52', 'xml_to_dict', 'link-52');">xml_to_dict</a></tt><tt class="py-op">(</tt><tt class="py-name">xml</tt><tt class="py-op">)</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"There is no such file to parse "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt> </tt>
-</div><a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">                         </tt>
-<a name="TestON.componentInit"></a><div id="TestON.componentInit-def"><a name="L121"></a><tt class="py-lineno">121</tt> <a class="py-toggle" href="#" id="TestON.componentInit-toggle" onclick="return toggle('TestON.componentInit');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#componentInit">componentInit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">component</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestON.componentInit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.componentInit-expanded"><a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">        This method will initialize specified component</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">driver_options</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-53', 'log', 'link-47');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Creating component Handle: "</tt><tt class="py-op">+</tt><tt id="link-54" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-54', 'component', 'link-40');">component</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-name">driver_options</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt>          </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'COMPONENTS'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt id="link-55" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-55', 'component', 'link-40');">component</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            <tt class="py-name">driver_options</tt> <tt class="py-op">=</tt><tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt id="link-56" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-56', 'component', 'link-40');">component</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'COMPONENTS'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-name">driver_options</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt id="link-57" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-57', 'component', 'link-40');">component</a></tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">driverName</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt id="link-58" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-58', 'component', 'link-40');">component</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'type'</tt><tt class="py-op">]</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">driver_options</tt> <tt class="py-op">[</tt><tt class="py-string">'type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">driverName</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">         </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">classPath</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.getDriverPath()=TestON.bin.updatedriver.UpdateDriver-class.html#getDriverPath,Method TestON.core.teston.TestON.getDriverPath()=TestON.core.teston.TestON-class.html#getDriverPath"><a title="TestON.bin.updatedriver.UpdateDriver.getDriverPath
-TestON.core.teston.TestON.getDriverPath" class="py-name" href="#" onclick="return doclink('link-59', 'getDriverPath', 'link-59');">getDriverPath</a></tt><tt class="py-op">(</tt><tt class="py-name">driverName</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">driverModule</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">classPath</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">driverName</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">driverClass</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">driverModule</tt><tt class="py-op">,</tt> <tt class="py-name">driverName</tt><tt class="py-op">)</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">driverObject</tt> <tt class="py-op">=</tt> <tt class="py-name">driverClass</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-name">connect_result</tt> <tt class="py-op">=</tt> <tt class="py-name">driverObject</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect,Method TestON.drivers.common.webdriver.WebDriver.connect()=TestON.drivers.common.webdriver.WebDriver-class.html#connect,Method TestON.drivers.component.Component.connect()=TestON.drivers.component.Component-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.configparser()=TestON.bin.updatedriver.UpdateDriver-class.html#configparser,Method TestON.core.teston.TestON.configparser()=TestON.core.teston.TestON-class.html#configparser"><a title="TestON.bin.updatedriver.UpdateDriver.configparser
+TestON.core.teston.TestON.configparser" class="py-name" href="#" onclick="return doclink('link-44', 'configparser', 'link-44');">configparser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt id="link-45" class="py-name" targets="Function TestON.core.teston.verifyOptions()=TestON.core.teston-module.html#verifyOptions"><a title="TestON.core.teston.verifyOptions" class="py-name" href="#" onclick="return doclink('link-45', 'verifyOptions', 'link-45');">verifyOptions</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt id="link-46" class="py-name" targets="Function TestON.core.teston.load_logger()=TestON.core.teston-module.html#load_logger"><a title="TestON.core.teston.load_logger" class="py-name" href="#" onclick="return doclink('link-46', 'load_logger', 'link-46');">load_logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#topology,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topology"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-47', 'topology', 'link-47');">topology</a></tt> <tt class="py-op">[</tt><tt class="py-string">'COMPONENT'</tt><tt class="py-op">]</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driversList</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">str</tt> <tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">component</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt> <tt class="py-op">:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driversList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'type'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driversList</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driversList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-comment"># Removing duplicates.</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-comment"># Checking the test_target option set for the component or not</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">dict</tt><tt class="py-op">:</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">component</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-string">'test_target'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">test_target</tt> <tt class="py-op">=</tt> <tt class="py-name">component</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-comment"># Checking for the openspeak file and test script</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Module TestON.core.logger=TestON.core.logger-module.html"><a title="TestON.core.logger" class="py-name" href="#" onclick="return doclink('link-48', 'logger', 'link-48');">logger</a></tt><tt class="py-op">.</tt><tt id="link-49" class="py-name" targets="Method TestON.core.logger.Logger.initlog()=TestON.core.logger.Logger-class.html#initlog"><a title="TestON.core.logger.Logger.initlog" class="py-name" href="#" onclick="return doclink('link-49', 'initlog', 'link-49');">initlog</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-comment"># Creating Drivers Handles</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-name">initString</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">"\n CASE INIT \n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-50', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exact</tt><tt class="py-op">(</tt><tt class="py-name">initString</tt><tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driverObject</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">random_order</tt> <tt class="py-op">=</tt> <tt class="py-number">111</tt> <tt class="py-comment"># Random order id to connect the components</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-name">components_connect_order</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-comment">#component_list.append()</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">dict</tt><tt class="py-op">:</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">component</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'connect_order'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'connect_order'</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'connect_order'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">else</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name" targets="Method TestON.core.teston.TestON.get_random()=TestON.core.teston.TestON-class.html#get_random"><a title="TestON.core.teston.TestON.get_random" class="py-name" href="#" onclick="return doclink('link-51', 'get_random', 'link-51');">get_random</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">                <tt class="py-name">components_connect_order</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt>  <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'connect_order'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">            <tt class="py-comment">#Ordering components based on the connect order.</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-name">ordered_component_list</tt> <tt class="py-op">=</tt><tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">components_connect_order</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">=</tt><tt class="py-keyword">lambda</tt> <tt class="py-name">key</tt><tt class="py-op">:</tt> <tt class="py-name">components_connect_order</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">ordered_component_list</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">component</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ordered_component_list</tt><tt class="py-op">:</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name" targets="Method TestON.core.teston.TestON.componentInit()=TestON.core.teston.TestON-class.html#componentInit"><a title="TestON.core.teston.TestON.componentInit" class="py-name" href="#" onclick="return doclink('link-52', 'componentInit', 'link-52');">componentInit</a></tt><tt class="py-op">(</tt><tt class="py-name">component</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"> </tt>
+<a name="TestON.configparser"></a><div id="TestON.configparser-def"><a name="L139"></a><tt class="py-lineno">139</tt> <a class="py-toggle" href="#" id="TestON.configparser-toggle" onclick="return toggle('TestON.configparser');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#configparser">configparser</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.configparser-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.configparser-expanded"><a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-docstring">        It will parse the config file (teston.cfg) and return as dictionary</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-name">matchFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">r'(.*)\.cfg'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">M</tt> <tt class="py-op">|</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">I</tt><tt class="py-op">)</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">matchFileName</tt><tt class="py-op">:</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-name">xml</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt> <tt class="py-op">=</tt> <tt id="link-53" class="py-name"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-53', 'xmldict', 'link-0');">xmldict</a></tt><tt class="py-op">.</tt><tt id="link-54" class="py-name" targets="Function TestON.core.xmldict.xml_to_dict()=TestON.core.xmldict-module.html#xml_to_dict"><a title="TestON.core.xmldict.xml_to_dict" class="py-name" href="#" onclick="return doclink('link-54', 'xml_to_dict', 'link-54');">xml_to_dict</a></tt><tt class="py-op">(</tt><tt class="py-name">xml</tt><tt class="py-op">)</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"There is no such file to parse "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">configFile</tt> </tt>
+</div><a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"> </tt>
+<a name="TestON.componentInit"></a><div id="TestON.componentInit-def"><a name="L152"></a><tt class="py-lineno">152</tt> <a class="py-toggle" href="#" id="TestON.componentInit-toggle" onclick="return toggle('TestON.componentInit');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#componentInit">componentInit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">component</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.componentInit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.componentInit-expanded"><a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">        This method will initialize specified component</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">driver_options</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initiated</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-55', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Creating component Handle: "</tt><tt class="py-op">+</tt><tt class="py-name">component</tt><tt class="py-op">)</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-name">driver_options</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'COMPONENTS'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">            <tt class="py-name">driver_options</tt> <tt class="py-op">=</tt><tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'COMPONENTS'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">driver_options</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">component</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-name">driverName</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'type'</tt><tt class="py-op">]</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-name">driver_options</tt> <tt class="py-op">[</tt><tt class="py-string">'type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">driverName</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-name">classPath</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Method TestON.bin.updatedriver.UpdateDriver.getDriverPath()=TestON.bin.updatedriver.UpdateDriver-class.html#getDriverPath,Method TestON.core.teston.TestON.getDriverPath()=TestON.core.teston.TestON-class.html#getDriverPath"><a title="TestON.bin.updatedriver.UpdateDriver.getDriverPath
+TestON.core.teston.TestON.getDriverPath" class="py-name" href="#" onclick="return doclink('link-56', 'getDriverPath', 'link-56');">getDriverPath</a></tt><tt class="py-op">(</tt><tt class="py-name">driverName</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">driverModule</tt> <tt class="py-op">=</tt> <tt class="py-name">importlib</tt><tt class="py-op">.</tt><tt class="py-name">import_module</tt><tt class="py-op">(</tt><tt class="py-name">classPath</tt><tt class="py-op">)</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-name">driverClass</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">driverModule</tt><tt class="py-op">,</tt> <tt class="py-name">driverName</tt><tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-name">driverObject</tt> <tt class="py-op">=</tt> <tt class="py-name">driverClass</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt> <tt class="py-string">"OCN"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'host'</tt><tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onoscell</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'host'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">mnIP</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-name">connect_result</tt> <tt class="py-op">=</tt> <tt class="py-name">driverObject</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
-TestON.drivers.common.clidriver.CLI.connect
-TestON.drivers.common.webdriver.WebDriver.connect
-TestON.drivers.component.Component.connect" class="py-name" href="#" onclick="return doclink('link-60', 'connect', 'link-60');">connect</a></tt><tt class="py-op">(</tt><tt class="py-name">user_name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt id="link-61" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-61', 'component', 'link-40');">component</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'user'</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'user'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt id="link-62" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-62', 'component', 'link-40');">component</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">else</tt> <tt class="py-name">getpass</tt><tt class="py-op">.</tt><tt class="py-name">getuser</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">                                              <tt class="py-name">ip_address</tt><tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt id="link-63" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-63', 'component', 'link-40');">component</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'host'</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'host'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt id="link-64" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-64', 'component', 'link-40');">component</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">else</tt> <tt class="py-string">'localhost'</tt><tt class="py-op">,</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">                                              <tt class="py-name">pwd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt id="link-65" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-65', 'component', 'link-40');">component</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'password'</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'password'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt id="link-66" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-66', 'component', 'link-40');">component</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">else</tt> <tt class="py-string">'changeme'</tt><tt class="py-op">,</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">                                              <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt id="link-67" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-67', 'component', 'link-40');">component</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'port'</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'port'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt id="link-68" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-68', 'component', 'link-40');">component</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">else</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">                                              <tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">driver_options</tt><tt class="py-op">)</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">connect_result</tt><tt class="py-op">:</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-69', 'log', 'link-47');">log</a></tt><tt class="py-op">.</tt><tt id="link-70" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-70', 'error', 'link-70');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Exiting form the test execution because the connecting to the "</tt><tt class="py-op">+</tt><tt id="link-71" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-71', 'component', 'link-40');">component</a></tt><tt class="py-op">+</tt><tt class="py-string">" component failed."</tt><tt class="py-op">)</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-72', 'exit', 'link-72');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt>  </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">             </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt id="link-73" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-73', 'component', 'link-40');">component</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">driverObject</tt> </tt>
-</div><a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">                         </tt>
-<a name="TestON.run"></a><div id="TestON.run-def"><a name="L150"></a><tt class="py-lineno">150</tt> <a class="py-toggle" href="#" id="TestON.run-toggle" onclick="return toggle('TestON.run');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#run">run</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestON.run-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.run-expanded"><a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">           The Execution of the test script's cases listed in the Test params file will be done here. </tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">           And Update each test case result. </tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">           This method will return TRUE if it executed all the test cases successfully, </tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">           else will retun FALSE</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">         </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testCaseResult</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_NORESULT</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_FAIL</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PASS</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CASERESULT</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">         </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt id="link-74" class="py-name" targets="Module TestON.core.testparser=TestON.core.testparser-module.html"><a title="TestON.core.testparser" class="py-name" href="#" onclick="return doclink('link-74', 'testparser', 'link-74');">testparser</a></tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-name">testFile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-75', 'tests_path', 'link-7');">tests_path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">test</tt> <tt class="py-op">=</tt> <tt id="link-76" class="py-name"><a title="TestON.core.testparser" class="py-name" href="#" onclick="return doclink('link-76', 'testparser', 'link-74');">testparser</a></tt><tt class="py-op">.</tt><tt id="link-77" class="py-name" targets="Class TestON.core.testparser.TestParser=TestON.core.testparser.TestParser-class.html"><a title="TestON.core.testparser.TestParser" class="py-name" href="#" onclick="return doclink('link-77', 'TestParser', 'link-77');">TestParser</a></tt><tt class="py-op">(</tt><tt class="py-name">testFile</tt><tt class="py-op">)</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testscript</tt> <tt class="py-op">=</tt> <tt class="py-name">test</tt><tt class="py-op">.</tt><tt class="py-name">testscript</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt class="py-name">test</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name" targets="Method TestON.core.testparser.TestParser.getStepCode()=TestON.core.testparser.TestParser-class.html#getStepCode"><a title="TestON.core.testparser.TestParser.getStepCode" class="py-name" href="#" onclick="return doclink('link-78', 'getStepCode', 'link-78');">getStepCode</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">         </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testcases_list</tt><tt class="py-op">:</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name" targets="Method TestON.core.teston.TestON.runCase()=TestON.core.teston.TestON-class.html#runCase"><a title="TestON.core.teston.TestON.runCase" class="py-name" href="#" onclick="return doclink('link-79', 'runCase', 'link-79');">runCase</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
-</div><a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">     </tt>
-<a name="TestON.runCase"></a><div id="TestON.runCase-def"><a name="L177"></a><tt class="py-lineno">177</tt> <a class="py-toggle" href="#" id="TestON.runCase-toggle" onclick="return toggle('TestON.runCase');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#runCase">runCase</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">testCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestON.runCase-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.runCase-expanded"><a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt> <tt class="py-op">=</tt> <tt class="py-name">testCaseNumber</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">EXPERIMENTAL_MODE</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name" targets="Method TestON.core.teston.TestON.addCaseHeader()=TestON.core.teston.TestON-class.html#addCaseHeader"><a title="TestON.core.teston.TestON.addCaseHeader" class="py-name" href="#" onclick="return doclink('link-80', 'addCaseHeader', 'link-80');">addCaseHeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testCaseNumber</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">testCaseNumber</tt><tt class="py-op">)</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-name">stopped</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">code</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testCaseNumber</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-81', 'log', 'link-47');">log</a></tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-82', 'error', 'link-70');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"There is no Test-Case "</tt><tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testCaseNumber</tt><tt class="py-op">)</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">         </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">code</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testCaseNumber</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name" targets="Method TestON.core.teston.TestON.runStep()=TestON.core.teston.TestON-class.html#runStep"><a title="TestON.core.teston.TestON.runStep" class="py-name" href="#" onclick="return doclink('link-83', 'runStep', 'link-83');">runStep</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepList</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">code</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testCaseNumber</tt><tt class="py-op">)</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">result</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> <tt class="py-op">:</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">             </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">stopped</tt> <tt class="py-op">:</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testCaseResult</tt><tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CASERESULT</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.core.logger" class="py-name" href="#" onclick="return doclink('link-84', 'logger', 'link-45');">logger</a></tt><tt class="py-op">.</tt><tt id="link-85" class="py-name" targets="Method TestON.core.logger.Logger.updateCaseResults()=TestON.core.logger.Logger-class.html#updateCaseResults"><a title="TestON.core.logger.Logger.updateCaseResults" class="py-name" href="#" onclick="return doclink('link-85', 'updateCaseResults', 'link-85');">updateCaseResults</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
-</div><a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">     </tt>
-<a name="TestON.runStep"></a><div id="TestON.runStep-def"><a name="L204"></a><tt class="py-lineno">204</tt> <a class="py-toggle" href="#" id="TestON.runStep-toggle" onclick="return toggle('TestON.runStep');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#runStep">runStep</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">stepList</tt><tt class="py-op">,</tt><tt class="py-param">code</tt><tt class="py-op">,</tt><tt class="py-param">testCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestON.runStep-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.runStep-expanded"><a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-86" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
-TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-86', 'cli', 'link-86');">cli</a></tt><tt class="py-op">.</tt><tt id="link-87" class="py-name" targets="Method TestON.bin.cli.TestThread.pause()=TestON.bin.cli.TestThread-class.html#pause,Method TestON.core.teston.TestON.pause()=TestON.core.teston.TestON-class.html#pause"><a title="TestON.bin.cli.TestThread.pause
-TestON.core.teston.TestON.pause" class="py-name" href="#" onclick="return doclink('link-87', 'pause', 'link-87');">pause</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">                <tt id="link-88" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-88', 'step', 'link-88');">step</a></tt> <tt class="py-op">=</tt> <tt class="py-name">stepList</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt><tt class="py-op">]</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">                <tt class="py-keyword">exec</tt> <tt class="py-name">code</tt><tt class="py-op">[</tt><tt class="py-name">testCaseNumber</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt id="link-89" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-89', 'step', 'link-88');">step</a></tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt id="link-90" class="py-name"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-90', 'module', 'link-1');">module</a></tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-91', 'log', 'link-47');">log</a></tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-92', 'error', 'link-70');">error</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">         </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-93" class="py-name"><a title="TestON.bin.cli
-TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-93', 'cli', 'link-86');">cli</a></tt><tt class="py-op">.</tt><tt id="link-94" class="py-name" targets="Method TestON.bin.cli.TestThread.stop()=TestON.bin.cli.TestThread-class.html#stop"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-94', 'stop', 'link-94');">stop</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">            <tt id="link-95" class="py-name"><a title="TestON.bin.cli
-TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-95', 'cli', 'link-86');">cli</a></tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-96', 'stop', 'link-94');">stop</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">            <tt class="py-name">stopped</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_NORESULT</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_NORESULT</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testCaseResult</tt><tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"Stopped"</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.core.logger" class="py-name" href="#" onclick="return doclink('link-97', 'logger', 'link-45');">logger</a></tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.core.logger.Logger.updateCaseResults" class="py-name" href="#" onclick="return doclink('link-98', 'updateCaseResults', 'link-85');">updateCaseResults</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup,Method TestON.drivers.component.Component.cleanup()=TestON.drivers.component.Component-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup
-TestON.drivers.component.Component.cleanup" class="py-name" href="#" onclick="return doclink('link-99', 'cleanup', 'link-99');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">         </tt>
-<a name="TestON.addCaseHeader"></a><div id="TestON.addCaseHeader-def"><a name="L224"></a><tt class="py-lineno">224</tt> <a class="py-toggle" href="#" id="TestON.addCaseHeader-toggle" onclick="return toggle('TestON.addCaseHeader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#addCaseHeader">addCaseHeader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestON.addCaseHeader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.addCaseHeader-expanded"><a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-name">caseHeader</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">"\n Result summary for Testcase"</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-100', 'log', 'link-47');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exact</tt><tt class="py-op">(</tt><tt class="py-name">caseHeader</tt><tt class="py-op">)</tt>  </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-name">caseHeader</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">40</tt> <tt class="py-op">+</tt><tt class="py-string">"\nStart of Test Case"</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">" : "</tt>  </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">driver</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">driver</tt><tt class="py-op">+</tt><tt class="py-string">'log'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">caseHeader</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">     </tt>
-<a name="TestON.addCaseFooter"></a><div id="TestON.addCaseFooter-def"><a name="L231"></a><tt class="py-lineno">231</tt> <a class="py-toggle" href="#" id="TestON.addCaseFooter-toggle" onclick="return toggle('TestON.addCaseFooter');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#addCaseFooter">addCaseFooter</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestON.addCaseFooter-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.addCaseFooter-expanded"><a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt><tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt> <tt class="py-op">:</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">            <tt class="py-name">previousStep</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"."</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">": "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepName</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">            <tt class="py-name">stepHeader</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">40</tt><tt class="py-op">+</tt><tt class="py-string">"\nEnd of Step "</tt><tt class="py-op">+</tt><tt class="py-name">previousStep</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">40</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">             </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-name">caseFooter</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">40</tt><tt class="py-op">+</tt><tt class="py-string">"\nEnd of Test case "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">40</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">             </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">driver</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driversList</tt><tt class="py-op">:</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">stepHeader</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-name">caseFooter</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"> </tt>
-<a name="TestON.cleanup"></a><div id="TestON.cleanup-def"><a name="L241"></a><tt class="py-lineno">241</tt> <a class="py-toggle" href="#" id="TestON.cleanup-toggle" onclick="return toggle('TestON.cleanup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#cleanup">cleanup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestON.cleanup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.cleanup-expanded"><a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"><tt class="py-docstring">           Release all the component handles and the close opened file handles.</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"><tt class="py-docstring">           This will return TRUE if all the component handles and log handles closed properly,</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"><tt class="py-docstring">           else return FALSE</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="TestON.core.logger" class="py-name" href="#" onclick="return doclink('link-101', 'logger', 'link-45');">logger</a></tt><tt class="py-op">.</tt><tt id="link-102" class="py-name" targets="Method TestON.core.logger.Logger.testSummary()=TestON.core.logger.Logger-class.html#testSummary"><a title="TestON.core.logger.Logger.testSummary" class="py-name" href="#" onclick="return doclink('link-102', 'testSummary', 'link-102');">testSummary</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">         </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt class="py-comment">#self.reportFile.close()</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">        <tt class="py-comment"># Closing all the driver's session files</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">driver</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">           <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.close_log_handles()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#close_log_handles,Method TestON.drivers.component.Component.close_log_handles()=TestON.drivers.component.Component-class.html#close_log_handles"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.close_log_handles
-TestON.drivers.component.Component.close_log_handles" class="py-name" href="#" onclick="return doclink('link-103', 'close_log_handles', 'link-103');">close_log_handles</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">send_mail</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-104" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-104', 'component', 'link-40');">component</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Disconnecting "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tempObject</tt><tt class="py-op">)</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">                <tt class="py-name">tempObject</tt>  <tt class="py-op">=</tt> <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt id="link-105" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-105', 'component', 'link-40');">component</a></tt><tt class="py-op">]</tt>     </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Disconnecting "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tempObject</tt><tt class="py-op">)</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">                <tt class="py-name">tempObject</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.disconnect()=TestON.bin.generatedriver.GenerateDriver-class.html#disconnect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#disconnect,Method TestON.drivers.common.clidriver.CLI.disconnect()=TestON.drivers.common.clidriver.CLI-class.html#disconnect,Method TestON.drivers.common.webdriver.WebDriver.disconnect()=TestON.drivers.common.webdriver.WebDriver-class.html#disconnect,Method TestON.drivers.component.Component.disconnect()=TestON.drivers.component.Component-class.html#disconnect"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-57', 'connect', 'link-57');">connect</a></tt><tt class="py-op">(</tt><tt class="py-name">user_name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'user'</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'user'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">else</tt> <tt class="py-name">getpass</tt><tt class="py-op">.</tt><tt class="py-name">getuser</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">                                              <tt class="py-name">ip_address</tt><tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'host'</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'host'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">else</tt> <tt class="py-string">'localhost'</tt><tt class="py-op">,</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">                                              <tt class="py-name">pwd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'password'</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'password'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">else</tt> <tt class="py-string">'changeme'</tt><tt class="py-op">,</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">                                              <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'port'</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'port'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">else</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">                                              <tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">driver_options</tt><tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">connect_result</tt><tt class="py-op">:</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-58', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt id="link-59" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-59', 'error', 'link-59');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Exiting form the test execution because the connecting to the "</tt><tt class="py-op">+</tt><tt class="py-name">component</tt><tt class="py-op">+</tt><tt class="py-string">" component failed."</tt><tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-60', 'exit', 'link-60');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">driverObject</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initiated</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"> </tt>
+<a name="TestON.run"></a><div id="TestON.run-def"><a name="L188"></a><tt class="py-lineno">188</tt> <a class="py-toggle" href="#" id="TestON.run-toggle" onclick="return toggle('TestON.run');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#run">run</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.run-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.run-expanded"><a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"><tt class="py-docstring">           The Execution of the test script's cases listed in the Test params file will be done here.</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-docstring">           And Update each test case result.</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"><tt class="py-docstring">           This method will return TRUE if it executed all the test cases successfully,</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"><tt class="py-docstring">           else will retun FALSE</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testCaseResult</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_RUN</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PLANNED</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_NORESULT</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_FAIL</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PASS</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TEST_ITERATION</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CASERESULT</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">NORESULT</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line"> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt id="link-61" class="py-name" targets="Module TestON.core.testparser=TestON.core.testparser-module.html"><a title="TestON.core.testparser" class="py-name" href="#" onclick="return doclink('link-61', 'testparser', 'link-61');">testparser</a></tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">        <tt class="py-name">testFile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.bin.cli.tests_path
+TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-62', 'tests_path', 'link-5');">tests_path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-name">test</tt> <tt class="py-op">=</tt> <tt id="link-63" class="py-name"><a title="TestON.core.testparser" class="py-name" href="#" onclick="return doclink('link-63', 'testparser', 'link-61');">testparser</a></tt><tt class="py-op">.</tt><tt id="link-64" class="py-name" targets="Class TestON.core.testparser.TestParser=TestON.core.testparser.TestParser-class.html"><a title="TestON.core.testparser.TestParser" class="py-name" href="#" onclick="return doclink('link-64', 'TestParser', 'link-64');">TestParser</a></tt><tt class="py-op">(</tt><tt class="py-name">testFile</tt><tt class="py-op">)</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testscript</tt> <tt class="py-op">=</tt> <tt class="py-name">test</tt><tt class="py-op">.</tt><tt class="py-name">testscript</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt class="py-name">test</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name" targets="Method TestON.core.testparser.TestParser.getStepCode()=TestON.core.testparser.TestParser-class.html#getStepCode"><a title="TestON.core.testparser.TestParser.getStepCode" class="py-name" href="#" onclick="return doclink('link-65', 'getStepCode', 'link-65');">getStepCode</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-name">repeat</tt><tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'repeat'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'repeat'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">)</tt> <tt class="py-keyword">else</tt> <tt class="py-number">1</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PLANNED</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testcases_list</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-name">repeat</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt><tt class="py-op">(</tt><tt class="py-name">repeat</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testcases_list</tt><tt class="py-op">:</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name" targets="Method TestON.core.teston.TestON.runCase()=TestON.core.teston.TestON-class.html#runCase"><a title="TestON.core.teston.TestON.runCase" class="py-name" href="#" onclick="return doclink('link-66', 'runCase', 'link-66');">runCase</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">            <tt class="py-name">repeat</tt><tt class="py-op">-=</tt><tt class="py-number">1</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
+</div><a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"> </tt>
+<a name="TestON.runCase"></a><div id="TestON.runCase-def"><a name="L221"></a><tt class="py-lineno">221</tt> <a class="py-toggle" href="#" id="TestON.runCase-toggle" onclick="return toggle('TestON.runCase');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#runCase">runCase</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">testCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.runCase-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.runCase-expanded"><a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt> <tt class="py-op">=</tt> <tt class="py-name">testCaseNumber</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCase</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepResults</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepName</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">EXPERIMENTAL_MODE</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name" targets="Method TestON.core.teston.TestON.addCaseHeader()=TestON.core.teston.TestON-class.html#addCaseHeader"><a title="TestON.core.teston.TestON.addCaseHeader" class="py-name" href="#" onclick="return doclink('link-67', 'addCaseHeader', 'link-67');">addCaseHeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testCaseNumber</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">testCaseNumber</tt><tt class="py-op">)</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-name">stopped</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">code</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testCaseNumber</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-68', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-69', 'error', 'link-59');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"There is no Test-Case "</tt><tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testCaseNumber</tt><tt class="py-op">)</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">code</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testCaseNumber</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name" targets="Method TestON.core.teston.TestON.runStep()=TestON.core.teston.TestON-class.html#runStep"><a title="TestON.core.teston.TestON.runStep" class="py-name" href="#" onclick="return doclink('link-70', 'runStep', 'link-70');">runStep</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepList</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">code</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testCaseNumber</tt><tt class="py-op">)</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">result</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">stopped</tt> <tt class="py-op">:</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> <tt class="py-op">==</tt> <tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepResults</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">                <tt class="py-comment"># ALL PASSED</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CASERESULT</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepResults</tt><tt class="py-op">:</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">                <tt class="py-comment"># AT LEAST ONE FAILED</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CASERESULT</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepResults</tt><tt class="py-op">:</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">                <tt class="py-comment"># AT LEAST ONE PASSED</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CASERESULT</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CASERESULT</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">NORESULT</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testCaseResult</tt><tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CASERESULT</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.core.logger" class="py-name" href="#" onclick="return doclink('link-71', 'logger', 'link-48');">logger</a></tt><tt class="py-op">.</tt><tt id="link-72" class="py-name" targets="Method TestON.core.logger.Logger.updateCaseResults()=TestON.core.logger.Logger-class.html#updateCaseResults"><a title="TestON.core.logger.Logger.updateCaseResults" class="py-name" href="#" onclick="return doclink('link-72', 'updateCaseResults', 'link-72');">updateCaseResults</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-73', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-string">"&lt;p&gt;"</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">+</tt> <tt class="py-string">"&lt;/p&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-74', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt id="link-75" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.summary()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#summary"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.summary" class="py-name" href="#" onclick="return doclink('link-75', 'summary', 'link-75');">summary</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-76', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-string">"&lt;ul&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCache</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">" - PASS$"</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-77', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-string">"&lt;li&gt;"</tt> <tt class="py-op">+</tt> <tt class="py-name">line</tt> <tt class="py-op">+</tt> <tt class="py-string">"  &lt;ac:emoticon ac:name=\"tick\" /&gt;&lt;/li&gt;\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">" - FAIL$"</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-78', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-string">"&lt;li&gt;"</tt> <tt class="py-op">+</tt> <tt class="py-name">line</tt> <tt class="py-op">+</tt> <tt class="py-string">"  &lt;ac:emoticon ac:name=\"cross\" /&gt;&lt;/li&gt;\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">" - No Result$"</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-79', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-string">"&lt;li&gt;"</tt> <tt class="py-op">+</tt> <tt class="py-name">line</tt> <tt class="py-op">+</tt> <tt class="py-string">"  &lt;ac:emoticon ac:name=\"warning\" /&gt;&lt;/li&gt;\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># Should only be on fail message</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-80', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-string">"&lt;ul&gt;&lt;li&gt;"</tt> <tt class="py-op">+</tt> <tt class="py-name">line</tt> <tt class="py-op">+</tt> <tt class="py-string">"&lt;/li&gt;&lt;/ul&gt;\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-81', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-string">"&lt;/ul&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-82', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.summary" class="py-name" href="#" onclick="return doclink('link-83', 'summary', 'link-75');">summary</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCache</tt> <tt class="py-op">)</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCache</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
+</div><a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line"> </tt>
+<a name="TestON.runStep"></a><div id="TestON.runStep-def"><a name="L277"></a><tt class="py-lineno">277</tt> <a class="py-toggle" href="#" id="TestON.runStep-toggle" onclick="return toggle('TestON.runStep');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#runStep">runStep</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">stepList</tt><tt class="py-op">,</tt><tt class="py-param">code</tt><tt class="py-op">,</tt><tt class="py-param">testCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.runStep-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.runStep-expanded"><a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-84" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-84', 'cli', 'link-84');">cli</a></tt><tt class="py-op">.</tt><tt id="link-85" class="py-name" targets="Method TestON.bin.cli.TestThread.pause()=TestON.bin.cli.TestThread-class.html#pause,Method TestON.core.teston.TestON.pause()=TestON.core.teston.TestON-class.html#pause"><a title="TestON.bin.cli.TestThread.pause
+TestON.core.teston.TestON.pause" class="py-name" href="#" onclick="return doclink('link-85', 'pause', 'link-85');">pause</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">                <tt id="link-86" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-86', 'step', 'link-86');">step</a></tt> <tt class="py-op">=</tt> <tt class="py-name">stepList</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt><tt class="py-op">]</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">STEPRESULT</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">NORESULT</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">onFailMsg</tt> <tt class="py-op">=</tt> <tt class="py-string">"\t\tNo on fail message given"</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">                <tt class="py-keyword">exec</tt> <tt class="py-name">code</tt><tt class="py-op">[</tt><tt class="py-name">testCaseNumber</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt id="link-87" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-87', 'step', 'link-86');">step</a></tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt class="py-name">module</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-88" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-88', 'step', 'link-86');">step</a></tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCache</tt> <tt class="py-op">+=</tt> <tt class="py-string">"\t"</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">testCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"."</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-89" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-89', 'step', 'link-86');">step</a></tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepName</tt><tt class="py-op">+</tt><tt class="py-string">" - "</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">STEPRESULT</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCache</tt> <tt class="py-op">+=</tt> <tt class="py-string">"PASS\n"</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">STEPRESULT</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCache</tt> <tt class="py-op">+=</tt> <tt class="py-string">"FAIL\n"</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">                        <tt class="py-comment"># TODO: Print the on-fail statement here</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCache</tt> <tt class="py-op">+=</tt> <tt class="py-string">"\t\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">onFailMsg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCache</tt> <tt class="py-op">+=</tt> <tt class="py-string">"No Result\n"</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepResults</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">STEPRESULT</tt><tt class="py-op">)</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">StandardError</tt><tt class="py-op">:</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-90', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"\nException in the following section of"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">                                    <tt class="py-string">" code: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">testCaseNumber</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-91" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-91', 'step', 'link-86');">step</a></tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">                <tt class="py-comment">#print code[testCaseNumber][step]</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.core.logger" class="py-name" href="#" onclick="return doclink('link-92', 'logger', 'link-48');">logger</a></tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.core.logger.Logger.updateCaseResults" class="py-name" href="#" onclick="return doclink('link-93', 'updateCaseResults', 'link-72');">updateCaseResults</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">                <tt class="py-comment">#WIKI results</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-94', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-string">"&lt;ul&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCache</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">" - PASS$"</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-95', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-string">"&lt;li&gt;"</tt> <tt class="py-op">+</tt> <tt class="py-name">line</tt> <tt class="py-op">+</tt> <tt class="py-string">"  &lt;ac:emoticon ac:name=\"tick\" /&gt;&lt;/li&gt;\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">" - FAIL$"</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-96', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-string">"&lt;li&gt;"</tt> <tt class="py-op">+</tt> <tt class="py-name">line</tt> <tt class="py-op">+</tt> <tt class="py-string">"  &lt;ac:emoticon ac:name=\"cross\" /&gt;&lt;/li&gt;\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">" - No Result$"</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-97', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-string">"&lt;li&gt;"</tt> <tt class="py-op">+</tt> <tt class="py-name">line</tt> <tt class="py-op">+</tt> <tt class="py-string">"  &lt;ac:emoticon ac:name=\"warning\" /&gt;&lt;/li&gt;\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># Should only be on fail message</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-98', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-string">"&lt;ul&gt;&lt;li&gt;"</tt> <tt class="py-op">+</tt> <tt class="py-name">line</tt> <tt class="py-op">+</tt> <tt class="py-string">"&lt;/li&gt;&lt;/ul&gt;\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-99', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-string">"&lt;/ul&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">                <tt class="py-comment">#summary results</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-100', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.summary" class="py-name" href="#" onclick="return doclink('link-101', 'summary', 'link-75');">summary</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCache</tt> <tt class="py-op">)</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCache</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-102', 'cleanup', 'link-102');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-103', 'exit', 'link-60');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-104" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-104', 'cli', 'link-84');">cli</a></tt><tt class="py-op">.</tt><tt id="link-105" class="py-name" targets="Method TestON.bin.cli.TestThread.stop()=TestON.bin.cli.TestThread-class.html#stop"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-105', 'stop', 'link-105');">stop</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">            <tt id="link-106" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-106', 'cli', 'link-84');">cli</a></tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-107', 'stop', 'link-105');">stop</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">            <tt class="py-name">stopped</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_NORESULT</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_NORESULT</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testCaseResult</tt><tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"Stopped"</tt> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.core.logger" class="py-name" href="#" onclick="return doclink('link-108', 'logger', 'link-48');">logger</a></tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="TestON.core.logger.Logger.updateCaseResults" class="py-name" href="#" onclick="return doclink('link-109', 'updateCaseResults', 'link-72');">updateCaseResults</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-110', 'cleanup', 'link-102');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line"> </tt>
+<a name="TestON.addCaseHeader"></a><div id="TestON.addCaseHeader-def"><a name="L330"></a><tt class="py-lineno">330</tt> <a class="py-toggle" href="#" id="TestON.addCaseHeader-toggle" onclick="return toggle('TestON.addCaseHeader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#addCaseHeader">addCaseHeader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.addCaseHeader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.addCaseHeader-expanded"><a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">        <tt class="py-name">caseHeader</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">"\n Result summary for Testcase"</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">30</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-111', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exact</tt><tt class="py-op">(</tt><tt class="py-name">caseHeader</tt><tt class="py-op">)</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">        <tt class="py-name">caseHeader</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">40</tt> <tt class="py-op">+</tt><tt class="py-string">"\nStart of Test Case"</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">" : "</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">driver</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">driver</tt><tt class="py-op">+</tt><tt class="py-string">'log'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">caseHeader</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line"> </tt>
+<a name="TestON.addCaseFooter"></a><div id="TestON.addCaseFooter-def"><a name="L337"></a><tt class="py-lineno">337</tt> <a class="py-toggle" href="#" id="TestON.addCaseFooter-toggle" onclick="return toggle('TestON.addCaseFooter');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#addCaseFooter">addCaseFooter</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.addCaseFooter-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.addCaseFooter-expanded"><a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt><tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt> <tt class="py-op">:</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">            <tt class="py-name">previousStep</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"."</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">": "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepName</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">            <tt class="py-name">stepHeader</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">40</tt><tt class="py-op">+</tt><tt class="py-string">"\nEnd of Step "</tt><tt class="py-op">+</tt><tt class="py-name">previousStep</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">40</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line"> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">        <tt class="py-name">caseFooter</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">40</tt><tt class="py-op">+</tt><tt class="py-string">"\nEnd of Test case "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">40</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line"> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">driver</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driversList</tt><tt class="py-op">:</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">stepHeader</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-name">caseFooter</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"> </tt>
+<a name="TestON.cleanup"></a><div id="TestON.cleanup-def"><a name="L347"></a><tt class="py-lineno">347</tt> <a class="py-toggle" href="#" id="TestON.cleanup-toggle" onclick="return toggle('TestON.cleanup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#cleanup">cleanup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.cleanup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.cleanup-expanded"><a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"><tt class="py-docstring">        Print a summary of the current test's results then attempt to release</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line"><tt class="py-docstring">        all the component handles and the close opened file handles.</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line"><tt class="py-docstring">        This function shouldbe threadsafe such that cleanup will only be</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line"><tt class="py-docstring">        executed once per test.</tt> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line"><tt class="py-docstring">        This will return TRUE if all the component handles and log handles</tt> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line"><tt class="py-docstring">        closed properly, else return FALSE.</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">        <tt class="py-name">lock</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cleanupLock</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt> <tt class="py-name">False</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cleanupFlag</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt>  <tt class="py-comment"># First thread to run this</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cleanupFlag</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">initiated</tt><tt class="py-op">:</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.core.logger" class="py-name" href="#" onclick="return doclink('link-112', 'logger', 'link-48');">logger</a></tt><tt class="py-op">.</tt><tt id="link-113" class="py-name" targets="Method TestON.core.logger.Logger.testSummary()=TestON.core.logger.Logger-class.html#testSummary"><a title="TestON.core.logger.Logger.testSummary" class="py-name" href="#" onclick="return doclink('link-113', 'testSummary', 'link-113');">testSummary</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">component</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">                        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">                            <tt class="py-name">tempObject</tt>  <tt class="py-op">=</tt> <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">                            <tt class="py-keyword">print</tt> <tt class="py-string">"Disconnecting from "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tempObject</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">                                  <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tempObject</tt><tt class="py-op">)</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">                            <tt class="py-name">tempObject</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.disconnect()=TestON.bin.generatedriver.GenerateDriver-class.html#disconnect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#disconnect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#disconnect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#disconnect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#disconnect,Method TestON.drivers.common.clidriver.CLI.disconnect()=TestON.drivers.common.clidriver.CLI-class.html#disconnect"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
-TestON.drivers.common.clidriver.CLI.disconnect
-TestON.drivers.common.webdriver.WebDriver.disconnect
-TestON.drivers.component.Component.disconnect" class="py-name" href="#" onclick="return doclink('link-106', 'disconnect', 'link-106');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">                <tt class="py-comment">#tempObject.execute(cmd="exit",prompt="(.*)",timeout=120) </tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line"> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">(</tt><tt class="py-name">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">            <tt class="py-comment">#print " There is an error with closing hanldes"</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">                     </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
-</div><a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">         </tt>
-<a name="TestON.pause"></a><div id="TestON.pause-def"><a name="L271"></a><tt class="py-lineno">271</tt> <a class="py-toggle" href="#" id="TestON.pause-toggle" onclick="return toggle('TestON.pause');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#pause">pause</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestON.pause-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.pause-expanded"><a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line"><tt class="py-docstring">        This function will pause the test's execution, and will continue after user provide 'resume' command.</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">testthread</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.bin.cli.TestThread.pause
-TestON.core.teston.TestON.pause" class="py-name" href="#" onclick="return doclink('link-107', 'pause', 'link-87');">pause</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">     </tt>
-<a name="TestON.onfail"></a><div id="TestON.onfail-def"><a name="L277"></a><tt class="py-lineno">277</tt> <a class="py-toggle" href="#" id="TestON.onfail-toggle" onclick="return toggle('TestON.onfail');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#onfail">onfail</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">*</tt><tt class="py-param">components</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestON.onfail-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.onfail-expanded"><a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line"><tt class="py-docstring">        When test step failed, calling all the components onfail. </tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">          </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-108" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-108', 'component', 'link-40');">component</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">                    <tt class="py-name">tempObject</tt>  <tt class="py-op">=</tt> <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt id="link-109" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-109', 'component', 'link-40');">component</a></tt><tt class="py-op">]</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">                    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tempObject</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-110', 'onfail', 'link-110');">onfail</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt><tt class="py-op">(</tt><tt class="py-name">Exception</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">                 </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-111" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-111', 'component', 'link-40');">component</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">                    <tt class="py-name">tempObject</tt>  <tt class="py-op">=</tt> <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt id="link-112" class="py-name"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-112', 'component', 'link-40');">component</a></tt><tt class="py-op">]</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">                    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tempObject</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-113', 'onfail', 'link-110');">onfail</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt><tt class="py-op">(</tt><tt class="py-name">Exception</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">     </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">     </tt>
-<a name="TestON.getDriverPath"></a><div id="TestON.getDriverPath-def"><a name="L301"></a><tt class="py-lineno">301</tt> <a class="py-toggle" href="#" id="TestON.getDriverPath-toggle" onclick="return toggle('TestON.getDriverPath');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#getDriverPath">getDriverPath</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">driverName</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestON.getDriverPath-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.getDriverPath-expanded"><a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line"><tt class="py-docstring">           Based on the component 'type' specified in the params , this method will find the absolute path ,</tt> </tt>
-<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line"><tt class="py-docstring">           by recursively searching the name of the component.</tt> </tt>
-<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">commands</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line"> </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">        <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"find "</tt><tt class="py-op">+</tt><tt id="link-114" class="py-name"><a title="TestON.core.teston.drivers_path" class="py-name" href="#" onclick="return doclink('link-114', 'drivers_path', 'link-5');">drivers_path</a></tt><tt class="py-op">+</tt><tt class="py-string">" -name "</tt><tt class="py-op">+</tt><tt class="py-name">driverName</tt><tt class="py-op">+</tt><tt class="py-string">".py"</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">commands</tt><tt class="py-op">.</tt><tt class="py-name">getoutput</tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">         </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">        <tt class="py-name">result_array</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">        <tt class="py-name">result_count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">         </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">drivers_list</tt> <tt class="py-keyword">in</tt> <tt class="py-name">result_array</tt><tt class="py-op">:</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">            <tt class="py-name">result_count</tt> <tt class="py-op">=</tt> <tt class="py-name">result_count</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">result_count</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt> <tt class="py-op">:</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"found "</tt><tt class="py-op">+</tt><tt class="py-name">driverName</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">result_count</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"  times"</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">result_array</tt><tt class="py-op">)</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-115', 'exit', 'link-72');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">             </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"(.*)drivers"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\.py"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\.pyc"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\/"</tt><tt class="py-op">,</tt><tt class="py-string">"."</tt><tt class="py-op">,</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-string">"drivers"</tt><tt class="py-op">+</tt><tt class="py-name">result</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
-</div><a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">     </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line"> </tt>
-<a name="TestON.step"></a><div id="TestON.step-def"><a name="L328"></a><tt class="py-lineno">328</tt> <a class="py-toggle" href="#" id="TestON.step-toggle" onclick="return toggle('TestON.step');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#step">step</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">stepDesc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestON.step-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.step-expanded"><a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line"><tt class="py-docstring">           The step information of the test-case will append to the logs.</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">        <tt class="py-name">previousStep</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"."</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">": "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepName</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepName</tt> <tt class="py-op">=</tt> <tt class="py-name">stepDesc</tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line"> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">        <tt class="py-name">stepName</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"."</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">": "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">stepDesc</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">            <tt class="py-name">stepName</tt> <tt class="py-op">=</tt> <tt class="py-string">" INIT : Initializing the test case :"</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCase</tt> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">             </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-116', 'log', 'link-47');">log</a></tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-117', 'step', 'link-88');">step</a></tt><tt class="py-op">(</tt><tt class="py-name">stepName</tt><tt class="py-op">)</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">        <tt class="py-name">stepHeader</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt> <tt class="py-op">:</tt> </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">            <tt class="py-name">stepHeader</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt><tt class="py-op">*</tt><tt class="py-number">45</tt><tt class="py-op">+</tt><tt class="py-string">"\nEnd of Step "</tt><tt class="py-op">+</tt><tt class="py-name">previousStep</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt><tt class="py-op">*</tt><tt class="py-number">45</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">         </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">        <tt class="py-name">stepHeader</tt> <tt class="py-op">+=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt><tt class="py-op">*</tt><tt class="py-number">45</tt><tt class="py-op">+</tt><tt class="py-string">"\nStart of Step"</tt><tt class="py-op">+</tt><tt class="py-name">stepName</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt><tt class="py-op">*</tt><tt class="py-number">45</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt>  </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">driver</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">driver</tt><tt class="py-op">+</tt><tt class="py-string">'log'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">stepHeader</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">             </tt>
-<a name="TestON.case"></a><div id="TestON.case-def"><a name="L348"></a><tt class="py-lineno">348</tt> <a class="py-toggle" href="#" id="TestON.case-toggle" onclick="return toggle('TestON.case');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#case">case</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">testCaseName</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestON.case-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.case-expanded"><a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line"><tt class="py-docstring">           Test's each test-case information will append to the logs.</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCase</tt> <tt class="py-op">=</tt> <tt class="py-name">testCaseName</tt>  </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">        <tt class="py-name">testCaseName</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">testCaseName</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-118', 'log', 'link-47');">log</a></tt><tt class="py-op">.</tt><tt id="link-119" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-119', 'case', 'link-119');">case</a></tt><tt class="py-op">(</tt><tt class="py-name">testCaseName</tt><tt class="py-op">)</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">        <tt class="py-name">caseHeader</tt> <tt class="py-op">=</tt> <tt class="py-name">testCaseName</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">40</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt>  </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">driver</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">driver</tt><tt class="py-op">+</tt><tt class="py-string">'log'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">caseHeader</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">         </tt>
-<a name="TestON.testDesc"></a><div id="TestON.testDesc-def"><a name="L359"></a><tt class="py-lineno">359</tt> <a class="py-toggle" href="#" id="TestON.testDesc-toggle" onclick="return toggle('TestON.testDesc');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#testDesc">testDesc</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">description</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestON.testDesc-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.testDesc-expanded"><a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"><tt class="py-docstring">           Test description will append to the logs.</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Test Description : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt> <tt class="py-op">(</tt><tt class="py-name">description</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-120', 'log', 'link-47');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">description</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">         </tt>
-<a name="TestON._getTest"></a><div id="TestON._getTest-def"><a name="L366"></a><tt class="py-lineno">366</tt> <a class="py-toggle" href="#" id="TestON._getTest-toggle" onclick="return toggle('TestON._getTest');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#_getTest">_getTest</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestON._getTest-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON._getTest-expanded"><a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line"><tt class="py-docstring">           This method will parse the test script to find required test information.</tt> </tt>
-<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">        <tt class="py-name">testFile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-121', 'tests_path', 'link-7');">tests_path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt> </tt>
-<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">        <tt class="py-name">testFileHandler</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">testFile</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt class="py-name">testFileList</tt> <tt class="py-op">=</tt> <tt class="py-name">testFileHandler</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">        <tt class="py-name">testFileHandler</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">        <tt class="py-comment">#self.TOTAL_TC_PLANNED = 0</tt> </tt>
-<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">        <tt class="py-name">counter</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">index</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">testFileList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">            <tt class="py-name">lineMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">'\s+def CASE(\d+)(.*):'</tt><tt class="py-op">,</tt><tt class="py-name">testFileList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">lineMatch</tt><tt class="py-op">:</tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">                <tt class="py-name">counter</tt>  <tt class="py-op">=</tt> <tt class="py-name">counter</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TOTAL_TC_PLANNED</tt> <tt class="py-op">=</tt> <tt class="py-name">counter</tt> </tt>
-</div><a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">                 </tt>
-<a name="TestON.exit"></a><div id="TestON.exit-def"><a name="L382"></a><tt class="py-lineno">382</tt> <a class="py-toggle" href="#" id="TestON.exit-toggle" onclick="return toggle('TestON.exit');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#exit">exit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestON.exit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.exit-expanded"><a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">testthread</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">        <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-122', 'exit', 'link-72');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line"> </tt>
-<a name="verifyOptions"></a><div id="verifyOptions-def"><a name="L386"></a><tt class="py-lineno">386</tt> <a class="py-toggle" href="#" id="verifyOptions-toggle" onclick="return toggle('verifyOptions');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#verifyOptions">verifyOptions</a><tt class="py-op">(</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="verifyOptions-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verifyOptions-expanded"><a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line"><tt class="py-docstring">    This will verify the command line options and set to default values, if any option not given in command line.</tt> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">pprint</tt> </tt>
-<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">    <tt class="py-name">pp</tt> <tt class="py-op">=</tt> <tt class="py-name">pprint</tt><tt class="py-op">.</tt><tt class="py-name">PrettyPrinter</tt><tt class="py-op">(</tt><tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line"> </tt>
-<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">    <tt class="py-comment">#pp.pprint(options)</tt> </tt>
-<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">    <tt id="link-123" class="py-name" targets="Function TestON.core.teston.verifyTest()=TestON.core.teston-module.html#verifyTest"><a title="TestON.core.teston.verifyTest" class="py-name" href="#" onclick="return doclink('link-123', 'verifyTest', 'link-123');">verifyTest</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
-<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line">    <tt id="link-124" class="py-name" targets="Function TestON.core.teston.verifyExample()=TestON.core.teston-module.html#verifyExample"><a title="TestON.core.teston.verifyExample" class="py-name" href="#" onclick="return doclink('link-124', 'verifyExample', 'link-124');">verifyExample</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
-<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">    <tt id="link-125" class="py-name" targets="Function TestON.core.teston.verifyTestScript()=TestON.core.teston-module.html#verifyTestScript"><a title="TestON.core.teston.verifyTestScript" class="py-name" href="#" onclick="return doclink('link-125', 'verifyTestScript', 'link-125');">verifyTestScript</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
-<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line">    <tt id="link-126" class="py-name" targets="Function TestON.core.teston.verifyParams()=TestON.core.teston-module.html#verifyParams"><a title="TestON.core.teston.verifyParams" class="py-name" href="#" onclick="return doclink('link-126', 'verifyParams', 'link-126');">verifyParams</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">    <tt id="link-127" class="py-name" targets="Function TestON.core.teston.verifyLogdir()=TestON.core.teston-module.html#verifyLogdir"><a title="TestON.core.teston.verifyLogdir" class="py-name" href="#" onclick="return doclink('link-127', 'verifyLogdir', 'link-127');">verifyLogdir</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">    <tt id="link-128" class="py-name" targets="Function TestON.core.teston.verifyMail()=TestON.core.teston-module.html#verifyMail"><a title="TestON.core.teston.verifyMail" class="py-name" href="#" onclick="return doclink('link-128', 'verifyMail', 'link-128');">verifyMail</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
-<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">    <tt id="link-129" class="py-name" targets="Function TestON.core.teston.verifyTestCases()=TestON.core.teston-module.html#verifyTestCases"><a title="TestON.core.teston.verifyTestCases" class="py-name" href="#" onclick="return doclink('link-129', 'verifyTestCases', 'link-129');">verifyTestCases</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line"> </tt>
-<a name="verifyTest"></a><div id="verifyTest-def"><a name="L402"></a><tt class="py-lineno">402</tt> <a class="py-toggle" href="#" id="verifyTest-toggle" onclick="return toggle('verifyTest');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#verifyTest">verifyTest</a><tt class="py-op">(</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="verifyTest-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verifyTest-expanded"><a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">testname</tt><tt class="py-op">:</tt> </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">testname</tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">classPath</tt> <tt class="py-op">=</tt> <tt class="py-string">"tests."</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">+</tt><tt class="py-string">"."</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> </tt>
-<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-130', 'tests_path', 'link-7');">tests_path</a></tt> <tt class="py-op">=</tt> <tt id="link-131" class="py-name"><a title="TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-131', 'tests_path', 'link-7');">tests_path</a></tt> </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">example</tt> <tt class="py-op">:</tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">example</tt> </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-132', 'tests_path', 'link-7');">tests_path</a></tt> <tt class="py-op">=</tt> <tt id="link-133" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-133', 'path', 'link-4');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">"/examples/"</tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">classPath</tt> <tt class="py-op">=</tt> <tt class="py-string">"examples."</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">+</tt><tt class="py-string">"."</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Test or Example not specified please specify the --test &lt;test name &gt; or --example &lt;example name&gt;"</tt> </tt>
-<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-134', 'exit', 'link-72');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line"> </tt>
-<a name="verifyExample"></a><div id="verifyExample-def"><a name="L415"></a><tt class="py-lineno">415</tt> <a class="py-toggle" href="#" id="verifyExample-toggle" onclick="return toggle('verifyExample');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#verifyExample">verifyExample</a><tt class="py-op">(</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="verifyExample-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verifyExample-expanded"><a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">example</tt><tt class="py-op">:</tt> </tt>
-<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testDir</tt> <tt class="py-op">=</tt> <tt id="link-135" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-135', 'path', 'link-4');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">'/examples/'</tt> </tt>
-<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-136', 'tests_path', 'link-7');">tests_path</a></tt> <tt class="py-op">=</tt> <tt id="link-137" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-137', 'path', 'link-4');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">"/examples/"</tt> </tt>
-<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">classPath</tt> <tt class="py-op">=</tt> <tt class="py-string">"examples."</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">+</tt><tt class="py-string">"."</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> </tt>
-</div><a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">                </tt>
-<a name="verifyLogdir"></a><div id="verifyLogdir-def"><a name="L421"></a><tt class="py-lineno">421</tt> <a class="py-toggle" href="#" id="verifyLogdir-toggle" onclick="return toggle('verifyLogdir');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#verifyLogdir">verifyLogdir</a><tt class="py-op">(</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="verifyLogdir-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verifyLogdir-expanded"><a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">    <tt class="py-comment">#Verifying Log directory option      </tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt><tt class="py-op">:</tt> </tt>
-<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> </tt>
-<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt>   </tt>
-</div><a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">         </tt>
-<a name="verifyMail"></a><div id="verifyMail-def"><a name="L428"></a><tt class="py-lineno">428</tt> <a class="py-toggle" href="#" id="verifyMail-toggle" onclick="return toggle('verifyMail');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#verifyMail">verifyMail</a><tt class="py-op">(</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="verifyMail-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verifyMail-expanded"><a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">    <tt class="py-comment"># Checking the mailing list </tt> </tt>
-<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">mail</tt><tt class="py-op">:</tt> </tt>
-<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">mail</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">mail</tt> </tt>
-<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'mail'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">mail</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'mail'</tt><tt class="py-op">]</tt> </tt>
-<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">mail</tt> <tt class="py-op">=</tt> <tt class="py-string">'paxweb@paxterrasolutions.com'</tt> </tt>
-</div><a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line"> </tt>
-<a name="verifyTestCases"></a><div id="verifyTestCases-def"><a name="L437"></a><tt class="py-lineno">437</tt> <a class="py-toggle" href="#" id="verifyTestCases-toggle" onclick="return toggle('verifyTestCases');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#verifyTestCases">verifyTestCases</a><tt class="py-op">(</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="verifyTestCases-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verifyTestCases-expanded"><a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">    <tt class="py-comment">#Getting Test cases list </tt> </tt>
-<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">testcases</tt><tt class="py-op">:</tt> </tt>
-<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">        <tt class="py-name">testcases_list</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"(\[|\])"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">testcases</tt><tt class="py-op">)</tt> </tt>
-<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testcases_list</tt> <tt class="py-op">=</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">testcases_list</tt><tt class="py-op">+</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
-<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'testcases'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'testcases'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"(\[|\])"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'testcases'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">'\d+'</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'testcases'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testcases_list</tt> <tt class="py-op">=</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'testcases'</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
-<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Please provide the testcases list in Params file"</tt> </tt>
-<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">                <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-138', 'exit', 'link-72');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"testcases not specifed in params, please provide in params file or 'testcases' commandline argument"</tt> </tt>
-<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">            <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-139', 'exit', 'link-72');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt>  </tt>
-</div><a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">                   </tt>
-<a name="verifyTestScript"></a><div id="verifyTestScript-def"><a name="L454"></a><tt class="py-lineno">454</tt> <a class="py-toggle" href="#" id="verifyTestScript-toggle" onclick="return toggle('verifyTestScript');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#verifyTestScript">verifyTestScript</a><tt class="py-op">(</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="verifyTestScript-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verifyTestScript-expanded"><a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line"><tt class="py-docstring">    Verifyies test script.</tt> </tt>
-<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-140', 'openspeak', 'link-3');">openspeak</a></tt> <tt class="py-op">=</tt> <tt id="link-141" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-141', 'openspeak', 'link-3');">openspeak</a></tt><tt class="py-op">.</tt><tt id="link-142" class="py-name" targets="Class TestON.core.openspeak.OpenSpeak=TestON.core.openspeak.OpenSpeak-class.html"><a title="TestON.core.openspeak.OpenSpeak" class="py-name" href="#" onclick="return doclink('link-142', 'OpenSpeak', 'link-142');">OpenSpeak</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt>         </tt>
-<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">    <tt class="py-name">openspeakfile</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testDir</tt><tt class="py-op">+</tt><tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">".ospk"</tt> </tt>
-<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">    <tt class="py-name">testfile</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testDir</tt><tt class="py-op">+</tt><tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt> </tt>
-<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-143', 'path', 'link-4');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-144', 'openspeak', 'link-3');">openspeak</a></tt><tt class="py-op">.</tt><tt id="link-145" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.compiler()=TestON.core.openspeak.OpenSpeak-class.html#compiler"><a title="TestON.core.openspeak.OpenSpeak.compiler" class="py-name" href="#" onclick="return doclink('link-145', 'compiler', 'link-145');">compiler</a></tt><tt class="py-op">(</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">=</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">,</tt><tt class="py-name">writetofile</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-146', 'path', 'link-4');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">testfile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">''</tt> </tt>
-<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"\nThere is no :\""</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">+</tt><tt class="py-string">"\" test, Please Provide OpenSpeak Script/ test script"</tt> </tt>
-<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">testthread</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-147', 'exit', 'link-72');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">               </tt>
-<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line">        <tt class="py-name">testModule</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">classPath</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt><tt class="py-op">(</tt><tt class="py-name">ImportError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"There is no test like "</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> </tt>
-<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-148', 'exit', 'link-72');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt>        </tt>
-<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line"> </tt>
-<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line">    <tt class="py-name">testClass</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">testModule</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">)</tt> </tt>
-<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testObject</tt> <tt class="py-op">=</tt> <tt class="py-name">testClass</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line">    <tt id="link-149" class="py-name" targets="Function TestON.core.teston.load_parser()=TestON.core.teston-module.html#load_parser"><a title="TestON.core.teston.load_parser" class="py-name" href="#" onclick="return doclink('link-149', 'load_parser', 'link-149');">load_parser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line">    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name" targets="Method TestON.core.iniparser.iniparser.parseParams()=TestON.core.iniparser.iniparser-class.html#parseParams,Method TestON.core.xmlparser.xmlparser.parseParams()=TestON.core.xmlparser.xmlparser-class.html#parseParams"><a title="TestON.core.iniparser.iniparser.parseParams
-TestON.core.xmlparser.xmlparser.parseParams" class="py-name" href="#" onclick="return doclink('link-150', 'parseParams', 'link-150');">parseParams</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">classPath</tt><tt class="py-op">)</tt>     </tt>
-<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">topology</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name" targets="Method TestON.core.iniparser.iniparser.parseTopology()=TestON.core.iniparser.iniparser-class.html#parseTopology,Method TestON.core.xmlparser.xmlparser.parseTopology()=TestON.core.xmlparser.xmlparser-class.html#parseTopology"><a title="TestON.core.iniparser.iniparser.parseTopology
-TestON.core.xmlparser.xmlparser.parseTopology" class="py-name" href="#" onclick="return doclink('link-151', 'parseTopology', 'link-151');">parseTopology</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">classPath</tt><tt class="py-op">)</tt>  </tt>
-</div><a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">     </tt>
-<a name="verifyParams"></a><div id="verifyParams-def"><a name="L482"></a><tt class="py-lineno">482</tt> <a class="py-toggle" href="#" id="verifyParams-toggle" onclick="return toggle('verifyParams');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#verifyParams">verifyParams</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="verifyParams-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verifyParams-expanded"><a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'PARAMS'</tt><tt class="py-op">]</tt> </tt>
-<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Error with the params file: Either the file not specified or the format is not correct"</tt> </tt>
-<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-152', 'exit', 'link-72');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt>             </tt>
-<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line">     </tt>
-<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">topology</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">topology</tt><tt class="py-op">[</tt><tt class="py-string">'TOPOLOGY'</tt><tt class="py-op">]</tt> </tt>
-<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Error with the Topology file: Either the file not specified or the format is not correct"</tt> </tt>
-<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-153', 'exit', 'link-72');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">         </tt>
-<a name="load_parser"></a><div id="load_parser-def"><a name="L495"></a><tt class="py-lineno">495</tt> <a class="py-toggle" href="#" id="load_parser-toggle" onclick="return toggle('load_parser');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#load_parser">load_parser</a><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="load_parser-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="load_parser-expanded"><a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line"><tt class="py-docstring">    It facilitates the loading customised parser for topology and params file.</tt> </tt>
-<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line"><tt class="py-docstring">    It loads parser mentioned in tab named parser of ofa.cfg file.</tt> </tt>
-<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line"><tt class="py-docstring">    It also loads default xmlparser if no parser have specified in ofa.cfg file.</tt> </tt>
-<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line">    <tt class="py-name">confighash</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt> </tt>
-<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'file'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'class'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
-<a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'file'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt><tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
-<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-154', 'path', 'link-4');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'file'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line">                <tt id="link-155" class="py-name"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-155', 'module', 'link-1');">module</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">r".py\s*$"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'file'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line">                <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt id="link-156" class="py-name"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-156', 'module', 'link-1');">module</a></tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt> </tt>
-<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">                <tt class="py-name">newModule</tt> <tt class="py-op">=</tt> <tt class="py-string">"."</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line">                    <tt class="py-name">parsingClass</tt> <tt class="py-op">=</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt> </tt>
-<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line">                    <tt class="py-name">parsingModule</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">newModule</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">parsingClass</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line">                    <tt class="py-name">parsingClass</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">parsingModule</tt><tt class="py-op">,</tt> <tt class="py-name">parsingClass</tt><tt class="py-op">)</tt> </tt>
-<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">parsingClass</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line">                    <tt class="py-comment">#hashobj = main.parser.parseParams(main.classPath)</tt> </tt>
-<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt><tt class="py-op">,</tt><tt class="py-string">"parseParams"</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt><tt class="py-op">,</tt><tt class="py-string">"parseTopology"</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt><tt class="py-op">,</tt><tt class="py-string">"parse"</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line">                         </tt>
-<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">                        <tt class="py-keyword">pass</tt> </tt>
-<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-157', 'exit', 'link-72');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line"> </tt>
-<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exc_info</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-158', 'exit', 'link-72');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"No Such File Exists !!"</tt><tt class="py-op">+</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'file'</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt><tt class="py-string">"using default parser"</tt> </tt>
-<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line">                <tt id="link-159" class="py-name" targets="Function TestON.core.teston.load_defaultParser()=TestON.core.teston-module.html#load_defaultParser"><a title="TestON.core.teston.load_defaultParser" class="py-name" href="#" onclick="return doclink('link-159', 'load_defaultParser', 'link-159');">load_defaultParser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt>  </tt>
-<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'file'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt>   </tt>
-<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">            <tt id="link-160" class="py-name"><a title="TestON.core.teston.load_defaultParser" class="py-name" href="#" onclick="return doclink('link-160', 'load_defaultParser', 'link-159');">load_defaultParser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt>  </tt>
-<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">        <tt id="link-161" class="py-name"><a title="TestON.core.teston.load_defaultParser" class="py-name" href="#" onclick="return doclink('link-161', 'load_defaultParser', 'link-159');">load_defaultParser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line"> </tt>
-<a name="load_defaultParser"></a><div id="load_defaultParser-def"><a name="L532"></a><tt class="py-lineno">532</tt> <a class="py-toggle" href="#" id="load_defaultParser-toggle" onclick="return toggle('load_defaultParser');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#load_defaultParser">load_defaultParser</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="load_defaultParser-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="load_defaultParser-expanded"><a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line"><tt class="py-docstring">    It will load the default parser which is xml parser to parse the params and topology file.</tt> </tt>
-<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">    <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parserPath</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt> </tt>
-<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">    <tt class="py-name">newModule</tt> <tt class="py-op">=</tt> <tt class="py-string">"."</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">        <tt class="py-name">parsingClass</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parsingClass</tt>  </tt>
-<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line">        <tt class="py-name">parsingModule</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">newModule</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">parsingClass</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">        <tt class="py-name">parsingClass</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">parsingModule</tt><tt class="py-op">,</tt> <tt class="py-name">parsingClass</tt><tt class="py-op">)</tt> </tt>
-<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">parsingClass</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt><tt class="py-op">,</tt><tt class="py-string">"parseParams"</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt><tt class="py-op">,</tt><tt class="py-string">"parseTopology"</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt><tt class="py-op">,</tt><tt class="py-string">"parse"</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
-<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-162', 'exit', 'link-72');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line"> </tt>
-<a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exc_info</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line"> </tt>
-<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line"> </tt>
-<a name="load_logger"></a><div id="load_logger-def"><a name="L552"></a><tt class="py-lineno">552</tt> <a class="py-toggle" href="#" id="load_logger-toggle" onclick="return toggle('load_logger');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#load_logger">load_logger</a><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="load_logger-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="load_logger-expanded"><a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line"><tt class="py-docstring">    It facilitates the loading customised parser for topology and params file.</tt> </tt>
-<a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line"><tt class="py-docstring">    It loads parser mentioned in tab named parser of ofa.cfg file.</tt> </tt>
-<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line"><tt class="py-docstring">    It also loads default xmlparser if no parser have specified in ofa.cfg file.</tt> </tt>
-<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line">    <tt class="py-name">confighash</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt> </tt>
-<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'file'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'logger'</tt><tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'class'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'logger'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
-<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'logger'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'file'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'logger'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt><tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
-<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-163', 'path', 'link-4');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'logger'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'file'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line">                <tt id="link-164" class="py-name"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-164', 'module', 'link-1');">module</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">r".py\s*$"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'logger'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'file'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line">                <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt id="link-165" class="py-name"><a title="TestON.core.teston.module" class="py-name" href="#" onclick="return doclink('link-165', 'module', 'link-1');">module</a></tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt> </tt>
-<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line">                <tt class="py-name">newModule</tt> <tt class="py-op">=</tt> <tt class="py-string">"."</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line">                    <tt class="py-name">loggerClass</tt> <tt class="py-op">=</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'logger'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt> </tt>
-<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line">                    <tt class="py-name">loggerModule</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">newModule</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">loggerClass</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line">                    <tt class="py-name">loggerClass</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">loggerModule</tt><tt class="py-op">,</tt> <tt class="py-name">loggerClass</tt><tt class="py-op">)</tt> </tt>
-<a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="TestON.core.logger" class="py-name" href="#" onclick="return doclink('link-166', 'logger', 'link-45');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">loggerClass</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line">                    <tt class="py-comment">#hashobj = main.parser.parseParams(main.classPath)</tt> </tt>
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-114', 'disconnect', 'link-114');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">                        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">                            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-115', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Exception while disconnecting from "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">                                                 <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">component</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">                            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">                    <tt class="py-comment"># Closing all the driver's session files</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">driver</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">                        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">                            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">driver</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.close_log_handles()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#close_log_handles"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.close_log_handles" class="py-name" href="#" onclick="return doclink('link-116', 'close_log_handles', 'link-116');">close_log_handles</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">                        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">                            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-117', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Exception while closing log files for "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">                                                 <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">driver</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">                            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt>  <tt class="py-comment"># Someone else already ran through this function</tt> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">            <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">                <tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># Someone already has a lock</tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: This could cause problems if we don't release the lock</tt> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">            <tt class="py-comment">#       correctly</tt> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">            <tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">acquire</tt><tt class="py-op">(</tt><tt class="py-op">)</tt>  <tt class="py-comment"># Wait for the other thread to finish</tt> </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: If we don't wait, exit could be called while the thread</tt> </tt>
+<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">            <tt class="py-comment">#       with the lock is still cleaning up</tt> </tt>
+<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">            <tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">release</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
+</div><a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line"> </tt>
+<a name="TestON.pause"></a><div id="TestON.pause-def"><a name="L397"></a><tt class="py-lineno">397</tt> <a class="py-toggle" href="#" id="TestON.pause-toggle" onclick="return toggle('TestON.pause');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#pause">pause</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.pause-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.pause-expanded"><a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line"><tt class="py-docstring">        This function will pause the test's execution, and will continue after user provide 'resume' command.</tt> </tt>
+<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">testthread</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.bin.cli.TestThread.pause
+TestON.core.teston.TestON.pause" class="py-name" href="#" onclick="return doclink('link-118', 'pause', 'link-85');">pause</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line"> </tt>
+<a name="TestON.onfail"></a><div id="TestON.onfail-def"><a name="L403"></a><tt class="py-lineno">403</tt> <a class="py-toggle" href="#" id="TestON.onfail-toggle" onclick="return toggle('TestON.onfail');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#onfail">onfail</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">*</tt><tt class="py-param">components</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.onfail-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.onfail-expanded"><a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line"><tt class="py-docstring">        When test step failed, calling all the components onfail.</tt> </tt>
+<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
+<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">component</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">                    <tt class="py-name">tempObject</tt>  <tt class="py-op">=</tt> <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt> </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">                    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tempObject</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-119', 'onfail', 'link-119');">onfail</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt><tt class="py-op">(</tt><tt class="py-name">Exception</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
+<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">component</tt> <tt class="py-keyword">in</tt> <tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
+<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line">                    <tt class="py-name">tempObject</tt>  <tt class="py-op">=</tt> <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt> </tt>
+<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">                    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">tempObject</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-120', 'onfail', 'link-119');">onfail</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt><tt class="py-op">(</tt><tt class="py-name">Exception</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
+<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line"> </tt>
+<a name="TestON.getDriverPath"></a><div id="TestON.getDriverPath-def"><a name="L424"></a><tt class="py-lineno">424</tt> <a class="py-toggle" href="#" id="TestON.getDriverPath-toggle" onclick="return toggle('TestON.getDriverPath');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#getDriverPath">getDriverPath</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">driverName</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.getDriverPath-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.getDriverPath-expanded"><a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line"><tt class="py-docstring">           Based on the component 'type' specified in the params , this method will find the absolute path ,</tt> </tt>
+<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line"><tt class="py-docstring">           by recursively searching the name of the component.</tt> </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">commands</tt> </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line"> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">        <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"find "</tt><tt class="py-op">+</tt><tt id="link-121" class="py-name"><a title="TestON.bin.cli.drivers_path
+TestON.core.teston.drivers_path" class="py-name" href="#" onclick="return doclink('link-121', 'drivers_path', 'link-3');">drivers_path</a></tt><tt class="py-op">+</tt><tt class="py-string">" -name "</tt><tt class="py-op">+</tt><tt class="py-name">driverName</tt><tt class="py-op">+</tt><tt class="py-string">".py"</tt> </tt>
+<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">commands</tt><tt class="py-op">.</tt><tt class="py-name">getoutput</tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line"> </tt>
+<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">        <tt class="py-name">result_array</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">        <tt class="py-name">result_count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line"> </tt>
+<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">drivers_list</tt> <tt class="py-keyword">in</tt> <tt class="py-name">result_array</tt><tt class="py-op">:</tt> </tt>
+<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">            <tt class="py-name">result_count</tt> <tt class="py-op">=</tt> <tt class="py-name">result_count</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
+<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">result_count</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt> <tt class="py-op">:</tt> </tt>
+<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"found "</tt><tt class="py-op">+</tt><tt class="py-name">driverName</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">result_count</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"  times"</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">result_array</tt><tt class="py-op">)</tt> </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-122', 'exit', 'link-60');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line"> </tt>
+<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"(.*)drivers"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\.py"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\.pyc"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\/"</tt><tt class="py-op">,</tt><tt class="py-string">"."</tt><tt class="py-op">,</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-string">"drivers"</tt><tt class="py-op">+</tt><tt class="py-name">result</tt> </tt>
+<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
+</div><a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line"> </tt>
+<a name="TestON.step"></a><div id="TestON.step-def"><a name="L450"></a><tt class="py-lineno">450</tt> <a class="py-toggle" href="#" id="TestON.step-toggle" onclick="return toggle('TestON.step');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#step">step</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">stepDesc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.step-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.step-expanded"><a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line"><tt class="py-docstring">           The step information of the test-case will append to the logs.</tt> </tt>
+<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">        <tt class="py-name">previousStep</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"."</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">": "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepName</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
+<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepName</tt> <tt class="py-op">=</tt> <tt class="py-name">stepDesc</tt> </tt>
+<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line"> </tt>
+<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">        <tt class="py-name">stepName</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"."</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">": "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">stepDesc</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
+<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">                <tt class="py-name">stepName</tt> <tt class="py-op">=</tt> <tt class="py-string">" INIT : Initializing the test case :"</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCase</tt> </tt>
+<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line">                <tt class="py-name">stepName</tt> <tt class="py-op">=</tt> <tt class="py-string">" INIT : Initializing the test case :"</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCaseNumber</tt><tt class="py-op">)</tt> </tt>
+<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line"> </tt>
+<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-123', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-124', 'step', 'link-86');">step</a></tt><tt class="py-op">(</tt><tt class="py-name">stepName</tt><tt class="py-op">)</tt> </tt>
+<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">        <tt class="py-name">stepHeader</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stepCount</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt> <tt class="py-op">:</tt> </tt>
+<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">            <tt class="py-name">stepHeader</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt><tt class="py-op">*</tt><tt class="py-number">45</tt><tt class="py-op">+</tt><tt class="py-string">"\nEnd of Step "</tt><tt class="py-op">+</tt><tt class="py-name">previousStep</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt><tt class="py-op">*</tt><tt class="py-number">45</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
+<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line"> </tt>
+<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">        <tt class="py-name">stepHeader</tt> <tt class="py-op">+=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt><tt class="py-op">*</tt><tt class="py-number">45</tt><tt class="py-op">+</tt><tt class="py-string">"\nStart of Step"</tt><tt class="py-op">+</tt><tt class="py-name">stepName</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"-"</tt><tt class="py-op">*</tt><tt class="py-number">45</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">driver</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">driver</tt><tt class="py-op">+</tt><tt class="py-string">'log'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">stepHeader</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line"> </tt>
+<a name="TestON.case"></a><div id="TestON.case-def"><a name="L473"></a><tt class="py-lineno">473</tt> <a class="py-toggle" href="#" id="TestON.case-toggle" onclick="return toggle('TestON.case');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#case">case</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">testCaseName</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.case-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.case-expanded"><a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line"><tt class="py-docstring">           Test's each test-case information will append to the logs.</tt> </tt>
+<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">CurrentTestCase</tt> <tt class="py-op">=</tt> <tt class="py-name">testCaseName</tt> </tt>
+<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line">        <tt class="py-name">testCaseName</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">testCaseName</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
+<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-125', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt id="link-126" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-126', 'case', 'link-126');">case</a></tt><tt class="py-op">(</tt><tt class="py-name">testCaseName</tt><tt class="py-op">)</tt> </tt>
+<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">        <tt class="py-name">caseHeader</tt> <tt class="py-op">=</tt> <tt class="py-name">testCaseName</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-string">"*"</tt> <tt class="py-op">*</tt> <tt class="py-number">40</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">driver</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">driver</tt><tt class="py-op">+</tt><tt class="py-string">'log'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">caseHeader</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line"> </tt>
+<a name="TestON.testDesc"></a><div id="TestON.testDesc-def"><a name="L484"></a><tt class="py-lineno">484</tt> <a class="py-toggle" href="#" id="TestON.testDesc-toggle" onclick="return toggle('TestON.testDesc');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#testDesc">testDesc</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">description</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.testDesc-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.testDesc-expanded"><a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line"><tt class="py-docstring">           Test description will append to the logs.</tt> </tt>
+<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Test Description : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt> <tt class="py-op">(</tt><tt class="py-name">description</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">""</tt> </tt>
+<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-127', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">description</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line"> </tt>
+<a name="TestON._getTest"></a><div id="TestON._getTest-def"><a name="L491"></a><tt class="py-lineno">491</tt> <a class="py-toggle" href="#" id="TestON._getTest-toggle" onclick="return toggle('TestON._getTest');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#_getTest">_getTest</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON._getTest-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON._getTest-expanded"><a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line"><tt class="py-docstring">           This method will parse the test script to find required test information.</tt> </tt>
+<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line">        <tt class="py-name">testFile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="TestON.bin.cli.tests_path
+TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-128', 'tests_path', 'link-5');">tests_path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt> </tt>
+<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line">        <tt class="py-name">testFileHandler</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">testFile</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
+<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line">        <tt class="py-name">testFileList</tt> <tt class="py-op">=</tt> <tt class="py-name">testFileHandler</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">        <tt class="py-name">testFileHandler</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">        <tt class="py-comment">#self.TOTAL_TC_PLANNED = 0</tt> </tt>
+<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">        <tt class="py-name">counter</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">index</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">testFileList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line">            <tt class="py-name">lineMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">'\s+def CASE(\d+)(.*):'</tt><tt class="py-op">,</tt><tt class="py-name">testFileList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">lineMatch</tt><tt class="py-op">:</tt> </tt>
+<a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line">                <tt class="py-name">counter</tt>  <tt class="py-op">=</tt> <tt class="py-name">counter</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TC_PLANNED</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testcases_list</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line"> </tt>
+<a name="TestON.response_parser"></a><div id="TestON.response_parser-def"><a name="L507"></a><tt class="py-lineno">507</tt> <a class="py-toggle" href="#" id="TestON.response_parser-toggle" onclick="return toggle('TestON.response_parser');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#response_parser">response_parser</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">response</tt><tt class="py-op">,</tt> <tt class="py-param">return_format</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.response_parser-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.response_parser-expanded"><a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">        <tt class="py-docstring">''' It will load the default response parser '''</tt> </tt>
+<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line">        <tt class="py-name">response_dict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line">        <tt class="py-name">response_dict</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name" targets="Method TestON.core.teston.TestON.response_to_dict()=TestON.core.teston.TestON-class.html#response_to_dict"><a title="TestON.core.teston.TestON.response_to_dict" class="py-name" href="#" onclick="return doclink('link-129', 'response_to_dict', 'link-129');">response_to_dict</a></tt><tt class="py-op">(</tt><tt class="py-name">response</tt><tt class="py-op">,</tt> <tt class="py-name">return_format</tt><tt class="py-op">)</tt> </tt>
+<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line">        <tt class="py-name">return_format_string</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name" targets="Method TestON.core.teston.TestON.dict_to_return_format()=TestON.core.teston.TestON-class.html#dict_to_return_format"><a title="TestON.core.teston.TestON.dict_to_return_format" class="py-name" href="#" onclick="return doclink('link-130', 'dict_to_return_format', 'link-130');">dict_to_return_format</a></tt><tt class="py-op">(</tt><tt class="py-name">response</tt><tt class="py-op">,</tt><tt class="py-name">return_format</tt><tt class="py-op">,</tt><tt class="py-name">response_dict</tt><tt class="py-op">)</tt> </tt>
+<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">return_format_string</tt> </tt>
+</div><a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line"> </tt>
+<a name="TestON.response_to_dict"></a><div id="TestON.response_to_dict-def"><a name="L514"></a><tt class="py-lineno">514</tt> <a class="py-toggle" href="#" id="TestON.response_to_dict-toggle" onclick="return toggle('TestON.response_to_dict');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#response_to_dict">response_to_dict</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">response</tt><tt class="py-op">,</tt><tt class="py-param">return_format</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.response_to_dict-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.response_to_dict-expanded"><a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line">        <tt class="py-name">response_dict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line">        <tt class="py-name">json_match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">'^\s*{'</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt><tt class="py-op">)</tt> </tt>
+<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">        <tt class="py-name">xml_match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">'^\s*\&lt;'</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt><tt class="py-op">)</tt> </tt>
+<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">        <tt class="py-name">ini_match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">'^\s*\['</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt><tt class="py-op">)</tt> </tt>
+<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">json_match</tt> <tt class="py-op">:</tt> </tt>
+<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-131', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">" Response is in 'JSON' format and Converting to '"</tt><tt class="py-op">+</tt><tt class="py-name">return_format</tt><tt class="py-op">+</tt><tt class="py-string">"' format"</tt><tt class="py-op">)</tt> </tt>
+<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line">            <tt class="py-comment"># Formatting the json string</tt> </tt>
+<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">r"{\s*'?(\w)"</tt><tt class="py-op">,</tt> <tt class="py-string">r'{"\1'</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt><tt class="py-op">)</tt> </tt>
+<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">r",\s*'?(\w)"</tt><tt class="py-op">,</tt> <tt class="py-string">r',"\1'</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt><tt class="py-op">)</tt> </tt>
+<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">r"(\w)'?\s*:"</tt><tt class="py-op">,</tt> <tt class="py-string">r'\1":'</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt><tt class="py-op">)</tt> </tt>
+<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">r":\s*'(\w)'\s*([,}])"</tt><tt class="py-op">,</tt> <tt class="py-string">r':"\1"\2'</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt><tt class="py-op">)</tt> </tt>
+<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">                <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">                <tt class="py-name">response_dict</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">response</tt><tt class="py-op">)</tt> </tt>
+<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-132', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-133', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-134', 'error', 'link-59');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Json Parser is unable to parse the string"</tt><tt class="py-op">)</tt> </tt>
+<a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">response_dict</tt> </tt>
+<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">ini_match</tt> <tt class="py-op">:</tt> </tt>
+<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-135', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">" Response is in 'INI' format and Converting to '"</tt><tt class="py-op">+</tt><tt class="py-name">return_format</tt><tt class="py-op">+</tt><tt class="py-string">"' format"</tt><tt class="py-op">)</tt> </tt>
+<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line">            <tt class="py-keyword">from</tt> <tt class="py-name">configobj</tt> <tt class="py-keyword">import</tt> <tt class="py-name">ConfigObj</tt> </tt>
+<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">            <tt class="py-name">response_file</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-string">"respnse_file.temp"</tt><tt class="py-op">,</tt><tt class="py-string">'w'</tt><tt class="py-op">)</tt> </tt>
+<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">            <tt class="py-name">response_file</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">response</tt><tt class="py-op">)</tt> </tt>
+<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line">            <tt class="py-name">response_file</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">            <tt class="py-name">response_dict</tt> <tt class="py-op">=</tt> <tt class="py-name">ConfigObj</tt><tt class="py-op">(</tt><tt class="py-string">"respnse_file.temp"</tt><tt class="py-op">)</tt> </tt>
+<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">response_dict</tt> </tt>
+<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">xml_match</tt> <tt class="py-op">:</tt> </tt>
+<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-136', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">" Response is in 'XML' format and Converting to '"</tt><tt class="py-op">+</tt><tt class="py-name">return_format</tt><tt class="py-op">+</tt><tt class="py-string">"' format"</tt><tt class="py-op">)</tt> </tt>
+<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">                <tt class="py-name">response_dict</tt> <tt class="py-op">=</tt> <tt id="link-137" class="py-name"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-137', 'xmldict', 'link-0');">xmldict</a></tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.core.xmldict.xml_to_dict" class="py-name" href="#" onclick="return doclink('link-138', 'xml_to_dict', 'link-54');">xml_to_dict</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;response&gt; "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">response</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">" &lt;/response&gt;"</tt><tt class="py-op">)</tt> </tt>
+<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-139', 'log', 'link-50');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">response_dict</tt> </tt>
+</div><a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line"> </tt>
+<a name="TestON.dict_to_return_format"></a><div id="TestON.dict_to_return_format-def"><a name="L549"></a><tt class="py-lineno">549</tt> <a class="py-toggle" href="#" id="TestON.dict_to_return_format-toggle" onclick="return toggle('TestON.dict_to_return_format');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#dict_to_return_format">dict_to_return_format</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">response</tt><tt class="py-op">,</tt><tt class="py-param">return_format</tt><tt class="py-op">,</tt><tt class="py-param">response_dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.dict_to_return_format-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.dict_to_return_format-expanded"><a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">return_format</tt> <tt class="py-op">==</tt><tt class="py-string">'table'</tt> <tt class="py-op">:</tt> </tt>
+<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line">            <tt class="py-string">''' Will return in table format'''</tt> </tt>
+<a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line">            <tt class="py-name">to_do</tt> <tt class="py-op">=</tt> <tt class="py-string">"Call the table output formatter"</tt> </tt>
+<a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">response_table</tt> </tt>
+<a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line">            <tt class="py-name">response_table</tt> <tt class="py-op">=</tt> <tt class="py-string">'\n'</tt> </tt>
+<a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line">            <tt class="py-name">response_table</tt> <tt class="py-op">=</tt> <tt class="py-name">response_table</tt> <tt class="py-op">+</tt><tt class="py-string">'\t'</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">response_dict</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
+<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line"> </tt>
+<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">get_table</tt><tt class="py-op">(</tt><tt class="py-param">value_to_convert</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line">                <tt class="py-docstring">''' This will parse the dictionary recusrsively and print as table format'''</tt> </tt>
+<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line">                <tt class="py-name">table_data</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value_to_convert</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">dict</tt> <tt class="py-op">:</tt> </tt>
+<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line">                    <tt class="py-name">table_data</tt> <tt class="py-op">=</tt> <tt class="py-name">table_data</tt> <tt class="py-op">+</tt><tt class="py-string">'\t'</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">value_to_convert</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
+<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">temp_val</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value_to_convert</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line">                        <tt class="py-name">table_data</tt> <tt class="py-op">=</tt> <tt class="py-name">table_data</tt> <tt class="py-op">+</tt> <tt class="py-name">get_table</tt><tt class="py-op">(</tt><tt class="py-name">temp_val</tt><tt class="py-op">)</tt> </tt>
+<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line">                    <tt class="py-name">table_data</tt> <tt class="py-op">=</tt> <tt class="py-name">table_data</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value_to_convert</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt><tt class="py-string">"\t"</tt> </tt>
+<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">table_data</tt> </tt>
+</div><a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line"> </tt>
+<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">response_dict</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line">                <tt class="py-name">response_table</tt> <tt class="py-op">=</tt>  <tt class="py-name">response_table</tt> <tt class="py-op">+</tt> <tt class="py-name">get_table</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line">            <tt class="py-comment"># response_table = response_table + '\t'.join(response_dict.values())</tt> </tt>
+<a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">response_table</tt> </tt>
 <a name="L572"></a><tt class="py-lineno">572</tt>  <tt class="py-line"> </tt>
-<a name="L573"></a><tt class="py-lineno">573</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exc_info</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"No Such File Exists !!"</tt><tt class="py-op">+</tt><tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'logger'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'file'</tt><tt class="py-op">]</tt><tt class="py-op">+</tt> <tt class="py-string">"Using default logger"</tt> </tt>
-<a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line">                <tt id="link-167" class="py-name" targets="Function TestON.core.teston.load_defaultlogger()=TestON.core.teston-module.html#load_defaultlogger"><a title="TestON.core.teston.load_defaultlogger" class="py-name" href="#" onclick="return doclink('link-167', 'load_defaultlogger', 'link-167');">load_defaultlogger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L578"></a><tt class="py-lineno">578</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'file'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt>   </tt>
-<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line">            <tt id="link-168" class="py-name"><a title="TestON.core.teston.load_defaultlogger" class="py-name" href="#" onclick="return doclink('link-168', 'load_defaultlogger', 'link-167');">load_defaultlogger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt>  </tt>
-<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line">        <tt id="link-169" class="py-name"><a title="TestON.core.teston.load_defaultlogger" class="py-name" href="#" onclick="return doclink('link-169', 'load_defaultlogger', 'link-167');">load_defaultlogger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line"> </tt>
-<a name="load_defaultlogger"></a><div id="load_defaultlogger-def"><a name="L583"></a><tt class="py-lineno">583</tt> <a class="py-toggle" href="#" id="load_defaultlogger-toggle" onclick="return toggle('load_defaultlogger');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#load_defaultlogger">load_defaultlogger</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="load_defaultlogger-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="load_defaultlogger-expanded"><a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line"><tt class="py-docstring">    It will load the default parser which is xml parser to parse the params and topology file.</tt> </tt>
-<a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line">    <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">loggerPath</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt> </tt>
-<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line">    <tt class="py-name">newModule</tt> <tt class="py-op">=</tt> <tt class="py-string">"."</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line">        <tt class="py-name">loggerClass</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">loggerClass</tt>  </tt>
-<a name="L591"></a><tt class="py-lineno">591</tt>  <tt class="py-line">        <tt class="py-name">loggerModule</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">newModule</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">loggerClass</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line">        <tt class="py-name">loggerClass</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">loggerModule</tt><tt class="py-op">,</tt> <tt class="py-name">loggerClass</tt><tt class="py-op">)</tt> </tt>
-<a name="L593"></a><tt class="py-lineno">593</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="TestON.core.logger" class="py-name" href="#" onclick="return doclink('link-170', 'logger', 'link-45');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">loggerClass</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line"> </tt>
-<a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
-<a name="L596"></a><tt class="py-lineno">596</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exc_info</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-171', 'exit', 'link-72');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt>     </tt>
-</div><a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line"> </tt>
-<a name="_echo"></a><div id="_echo-def"><a name="L599"></a><tt class="py-lineno">599</tt> <a class="py-toggle" href="#" id="_echo-toggle" onclick="return toggle('_echo');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#_echo">_echo</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_echo-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_echo-expanded"><a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"THIS IS ECHO"</tt> </tt>
-</div><a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<a name="L573"></a><tt class="py-lineno">573</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">return_format</tt> <tt class="py-op">==</tt><tt class="py-string">'config'</tt><tt class="py-op">:</tt> </tt>
+<a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line">            <tt class="py-string">''' Will return in config format'''</tt> </tt>
+<a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line">            <tt class="py-name">to_do</tt> <tt class="py-op">=</tt> <tt class="py-string">'Call dict to config coverter'</tt> </tt>
+<a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line">            <tt class="py-name">response_string</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">response_dict</tt><tt class="py-op">)</tt> </tt>
+<a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">response_string</tt> </tt>
+<a name="L578"></a><tt class="py-lineno">578</tt>  <tt class="py-line">            <tt class="py-name">response_config</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">,</tt> <tt class="py-string">"\n\t"</tt><tt class="py-op">,</tt> <tt class="py-name">response_string</tt><tt class="py-op">)</tt> </tt>
+<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line">            <tt class="py-name">response_config</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"u\'"</tt><tt class="py-op">,</tt> <tt class="py-string">"\'"</tt><tt class="py-op">,</tt> <tt class="py-name">response_config</tt><tt class="py-op">)</tt> </tt>
+<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line">            <tt class="py-name">response_config</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"{"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">response_config</tt><tt class="py-op">)</tt> </tt>
+<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line">            <tt class="py-name">response_config</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"}"</tt><tt class="py-op">,</tt> <tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt class="py-name">response_config</tt><tt class="py-op">)</tt> </tt>
+<a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line">            <tt class="py-name">response_config</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">":"</tt><tt class="py-op">,</tt> <tt class="py-string">" ="</tt><tt class="py-op">,</tt> <tt class="py-name">response_config</tt><tt class="py-op">)</tt> </tt>
+<a name="L583"></a><tt class="py-lineno">583</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-string">"[response]\n\t "</tt><tt class="py-op">+</tt><tt class="py-name">response_config</tt> </tt>
+<a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">return_format</tt> <tt class="py-op">==</tt> <tt class="py-string">'xml'</tt><tt class="py-op">:</tt> </tt>
+<a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line">            <tt class="py-string">''' Will return in xml format'''</tt> </tt>
+<a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line">            <tt class="py-name">response_xml</tt> <tt class="py-op">=</tt> <tt id="link-140" class="py-name"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-140', 'xmldict', 'link-0');">xmldict</a></tt><tt class="py-op">.</tt><tt id="link-141" class="py-name" targets="Function TestON.core.xmldict.dict_to_xml()=TestON.core.xmldict-module.html#dict_to_xml"><a title="TestON.core.xmldict.dict_to_xml" class="py-name" href="#" onclick="return doclink('link-141', 'dict_to_xml', 'link-141');">dict_to_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">response_dict</tt><tt class="py-op">)</tt> </tt>
+<a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line">            <tt class="py-name">response_xml</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"&gt;\s*&lt;"</tt><tt class="py-op">,</tt> <tt class="py-string">"&gt;\n&lt;"</tt><tt class="py-op">,</tt> <tt class="py-name">response_xml</tt><tt class="py-op">)</tt> </tt>
+<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-name">response_xml</tt> </tt>
+<a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">return_format</tt> <tt class="py-op">==</tt> <tt class="py-string">'json'</tt><tt class="py-op">:</tt> </tt>
+<a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line">            <tt class="py-string">''' Will return in json format'''</tt> </tt>
+<a name="L591"></a><tt class="py-lineno">591</tt>  <tt class="py-line">            <tt class="py-name">to_do</tt> <tt class="py-op">=</tt> <tt class="py-string">'Call dict to xml coverter'</tt> </tt>
+<a name="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line">            <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L593"></a><tt class="py-lineno">593</tt>  <tt class="py-line">            <tt class="py-name">response_json</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">response_dict</tt><tt class="py-op">)</tt> </tt>
+<a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">response_json</tt> </tt>
+</div><a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line"> </tt>
+<a name="TestON.get_random"></a><div id="TestON.get_random-def"><a name="L596"></a><tt class="py-lineno">596</tt> <a class="py-toggle" href="#" id="TestON.get_random-toggle" onclick="return toggle('TestON.get_random');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#get_random">get_random</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.get_random-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.get_random-expanded"><a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">random_order</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">random_order</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">random_order</tt> </tt>
+</div><a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line"> </tt>
+<a name="TestON.exit"></a><div id="TestON.exit-def"><a name="L600"></a><tt class="py-lineno">600</tt> <a class="py-toggle" href="#" id="TestON.exit-toggle" onclick="return toggle('TestON.exit');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston.TestON-class.html#exit">exit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestON.exit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestON.exit-expanded"><a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">testthread</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L603"></a><tt class="py-lineno">603</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">isAlive</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L604"></a><tt class="py-lineno">604</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L605"></a><tt class="py-lineno">605</tt>  <tt class="py-line">                    <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">_Thread__stop</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L606"></a><tt class="py-lineno">606</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L607"></a><tt class="py-lineno">607</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">getName</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' could not be terminated'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L608"></a><tt class="py-lineno">608</tt>  <tt class="py-line">        <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-142', 'exit', 'link-60');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L609"></a><tt class="py-lineno">609</tt>  <tt class="py-line"> </tt>
+<a name="verifyOptions"></a><div id="verifyOptions-def"><a name="L610"></a><tt class="py-lineno">610</tt> <a class="py-toggle" href="#" id="verifyOptions-toggle" onclick="return toggle('verifyOptions');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#verifyOptions">verifyOptions</a><tt class="py-op">(</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="verifyOptions-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verifyOptions-expanded"><a name="L611"></a><tt class="py-lineno">611</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L612"></a><tt class="py-lineno">612</tt>  <tt class="py-line"><tt class="py-docstring">    This will verify the command line options and set to default values, if any option not given in command line.</tt> </tt>
+<a name="L613"></a><tt class="py-lineno">613</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="L614"></a><tt class="py-lineno">614</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">pprint</tt> </tt>
+<a name="L615"></a><tt class="py-lineno">615</tt>  <tt class="py-line">    <tt class="py-name">pp</tt> <tt class="py-op">=</tt> <tt class="py-name">pprint</tt><tt class="py-op">.</tt><tt class="py-name">PrettyPrinter</tt><tt class="py-op">(</tt><tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
+<a name="L616"></a><tt class="py-lineno">616</tt>  <tt class="py-line"> </tt>
+<a name="L617"></a><tt class="py-lineno">617</tt>  <tt class="py-line">    <tt class="py-comment"># pp.pprint(options)</tt> </tt>
+<a name="L618"></a><tt class="py-lineno">618</tt>  <tt class="py-line">    <tt id="link-143" class="py-name" targets="Function TestON.core.teston.verifyTest()=TestON.core.teston-module.html#verifyTest"><a title="TestON.core.teston.verifyTest" class="py-name" href="#" onclick="return doclink('link-143', 'verifyTest', 'link-143');">verifyTest</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
+<a name="L619"></a><tt class="py-lineno">619</tt>  <tt class="py-line">    <tt id="link-144" class="py-name" targets="Function TestON.core.teston.verifyExample()=TestON.core.teston-module.html#verifyExample"><a title="TestON.core.teston.verifyExample" class="py-name" href="#" onclick="return doclink('link-144', 'verifyExample', 'link-144');">verifyExample</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
+<a name="L620"></a><tt class="py-lineno">620</tt>  <tt class="py-line">    <tt id="link-145" class="py-name" targets="Function TestON.core.teston.verifyTestScript()=TestON.core.teston-module.html#verifyTestScript"><a title="TestON.core.teston.verifyTestScript" class="py-name" href="#" onclick="return doclink('link-145', 'verifyTestScript', 'link-145');">verifyTestScript</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
+<a name="L621"></a><tt class="py-lineno">621</tt>  <tt class="py-line">    <tt id="link-146" class="py-name" targets="Function TestON.core.teston.verifyParams()=TestON.core.teston-module.html#verifyParams"><a title="TestON.core.teston.verifyParams" class="py-name" href="#" onclick="return doclink('link-146', 'verifyParams', 'link-146');">verifyParams</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L622"></a><tt class="py-lineno">622</tt>  <tt class="py-line">    <tt id="link-147" class="py-name" targets="Function TestON.core.teston.verifyLogdir()=TestON.core.teston-module.html#verifyLogdir"><a title="TestON.core.teston.verifyLogdir" class="py-name" href="#" onclick="return doclink('link-147', 'verifyLogdir', 'link-147');">verifyLogdir</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
+<a name="L623"></a><tt class="py-lineno">623</tt>  <tt class="py-line">    <tt id="link-148" class="py-name" targets="Function TestON.core.teston.verifyMail()=TestON.core.teston-module.html#verifyMail"><a title="TestON.core.teston.verifyMail" class="py-name" href="#" onclick="return doclink('link-148', 'verifyMail', 'link-148');">verifyMail</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
+<a name="L624"></a><tt class="py-lineno">624</tt>  <tt class="py-line">    <tt id="link-149" class="py-name" targets="Function TestON.core.teston.verifyTestCases()=TestON.core.teston-module.html#verifyTestCases"><a title="TestON.core.teston.verifyTestCases" class="py-name" href="#" onclick="return doclink('link-149', 'verifyTestCases', 'link-149');">verifyTestCases</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
+<a name="L625"></a><tt class="py-lineno">625</tt>  <tt class="py-line">    <tt id="link-150" class="py-name" targets="Function TestON.core.teston.verifyOnosCell()=TestON.core.teston-module.html#verifyOnosCell"><a title="TestON.core.teston.verifyOnosCell" class="py-name" href="#" onclick="return doclink('link-150', 'verifyOnosCell', 'link-150');">verifyOnosCell</a></tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L626"></a><tt class="py-lineno">626</tt>  <tt class="py-line"> </tt>
+<a name="verifyTest"></a><div id="verifyTest-def"><a name="L627"></a><tt class="py-lineno">627</tt> <a class="py-toggle" href="#" id="verifyTest-toggle" onclick="return toggle('verifyTest');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#verifyTest">verifyTest</a><tt class="py-op">(</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="verifyTest-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verifyTest-expanded"><a name="L628"></a><tt class="py-lineno">628</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L629"></a><tt class="py-lineno">629</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">testname</tt><tt class="py-op">:</tt> </tt>
+<a name="L630"></a><tt class="py-lineno">630</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">testname</tt> </tt>
+<a name="L631"></a><tt class="py-lineno">631</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">classPath</tt> <tt class="py-op">=</tt> <tt class="py-string">"tests."</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">+</tt><tt class="py-string">"."</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> </tt>
+<a name="L632"></a><tt class="py-lineno">632</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="TestON.bin.cli.tests_path
+TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-151', 'tests_path', 'link-5');">tests_path</a></tt> <tt class="py-op">=</tt> <tt id="link-152" class="py-name"><a title="TestON.bin.cli.tests_path
+TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-152', 'tests_path', 'link-5');">tests_path</a></tt> </tt>
+<a name="L633"></a><tt class="py-lineno">633</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">example</tt><tt class="py-op">:</tt> </tt>
+<a name="L634"></a><tt class="py-lineno">634</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">example</tt> </tt>
+<a name="L635"></a><tt class="py-lineno">635</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="TestON.bin.cli.tests_path
+TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-153', 'tests_path', 'link-5');">tests_path</a></tt> <tt class="py-op">=</tt> <tt id="link-154" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-154', 'path', 'link-2');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">"/examples/"</tt> </tt>
+<a name="L636"></a><tt class="py-lineno">636</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">classPath</tt> <tt class="py-op">=</tt> <tt class="py-string">"examples."</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">+</tt><tt class="py-string">"."</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> </tt>
+<a name="L637"></a><tt class="py-lineno">637</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L638"></a><tt class="py-lineno">638</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Test or Example not specified please specify the --test &lt;test name &gt; or --example &lt;example name&gt;"</tt> </tt>
+<a name="L639"></a><tt class="py-lineno">639</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-155', 'exit', 'link-60');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L640"></a><tt class="py-lineno">640</tt>  <tt class="py-line"> </tt>
+<a name="verifyExample"></a><div id="verifyExample-def"><a name="L641"></a><tt class="py-lineno">641</tt> <a class="py-toggle" href="#" id="verifyExample-toggle" onclick="return toggle('verifyExample');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#verifyExample">verifyExample</a><tt class="py-op">(</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="verifyExample-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verifyExample-expanded"><a name="L642"></a><tt class="py-lineno">642</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">example</tt><tt class="py-op">:</tt> </tt>
+<a name="L643"></a><tt class="py-lineno">643</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testDir</tt> <tt class="py-op">=</tt> <tt id="link-156" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-156', 'path', 'link-2');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">'/examples/'</tt> </tt>
+<a name="L644"></a><tt class="py-lineno">644</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="TestON.bin.cli.tests_path
+TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-157', 'tests_path', 'link-5');">tests_path</a></tt> <tt class="py-op">=</tt> <tt id="link-158" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-158', 'path', 'link-2');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">"/examples/"</tt> </tt>
+<a name="L645"></a><tt class="py-lineno">645</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">classPath</tt> <tt class="py-op">=</tt> <tt class="py-string">"examples."</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">+</tt><tt class="py-string">"."</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> </tt>
+</div><a name="L646"></a><tt class="py-lineno">646</tt>  <tt class="py-line"> </tt>
+<a name="verifyLogdir"></a><div id="verifyLogdir-def"><a name="L647"></a><tt class="py-lineno">647</tt> <a class="py-toggle" href="#" id="verifyLogdir-toggle" onclick="return toggle('verifyLogdir');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#verifyLogdir">verifyLogdir</a><tt class="py-op">(</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="verifyLogdir-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verifyLogdir-expanded"><a name="L648"></a><tt class="py-lineno">648</tt>  <tt class="py-line">    <tt class="py-comment"># Verifying Log directory option</tt> </tt>
+<a name="L649"></a><tt class="py-lineno">649</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt><tt class="py-op">:</tt> </tt>
+<a name="L650"></a><tt class="py-lineno">650</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> </tt>
+<a name="L651"></a><tt class="py-lineno">651</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L652"></a><tt class="py-lineno">652</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L653"></a><tt class="py-lineno">653</tt>  <tt class="py-line"> </tt>
+<a name="verifyMail"></a><div id="verifyMail-def"><a name="L654"></a><tt class="py-lineno">654</tt> <a class="py-toggle" href="#" id="verifyMail-toggle" onclick="return toggle('verifyMail');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#verifyMail">verifyMail</a><tt class="py-op">(</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="verifyMail-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verifyMail-expanded"><a name="L655"></a><tt class="py-lineno">655</tt>  <tt class="py-line">    <tt class="py-comment"># Checking the mailing list</tt> </tt>
+<a name="L656"></a><tt class="py-lineno">656</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">mail</tt><tt class="py-op">:</tt> </tt>
+<a name="L657"></a><tt class="py-lineno">657</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">mail</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">mail</tt> </tt>
+<a name="L658"></a><tt class="py-lineno">658</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'mail'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L659"></a><tt class="py-lineno">659</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">mail</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'mail'</tt><tt class="py-op">]</tt> </tt>
+<a name="L660"></a><tt class="py-lineno">660</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L661"></a><tt class="py-lineno">661</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">mail</tt> <tt class="py-op">=</tt> <tt class="py-string">'paxweb@paxterrasolutions.com'</tt> </tt>
+</div><a name="L662"></a><tt class="py-lineno">662</tt>  <tt class="py-line"> </tt>
+<a name="verifyTestCases"></a><div id="verifyTestCases-def"><a name="L663"></a><tt class="py-lineno">663</tt> <a class="py-toggle" href="#" id="verifyTestCases-toggle" onclick="return toggle('verifyTestCases');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#verifyTestCases">verifyTestCases</a><tt class="py-op">(</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="verifyTestCases-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verifyTestCases-expanded"><a name="L664"></a><tt class="py-lineno">664</tt>  <tt class="py-line">    <tt class="py-comment"># Getting Test cases list</tt> </tt>
+<a name="L665"></a><tt class="py-lineno">665</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">testcases</tt><tt class="py-op">:</tt> </tt>
+<a name="L666"></a><tt class="py-lineno">666</tt>  <tt class="py-line">        <tt class="py-name">testcases_list</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">testcases</tt> </tt>
+<a name="L667"></a><tt class="py-lineno">667</tt>  <tt class="py-line">        <tt class="py-comment"># sys.exit()</tt> </tt>
+<a name="L668"></a><tt class="py-lineno">668</tt>  <tt class="py-line">        <tt class="py-name">testcases_list</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"(\[|\])"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">testcases</tt><tt class="py-op">)</tt> </tt>
+<a name="L669"></a><tt class="py-lineno">669</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testcases_list</tt> <tt class="py-op">=</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">testcases_list</tt><tt class="py-op">+</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L670"></a><tt class="py-lineno">670</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L671"></a><tt class="py-lineno">671</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'testcases'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L672"></a><tt class="py-lineno">672</tt>  <tt class="py-line">            <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'testcases'</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L673"></a><tt class="py-lineno">673</tt>  <tt class="py-line">            <tt class="py-name">list1</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L674"></a><tt class="py-lineno">674</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">temp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-name">list</tt><tt class="py-op">:</tt> </tt>
+<a name="L675"></a><tt class="py-lineno">675</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">test</tt> <tt class="py-keyword">in</tt> <tt class="py-name">temp</tt><tt class="py-op">:</tt> </tt>
+<a name="L676"></a><tt class="py-lineno">676</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">testcase</tt> <tt class="py-keyword">in</tt> <tt class="py-name">test</tt><tt class="py-op">:</tt> </tt>
+<a name="L677"></a><tt class="py-lineno">677</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">testcase</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-name">int</tt><tt class="py-op">:</tt> </tt>
+<a name="L678"></a><tt class="py-lineno">678</tt>  <tt class="py-line">                            <tt class="py-name">testcase</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">testcase</tt><tt class="py-op">]</tt> </tt>
+<a name="L679"></a><tt class="py-lineno">679</tt>  <tt class="py-line">                        <tt class="py-name">list1</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">testcase</tt><tt class="py-op">)</tt> </tt>
+<a name="L680"></a><tt class="py-lineno">680</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L681"></a><tt class="py-lineno">681</tt>  <tt class="py-line">                <tt class="py-name">temp</tt><tt class="py-op">=</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">temp</tt><tt class="py-op">)</tt> </tt>
+<a name="L682"></a><tt class="py-lineno">682</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">testcase</tt> <tt class="py-keyword">in</tt> <tt class="py-name">temp</tt><tt class="py-op">:</tt> </tt>
+<a name="L683"></a><tt class="py-lineno">683</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">testcase</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-name">int</tt><tt class="py-op">:</tt> </tt>
+<a name="L684"></a><tt class="py-lineno">684</tt>  <tt class="py-line">                        <tt class="py-name">testcase</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">testcase</tt><tt class="py-op">]</tt> </tt>
+<a name="L685"></a><tt class="py-lineno">685</tt>  <tt class="py-line">                    <tt class="py-name">list1</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">testcase</tt><tt class="py-op">)</tt> </tt>
+<a name="L686"></a><tt class="py-lineno">686</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testcases_list</tt><tt class="py-op">=</tt><tt class="py-name">list1</tt> </tt>
+<a name="L687"></a><tt class="py-lineno">687</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L688"></a><tt class="py-lineno">688</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"testcases not specifed in params, please provide in params file or 'testcases' commandline argument"</tt> </tt>
+<a name="L689"></a><tt class="py-lineno">689</tt>  <tt class="py-line">            <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-159', 'exit', 'link-60');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L690"></a><tt class="py-lineno">690</tt>  <tt class="py-line"> </tt>
+<a name="verifyOnosCell"></a><div id="verifyOnosCell-def"><a name="L691"></a><tt class="py-lineno">691</tt> <a class="py-toggle" href="#" id="verifyOnosCell-toggle" onclick="return toggle('verifyOnosCell');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#verifyOnosCell">verifyOnosCell</a><tt class="py-op">(</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="verifyOnosCell-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verifyOnosCell-expanded"><a name="L692"></a><tt class="py-lineno">692</tt>  <tt class="py-line">    <tt class="py-comment"># Verifying onoscell option</tt> </tt>
+<a name="L693"></a><tt class="py-lineno">693</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">onoscell</tt><tt class="py-op">:</tt> </tt>
+<a name="L694"></a><tt class="py-lineno">694</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onoscell</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">onoscell</tt> </tt>
+<a name="L695"></a><tt class="py-lineno">695</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onosIPs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L696"></a><tt class="py-lineno">696</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">mnIP</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L697"></a><tt class="py-lineno">697</tt>  <tt class="py-line">        <tt class="py-name">cellCMD</tt> <tt class="py-op">=</tt> <tt class="py-string">". ~/.profile; cell "</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onoscell</tt> </tt>
+<a name="L698"></a><tt class="py-lineno">698</tt>  <tt class="py-line">        <tt id="link-160" class="py-name" targets="Function TestON.bin.cli.output()=TestON.bin.cli-module.html#output"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-160', 'output', 'link-160');">output</a></tt><tt class="py-op">=</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt class="py-name">check_output</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">"bash"</tt><tt class="py-op">,</tt> <tt class="py-string">'-c'</tt><tt class="py-op">,</tt> <tt class="py-name">cellCMD</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L699"></a><tt class="py-lineno">699</tt>  <tt class="py-line">        <tt class="py-name">splitOutput</tt> <tt class="py-op">=</tt> <tt id="link-161" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-161', 'output', 'link-160');">output</a></tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L700"></a><tt class="py-lineno">700</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">splitOutput</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L701"></a><tt class="py-lineno">701</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt><tt class="py-op">(</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt> <tt class="py-string">"OCN"</tt><tt class="py-op">,</tt> <tt class="py-name">splitOutput</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L702"></a><tt class="py-lineno">702</tt>  <tt class="py-line">                <tt class="py-name">mnNode</tt><tt class="py-op">=</tt><tt class="py-name">splitOutput</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"="</tt><tt class="py-op">)</tt> </tt>
+<a name="L703"></a><tt class="py-lineno">703</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">mnIP</tt> <tt class="py-op">=</tt> <tt class="py-name">mnNode</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L704"></a><tt class="py-lineno">704</tt>  <tt class="py-line">            <tt class="py-comment"># cell already sorts OC variables in bash, so no need to sort in TestON</tt> </tt>
+<a name="L705"></a><tt class="py-lineno">705</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt><tt class="py-op">(</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt> <tt class="py-string">"OC[1-9]"</tt><tt class="py-op">,</tt> <tt class="py-name">splitOutput</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L706"></a><tt class="py-lineno">706</tt>  <tt class="py-line">                <tt class="py-name">onosNodes</tt> <tt class="py-op">=</tt> <tt class="py-name">splitOutput</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"="</tt><tt class="py-op">)</tt> </tt>
+<a name="L707"></a><tt class="py-lineno">707</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onosIPs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">onosNodes</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L708"></a><tt class="py-lineno">708</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L709"></a><tt class="py-lineno">709</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onoscell</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L710"></a><tt class="py-lineno">710</tt>  <tt class="py-line"> </tt>
+<a name="verifyTestScript"></a><div id="verifyTestScript-def"><a name="L711"></a><tt class="py-lineno">711</tt> <a class="py-toggle" href="#" id="verifyTestScript-toggle" onclick="return toggle('verifyTestScript');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#verifyTestScript">verifyTestScript</a><tt class="py-op">(</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="verifyTestScript-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verifyTestScript-expanded"><a name="L712"></a><tt class="py-lineno">712</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L713"></a><tt class="py-lineno">713</tt>  <tt class="py-line"><tt class="py-docstring">    Verifyies test script.</tt> </tt>
+<a name="L714"></a><tt class="py-lineno">714</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="L715"></a><tt class="py-lineno">715</tt>  <tt class="py-line">    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-162', 'openspeak', 'link-1');">openspeak</a></tt> <tt class="py-op">=</tt> <tt id="link-163" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-163', 'openspeak', 'link-1');">openspeak</a></tt><tt class="py-op">.</tt><tt id="link-164" class="py-name" targets="Class TestON.core.openspeak.OpenSpeak=TestON.core.openspeak.OpenSpeak-class.html"><a title="TestON.core.openspeak.OpenSpeak" class="py-name" href="#" onclick="return doclink('link-164', 'OpenSpeak', 'link-164');">OpenSpeak</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L716"></a><tt class="py-lineno">716</tt>  <tt class="py-line">    <tt class="py-name">openspeakfile</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testDir</tt><tt class="py-op">+</tt><tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">".ospk"</tt> </tt>
+<a name="L717"></a><tt class="py-lineno">717</tt>  <tt class="py-line">    <tt class="py-name">testfile</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testDir</tt><tt class="py-op">+</tt><tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt> </tt>
+<a name="L718"></a><tt class="py-lineno">718</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-165', 'path', 'link-2');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L719"></a><tt class="py-lineno">719</tt>  <tt class="py-line">        <tt class="py-comment"># Openspeak file found, compiling to python</tt> </tt>
+<a name="L720"></a><tt class="py-lineno">720</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="TestON.core.openspeak" class="py-name" href="#" onclick="return doclink('link-166', 'openspeak', 'link-1');">openspeak</a></tt><tt class="py-op">.</tt><tt id="link-167" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.compiler()=TestON.core.openspeak.OpenSpeak-class.html#compiler"><a title="TestON.core.openspeak.OpenSpeak.compiler" class="py-name" href="#" onclick="return doclink('link-167', 'compiler', 'link-167');">compiler</a></tt><tt class="py-op">(</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">=</tt><tt class="py-name">openspeakfile</tt><tt class="py-op">,</tt><tt class="py-name">writetofile</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L721"></a><tt class="py-lineno">721</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-168', 'path', 'link-2');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">testfile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L722"></a><tt class="py-lineno">722</tt>  <tt class="py-line">        <tt class="py-comment"># No openspeak found, using python file instead</tt> </tt>
+<a name="L723"></a><tt class="py-lineno">723</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
+<a name="L724"></a><tt class="py-lineno">724</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L725"></a><tt class="py-lineno">725</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"\nThere is no \""</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">+</tt><tt class="py-string">"\" test script.\nPlease provide a "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L726"></a><tt class="py-lineno">726</tt>  <tt class="py-line">              <tt class="py-string">"Python or OpenSpeak test script in the tests folder: "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L727"></a><tt class="py-lineno">727</tt>  <tt class="py-line">              <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testDir</tt><tt class="py-op">+</tt><tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> </tt>
+<a name="L728"></a><tt class="py-lineno">728</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">testthread</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L729"></a><tt class="py-lineno">729</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-169', 'exit', 'link-60');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L730"></a><tt class="py-lineno">730</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L731"></a><tt class="py-lineno">731</tt>  <tt class="py-line">        <tt class="py-name">testModule</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">classPath</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L732"></a><tt class="py-lineno">732</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt><tt class="py-op">(</tt><tt class="py-name">ImportError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L733"></a><tt class="py-lineno">733</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"There was an import error, it might mean that there is no test named "</tt><tt class="py-op">+</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> </tt>
+<a name="L734"></a><tt class="py-lineno">734</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-170', 'exit', 'link-60');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L735"></a><tt class="py-lineno">735</tt>  <tt class="py-line"> </tt>
+<a name="L736"></a><tt class="py-lineno">736</tt>  <tt class="py-line">    <tt class="py-name">testClass</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">testModule</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt><tt class="py-op">)</tt> </tt>
+<a name="L737"></a><tt class="py-lineno">737</tt>  <tt class="py-line">    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testObject</tt> <tt class="py-op">=</tt> <tt class="py-name">testClass</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L738"></a><tt class="py-lineno">738</tt>  <tt class="py-line">    <tt id="link-171" class="py-name" targets="Function TestON.core.teston.load_parser()=TestON.core.teston-module.html#load_parser"><a title="TestON.core.teston.load_parser" class="py-name" href="#" onclick="return doclink('link-171', 'load_parser', 'link-171');">load_parser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L739"></a><tt class="py-lineno">739</tt>  <tt class="py-line">    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name" targets="Method TestON.core.iniparser.iniparser.parseParams()=TestON.core.iniparser.iniparser-class.html#parseParams,Method TestON.core.xmlparser.xmlparser.parseParams()=TestON.core.xmlparser.xmlparser-class.html#parseParams"><a title="TestON.core.iniparser.iniparser.parseParams
+TestON.core.xmlparser.xmlparser.parseParams" class="py-name" href="#" onclick="return doclink('link-172', 'parseParams', 'link-172');">parseParams</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">classPath</tt><tt class="py-op">)</tt> </tt>
+<a name="L740"></a><tt class="py-lineno">740</tt>  <tt class="py-line">    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-173', 'topology', 'link-47');">topology</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name" targets="Method TestON.core.iniparser.iniparser.parseTopology()=TestON.core.iniparser.iniparser-class.html#parseTopology,Method TestON.core.xmlparser.xmlparser.parseTopology()=TestON.core.xmlparser.xmlparser-class.html#parseTopology"><a title="TestON.core.iniparser.iniparser.parseTopology
+TestON.core.xmlparser.xmlparser.parseTopology" class="py-name" href="#" onclick="return doclink('link-174', 'parseTopology', 'link-174');">parseTopology</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">classPath</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L741"></a><tt class="py-lineno">741</tt>  <tt class="py-line"> </tt>
+<a name="verifyParams"></a><div id="verifyParams-def"><a name="L742"></a><tt class="py-lineno">742</tt> <a class="py-toggle" href="#" id="verifyParams-toggle" onclick="return toggle('verifyParams');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#verifyParams">verifyParams</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="verifyParams-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="verifyParams-expanded"><a name="L743"></a><tt class="py-lineno">743</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L744"></a><tt class="py-lineno">744</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'PARAMS'</tt><tt class="py-op">]</tt> </tt>
+<a name="L745"></a><tt class="py-lineno">745</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L746"></a><tt class="py-lineno">746</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Error with the params file: Either the file not specified or the format is not correct"</tt> </tt>
+<a name="L747"></a><tt class="py-lineno">747</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-175', 'exit', 'link-60');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L748"></a><tt class="py-lineno">748</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L749"></a><tt class="py-lineno">749</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-176', 'topology', 'link-47');">topology</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-177', 'topology', 'link-47');">topology</a></tt><tt class="py-op">[</tt><tt class="py-string">'TOPOLOGY'</tt><tt class="py-op">]</tt> </tt>
+<a name="L750"></a><tt class="py-lineno">750</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L751"></a><tt class="py-lineno">751</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Error with the Topology file: Either the file not specified or the format is not correct"</tt> </tt>
+<a name="L752"></a><tt class="py-lineno">752</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-178', 'exit', 'link-60');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L753"></a><tt class="py-lineno">753</tt>  <tt class="py-line"> </tt>
+<a name="load_parser"></a><div id="load_parser-def"><a name="L754"></a><tt class="py-lineno">754</tt> <a class="py-toggle" href="#" id="load_parser-toggle" onclick="return toggle('load_parser');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#load_parser">load_parser</a><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="load_parser-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="load_parser-expanded"><a name="L755"></a><tt class="py-lineno">755</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L756"></a><tt class="py-lineno">756</tt>  <tt class="py-line"><tt class="py-docstring">    It facilitates the loading customised parser for topology and params file.</tt> </tt>
+<a name="L757"></a><tt class="py-lineno">757</tt>  <tt class="py-line"><tt class="py-docstring">    It loads parser mentioned in tab named parser of teston.cfg file.</tt> </tt>
+<a name="L758"></a><tt class="py-lineno">758</tt>  <tt class="py-line"><tt class="py-docstring">    It also loads default xmlparser if no parser have specified in teston.cfg file.</tt> </tt>
+<a name="L759"></a><tt class="py-lineno">759</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L760"></a><tt class="py-lineno">760</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="L761"></a><tt class="py-lineno">761</tt>  <tt class="py-line">    <tt class="py-name">confighash</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt> </tt>
+<a name="L762"></a><tt class="py-lineno">762</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'file'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'class'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L763"></a><tt class="py-lineno">763</tt>  <tt class="py-line">        <tt id="link-179" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-179', 'path', 'link-2');">path</a></tt> <tt class="py-op">=</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'file'</tt><tt class="py-op">]</tt> </tt>
+<a name="L764"></a><tt class="py-lineno">764</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-180" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-180', 'path', 'link-2');">path</a></tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt><tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L765"></a><tt class="py-lineno">765</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L766"></a><tt class="py-lineno">766</tt>  <tt class="py-line">                <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">r".py\s*$"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt id="link-181" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-181', 'path', 'link-2');">path</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L767"></a><tt class="py-lineno">767</tt>  <tt class="py-line">                <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt class="py-name">module</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt> </tt>
+<a name="L768"></a><tt class="py-lineno">768</tt>  <tt class="py-line">                <tt class="py-name">newModule</tt> <tt class="py-op">=</tt> <tt class="py-string">"."</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L769"></a><tt class="py-lineno">769</tt>  <tt class="py-line">                <tt class="py-name">parsingClass</tt> <tt class="py-op">=</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt> </tt>
+<a name="L770"></a><tt class="py-lineno">770</tt>  <tt class="py-line">                <tt class="py-name">parsingModule</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">newModule</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">parsingClass</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L771"></a><tt class="py-lineno">771</tt>  <tt class="py-line">                <tt class="py-name">parsingClass</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">parsingModule</tt><tt class="py-op">,</tt> <tt class="py-name">parsingClass</tt><tt class="py-op">)</tt> </tt>
+<a name="L772"></a><tt class="py-lineno">772</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">parsingClass</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L773"></a><tt class="py-lineno">773</tt>  <tt class="py-line">                <tt class="py-comment">#hashobj = main.parser.parseParams(main.classPath)</tt> </tt>
+<a name="L774"></a><tt class="py-lineno">774</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt><tt class="py-op">,</tt><tt class="py-string">"parseParams"</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt><tt class="py-op">,</tt><tt class="py-string">"parseTopology"</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt><tt class="py-op">,</tt><tt class="py-string">"parse"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L775"></a><tt class="py-lineno">775</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
+<a name="L776"></a><tt class="py-lineno">776</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L777"></a><tt class="py-lineno">777</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">"Invalid parser format"</tt> </tt>
+<a name="L778"></a><tt class="py-lineno">778</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-182', 'exit', 'link-60');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L779"></a><tt class="py-lineno">779</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
+<a name="L780"></a><tt class="py-lineno">780</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Could not find the file "</tt> <tt class="py-op">+</tt> <tt id="link-183" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-183', 'path', 'link-2');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">" using default parser."</tt> </tt>
+<a name="L781"></a><tt class="py-lineno">781</tt>  <tt class="py-line">                <tt id="link-184" class="py-name" targets="Function TestON.core.teston.load_defaultParser()=TestON.core.teston-module.html#load_defaultParser"><a title="TestON.core.teston.load_defaultParser" class="py-name" href="#" onclick="return doclink('link-184', 'load_defaultParser', 'link-184');">load_defaultParser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L782"></a><tt class="py-lineno">782</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'file'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L783"></a><tt class="py-lineno">783</tt>  <tt class="py-line">            <tt id="link-185" class="py-name"><a title="TestON.core.teston.load_defaultParser" class="py-name" href="#" onclick="return doclink('link-185', 'load_defaultParser', 'link-184');">load_defaultParser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L784"></a><tt class="py-lineno">784</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L785"></a><tt class="py-lineno">785</tt>  <tt class="py-line">        <tt id="link-186" class="py-name"><a title="TestON.core.teston.load_defaultParser" class="py-name" href="#" onclick="return doclink('link-186', 'load_defaultParser', 'link-184');">load_defaultParser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L786"></a><tt class="py-lineno">786</tt>  <tt class="py-line"> </tt>
+<a name="load_defaultParser"></a><div id="load_defaultParser-def"><a name="L787"></a><tt class="py-lineno">787</tt> <a class="py-toggle" href="#" id="load_defaultParser-toggle" onclick="return toggle('load_defaultParser');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#load_defaultParser">load_defaultParser</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="load_defaultParser-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="load_defaultParser-expanded"><a name="L788"></a><tt class="py-lineno">788</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L789"></a><tt class="py-lineno">789</tt>  <tt class="py-line"><tt class="py-docstring">    It will load the default parser which is xml parser to parse the params and topology file.</tt> </tt>
+<a name="L790"></a><tt class="py-lineno">790</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="L791"></a><tt class="py-lineno">791</tt>  <tt class="py-line">    <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parserPath</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt> </tt>
+<a name="L792"></a><tt class="py-lineno">792</tt>  <tt class="py-line">    <tt class="py-name">newModule</tt> <tt class="py-op">=</tt> <tt class="py-string">"."</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L793"></a><tt class="py-lineno">793</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L794"></a><tt class="py-lineno">794</tt>  <tt class="py-line">        <tt class="py-name">parsingClass</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parsingClass</tt> </tt>
+<a name="L795"></a><tt class="py-lineno">795</tt>  <tt class="py-line">        <tt class="py-name">parsingModule</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">newModule</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">parsingClass</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L796"></a><tt class="py-lineno">796</tt>  <tt class="py-line">        <tt class="py-name">parsingClass</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">parsingModule</tt><tt class="py-op">,</tt> <tt class="py-name">parsingClass</tt><tt class="py-op">)</tt> </tt>
+<a name="L797"></a><tt class="py-lineno">797</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">parsingClass</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L798"></a><tt class="py-lineno">798</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt><tt class="py-op">,</tt><tt class="py-string">"parseParams"</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt><tt class="py-op">,</tt><tt class="py-string">"parseTopology"</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt><tt class="py-op">,</tt><tt class="py-string">"parse"</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L799"></a><tt class="py-lineno">799</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L800"></a><tt class="py-lineno">800</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L801"></a><tt class="py-lineno">801</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-187', 'exit', 'link-60');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L802"></a><tt class="py-lineno">802</tt>  <tt class="py-line"> </tt>
+<a name="L803"></a><tt class="py-lineno">803</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
+<a name="L804"></a><tt class="py-lineno">804</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exc_info</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L805"></a><tt class="py-lineno">805</tt>  <tt class="py-line"> </tt>
+<a name="load_logger"></a><div id="load_logger-def"><a name="L806"></a><tt class="py-lineno">806</tt> <a class="py-toggle" href="#" id="load_logger-toggle" onclick="return toggle('load_logger');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#load_logger">load_logger</a><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="load_logger-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="load_logger-expanded"><a name="L807"></a><tt class="py-lineno">807</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L808"></a><tt class="py-lineno">808</tt>  <tt class="py-line"><tt class="py-docstring">    It facilitates the loading customised parser for topology and params file.</tt> </tt>
+<a name="L809"></a><tt class="py-lineno">809</tt>  <tt class="py-line"><tt class="py-docstring">    It loads parser mentioned in tab named parser of teston.cfg file.</tt> </tt>
+<a name="L810"></a><tt class="py-lineno">810</tt>  <tt class="py-line"><tt class="py-docstring">    It also loads default xmlparser if no parser have specified in teston.cfg file.</tt> </tt>
+<a name="L811"></a><tt class="py-lineno">811</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L812"></a><tt class="py-lineno">812</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="L813"></a><tt class="py-lineno">813</tt>  <tt class="py-line">    <tt class="py-name">confighash</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">configDict</tt> </tt>
+<a name="L814"></a><tt class="py-lineno">814</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'file'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'logger'</tt><tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'class'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'logger'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L815"></a><tt class="py-lineno">815</tt>  <tt class="py-line">        <tt id="link-188" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-188', 'path', 'link-2');">path</a></tt> <tt class="py-op">=</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'logger'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'file'</tt><tt class="py-op">]</tt> </tt>
+<a name="L816"></a><tt class="py-lineno">816</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-189" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-189', 'path', 'link-2');">path</a></tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'logger'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt><tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
+<a name="L817"></a><tt class="py-lineno">817</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L818"></a><tt class="py-lineno">818</tt>  <tt class="py-line">                <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">r".py\s*$"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt id="link-190" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-190', 'path', 'link-2');">path</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L819"></a><tt class="py-lineno">819</tt>  <tt class="py-line">                <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt class="py-name">module</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt> </tt>
+<a name="L820"></a><tt class="py-lineno">820</tt>  <tt class="py-line">                <tt class="py-name">newModule</tt> <tt class="py-op">=</tt> <tt class="py-string">"."</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L821"></a><tt class="py-lineno">821</tt>  <tt class="py-line">                <tt class="py-name">loggerClass</tt> <tt class="py-op">=</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'logger'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt> </tt>
+<a name="L822"></a><tt class="py-lineno">822</tt>  <tt class="py-line">                <tt class="py-name">loggerModule</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">newModule</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">loggerClass</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L823"></a><tt class="py-lineno">823</tt>  <tt class="py-line">                <tt class="py-name">loggerClass</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">loggerModule</tt><tt class="py-op">,</tt> <tt class="py-name">loggerClass</tt><tt class="py-op">)</tt> </tt>
+<a name="L824"></a><tt class="py-lineno">824</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="TestON.core.logger" class="py-name" href="#" onclick="return doclink('link-191', 'logger', 'link-48');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">loggerClass</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L825"></a><tt class="py-lineno">825</tt>  <tt class="py-line">                <tt class="py-comment">#hashobj = main.parser.parseParams(main.classPath)</tt> </tt>
+<a name="L826"></a><tt class="py-lineno">826</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
+<a name="L827"></a><tt class="py-lineno">827</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Could not find the file "</tt> <tt class="py-op">+</tt> <tt id="link-192" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-192', 'path', 'link-2');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">" using default logger."</tt> </tt>
+<a name="L828"></a><tt class="py-lineno">828</tt>  <tt class="py-line">                <tt id="link-193" class="py-name" targets="Function TestON.core.teston.load_defaultlogger()=TestON.core.teston-module.html#load_defaultlogger"><a title="TestON.core.teston.load_defaultlogger" class="py-name" href="#" onclick="return doclink('link-193', 'load_defaultlogger', 'link-193');">load_defaultlogger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L829"></a><tt class="py-lineno">829</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'file'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">confighash</tt><tt class="py-op">[</tt><tt class="py-string">'config'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'parser'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'class'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-op">:</tt> </tt>
+<a name="L830"></a><tt class="py-lineno">830</tt>  <tt class="py-line">            <tt id="link-194" class="py-name"><a title="TestON.core.teston.load_defaultlogger" class="py-name" href="#" onclick="return doclink('link-194', 'load_defaultlogger', 'link-193');">load_defaultlogger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L831"></a><tt class="py-lineno">831</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L832"></a><tt class="py-lineno">832</tt>  <tt class="py-line">        <tt id="link-195" class="py-name"><a title="TestON.core.teston.load_defaultlogger" class="py-name" href="#" onclick="return doclink('link-195', 'load_defaultlogger', 'link-193');">load_defaultlogger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L833"></a><tt class="py-lineno">833</tt>  <tt class="py-line"> </tt>
+<a name="load_defaultlogger"></a><div id="load_defaultlogger-def"><a name="L834"></a><tt class="py-lineno">834</tt> <a class="py-toggle" href="#" id="load_defaultlogger-toggle" onclick="return toggle('load_defaultlogger');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#load_defaultlogger">load_defaultlogger</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="load_defaultlogger-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="load_defaultlogger-expanded"><a name="L835"></a><tt class="py-lineno">835</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L836"></a><tt class="py-lineno">836</tt>  <tt class="py-line"><tt class="py-docstring">    It will load the default parser which is xml parser to parse the params and topology file.</tt> </tt>
+<a name="L837"></a><tt class="py-lineno">837</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="L838"></a><tt class="py-lineno">838</tt>  <tt class="py-line">    <tt class="py-name">moduleList</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">loggerPath</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt> </tt>
+<a name="L839"></a><tt class="py-lineno">839</tt>  <tt class="py-line">    <tt class="py-name">newModule</tt> <tt class="py-op">=</tt> <tt class="py-string">"."</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">moduleList</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">moduleList</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L840"></a><tt class="py-lineno">840</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L841"></a><tt class="py-lineno">841</tt>  <tt class="py-line">        <tt class="py-name">loggerClass</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">loggerClass</tt> </tt>
+<a name="L842"></a><tt class="py-lineno">842</tt>  <tt class="py-line">        <tt class="py-name">loggerModule</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">newModule</tt><tt class="py-op">,</tt> <tt class="py-name">globals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">loggerClass</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L843"></a><tt class="py-lineno">843</tt>  <tt class="py-line">        <tt class="py-name">loggerClass</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">loggerModule</tt><tt class="py-op">,</tt> <tt class="py-name">loggerClass</tt><tt class="py-op">)</tt> </tt>
+<a name="L844"></a><tt class="py-lineno">844</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="TestON.core.logger" class="py-name" href="#" onclick="return doclink('link-196', 'logger', 'link-48');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">loggerClass</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L845"></a><tt class="py-lineno">845</tt>  <tt class="py-line"> </tt>
+<a name="L846"></a><tt class="py-lineno">846</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
+<a name="L847"></a><tt class="py-lineno">847</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exc_info</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L848"></a><tt class="py-lineno">848</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-197', 'exit', 'link-60');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L849"></a><tt class="py-lineno">849</tt>  <tt class="py-line"> </tt>
+<a name="_echo"></a><div id="_echo-def"><a name="L850"></a><tt class="py-lineno">850</tt> <a class="py-toggle" href="#" id="_echo-toggle" onclick="return toggle('_echo');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.teston-module.html#_echo">_echo</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_echo-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_echo-expanded"><a name="L851"></a><tt class="py-lineno">851</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"THIS IS ECHO"</tt> </tt>
+</div><a name="L852"></a><tt class="py-lineno">852</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -733,13 +1046,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.teston.TestON-class.html b/TestON/Documentation/TestON_Document/TestON.core.teston.TestON-class.html
index 410441c..6dc57e7 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.teston.TestON-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.teston.TestON-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -105,7 +110,7 @@
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td><span class="summary-sig"><a name="configparser"></a><span class="summary-sig-name">configparser</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      It will parse the config file (ofa.cfg) and return as dictionary</td>
+      It will parse the config file (teston.cfg) and return as dictionary</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.configparser">source&nbsp;code</a></span>
             
@@ -226,7 +231,8 @@
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td><span class="summary-sig"><a href="TestON.core.teston.TestON-class.html#cleanup" class="summary-sig-name">cleanup</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Release all the component handles and the close opened file handles.</td>
+      Print a summary of the current test's results then attempt to release
+      all the component handles and the close opened file handles.</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.cleanup">source&nbsp;code</a></span>
             
@@ -370,6 +376,78 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
+          <td><span class="summary-sig"><a name="response_parser"></a><span class="summary-sig-name">response_parser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>,
+        <span class="summary-sig-arg">return_format</span>)</span><br />
+      It will load the default response parser</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.response_parser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="response_to_dict"></a><span class="summary-sig-name">response_to_dict</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>,
+        <span class="summary-sig-arg">return_format</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.response_to_dict">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="dict_to_return_format"></a><span class="summary-sig-name">dict_to_return_format</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>,
+        <span class="summary-sig-arg">return_format</span>,
+        <span class="summary-sig-arg">response_dict</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.dict_to_return_format">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="get_random"></a><span class="summary-sig-name">get_random</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.get_random">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
           <td><span class="summary-sig"><a name="exit"></a><span class="summary-sig-name">exit</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.core.teston-pysrc.html#TestON.exit">source&nbsp;code</a></span>
@@ -435,9 +513,12 @@
     </td>
   </tr></table>
   
-  <p>Release all the component handles and the close opened file handles. 
-  This will return TRUE if all the component handles and log handles closed
-  properly, else return FALSE</p>
+  <p>Print a summary of the current test's results then attempt to release 
+  all the component handles and the close opened file handles.</p>
+  <p>This function shouldbe threadsafe such that cleanup will only be 
+  executed once per test.</p>
+  <p>This will return TRUE if all the component handles and log handles 
+  closed properly, else return FALSE.</p>
   <dl class="fields">
   </dl>
 </td></tr></table>
@@ -463,13 +544,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.testparser-module.html b/TestON/Documentation/TestON_Document/TestON.core.testparser-module.html
index 542d3bb..7ba8868 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.testparser-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.testparser-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -62,6 +67,17 @@
 <hr />
 <div class="fields">      <p><strong>Author:</strong>
         Anil Kumar (anilkumar.s@paxterrasolutions.com)
+        <p>TestON is free software: you can redistribute it and/or modify 
+        it under the terms of the GNU General Public License as published 
+        by the Free Software Foundation, either version 2 of the License, 
+        or (at your option) any later version.</p>
+        <p>TestON is distributed in the hope that it will be useful, but 
+        WITHOUT ANY WARRANTY; without even the implied warranty of 
+        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+        General Public License for more details.</p>
+        <p>You should have received a copy of the GNU General Public 
+        License along with TestON.  If not, see 
+        &lt;http://www.gnu.org/licenses/&gt;.</p>
       </p>
 </div><!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
@@ -88,6 +104,31 @@
     </td>
   </tr>
 </table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.core'"><code class="variable-quote">'</code><code class="variable-string">TestON.core</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -108,13 +149,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.testparser-pysrc.html b/TestON/Documentation/TestON_Document/TestON.core.testparser-pysrc.html
index 914e238..d4d0c65 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.testparser-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.testparser-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -62,120 +67,132 @@
 <a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 26-Dec-2012</tt> </tt>
 <a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
 <a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="TestParser"></a><div id="TestParser-def"><a name="L9"></a><tt class="py-lineno">  9</tt> <a class="py-toggle" href="#" id="TestParser-toggle" onclick="return toggle('TestParser');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.core.testparser.TestParser-class.html">TestParser</a><tt class="py-op">:</tt> </tt>
-</div><div id="TestParser-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="TestParser-expanded"><a name="TestParser.__init__"></a><div id="TestParser.__init__-def"><a name="L10"></a><tt class="py-lineno"> 10</tt> <a class="py-toggle" href="#" id="TestParser.__init__-toggle" onclick="return toggle('TestParser.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.testparser.TestParser-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">testFile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestParser.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestParser.__init__-expanded"><a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line">            <tt class="py-name">testFileHandler</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">testFile</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">:</tt>  </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"No such file "</tt><tt class="py-op">+</tt><tt class="py-name">testFile</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line">            <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-0', 'exit', 'link-0');">exit</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line">  </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">        <tt class="py-name">testFileList</tt> <tt class="py-op">=</tt> <tt class="py-name">testFileHandler</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testscript</tt> <tt class="py-op">=</tt> <tt class="py-name">testFileList</tt>               </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">caseCode</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">caseBlock</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">statementsList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt>  </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">statementsList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">        <tt class="py-comment">#initialSpaces = len(line) -len(line.lstrip())</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">index</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">testFileList</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">            <tt class="py-name">testFileList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"^\s{8}|^\s{4}"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">testFileList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">            <tt class="py-comment"># Skip multiline comments </tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">'^(\'\'\')|^(\"\"\")'</tt><tt class="py-op">,</tt><tt class="py-name">testFileList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">                <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">                    <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">'^\s*(\'\'\')|^\s*(\"\"\")'</tt><tt class="py-op">,</tt><tt class="py-name">testFileList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">                        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">''</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">                     </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">            <tt class="py-comment"># skip empty lines and single line comments </tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">'#|^\s*$'</tt><tt class="py-op">,</tt><tt class="py-name">testFileList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">statementsList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">testFileList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">            <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-</div><a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">     </tt>
-<a name="TestParser.case_code"></a><div id="TestParser.case_code-def"><a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="TestParser.case_code-toggle" onclick="return toggle('TestParser.case_code');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.testparser.TestParser-class.html#case_code">case_code</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestParser.case_code-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestParser.case_code-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt>  </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-name">statementsList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">statementsList</tt>        </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">index</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">statementsList</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">            <tt class="py-comment">#print statementsList[index]</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-name">m</tt><tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">'def\s+CASE(\d+)'</tt><tt class="py-op">,</tt><tt class="py-name">statementsList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">caseBlock</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">m</tt><tt class="py-op">:</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">                <tt class="py-comment">#print m.group(1)</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">                <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">                    <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">'\s*def\s+CASE(\d+)'</tt><tt class="py-op">,</tt><tt class="py-name">statementsList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">caseBlock</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">statementsList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">statementsList</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">                            <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">                    <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">                    <tt class="py-comment">#print 'IndexError'</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">''</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">     </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">caseCode</tt> <tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">caseBlock</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">                <tt class="py-comment">#print "Case CODE "+self.caseCode [str(m.group(1))]</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">         </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">caseCode</tt>  </tt>
-</div><a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">     </tt>
-<a name="TestParser.step_code"></a><div id="TestParser.step_code-def"><a name="L70"></a><tt class="py-lineno"> 70</tt> <a class="py-toggle" href="#" id="TestParser.step_code-toggle" onclick="return toggle('TestParser.step_code');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.testparser.TestParser-class.html#step_code">step_code</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">caseStatements</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestParser.step_code-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestParser.step_code-expanded"><a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1', 'step', 'link-1');">step</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt>  </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">stepCode</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt>   </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-name">step_flag</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt>     </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">index</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">caseStatements</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-name">m</tt><tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">'main\.step'</tt><tt class="py-op">,</tt><tt class="py-name">caseStatements</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-name">stepBlock</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">m</tt><tt class="py-op">:</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">                <tt class="py-name">step_flag</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-2" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-1');">step</a></tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-op">:</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">                    <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">                    <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">                    <tt class="py-keyword">while</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">index</tt> <tt class="py-op">:</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">                        <tt class="py-name">block</tt> <tt class="py-op">+=</tt> <tt class="py-name">caseStatements</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">                        <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">                    <tt class="py-name">stepCode</tt><tt class="py-op">[</tt><tt id="link-3" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-3', 'step', 'link-1');">step</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">block</tt>    </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">                    <tt id="link-4" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-4', 'step', 'link-1');">step</a></tt> <tt class="py-op">=</tt> <tt id="link-5" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-5', 'step', 'link-1');">step</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">                <tt class="py-name">stepBlock</tt><tt class="py-op">=</tt> <tt class="py-name">stepBlock</tt> <tt class="py-op">+</tt> <tt class="py-name">caseStatements</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">                    <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">'main\.step'</tt><tt class="py-op">,</tt><tt class="py-name">caseStatements</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">                        <tt class="py-name">stepBlock</tt><tt class="py-op">=</tt> <tt class="py-name">stepBlock</tt> <tt class="py-op">+</tt> <tt class="py-name">caseStatements</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">caseStatements</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">                            <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">                    <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">                    <tt class="py-comment">#print 'IndexError'</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">''</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                <tt class="py-name">stepCode</tt><tt class="py-op">[</tt><tt id="link-6" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-6', 'step', 'link-1');">step</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">stepBlock</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">                <tt id="link-7" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-7', 'step', 'link-1');">step</a></tt> <tt class="py-op">=</tt> <tt id="link-8" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-8', 'step', 'link-1');">step</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-comment"># If there is no step defined !!</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">step_flag</tt> <tt class="py-op">:</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt class="py-name">stepCode</tt><tt class="py-op">[</tt><tt id="link-9" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-9', 'step', 'link-1');">step</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">caseStatements</tt><tt class="py-op">)</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">stepCode</tt> </tt>
-</div><a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">     </tt>
-<a name="TestParser.getStepCode"></a><div id="TestParser.getStepCode-def"><a name="L109"></a><tt class="py-lineno">109</tt> <a class="py-toggle" href="#" id="TestParser.getStepCode-toggle" onclick="return toggle('TestParser.getStepCode');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.testparser.TestParser-class.html#getStepCode">getStepCode</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="TestParser.getStepCode-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestParser.getStepCode-expanded"><a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-name">case_step_code</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-name">case_block</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method TestON.core.testparser.TestParser.case_code()=TestON.core.testparser.TestParser-class.html#case_code"><a title="TestON.core.testparser.TestParser.case_code" class="py-name" href="#" onclick="return doclink('link-10', 'case_code', 'link-10');">case_code</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">         </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-11" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-11', 'case', 'link-11');">case</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">case_block</tt> <tt class="py-op">:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-name">case_step_code</tt><tt class="py-op">[</tt><tt id="link-12" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-12', 'case', 'link-11');">case</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-name">step_block</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.core.testparser.TestParser.step_code()=TestON.core.testparser.TestParser-class.html#step_code"><a title="TestON.core.testparser.TestParser.step_code" class="py-name" href="#" onclick="return doclink('link-13', 'step_code', 'link-13');">step_code</a></tt><tt class="py-op">(</tt><tt class="py-name">case_block</tt><tt class="py-op">[</tt><tt id="link-14" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-14', 'case', 'link-11');">case</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-15" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-15', 'step', 'link-1');">step</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">step_block</tt> <tt class="py-op">:</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">                <tt class="py-name">case_step_code</tt><tt class="py-op">[</tt><tt id="link-16" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-16', 'case', 'link-11');">case</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt id="link-17" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-17', 'step', 'link-1');">step</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">step_block</tt><tt class="py-op">[</tt><tt id="link-18" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-18', 'step', 'link-1');">step</a></tt><tt class="py-op">]</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">case_step_code</tt> </tt>
-</div></div><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">    (at your option) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="TestParser"></a><div id="TestParser-def"><a name="L25"></a><tt class="py-lineno"> 25</tt> <a class="py-toggle" href="#" id="TestParser-toggle" onclick="return toggle('TestParser');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.core.testparser.TestParser-class.html">TestParser</a><tt class="py-op">:</tt> </tt>
+</div><div id="TestParser-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="TestParser-expanded"><a name="TestParser.__init__"></a><div id="TestParser.__init__-def"><a name="L26"></a><tt class="py-lineno"> 26</tt> <a class="py-toggle" href="#" id="TestParser.__init__-toggle" onclick="return toggle('TestParser.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.testparser.TestParser-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">testFile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestParser.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestParser.__init__-expanded"><a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">            <tt class="py-name">testFileHandler</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">testFile</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">:</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"No such file "</tt><tt class="py-op">+</tt><tt class="py-name">testFile</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">            <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-0', 'exit', 'link-0');">exit</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">testFileList</tt> <tt class="py-op">=</tt> <tt class="py-name">testFileHandler</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">testscript</tt> <tt class="py-op">=</tt> <tt class="py-name">testFileList</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">caseCode</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">caseBlock</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">statementsList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">statementsList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-comment">#initialSpaces = len(line) -len(line.lstrip())</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">index</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">testFileList</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">            <tt class="py-name">testFileList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"^\s{8}|^\s{4}"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">testFileList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">            <tt class="py-comment"># Skip multiline comments</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">'^(\'\'\')|^(\"\"\")'</tt><tt class="py-op">,</tt><tt class="py-name">testFileList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">                <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">                    <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">'^\s*(\'\'\')|^\s*(\"\"\")'</tt><tt class="py-op">,</tt><tt class="py-name">testFileList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">                        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">''</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">            <tt class="py-comment"># skip empty lines and single line comments</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">'#|^\s*$'</tt><tt class="py-op">,</tt><tt class="py-name">testFileList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">statementsList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">testFileList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+</div><a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"> </tt>
+<a name="TestParser.case_code"></a><div id="TestParser.case_code-def"><a name="L57"></a><tt class="py-lineno"> 57</tt> <a class="py-toggle" href="#" id="TestParser.case_code-toggle" onclick="return toggle('TestParser.case_code');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.testparser.TestParser-class.html#case_code">case_code</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestParser.case_code-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestParser.case_code-expanded"><a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">statementsList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">statementsList</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">index</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">statementsList</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">            <tt class="py-comment">#print statementsList[index]</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">            <tt class="py-name">m</tt><tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">'def\s+CASE(\d+)'</tt><tt class="py-op">,</tt><tt class="py-name">statementsList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">caseBlock</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">m</tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">                <tt class="py-comment">#print m.group(1)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">                <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">                    <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">'\s*def\s+CASE(\d+)'</tt><tt class="py-op">,</tt><tt class="py-name">statementsList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">caseBlock</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">statementsList</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">statementsList</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">                            <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">                    <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">                    <tt class="py-comment">#print 'IndexError'</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">''</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">caseCode</tt> <tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">caseBlock</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">                <tt class="py-comment">#print "Case CODE "+self.caseCode [str(m.group(1))]</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">            <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">caseCode</tt> </tt>
+</div><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"> </tt>
+<a name="TestParser.step_code"></a><div id="TestParser.step_code-def"><a name="L83"></a><tt class="py-lineno"> 83</tt> <a class="py-toggle" href="#" id="TestParser.step_code-toggle" onclick="return toggle('TestParser.step_code');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.testparser.TestParser-class.html#step_code">step_code</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">caseStatements</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestParser.step_code-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestParser.step_code-expanded"><a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1', 'step', 'link-1');">step</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-name">stepCode</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-name">step_flag</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">index</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">caseStatements</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-name">m</tt><tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">'main\.step'</tt><tt class="py-op">,</tt><tt class="py-name">caseStatements</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            <tt class="py-name">stepBlock</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">m</tt><tt class="py-op">:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">                <tt class="py-name">step_flag</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-2" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-1');">step</a></tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-op">:</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">                    <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                    <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">                    <tt class="py-keyword">while</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">index</tt> <tt class="py-op">:</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">                        <tt class="py-name">block</tt> <tt class="py-op">+=</tt> <tt class="py-name">caseStatements</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">                        <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">                    <tt class="py-name">stepCode</tt><tt class="py-op">[</tt><tt id="link-3" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-3', 'step', 'link-1');">step</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">block</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">                    <tt id="link-4" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-4', 'step', 'link-1');">step</a></tt> <tt class="py-op">=</tt> <tt id="link-5" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-5', 'step', 'link-1');">step</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                <tt class="py-name">stepBlock</tt> <tt class="py-op">=</tt> <tt class="py-name">stepBlock</tt> <tt class="py-op">+</tt> <tt class="py-name">caseStatements</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">                <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">                    <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">'main\.step'</tt><tt class="py-op">,</tt><tt class="py-name">caseStatements</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">                        <tt class="py-name">stepBlock</tt> <tt class="py-op">=</tt> <tt class="py-name">stepBlock</tt> <tt class="py-op">+</tt> <tt class="py-name">caseStatements</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">caseStatements</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">                            <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">                    <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">                    <tt class="py-comment">#print 'IndexError'</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">''</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">                <tt class="py-name">stepCode</tt><tt class="py-op">[</tt><tt id="link-6" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-6', 'step', 'link-1');">step</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">stepBlock</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">                <tt id="link-7" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-7', 'step', 'link-1');">step</a></tt> <tt class="py-op">=</tt> <tt id="link-8" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-8', 'step', 'link-1');">step</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-comment"># If there is no step defined !!</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">step_flag</tt> <tt class="py-op">:</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">            <tt class="py-name">stepCode</tt><tt class="py-op">[</tt><tt id="link-9" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-9', 'step', 'link-1');">step</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">caseStatements</tt><tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">stepCode</tt> </tt>
+</div><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"> </tt>
+<a name="TestParser.getStepCode"></a><div id="TestParser.getStepCode-def"><a name="L122"></a><tt class="py-lineno">122</tt> <a class="py-toggle" href="#" id="TestParser.getStepCode-toggle" onclick="return toggle('TestParser.getStepCode');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.testparser.TestParser-class.html#getStepCode">getStepCode</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TestParser.getStepCode-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="TestParser.getStepCode-expanded"><a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-name">case_step_code</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-name">case_block</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method TestON.core.testparser.TestParser.case_code()=TestON.core.testparser.TestParser-class.html#case_code"><a title="TestON.core.testparser.TestParser.case_code" class="py-name" href="#" onclick="return doclink('link-10', 'case_code', 'link-10');">case_code</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-11" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-11', 'case', 'link-11');">case</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">case_block</tt> <tt class="py-op">:</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-name">case_step_code</tt><tt class="py-op">[</tt><tt id="link-12" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-12', 'case', 'link-11');">case</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt class="py-name">step_block</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.core.testparser.TestParser.step_code()=TestON.core.testparser.TestParser-class.html#step_code"><a title="TestON.core.testparser.TestParser.step_code" class="py-name" href="#" onclick="return doclink('link-13', 'step_code', 'link-13');">step_code</a></tt><tt class="py-op">(</tt><tt class="py-name">case_block</tt><tt class="py-op">[</tt><tt id="link-14" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-14', 'case', 'link-11');">case</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-15" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-15', 'step', 'link-1');">step</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">step_block</tt> <tt class="py-op">:</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">                <tt class="py-name">case_step_code</tt><tt class="py-op">[</tt><tt id="link-16" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-16', 'case', 'link-11');">case</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt id="link-17" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-17', 'step', 'link-1');">step</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">step_block</tt><tt class="py-op">[</tt><tt id="link-18" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-18', 'step', 'link-1');">step</a></tt><tt class="py-op">]</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">case_step_code</tt> </tt>
+</div></div><a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -202,13 +219,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.testparser.TestParser-class.html b/TestON/Documentation/TestON_Document/TestON.core.testparser.TestParser-class.html
index 573cade..641f86a 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.testparser.TestParser-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.testparser.TestParser-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -162,13 +167,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.xmldict-module.html b/TestON/Documentation/TestON_Document/TestON.core.xmldict-module.html
index f66829c..3db7105 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.xmldict-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.xmldict-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -62,6 +67,17 @@
 <hr />
 <div class="fields">      <p><strong>Author:</strong>
         Anil Kumar (anilkumar.s@paxterrasolutions.com)
+        <p>TestON is free software: you can redistribute it and/or modify 
+        it under the terms of the GNU General Public License as published 
+        by the Free Software Foundation, either version 2 of the License, 
+        or (at your option) any later version.</p>
+        <p>TestON is distributed in the hope that it will be useful, but 
+        WITHOUT ANY WARRANTY; without even the implied warranty of 
+        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+        General Public License for more details.</p>
+        <p>You should have received a copy of the GNU General Public 
+        License along with TestON.  If not, see 
+        &lt;http://www.gnu.org/licenses/&gt;.</p>
       </p>
 </div><!-- ==================== FUNCTIONS ==================== -->
 <a name="section-Functions"></a>
@@ -305,6 +321,31 @@
     </td>
   </tr>
 </table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.core'"><code class="variable-quote">'</code><code class="variable-string">TestON.core</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
 <!-- ==================== FUNCTION DETAILS ==================== -->
 <a name="section-FunctionDetails"></a>
 <table class="details" border="1" cellpadding="3"
@@ -404,13 +445,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.xmldict-pysrc.html b/TestON/Documentation/TestON_Document/TestON.core.xmldict-pysrc.html
index 0997d44..1872833 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.xmldict-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.xmldict-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -61,177 +66,194 @@
 <a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">Created on 03-Dec-2012</tt> </tt>
 <a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
 <a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-string">"""</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-string">    xmldict</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-string">    ~~~~~~~~~~~~~~~~~~~~~~~~~</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-string">    Convert xml to python dictionaries.</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-string">"""</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">datetime</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
-<a name="xml_to_dict"></a><div id="xml_to_dict-def"><a name="L15"></a><tt class="py-lineno"> 15</tt> <a class="py-toggle" href="#" id="xml_to_dict-toggle" onclick="return toggle('xml_to_dict');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#xml_to_dict">xml_to_dict</a><tt class="py-op">(</tt><tt class="py-param">root_or_str</tt><tt class="py-op">,</tt> <tt class="py-param">strict</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="xml_to_dict-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="xml_to_dict-expanded"><a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">    Converts `root_or_str` which can be parsed xml or a xml string to dict.</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    (at your option) any later version.</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
 <a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">    <tt class="py-name">root</tt> <tt class="py-op">=</tt> <tt class="py-name">root_or_str</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">root</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">xml</tt><tt class="py-op">.</tt><tt class="py-name">etree</tt><tt class="py-op">.</tt><tt class="py-name">cElementTree</tt> <tt class="py-keyword">as</tt> <tt class="py-name">ElementTree</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt class="py-name">root</tt> <tt class="py-op">=</tt> <tt class="py-name">ElementTree</tt><tt class="py-op">.</tt><tt class="py-name">XML</tt><tt class="py-op">(</tt><tt class="py-name">root_or_str</tt><tt class="py-op">)</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">{</tt><tt class="py-name">root</tt><tt class="py-op">.</tt><tt class="py-name">tag</tt><tt class="py-op">:</tt> <tt id="link-0" class="py-name" targets="Function TestON.core.xmldict._from_xml()=TestON.core.xmldict-module.html#_from_xml"><a title="TestON.core.xmldict._from_xml" class="py-name" href="#" onclick="return doclink('link-0', '_from_xml', 'link-0');">_from_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">root</tt><tt class="py-op">,</tt> <tt class="py-name">strict</tt><tt class="py-op">)</tt><tt class="py-op">}</tt> </tt>
-</div><a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
-<a name="dict_to_xml"></a><div id="dict_to_xml-def"><a name="L26"></a><tt class="py-lineno"> 26</tt> <a class="py-toggle" href="#" id="dict_to_xml-toggle" onclick="return toggle('dict_to_xml');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#dict_to_xml">dict_to_xml</a><tt class="py-op">(</tt><tt class="py-param">dict_xml</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="dict_to_xml-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="dict_to_xml-expanded"><a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-docstring">    Converts `dict_xml` which is a python dict to corresponding xml.</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-1" class="py-name" targets="Function TestON.core.xmldict._to_xml()=TestON.core.xmldict-module.html#_to_xml"><a title="TestON.core.xmldict._to_xml" class="py-name" href="#" onclick="return doclink('link-1', '_to_xml', 'link-1');">_to_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">dict_xml</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"> </tt>
-<a name="_to_xml"></a><div id="_to_xml-def"><a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="_to_xml-toggle" onclick="return toggle('_to_xml');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_to_xml">_to_xml</a><tt class="py-op">(</tt><tt class="py-param">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_to_xml-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_to_xml-expanded"><a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring">    Converts `el` to its xml representation.</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">    <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt id="link-2" class="py-name" targets="Function TestON.core.xmldict._dict_to_xml()=TestON.core.xmldict-module.html#_dict_to_xml"><a title="TestON.core.xmldict._dict_to_xml" class="py-name" href="#" onclick="return doclink('link-2', '_dict_to_xml', 'link-2');">_dict_to_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-name">bool</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">val</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-string">'null'</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">val</tt> </tt>
-</div><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
-<a name="_extract_attrs"></a><div id="_extract_attrs-def"><a name="L46"></a><tt class="py-lineno"> 46</tt> <a class="py-toggle" href="#" id="_extract_attrs-toggle" onclick="return toggle('_extract_attrs');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_extract_attrs">_extract_attrs</a><tt class="py-op">(</tt><tt class="py-param">els</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_extract_attrs-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_extract_attrs-expanded"><a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">    Extracts attributes from dictionary `els`. Attributes are keys which start</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-docstring">    with '@'</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">els</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-string">' %s="%s"'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">els</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">                   <tt class="py-keyword">if</tt> <tt class="py-name">key</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'@'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
-<a name="_dict_to_xml"></a><div id="_dict_to_xml-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="_dict_to_xml-toggle" onclick="return toggle('_dict_to_xml');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_dict_to_xml">_dict_to_xml</a><tt class="py-op">(</tt><tt class="py-param">els</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_dict_to_xml-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_dict_to_xml-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">    Converts `els` which is a python dict to corresponding xml.</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt class="py-keyword">def</tt> <tt class="py-def-name">process_content</tt><tt class="py-op">(</tt><tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-name">attrs</tt> <tt class="py-op">=</tt> <tt id="link-3" class="py-name" targets="Function TestON.core.xmldict._extract_attrs()=TestON.core.xmldict-module.html#_extract_attrs"><a title="TestON.core.xmldict._extract_attrs" class="py-name" href="#" onclick="return doclink('link-3', '_extract_attrs', 'link-3');">_extract_attrs</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">content</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'#text'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;%s%s&gt;%s%s&lt;/%s&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">tag</tt><tt class="py-op">,</tt> <tt class="py-name">attrs</tt><tt class="py-op">,</tt> <tt id="link-4" class="py-name"><a title="TestON.core.xmldict._to_xml" class="py-name" href="#" onclick="return doclink('link-4', '_to_xml', 'link-1');">_to_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-name">tag</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">    <tt class="py-name">tags</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">tag</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-keyword">in</tt> <tt class="py-name">els</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-comment"># Text and attributes</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">tag</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'@'</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">tag</tt> <tt class="py-op">==</tt> <tt class="py-string">'#text'</tt><tt class="py-op">:</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">            <tt class="py-keyword">continue</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">content</tt><tt class="py-op">:</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">                <tt class="py-name">tags</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">process_content</tt><tt class="py-op">(</tt><tt class="py-name">tag</tt><tt class="py-op">,</tt> <tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-name">tags</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">process_content</tt><tt class="py-op">(</tt><tt class="py-name">tag</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-name">tags</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'&lt;%s&gt;%s&lt;/%s&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">tag</tt><tt class="py-op">,</tt> <tt id="link-5" class="py-name"><a title="TestON.core.xmldict._to_xml" class="py-name" href="#" onclick="return doclink('link-5', '_to_xml', 'link-1');">_to_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">tag</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">tags</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"> </tt>
-<a name="_is_xml_el_dict"></a><div id="_is_xml_el_dict-def"><a name="L79"></a><tt class="py-lineno"> 79</tt> <a class="py-toggle" href="#" id="_is_xml_el_dict-toggle" onclick="return toggle('_is_xml_el_dict');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_is_xml_el_dict">_is_xml_el_dict</a><tt class="py-op">(</tt><tt class="py-param">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_is_xml_el_dict-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_is_xml_el_dict-expanded"><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">    Returns true if `el` is supposed to be a dict.</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">    This function makes sense only in the context of making dicts out of xml.</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt>  <tt class="py-keyword">or</tt> <tt class="py-name">el</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">tag</tt> <tt class="py-op">!=</tt> <tt class="py-name">el</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">tag</tt><tt class="py-op">:</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"> </tt>
-<a name="_is_xml_el_list"></a><div id="_is_xml_el_list-def"><a name="L88"></a><tt class="py-lineno"> 88</tt> <a class="py-toggle" href="#" id="_is_xml_el_list-toggle" onclick="return toggle('_is_xml_el_list');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_is_xml_el_list">_is_xml_el_list</a><tt class="py-op">(</tt><tt class="py-param">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_is_xml_el_list-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_is_xml_el_list-expanded"><a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring">    Returns true if `el` is supposed to be a list.</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">    This function makes sense only in the context of making lists out of xml.</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt> <tt class="py-keyword">and</tt> <tt class="py-name">el</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">tag</tt> <tt class="py-op">==</tt> <tt class="py-name">el</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">tag</tt><tt class="py-op">:</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"> </tt>
-<a name="_str_to_datetime"></a><div id="_str_to_datetime-def"><a name="L97"></a><tt class="py-lineno"> 97</tt> <a class="py-toggle" href="#" id="_str_to_datetime-toggle" onclick="return toggle('_str_to_datetime');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_str_to_datetime">_str_to_datetime</a><tt class="py-op">(</tt><tt class="py-param">date_str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_str_to_datetime-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_str_to_datetime-expanded"><a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">strptime</tt><tt class="py-op">(</tt><tt class="py-name">date_str</tt><tt class="py-op">,</tt>  <tt class="py-string">"%Y-%m-%dT%H:%M:%SZ"</tt><tt class="py-op">)</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">date_str</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">val</tt> </tt>
-</div><a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"> </tt>
-<a name="_str_to_boolean"></a><div id="_str_to_boolean-def"><a name="L104"></a><tt class="py-lineno">104</tt> <a class="py-toggle" href="#" id="_str_to_boolean-toggle" onclick="return toggle('_str_to_boolean');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_str_to_boolean">_str_to_boolean</a><tt class="py-op">(</tt><tt class="py-param">bool_str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_str_to_boolean-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_str_to_boolean-expanded"><a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">bool_str</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-string">'false'</tt> <tt class="py-keyword">and</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt><tt class="py-name">bool_str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"> </tt>
-<a name="_from_xml"></a><div id="_from_xml-def"><a name="L109"></a><tt class="py-lineno">109</tt> <a class="py-toggle" href="#" id="_from_xml-toggle" onclick="return toggle('_from_xml');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_from_xml">_from_xml</a><tt class="py-op">(</tt><tt class="py-param">el</tt><tt class="py-op">,</tt> <tt class="py-param">strict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_from_xml-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_from_xml-expanded"><a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring">    Extracts value of xml element element `el`.</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">    <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">    <tt class="py-comment"># Parent node.</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">:</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-6" class="py-name" targets="Function TestON.core.xmldict._is_xml_el_dict()=TestON.core.xmldict-module.html#_is_xml_el_dict"><a title="TestON.core.xmldict._is_xml_el_dict" class="py-name" href="#" onclick="return doclink('link-6', '_is_xml_el_dict', 'link-6');">_is_xml_el_dict</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt id="link-7" class="py-name" targets="Function TestON.core.xmldict._dict_from_xml()=TestON.core.xmldict-module.html#_dict_from_xml"><a title="TestON.core.xmldict._dict_from_xml" class="py-name" href="#" onclick="return doclink('link-7', '_dict_from_xml', 'link-7');">_dict_from_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-name">strict</tt><tt class="py-op">)</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt id="link-8" class="py-name" targets="Function TestON.core.xmldict._is_xml_el_list()=TestON.core.xmldict-module.html#_is_xml_el_list"><a title="TestON.core.xmldict._is_xml_el_list" class="py-name" href="#" onclick="return doclink('link-8', '_is_xml_el_list', 'link-8');">_is_xml_el_list</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">            <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt id="link-9" class="py-name" targets="Function TestON.core.xmldict._list_from_xml()=TestON.core.xmldict-module.html#_list_from_xml"><a title="TestON.core.xmldict._list_from_xml" class="py-name" href="#" onclick="return doclink('link-9', '_list_from_xml', 'link-9');">_list_from_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-name">strict</tt><tt class="py-op">)</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">    <tt class="py-comment"># Simple node.</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-name">attribs</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-comment"># An element with attributes.</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">attribs</tt> <tt class="py-keyword">and</tt> <tt class="py-name">strict</tt><tt class="py-op">:</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'@%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">k</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">k</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">attribs</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">:</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">                <tt class="py-name">converted</tt> <tt class="py-op">=</tt> <tt id="link-10" class="py-name" targets="Function TestON.core.xmldict._val_and_maybe_convert()=TestON.core.xmldict-module.html#_val_and_maybe_convert"><a title="TestON.core.xmldict._val_and_maybe_convert" class="py-name" href="#" onclick="return doclink('link-10', '_val_and_maybe_convert', 'link-10');">_val_and_maybe_convert</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">                <tt class="py-name">val</tt><tt class="py-op">[</tt><tt class="py-string">'#text'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">converted</tt> <tt class="py-op">!=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">:</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">                    <tt class="py-name">val</tt><tt class="py-op">[</tt><tt class="py-string">'#value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">converted</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">:</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-comment"># An element with no subelements but text.</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">            <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name"><a title="TestON.core.xmldict._val_and_maybe_convert" class="py-name" href="#" onclick="return doclink('link-11', '_val_and_maybe_convert', 'link-10');">_val_and_maybe_convert</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">attribs</tt><tt class="py-op">:</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">            <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">attribs</tt><tt class="py-op">)</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">val</tt> </tt>
-</div><a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"> </tt>
-<a name="_val_and_maybe_convert"></a><div id="_val_and_maybe_convert-def"><a name="L138"></a><tt class="py-lineno">138</tt> <a class="py-toggle" href="#" id="_val_and_maybe_convert-toggle" onclick="return toggle('_val_and_maybe_convert');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_val_and_maybe_convert">_val_and_maybe_convert</a><tt class="py-op">(</tt><tt class="py-param">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_val_and_maybe_convert-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_val_and_maybe_convert-expanded"><a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-docstring">    Converts `el.text` if `el` has attribute `type` with valid value.</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">    <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">    <tt class="py-name">data_type</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'type'</tt><tt class="py-op">)</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">    <tt class="py-name">convertor</tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name"><a title="TestON.core.xmldict._val_and_maybe_convert" class="py-name" href="#" onclick="return doclink('link-12', '_val_and_maybe_convert', 'link-10');">_val_and_maybe_convert</a></tt><tt class="py-op">.</tt><tt class="py-name">convertors</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">data_type</tt><tt class="py-op">)</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">convertor</tt><tt class="py-op">:</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">convertor</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">text</tt> </tt>
-</div><a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt id="link-13" class="py-name"><a title="TestON.core.xmldict._val_and_maybe_convert" class="py-name" href="#" onclick="return doclink('link-13', '_val_and_maybe_convert', 'link-10');">_val_and_maybe_convert</a></tt><tt class="py-op">.</tt><tt class="py-name">convertors</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">    <tt class="py-string">'boolean'</tt><tt class="py-op">:</tt> <tt id="link-14" class="py-name" targets="Function TestON.core.xmldict._str_to_boolean()=TestON.core.xmldict-module.html#_str_to_boolean"><a title="TestON.core.xmldict._str_to_boolean" class="py-name" href="#" onclick="return doclink('link-14', '_str_to_boolean', 'link-14');">_str_to_boolean</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">    <tt class="py-string">'datetime'</tt><tt class="py-op">:</tt> <tt id="link-15" class="py-name" targets="Function TestON.core.xmldict._str_to_datetime()=TestON.core.xmldict-module.html#_str_to_datetime"><a title="TestON.core.xmldict._str_to_datetime" class="py-name" href="#" onclick="return doclink('link-15', '_str_to_datetime', 'link-15');">_str_to_datetime</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">    <tt class="py-string">'integer'</tt><tt class="py-op">:</tt> <tt class="py-name">int</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"> </tt>
-<a name="_list_from_xml"></a><div id="_list_from_xml-def"><a name="L155"></a><tt class="py-lineno">155</tt> <a class="py-toggle" href="#" id="_list_from_xml-toggle" onclick="return toggle('_list_from_xml');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_list_from_xml">_list_from_xml</a><tt class="py-op">(</tt><tt class="py-param">els</tt><tt class="py-op">,</tt> <tt class="py-param">strict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_list_from_xml-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_list_from_xml-expanded"><a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring">    Converts xml elements list `el_list` to a python list.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-string">"""</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-string">    xmldict</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-string">    ~~~~~~~~~~~~~~~~~~~~~~~~~</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-string">    Convert xml to python dictionaries.</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-string">"""</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">datetime</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
+<a name="xml_to_dict"></a><div id="xml_to_dict-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="xml_to_dict-toggle" onclick="return toggle('xml_to_dict');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#xml_to_dict">xml_to_dict</a><tt class="py-op">(</tt><tt class="py-param">root_or_str</tt><tt class="py-op">,</tt> <tt class="py-param">strict</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="xml_to_dict-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="xml_to_dict-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring">    Converts `root_or_str` which can be parsed xml or a xml string to dict.</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">    <tt class="py-name">root</tt> <tt class="py-op">=</tt> <tt class="py-name">root_or_str</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">root</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">xml</tt><tt class="py-op">.</tt><tt class="py-name">etree</tt><tt class="py-op">.</tt><tt class="py-name">cElementTree</tt> <tt class="py-keyword">as</tt> <tt class="py-name">ElementTree</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">root</tt> <tt class="py-op">=</tt> <tt class="py-name">ElementTree</tt><tt class="py-op">.</tt><tt class="py-name">XML</tt><tt class="py-op">(</tt><tt class="py-name">root_or_str</tt><tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">{</tt><tt class="py-name">root</tt><tt class="py-op">.</tt><tt class="py-name">tag</tt><tt class="py-op">:</tt> <tt id="link-0" class="py-name" targets="Function TestON.core.xmldict._from_xml()=TestON.core.xmldict-module.html#_from_xml"><a title="TestON.core.xmldict._from_xml" class="py-name" href="#" onclick="return doclink('link-0', '_from_xml', 'link-0');">_from_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">root</tt><tt class="py-op">,</tt> <tt class="py-name">strict</tt><tt class="py-op">)</tt><tt class="py-op">}</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"> </tt>
+<a name="dict_to_xml"></a><div id="dict_to_xml-def"><a name="L43"></a><tt class="py-lineno"> 43</tt> <a class="py-toggle" href="#" id="dict_to_xml-toggle" onclick="return toggle('dict_to_xml');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#dict_to_xml">dict_to_xml</a><tt class="py-op">(</tt><tt class="py-param">dict_xml</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="dict_to_xml-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="dict_to_xml-expanded"><a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">    Converts `dict_xml` which is a python dict to corresponding xml.</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-1" class="py-name" targets="Function TestON.core.xmldict._to_xml()=TestON.core.xmldict-module.html#_to_xml"><a title="TestON.core.xmldict._to_xml" class="py-name" href="#" onclick="return doclink('link-1', '_to_xml', 'link-1');">_to_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">dict_xml</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"> </tt>
+<a name="_to_xml"></a><div id="_to_xml-def"><a name="L49"></a><tt class="py-lineno"> 49</tt> <a class="py-toggle" href="#" id="_to_xml-toggle" onclick="return toggle('_to_xml');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_to_xml">_to_xml</a><tt class="py-op">(</tt><tt class="py-param">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_to_xml-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_to_xml-expanded"><a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">    Converts `el` to its xml representation.</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">    <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt id="link-2" class="py-name" targets="Function TestON.core.xmldict._dict_to_xml()=TestON.core.xmldict-module.html#_dict_to_xml"><a title="TestON.core.xmldict._dict_to_xml" class="py-name" href="#" onclick="return doclink('link-2', '_dict_to_xml', 'link-2');">_dict_to_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-name">bool</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">val</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-string">'null'</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">val</tt> </tt>
+</div><a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"> </tt>
+<a name="_extract_attrs"></a><div id="_extract_attrs-def"><a name="L63"></a><tt class="py-lineno"> 63</tt> <a class="py-toggle" href="#" id="_extract_attrs-toggle" onclick="return toggle('_extract_attrs');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_extract_attrs">_extract_attrs</a><tt class="py-op">(</tt><tt class="py-param">els</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_extract_attrs-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_extract_attrs-expanded"><a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">    Extracts attributes from dictionary `els`. Attributes are keys which start</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">    with '@'</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">els</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-string">' %s="%s"'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">els</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">                   <tt class="py-keyword">if</tt> <tt class="py-name">key</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'@'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"> </tt>
+<a name="_dict_to_xml"></a><div id="_dict_to_xml-def"><a name="L73"></a><tt class="py-lineno"> 73</tt> <a class="py-toggle" href="#" id="_dict_to_xml-toggle" onclick="return toggle('_dict_to_xml');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_dict_to_xml">_dict_to_xml</a><tt class="py-op">(</tt><tt class="py-param">els</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_dict_to_xml-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_dict_to_xml-expanded"><a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">    Converts `els` which is a python dict to corresponding xml.</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">    <tt class="py-keyword">def</tt> <tt class="py-def-name">process_content</tt><tt class="py-op">(</tt><tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-name">attrs</tt> <tt class="py-op">=</tt> <tt id="link-3" class="py-name" targets="Function TestON.core.xmldict._extract_attrs()=TestON.core.xmldict-module.html#_extract_attrs"><a title="TestON.core.xmldict._extract_attrs" class="py-name" href="#" onclick="return doclink('link-3', '_extract_attrs', 'link-3');">_extract_attrs</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">content</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'#text'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;%s%s&gt;%s%s&lt;/%s&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">tag</tt><tt class="py-op">,</tt> <tt class="py-name">attrs</tt><tt class="py-op">,</tt> <tt id="link-4" class="py-name"><a title="TestON.core.xmldict._to_xml" class="py-name" href="#" onclick="return doclink('link-4', '_to_xml', 'link-1');">_to_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-name">tag</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">    <tt class="py-name">tags</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">tag</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-keyword">in</tt> <tt class="py-name">els</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-comment"># Text and attributes</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">tag</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">'@'</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">tag</tt> <tt class="py-op">==</tt> <tt class="py-string">'#text'</tt><tt class="py-op">:</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-keyword">continue</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">content</tt><tt class="py-op">:</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                <tt class="py-name">tags</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">process_content</tt><tt class="py-op">(</tt><tt class="py-name">tag</tt><tt class="py-op">,</tt> <tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt class="py-name">tags</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">process_content</tt><tt class="py-op">(</tt><tt class="py-name">tag</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">            <tt class="py-name">tags</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'&lt;%s&gt;%s&lt;/%s&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">tag</tt><tt class="py-op">,</tt> <tt id="link-5" class="py-name"><a title="TestON.core.xmldict._to_xml" class="py-name" href="#" onclick="return doclink('link-5', '_to_xml', 'link-1');">_to_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">tag</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">tags</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"> </tt>
+<a name="_is_xml_el_dict"></a><div id="_is_xml_el_dict-def"><a name="L96"></a><tt class="py-lineno"> 96</tt> <a class="py-toggle" href="#" id="_is_xml_el_dict-toggle" onclick="return toggle('_is_xml_el_dict');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_is_xml_el_dict">_is_xml_el_dict</a><tt class="py-op">(</tt><tt class="py-param">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_is_xml_el_dict-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_is_xml_el_dict-expanded"><a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-docstring">    Returns true if `el` is supposed to be a dict.</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-docstring">    This function makes sense only in the context of making dicts out of xml.</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt>  <tt class="py-keyword">or</tt> <tt class="py-name">el</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">tag</tt> <tt class="py-op">!=</tt> <tt class="py-name">el</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">tag</tt><tt class="py-op">:</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"> </tt>
+<a name="_is_xml_el_list"></a><div id="_is_xml_el_list-def"><a name="L105"></a><tt class="py-lineno">105</tt> <a class="py-toggle" href="#" id="_is_xml_el_list-toggle" onclick="return toggle('_is_xml_el_list');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_is_xml_el_list">_is_xml_el_list</a><tt class="py-op">(</tt><tt class="py-param">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_is_xml_el_list-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_is_xml_el_list-expanded"><a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">    Returns true if `el` is supposed to be a list.</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring">    This function makes sense only in the context of making lists out of xml.</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt> <tt class="py-keyword">and</tt> <tt class="py-name">el</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">tag</tt> <tt class="py-op">==</tt> <tt class="py-name">el</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">tag</tt><tt class="py-op">:</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"> </tt>
+<a name="_str_to_datetime"></a><div id="_str_to_datetime-def"><a name="L114"></a><tt class="py-lineno">114</tt> <a class="py-toggle" href="#" id="_str_to_datetime-toggle" onclick="return toggle('_str_to_datetime');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_str_to_datetime">_str_to_datetime</a><tt class="py-op">(</tt><tt class="py-param">date_str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_str_to_datetime-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_str_to_datetime-expanded"><a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">strptime</tt><tt class="py-op">(</tt><tt class="py-name">date_str</tt><tt class="py-op">,</tt>  <tt class="py-string">"%Y-%m-%dT%H:%M:%SZ"</tt><tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">date_str</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">val</tt> </tt>
+</div><a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"> </tt>
+<a name="_str_to_boolean"></a><div id="_str_to_boolean-def"><a name="L121"></a><tt class="py-lineno">121</tt> <a class="py-toggle" href="#" id="_str_to_boolean-toggle" onclick="return toggle('_str_to_boolean');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_str_to_boolean">_str_to_boolean</a><tt class="py-op">(</tt><tt class="py-param">bool_str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_str_to_boolean-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_str_to_boolean-expanded"><a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">bool_str</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-string">'false'</tt> <tt class="py-keyword">and</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt><tt class="py-name">bool_str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"> </tt>
+<a name="_from_xml"></a><div id="_from_xml-def"><a name="L126"></a><tt class="py-lineno">126</tt> <a class="py-toggle" href="#" id="_from_xml-toggle" onclick="return toggle('_from_xml');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_from_xml">_from_xml</a><tt class="py-op">(</tt><tt class="py-param">el</tt><tt class="py-op">,</tt> <tt class="py-param">strict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_from_xml-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_from_xml-expanded"><a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">    Extracts value of xml element element `el`.</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">    <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">    <tt class="py-comment"># Parent node.</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">:</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-6" class="py-name" targets="Function TestON.core.xmldict._is_xml_el_dict()=TestON.core.xmldict-module.html#_is_xml_el_dict"><a title="TestON.core.xmldict._is_xml_el_dict" class="py-name" href="#" onclick="return doclink('link-6', '_is_xml_el_dict', 'link-6');">_is_xml_el_dict</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt id="link-7" class="py-name" targets="Function TestON.core.xmldict._dict_from_xml()=TestON.core.xmldict-module.html#_dict_from_xml"><a title="TestON.core.xmldict._dict_from_xml" class="py-name" href="#" onclick="return doclink('link-7', '_dict_from_xml', 'link-7');">_dict_from_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-name">strict</tt><tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt id="link-8" class="py-name" targets="Function TestON.core.xmldict._is_xml_el_list()=TestON.core.xmldict-module.html#_is_xml_el_list"><a title="TestON.core.xmldict._is_xml_el_list" class="py-name" href="#" onclick="return doclink('link-8', '_is_xml_el_list', 'link-8');">_is_xml_el_list</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">            <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt id="link-9" class="py-name" targets="Function TestON.core.xmldict._list_from_xml()=TestON.core.xmldict-module.html#_list_from_xml"><a title="TestON.core.xmldict._list_from_xml" class="py-name" href="#" onclick="return doclink('link-9', '_list_from_xml', 'link-9');">_list_from_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-name">strict</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">    <tt class="py-comment"># Simple node.</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-name">attribs</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-comment"># An element with attributes.</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">attribs</tt> <tt class="py-keyword">and</tt> <tt class="py-name">strict</tt><tt class="py-op">:</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">            <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'@%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">k</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">k</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">attribs</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">:</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">                <tt class="py-name">converted</tt> <tt class="py-op">=</tt> <tt id="link-10" class="py-name" targets="Function TestON.core.xmldict._val_and_maybe_convert()=TestON.core.xmldict-module.html#_val_and_maybe_convert"><a title="TestON.core.xmldict._val_and_maybe_convert" class="py-name" href="#" onclick="return doclink('link-10', '_val_and_maybe_convert', 'link-10');">_val_and_maybe_convert</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">                <tt class="py-name">val</tt><tt class="py-op">[</tt><tt class="py-string">'#text'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">converted</tt> <tt class="py-op">!=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">:</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">                    <tt class="py-name">val</tt><tt class="py-op">[</tt><tt class="py-string">'#value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">converted</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">:</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">            <tt class="py-comment"># An element with no subelements but text.</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name"><a title="TestON.core.xmldict._val_and_maybe_convert" class="py-name" href="#" onclick="return doclink('link-11', '_val_and_maybe_convert', 'link-10');">_val_and_maybe_convert</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">attribs</tt><tt class="py-op">:</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">attribs</tt><tt class="py-op">)</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">val</tt> </tt>
+</div><a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"> </tt>
+<a name="_val_and_maybe_convert"></a><div id="_val_and_maybe_convert-def"><a name="L155"></a><tt class="py-lineno">155</tt> <a class="py-toggle" href="#" id="_val_and_maybe_convert-toggle" onclick="return toggle('_val_and_maybe_convert');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_val_and_maybe_convert">_val_and_maybe_convert</a><tt class="py-op">(</tt><tt class="py-param">el</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_val_and_maybe_convert-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_val_and_maybe_convert-expanded"><a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring">    Converts `el.text` if `el` has attribute `type` with valid value.</tt> </tt>
 <a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">    <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">els</tt><tt class="py-op">:</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-name">tag</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">attrib</tt><tt class="py-op">[</tt><tt class="py-string">"name"</tt><tt class="py-op">]</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">temp</tt><tt class="py-op">[</tt><tt class="py-name">tag</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt id="link-16" class="py-name"><a title="TestON.core.xmldict._from_xml" class="py-name" href="#" onclick="return doclink('link-16', '_from_xml', 'link-0');">_from_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-name">strict</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">temp</tt> </tt>
-</div><a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"> </tt>
-<a name="_dict_from_xml"></a><div id="_dict_from_xml-def"><a name="L166"></a><tt class="py-lineno">166</tt> <a class="py-toggle" href="#" id="_dict_from_xml-toggle" onclick="return toggle('_dict_from_xml');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_dict_from_xml">_dict_from_xml</a><tt class="py-op">(</tt><tt class="py-param">els</tt><tt class="py-op">,</tt> <tt class="py-param">strict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_dict_from_xml-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_dict_from_xml-expanded"><a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-docstring">    Converts xml doc with root `root` to a python dict.</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">    <tt class="py-comment"># An element with subelements.</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">    <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">els</tt><tt class="py-op">:</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-name">res</tt><tt class="py-op">[</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">tag</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name"><a title="TestON.core.xmldict._from_xml" class="py-name" href="#" onclick="return doclink('link-17', '_from_xml', 'link-0');">_from_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-name">strict</tt><tt class="py-op">)</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">res</tt> </tt>
-</div><a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">    <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">    <tt class="py-name">data_type</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'type'</tt><tt class="py-op">)</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">    <tt class="py-name">convertor</tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name"><a title="TestON.core.xmldict._val_and_maybe_convert" class="py-name" href="#" onclick="return doclink('link-12', '_val_and_maybe_convert', 'link-10');">_val_and_maybe_convert</a></tt><tt class="py-op">.</tt><tt class="py-name">convertors</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">data_type</tt><tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">convertor</tt><tt class="py-op">:</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">convertor</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">text</tt> </tt>
+</div><a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt id="link-13" class="py-name"><a title="TestON.core.xmldict._val_and_maybe_convert" class="py-name" href="#" onclick="return doclink('link-13', '_val_and_maybe_convert', 'link-10');">_val_and_maybe_convert</a></tt><tt class="py-op">.</tt><tt class="py-name">convertors</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">    <tt class="py-string">'boolean'</tt><tt class="py-op">:</tt> <tt id="link-14" class="py-name" targets="Function TestON.core.xmldict._str_to_boolean()=TestON.core.xmldict-module.html#_str_to_boolean"><a title="TestON.core.xmldict._str_to_boolean" class="py-name" href="#" onclick="return doclink('link-14', '_str_to_boolean', 'link-14');">_str_to_boolean</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">    <tt class="py-string">'datetime'</tt><tt class="py-op">:</tt> <tt id="link-15" class="py-name" targets="Function TestON.core.xmldict._str_to_datetime()=TestON.core.xmldict-module.html#_str_to_datetime"><a title="TestON.core.xmldict._str_to_datetime" class="py-name" href="#" onclick="return doclink('link-15', '_str_to_datetime', 'link-15');">_str_to_datetime</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">    <tt class="py-string">'integer'</tt><tt class="py-op">:</tt> <tt class="py-name">int</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"> </tt>
+<a name="_list_from_xml"></a><div id="_list_from_xml-def"><a name="L172"></a><tt class="py-lineno">172</tt> <a class="py-toggle" href="#" id="_list_from_xml-toggle" onclick="return toggle('_list_from_xml');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_list_from_xml">_list_from_xml</a><tt class="py-op">(</tt><tt class="py-param">els</tt><tt class="py-op">,</tt> <tt class="py-param">strict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_list_from_xml-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_list_from_xml-expanded"><a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-docstring">    Converts xml elements list `el_list` to a python list.</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">    <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">els</tt><tt class="py-op">:</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-name">tag</tt> <tt class="py-op">=</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">attrib</tt><tt class="py-op">[</tt><tt class="py-string">"name"</tt><tt class="py-op">]</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">temp</tt><tt class="py-op">[</tt><tt class="py-name">tag</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt id="link-16" class="py-name"><a title="TestON.core.xmldict._from_xml" class="py-name" href="#" onclick="return doclink('link-16', '_from_xml', 'link-0');">_from_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-name">strict</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">temp</tt> </tt>
+</div><a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"> </tt>
+<a name="_dict_from_xml"></a><div id="_dict_from_xml-def"><a name="L183"></a><tt class="py-lineno">183</tt> <a class="py-toggle" href="#" id="_dict_from_xml-toggle" onclick="return toggle('_dict_from_xml');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmldict-module.html#_dict_from_xml">_dict_from_xml</a><tt class="py-op">(</tt><tt class="py-param">els</tt><tt class="py-op">,</tt> <tt class="py-param">strict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_dict_from_xml-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_dict_from_xml-expanded"><a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-docstring">    Converts xml doc with root `root` to a python dict.</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">    <tt class="py-comment"># An element with subelements.</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">    <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">els</tt><tt class="py-op">:</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-name">res</tt><tt class="py-op">[</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt class="py-name">tag</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name"><a title="TestON.core.xmldict._from_xml" class="py-name" href="#" onclick="return doclink('link-17', '_from_xml', 'link-0');">_from_xml</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-name">strict</tt><tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">res</tt> </tt>
+</div><a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -258,13 +280,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.xmlparser-module.html b/TestON/Documentation/TestON_Document/TestON.core.xmlparser-module.html
index 8e547b6..b746cab 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.xmlparser-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.xmlparser-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -62,6 +67,17 @@
 <hr />
 <div class="fields">      <p><strong>Author:</strong>
         Raghav Kashyap(raghavkashyap@paxterrasolutions.com)
+        <p>TestON is free software: you can redistribute it and/or modify 
+        it under the terms of the GNU General Public License as published 
+        by the Free Software Foundation, either version 2 of the License, 
+        or (at your option) any later version.</p>
+        <p>TestON is distributed in the hope that it will be useful, but 
+        WITHOUT ANY WARRANTY; without even the implied warranty of 
+        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+        General Public License for more details.</p>
+        <p>You should have received a copy of the GNU General Public 
+        License along with TestON.  If not, see 
+        &lt;http://www.gnu.org/licenses/&gt;.</p>
       </p>
 </div><!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
@@ -88,6 +104,31 @@
     </td>
   </tr>
 </table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.core'"><code class="variable-quote">'</code><code class="variable-string">TestON.core</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -108,13 +149,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.xmlparser-pysrc.html b/TestON/Documentation/TestON_Document/TestON.core.xmlparser-pysrc.html
index 94531ad..b0bbe1d 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.xmlparser-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.xmlparser-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,58 +65,78 @@
 <a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#/usr/bin/env python</tt> </tt>
 <a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
 <a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 07-Jan-2013</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring">       </tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
 <a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Raghav Kashyap(raghavkashyap@paxterrasolutions.com)</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Module TestON.core.xmldict=TestON.core.xmldict-module.html"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-0', 'xmldict', 'link-0');">xmldict</a></tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"> </tt>
-<a name="xmlparser"></a><div id="xmlparser-def"><a name="L11"></a><tt class="py-lineno">11</tt> <a class="py-toggle" href="#" id="xmlparser-toggle" onclick="return toggle('xmlparser');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.core.xmlparser.xmlparser-class.html">xmlparser</a> <tt class="py-op">:</tt> </tt>
-</div><div id="xmlparser-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="xmlparser-expanded"><a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">     </tt>
-<a name="xmlparser.__init__"></a><div id="xmlparser.__init__-def"><a name="L13"></a><tt class="py-lineno">13</tt> <a class="py-toggle" href="#" id="xmlparser.__init__-toggle" onclick="return toggle('xmlparser.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmlparser.xmlparser-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="xmlparser.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="xmlparser.__init__-expanded"><a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-1', 'default', 'link-1');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-</div><a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"> </tt>
-<a name="xmlparser.parse"></a><div id="xmlparser.parse-def"><a name="L16"></a><tt class="py-lineno">16</tt> <a class="py-toggle" href="#" id="xmlparser.parse-toggle" onclick="return toggle('xmlparser.parse');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmlparser.xmlparser-class.html#parse">parse</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">fileName</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="xmlparser.parse-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="xmlparser.parse-expanded"><a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">         This will parse the params or topo or cfg file and return content in the file as Dictionary</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileName</tt> <tt class="py-op">=</tt> <tt class="py-name">fileName</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">        <tt class="py-name">matchFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">r'(.*)\.(params|topo|cfg)'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileName</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">M</tt> <tt class="py-op">|</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">I</tt><tt class="py-op">)</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">matchFileName</tt><tt class="py-op">:</tt> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">            <tt class="py-name">xml</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">fileName</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">                <tt class="py-name">parsedInfo</tt> <tt class="py-op">=</tt> <tt id="link-2" class="py-name"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-2', 'xmldict', 'link-0');">xmldict</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Function TestON.core.xmldict.xml_to_dict()=TestON.core.xmldict-module.html#xml_to_dict"><a title="TestON.core.xmldict.xml_to_dict" class="py-name" href="#" onclick="return doclink('link-3', 'xml_to_dict', 'link-3');">xml_to_dict</a></tt><tt class="py-op">(</tt><tt class="py-name">xml</tt><tt class="py-op">)</tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">parsedInfo</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"There is no such file to parse "</tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt>  </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"file name is not correct"</tt> </tt>
-</div><a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"> </tt>
-<a name="xmlparser.parseParams"></a><div id="xmlparser.parseParams-def"><a name="L32"></a><tt class="py-lineno">32</tt> <a class="py-toggle" href="#" id="xmlparser.parseParams-toggle" onclick="return toggle('xmlparser.parseParams');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmlparser.xmlparser-class.html#parseParams">parseParams</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">paramsPath</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="xmlparser.parseParams-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="xmlparser.parseParams-expanded"><a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"><tt class="py-docstring">         It will take the params file path and will return the params dictionary</tt> </tt>
-<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">        <tt class="py-name">paramsPath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\."</tt><tt class="py-op">,</tt><tt class="py-string">"/"</tt><tt class="py-op">,</tt><tt class="py-name">paramsPath</tt><tt class="py-op">)</tt>  </tt>
-<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-name">paramsPath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"tests|examples"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">paramsPath</tt><tt class="py-op">)</tt> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Function TestON.core.ast.parse()=TestON.core.ast-module.html#parse,Method TestON.core.iniparser.iniparser.parse()=TestON.core.iniparser.iniparser-class.html#parse,Method TestON.core.xmlparser.xmlparser.parse()=TestON.core.xmlparser.xmlparser-class.html#parse"><a title="TestON.core.ast.parse
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Module TestON.core.xmldict=TestON.core.xmldict-module.html"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-0', 'xmldict', 'link-0');">xmldict</a></tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"> </tt>
+<a name="xmlparser"></a><div id="xmlparser-def"><a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="xmlparser-toggle" onclick="return toggle('xmlparser');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.core.xmlparser.xmlparser-class.html">xmlparser</a> <tt class="py-op">:</tt> </tt>
+</div><div id="xmlparser-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="xmlparser-expanded"><a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"> </tt>
+<a name="xmlparser.__init__"></a><div id="xmlparser.__init__-def"><a name="L28"></a><tt class="py-lineno">28</tt> <a class="py-toggle" href="#" id="xmlparser.__init__-toggle" onclick="return toggle('xmlparser.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmlparser.xmlparser-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="xmlparser.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="xmlparser.__init__-expanded"><a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-1', 'default', 'link-1');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"> </tt>
+<a name="xmlparser.parse"></a><div id="xmlparser.parse-def"><a name="L31"></a><tt class="py-lineno">31</tt> <a class="py-toggle" href="#" id="xmlparser.parse-toggle" onclick="return toggle('xmlparser.parse');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmlparser.xmlparser-class.html#parse">parse</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">fileName</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="xmlparser.parse-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="xmlparser.parse-expanded"><a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"><tt class="py-docstring">         This will parse the params or topo or cfg file and return content in the file as Dictionary</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileName</tt> <tt class="py-op">=</tt> <tt class="py-name">fileName</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">        <tt class="py-name">matchFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-string">r'(.*)\.(params|topo|cfg)'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fileName</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">M</tt> <tt class="py-op">|</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">I</tt><tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">matchFileName</tt><tt class="py-op">:</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">            <tt class="py-name">xml</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">fileName</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">                <tt class="py-name">parsedInfo</tt> <tt class="py-op">=</tt> <tt id="link-2" class="py-name"><a title="TestON.core.xmldict" class="py-name" href="#" onclick="return doclink('link-2', 'xmldict', 'link-0');">xmldict</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Function TestON.core.xmldict.xml_to_dict()=TestON.core.xmldict-module.html#xml_to_dict"><a title="TestON.core.xmldict.xml_to_dict" class="py-name" href="#" onclick="return doclink('link-3', 'xml_to_dict', 'link-3');">xml_to_dict</a></tt><tt class="py-op">(</tt><tt class="py-name">xml</tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">parsedInfo</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"There is no such file to parse "</tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"file name is not correct"</tt> </tt>
+</div><a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line"> </tt>
+<a name="xmlparser.parseParams"></a><div id="xmlparser.parseParams-def"><a name="L47"></a><tt class="py-lineno">47</tt> <a class="py-toggle" href="#" id="xmlparser.parseParams-toggle" onclick="return toggle('xmlparser.parseParams');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmlparser.xmlparser-class.html#parseParams">parseParams</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">paramsPath</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="xmlparser.parseParams-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="xmlparser.parseParams-expanded"><a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"><tt class="py-docstring">         It will take the params file path and will return the params dictionary</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">        <tt class="py-name">paramsPath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\."</tt><tt class="py-op">,</tt><tt class="py-string">"/"</tt><tt class="py-op">,</tt><tt class="py-name">paramsPath</tt><tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">        <tt class="py-name">paramsPath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"tests|examples"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">paramsPath</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">        <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Function TestON.core.ast.parse()=TestON.core.ast-module.html#parse,Method TestON.core.iniparser.iniparser.parse()=TestON.core.iniparser.iniparser-class.html#parse,Method TestON.core.xmlparser.xmlparser.parse()=TestON.core.xmlparser.xmlparser-class.html#parse"><a title="TestON.core.ast.parse
 TestON.core.iniparser.iniparser.parse
-TestON.core.xmlparser.xmlparser.parse" class="py-name" href="#" onclick="return doclink('link-4', 'parse', 'link-4');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Variable TestON.core.teston.tests_path=TestON.core.teston-module.html#tests_path"><a title="TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-5', 'tests_path', 'link-5');">tests_path</a></tt><tt class="py-op">+</tt><tt class="py-name">paramsPath</tt><tt class="py-op">+</tt><tt class="py-string">".params"</tt><tt class="py-op">)</tt> </tt>
-<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-name">paramsAsString</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
-<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">paramsAsString</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"> </tt>
-<a name="xmlparser.parseTopology"></a><div id="xmlparser.parseTopology-def"><a name="L42"></a><tt class="py-lineno">42</tt> <a class="py-toggle" href="#" id="xmlparser.parseTopology-toggle" onclick="return toggle('xmlparser.parseTopology');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmlparser.xmlparser-class.html#parseTopology">parseTopology</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">topologyPath</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="xmlparser.parseTopology-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="xmlparser.parseTopology-expanded"><a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line"><tt class="py-docstring">          It will take topology file path and will return topology dictionary</tt> </tt>
-<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt class="py-name">topologyPath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\."</tt><tt class="py-op">,</tt><tt class="py-string">"/"</tt><tt class="py-op">,</tt><tt class="py-name">topologyPath</tt><tt class="py-op">)</tt> </tt>
-<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">        <tt class="py-name">topologyPath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"tests|examples"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">topologyPath</tt><tt class="py-op">)</tt> </tt>
-<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">        <tt class="py-name">topology</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.core.ast.parse
+TestON.core.xmlparser.xmlparser.parse" class="py-name" href="#" onclick="return doclink('link-4', 'parse', 'link-4');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Variable TestON.bin.cli.tests_path=TestON.bin.cli-module.html#tests_path,Variable TestON.core.teston.tests_path=TestON.core.teston-module.html#tests_path"><a title="TestON.bin.cli.tests_path
+TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-5', 'tests_path', 'link-5');">tests_path</a></tt><tt class="py-op">+</tt><tt class="py-name">paramsPath</tt><tt class="py-op">+</tt><tt class="py-string">".params"</tt><tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">        <tt class="py-name">paramsAsString</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">paramsAsString</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line"> </tt>
+<a name="xmlparser.parseTopology"></a><div id="xmlparser.parseTopology-def"><a name="L57"></a><tt class="py-lineno">57</tt> <a class="py-toggle" href="#" id="xmlparser.parseTopology-toggle" onclick="return toggle('xmlparser.parseTopology');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.core.xmlparser.xmlparser-class.html#parseTopology">parseTopology</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">topologyPath</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="xmlparser.parseTopology-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="xmlparser.parseTopology-expanded"><a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line"><tt class="py-docstring">          It will take topology file path and will return topology dictionary</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">        <tt class="py-name">topologyPath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\."</tt><tt class="py-op">,</tt><tt class="py-string">"/"</tt><tt class="py-op">,</tt><tt class="py-name">topologyPath</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">        <tt class="py-name">topologyPath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"tests|examples"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">topologyPath</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">        <tt class="py-comment">#topology = self.parse(main.tests_path+"/"+topologyPath+".topo")</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">        <tt id="link-6" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#topology,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topology"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-6', 'topology', 'link-6');">topology</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.core.ast.parse
 TestON.core.iniparser.iniparser.parse
-TestON.core.xmlparser.xmlparser.parse" class="py-name" href="#" onclick="return doclink('link-6', 'parse', 'link-4');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-7', 'tests_path', 'link-5');">tests_path</a></tt><tt class="py-op">+</tt><tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">topologyPath</tt><tt class="py-op">+</tt><tt class="py-string">".topo"</tt><tt class="py-op">)</tt> </tt>
-<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">        <tt class="py-name">topoAsString</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">topology</tt><tt class="py-op">)</tt> </tt>
-<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">topoAsString</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+TestON.core.xmlparser.xmlparser.parse" class="py-name" href="#" onclick="return doclink('link-7', 'parse', 'link-4');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.bin.cli.tests_path
+TestON.core.teston.tests_path" class="py-name" href="#" onclick="return doclink('link-8', 'tests_path', 'link-5');">tests_path</a></tt><tt class="py-op">+</tt><tt class="py-name">topologyPath</tt><tt class="py-op">+</tt><tt class="py-string">".topo"</tt><tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">        <tt class="py-name">topoAsString</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-9', 'topology', 'link-6');">topology</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">topoAsString</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -138,13 +163,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.core.xmlparser.xmlparser-class.html b/TestON/Documentation/TestON_Document/TestON.core.xmlparser.xmlparser-class.html
index 9aae69b..1ea8023 100644
--- a/TestON/Documentation/TestON_Document/TestON.core.xmlparser.xmlparser-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.core.xmlparser.xmlparser-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -168,13 +173,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers-module.html b/TestON/Documentation/TestON_Document/TestON.drivers-module.html
index 7fff2f1..2f94527 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -79,27 +84,44 @@
     <ul>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.api-module.html">TestON.drivers.common.api</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controller-module.html">TestON.drivers.common.api.controller</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controller-module.html">TestON.drivers.common.api.controller</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controller.onosrestdriver-module.html">TestON.drivers.common.api.controller.onosrestdriver</a></strong>: <em class="summary">Created on 07-08-2015</em>    </li>
+    </ul>
+    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controllerdriver-module.html">TestON.drivers.common.api.controllerdriver</a></strong>: <em class="summary">Created on 29-Nov-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.api.fvtapidriver-module.html">TestON.drivers.common.api.fvtapidriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink">TestON.drivers.common.apidriver</strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.apidriver-module.html">TestON.drivers.common.apidriver</a></strong>: <em class="summary">Created on 22-Nov-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a></strong>
     <ul>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.dpclidriver-module.html">TestON.drivers.common.cli.dpclidriver</a></strong>: <em class="summary">Driver for blank dataplane VMs.</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator-module.html">TestON.drivers.common.cli.emulator</a></strong>
     <ul>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-module.html">TestON.drivers.common.cli.emulator.flowvisordriver</a></strong>: <em class="summary">Created on 26-Mar-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-module.html">TestON.drivers.common.cli.emulator.lincoedriver</a></strong>: <em class="summary">This driver handles the optical switch emulator linc-oe.</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-module.html">TestON.drivers.common.cli.emulator.mininetclidriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.poxclidriver-module.html">TestON.drivers.common.cli.emulator.poxclidriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-module.html">TestON.drivers.common.cli.emulator.remotemininetdriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     </ul>
     </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulatordriver-module.html">TestON.drivers.common.cli.emulatordriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesys-module.html">TestON.drivers.common.cli.remotesys</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.onosclidriver-module.html">TestON.drivers.common.cli.onosclidriver</a></strong>: <em class="summary">This driver enters the onos&gt; prompt to issue commands.</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.onosdriver-module.html">TestON.drivers.common.cli.onosdriver</a></strong>: <em class="summary">This driver interacts with ONOS bench, the OSGi platform that 
+        configures the ONOS nodes.</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.quaggaclidriver-module.html">TestON.drivers.common.cli.quaggaclidriver</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesys-module.html">TestON.drivers.common.cli.remotesys</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesysdriver-module.html">TestON.drivers.common.cli.remotesysdriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed-module.html">TestON.drivers.common.cli.remotetestbed</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html">TestON.drivers.common.cli.remotesys.hpswitchdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html">TestON.drivers.common.cli.remotetestbed.floodlightclidriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html">TestON.drivers.common.cli.remotetestbed.necswitchdriver</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html">TestON.drivers.common.cli.remotetestbed.remotepoxdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html">TestON.drivers.common.cli.remotetestbed.remotevmdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesysdriver-module.html">TestON.drivers.common.cli.remotesysdriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbeddriver-module.html">TestON.drivers.common.cli.remotetestbeddriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.tool-module.html">TestON.drivers.common.cli.tool</a></strong>
     <ul>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.tool.dpctlclidriver-module.html">TestON.drivers.common.cli.tool.dpctlclidriver</a></strong>: <em class="summary">Created on 26-Nov-2012</em>    </li>
@@ -109,14 +131,39 @@
     </ul>
     </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.clidriver-module.html">TestON.drivers.common.clidriver</a></strong>: <em class="summary">Created on 24-Oct-2012</em>    </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.webdriver-module.html">TestON.drivers.common.webdriver</a></strong>: <em class="summary">Created on 27-Feb-2013</em>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.component-module.html">TestON.drivers.component</a></strong>    </li>
+    <li> <strong class="uidlink">TestON.drivers.component</strong>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -137,13 +184,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers-pysrc.html
index 456e900..94aadcf 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -84,13 +89,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common-module.html
index cd90956..d456e46 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -78,27 +83,44 @@
   <ul class="nomargin">
     <li> <strong class="uidlink"><a href="TestON.drivers.common.api-module.html">TestON.drivers.common.api</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controller-module.html">TestON.drivers.common.api.controller</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controller-module.html">TestON.drivers.common.api.controller</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controller.onosrestdriver-module.html">TestON.drivers.common.api.controller.onosrestdriver</a></strong>: <em class="summary">Created on 07-08-2015</em>    </li>
+    </ul>
+    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controllerdriver-module.html">TestON.drivers.common.api.controllerdriver</a></strong>: <em class="summary">Created on 29-Nov-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.api.fvtapidriver-module.html">TestON.drivers.common.api.fvtapidriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink">TestON.drivers.common.apidriver</strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.apidriver-module.html">TestON.drivers.common.apidriver</a></strong>: <em class="summary">Created on 22-Nov-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a></strong>
     <ul>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.dpclidriver-module.html">TestON.drivers.common.cli.dpclidriver</a></strong>: <em class="summary">Driver for blank dataplane VMs.</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator-module.html">TestON.drivers.common.cli.emulator</a></strong>
     <ul>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-module.html">TestON.drivers.common.cli.emulator.flowvisordriver</a></strong>: <em class="summary">Created on 26-Mar-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-module.html">TestON.drivers.common.cli.emulator.lincoedriver</a></strong>: <em class="summary">This driver handles the optical switch emulator linc-oe.</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-module.html">TestON.drivers.common.cli.emulator.mininetclidriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.poxclidriver-module.html">TestON.drivers.common.cli.emulator.poxclidriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-module.html">TestON.drivers.common.cli.emulator.remotemininetdriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     </ul>
     </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulatordriver-module.html">TestON.drivers.common.cli.emulatordriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesys-module.html">TestON.drivers.common.cli.remotesys</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.onosclidriver-module.html">TestON.drivers.common.cli.onosclidriver</a></strong>: <em class="summary">This driver enters the onos&gt; prompt to issue commands.</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.onosdriver-module.html">TestON.drivers.common.cli.onosdriver</a></strong>: <em class="summary">This driver interacts with ONOS bench, the OSGi platform that 
+        configures the ONOS nodes.</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.quaggaclidriver-module.html">TestON.drivers.common.cli.quaggaclidriver</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesys-module.html">TestON.drivers.common.cli.remotesys</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesysdriver-module.html">TestON.drivers.common.cli.remotesysdriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed-module.html">TestON.drivers.common.cli.remotetestbed</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html">TestON.drivers.common.cli.remotesys.hpswitchdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html">TestON.drivers.common.cli.remotetestbed.floodlightclidriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html">TestON.drivers.common.cli.remotetestbed.necswitchdriver</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html">TestON.drivers.common.cli.remotetestbed.remotepoxdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html">TestON.drivers.common.cli.remotetestbed.remotevmdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesysdriver-module.html">TestON.drivers.common.cli.remotesysdriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbeddriver-module.html">TestON.drivers.common.cli.remotetestbeddriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.tool-module.html">TestON.drivers.common.cli.tool</a></strong>
     <ul>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.tool.dpctlclidriver-module.html">TestON.drivers.common.cli.tool.dpctlclidriver</a></strong>: <em class="summary">Created on 26-Nov-2012</em>    </li>
@@ -108,11 +130,36 @@
     </ul>
     </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.clidriver-module.html">TestON.drivers.common.clidriver</a></strong>: <em class="summary">Created on 24-Oct-2012</em>    </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.webdriver-module.html">TestON.drivers.common.webdriver</a></strong>: <em class="summary">Created on 27-Feb-2013</em>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -133,13 +180,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common-pysrc.html
index 7788ff3..ecbc3a5 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.api-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.api-module.html
index 4ee467a..97e125d 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.api-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.api-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -77,13 +82,43 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controller-module.html">TestON.drivers.common.api.controller</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controller-module.html">TestON.drivers.common.api.controller</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controller.onosrestdriver-module.html">TestON.drivers.common.api.controller.onosrestdriver</a></strong>: <em class="summary">Created on 07-08-2015</em>    </li>
+    </ul>
+    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controllerdriver-module.html">TestON.drivers.common.api.controllerdriver</a></strong>: <em class="summary">Created on 29-Nov-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.api.fvtapidriver-module.html">TestON.drivers.common.api.fvtapidriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -104,13 +139,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.api-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.api-pysrc.html
index 138bb1e..23e4283 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.api-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.api-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -86,13 +91,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controller-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controller-module.html
index 06c9dff..d7788bd 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controller-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controller-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -59,6 +64,56 @@
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
 <h1 class="epydoc">Package controller</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.api.controller-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== SUBMODULES ==================== -->
+<a name="section-Submodules"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Submodules</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Submodules"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr><td class="summary">
+  <ul class="nomargin">
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controller.onosrestdriver-module.html">TestON.drivers.common.api.controller.onosrestdriver</a></strong>: <em class="summary">Created on 07-08-2015</em>    </li>
+  </ul></td></tr>
+</table>
+
+<br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -79,13 +134,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controller-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controller-pysrc.html
index 6111e7c..d26a76c 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controller-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controller-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -87,13 +92,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controller.onosrestdriver-module.html
similarity index 67%
copy from TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
copy to TestON/Documentation/TestON_Document/TestON.drivers.common.api.controller.onosrestdriver-module.html
index 053b957..5b8dc4e 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controller.onosrestdriver-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.drivers.common.cli.remotesys.hpswitchdriver</title>
+  <title>TestON.drivers.common.api.controller.onosrestdriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -40,9 +45,9 @@
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
         <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
-        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
-        <a href="TestON.drivers.common.cli.remotesys-module.html">Package&nbsp;remotesys</a> ::
-        Module&nbsp;hpswitchdriver
+        <a href="TestON.drivers.common.api-module.html">Package&nbsp;api</a> ::
+        <a href="TestON.drivers.common.api.controller-module.html">Package&nbsp;controller</a> ::
+        Module&nbsp;onosrestdriver
       </span>
     </td>
     <td>
@@ -52,23 +57,34 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module hpswitchdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 12-Feb-2013</p>
+<h1 class="epydoc">Module onosrestdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-        <p>HPSwitchDriver is the basic driver which will handle the Mininet
-        functions</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 07-08-2015
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    ( at your option ) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -89,9 +105,7 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html" class="summary-name">HPSwitchDriver</a><br />
-      HPSwitchDriver is the basic driver which will handle the Mininet 
-      functions
+        <a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html" class="summary-name">OnosRestDriver</a>
     </td>
   </tr>
 </table>
@@ -115,13 +129,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controller.onosrestdriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controller.onosrestdriver-pysrc.html
new file mode 100644
index 0000000..c80b946
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controller.onosrestdriver-pysrc.html
@@ -0,0 +1,1389 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.api.controller.onosrestdriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.api-module.html">Package&nbsp;api</a> ::
+        <a href="TestON.drivers.common.api.controller-module.html">Package&nbsp;controller</a> ::
+        Module&nbsp;onosrestdriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.drivers.common.api.controller.onosrestdriver-module.html">Module TestON.drivers.common.api.controller.onosrestdriver</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">   3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 07-08-2015</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno">   5</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">   8</tt>  <tt class="py-line"><tt class="py-docstring">    ( at your option ) any later version.</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">   9</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">  11</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">requests</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">  22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">types</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line"> </tt>
+<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Package TestON.drivers.common.api=TestON.drivers.common.api-module.html"><a title="TestON.drivers.common.api" class="py-name" href="#" onclick="return doclink('link-2', 'api', 'link-2');">api</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module TestON.drivers.common.api.controllerdriver=TestON.drivers.common.api.controllerdriver-module.html"><a title="TestON.drivers.common.api.controllerdriver" class="py-name" href="#" onclick="return doclink('link-3', 'controllerdriver', 'link-3');">controllerdriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class TestON.drivers.common.api.controllerdriver.Controller=TestON.drivers.common.api.controllerdriver.Controller-class.html"><a title="TestON.drivers.common.api.controllerdriver.Controller" class="py-name" href="#" onclick="return doclink('link-4', 'Controller', 'link-4');">Controller</a></tt> </tt>
+<a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">  26</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver"></a><div id="OnosRestDriver-def"><a name="L27"></a><tt class="py-lineno">  27</tt> <a class="py-toggle" href="#" id="OnosRestDriver-toggle" onclick="return toggle('OnosRestDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a><tt class="py-op">(</tt> <tt class="py-base-class">Controller</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="OnosRestDriver-expanded"><a name="L28"></a><tt class="py-lineno">  28</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.__init__"></a><div id="OnosRestDriver.__init__-def"><a name="L29"></a><tt class="py-lineno">  29</tt> <a class="py-toggle" href="#" id="OnosRestDriver.__init__-toggle" onclick="return toggle('OnosRestDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.__init__-expanded"><a name="L30"></a><tt class="py-lineno">  30</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-5" class="py-name"><a title="TestON.drivers.common.api.controllerdriver.Controller" class="py-name" href="#" onclick="return doclink('link-5', 'Controller', 'link-4');">Controller</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-6', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-string">"localhost"</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">  32</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-string">"8080"</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">  33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">=</tt> <tt class="py-string">"user"</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">password</tt> <tt class="py-op">=</tt> <tt class="py-string">"CHANGEME"</tt> </tt>
+</div><a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.connect"></a><div id="OnosRestDriver.connect-def"><a name="L36"></a><tt class="py-lineno">  36</tt> <a class="py-toggle" href="#" id="OnosRestDriver.connect-toggle" onclick="return toggle('OnosRestDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.connect-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.connect-expanded"><a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">  38</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">  39</tt>  <tt class="py-line">                <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-7', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">  43</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getenv</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getenv</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">  47</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-8', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": ip set to "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">  48</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Invalid host name,"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line">                           <tt class="py-string">"defaulting to 'localhost' instead"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">  51</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-string">'localhost'</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">  52</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">inst</tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-10', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-11', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Uncaught exception: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">inst</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line"> </tt>
+<a name="L55"></a><tt class="py-lineno">  55</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-12" class="py-name" targets="Class TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver" class="py-name" href="#" onclick="return doclink('link-12', 'OnosRestDriver', 'link-12');">OnosRestDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-13', 'connect', 'link-13');">connect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">  56</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+</div><a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.send"></a><div id="OnosRestDriver.send-def"><a name="L58"></a><tt class="py-lineno">  58</tt> <a class="py-toggle" href="#" id="OnosRestDriver.send-toggle" onclick="return toggle('OnosRestDriver.send');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#send">send</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">,</tt> <tt class="py-param">url</tt><tt class="py-op">,</tt> <tt class="py-param">base</tt><tt class="py-op">=</tt><tt class="py-string">"/onos/v1"</tt><tt class="py-op">,</tt> <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">"GET"</tt><tt class="py-op">,</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line">              <tt class="py-param">query</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.send-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.send-expanded"><a name="L60"></a><tt class="py-lineno">  60</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">  61</tt>  <tt class="py-line"><tt class="py-docstring">        Arguments:</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">  62</tt>  <tt class="py-line"><tt class="py-docstring">            str ip: ONOS IP Address</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">  63</tt>  <tt class="py-line"><tt class="py-docstring">            str port: ONOS REST Port</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line"><tt class="py-docstring">            str url: ONOS REST url path.</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line"><tt class="py-docstring">                     NOTE that this is is only the relative path. IE "/devices"</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line"><tt class="py-docstring">            str base: The base url for the given REST api. Applications could</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line"><tt class="py-docstring">                      potentially have their own base url</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line"><tt class="py-docstring">            str method: HTTP method type</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line"><tt class="py-docstring">            dict query: Dictionary to be sent in the query string for</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">  70</tt>  <tt class="py-line"><tt class="py-docstring">                         the request</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line"><tt class="py-docstring">            dict data: Dictionary to be sent in the body of the request</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Authentication - simple http (user,pass) tuple</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">  74</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: should we maybe just pass kwargs straight to response?</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Do we need to allow for other protocols besides http?</tt> </tt>
+<a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line">        <tt class="py-comment"># ANSWER: Not yet, but potentially https with certificates</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">  78</tt>  <tt class="py-line">            <tt id="link-14" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-14', 'path', 'link-14');">path</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"http://"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">base</tt> <tt class="py-op">+</tt> <tt class="py-name">url</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-15', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Sending request "</tt> <tt class="py-op">+</tt> <tt id="link-16" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-16', 'path', 'link-14');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">" using "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line">                           <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" method."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">  81</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">requests</tt><tt class="py-op">.</tt><tt class="py-name">request</tt><tt class="py-op">(</tt> <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L82"></a><tt class="py-lineno">  82</tt>  <tt class="py-line">                                         <tt id="link-17" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-17', 'path', 'link-14');">path</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L83"></a><tt class="py-lineno">  83</tt>  <tt class="py-line">                                         <tt class="py-name">params</tt><tt class="py-op">=</tt><tt class="py-name">query</tt><tt class="py-op">,</tt> </tt>
+<a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line">                                         <tt class="py-name">data</tt><tt class="py-op">=</tt><tt class="py-name">data</tt> <tt class="py-op">)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-op">(</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">status_code</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt> <tt class="py-string">'utf8'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno">  86</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">requests</tt><tt class="py-op">.</tt><tt class="py-name">exceptions</tt><tt class="py-op">:</tt> </tt>
+<a name="L87"></a><tt class="py-lineno">  87</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-18', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error sending request."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L90"></a><tt class="py-lineno">  90</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-19', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L92"></a><tt class="py-lineno">  92</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: add other exceptions</tt> </tt>
+<a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.intents"></a><div id="OnosRestDriver.intents-def"><a name="L94"></a><tt class="py-lineno">  94</tt> <a class="py-toggle" href="#" id="OnosRestDriver.intents-toggle" onclick="return toggle('OnosRestDriver.intents');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intents">intents</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.intents-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.intents-expanded"><a name="L95"></a><tt class="py-lineno">  95</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line"><tt class="py-docstring">            Gets a list of dictionary of all intents in the system</tt> </tt>
+<a name="L98"></a><tt class="py-lineno">  98</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line"><tt class="py-docstring">            A list of dictionary of intents in string type to match the cli</tt> </tt>
+<a name="L100"></a><tt class="py-lineno"> 100</tt>  <tt class="py-line"><tt class="py-docstring">            version for now; Returns main.FALSE if error on request;</tt> </tt>
+<a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line"><tt class="py-docstring">            Returns None for exception</tt> </tt>
+<a name="L102"></a><tt class="py-lineno"> 102</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L103"></a><tt class="py-lineno"> 103</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line">            <tt id="link-20" class="py-name" targets="Function TestON.bin.cli.output()=TestON.bin.cli-module.html#output"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-20', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L106"></a><tt class="py-lineno"> 106</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-21', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No ip given, reverting to ip from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno"> 107</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno"> 109</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-22', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No port given, reverting to port "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line">                               <tt class="py-string">"from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno"> 111</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> </tt>
+<a name="L112"></a><tt class="py-lineno"> 112</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#send"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-23', 'send', 'link-23');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">url</tt><tt class="py-op">=</tt><tt class="py-string">"/intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno"> 113</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-number">200</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">299</tt><tt class="py-op">:</tt> </tt>
+<a name="L115"></a><tt class="py-lineno"> 115</tt>  <tt class="py-line">                    <tt id="link-24" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-24', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line">                    <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-25" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-25', 'output', 'link-20');">output</a></tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'intents'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno"> 117</tt>  <tt class="py-line">                    <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">a</tt> <tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno"> 118</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">b</tt> </tt>
+<a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-26', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-27', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error with REST request, response was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L121"></a><tt class="py-lineno"> 121</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno"> 122</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-28', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno"> 125</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.intent"></a><div id="OnosRestDriver.intent-def"><a name="L127"></a><tt class="py-lineno"> 127</tt> <a class="py-toggle" href="#" id="OnosRestDriver.intent-toggle" onclick="return toggle('OnosRestDriver.intent');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intent">intent</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">intentId</tt><tt class="py-op">,</tt> <tt class="py-param">appId</tt><tt class="py-op">=</tt><tt class="py-string">"org.onosproject.cli"</tt><tt class="py-op">,</tt> </tt>
+<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line">                <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.intent-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.intent-expanded"><a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L130"></a><tt class="py-lineno"> 130</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line"><tt class="py-docstring">            Get the specific intent information of the given application ID and</tt> </tt>
+<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line"><tt class="py-docstring">            intent ID</tt> </tt>
+<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno"> 134</tt>  <tt class="py-line"><tt class="py-docstring">            str intentId - Intent id in hexadecimal form</tt> </tt>
+<a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line"><tt class="py-docstring">            str appId - application id of intent</tt> </tt>
+<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line"><tt class="py-docstring">            Returns an information dictionary of the given intent;</tt> </tt>
+<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.FALSE if error on requests; Returns None for exception</tt> </tt>
+<a name="L140"></a><tt class="py-lineno"> 140</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE:</tt> </tt>
+<a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line"><tt class="py-docstring">            The GET /intents REST api command accepts  application id but the</tt> </tt>
+<a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line"><tt class="py-docstring">            api will get updated to accept application name instead</tt> </tt>
+<a name="L143"></a><tt class="py-lineno"> 143</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line">            <tt id="link-29" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-29', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L146"></a><tt class="py-lineno"> 146</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L147"></a><tt class="py-lineno"> 147</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-30', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No ip given, reverting to ip from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L148"></a><tt class="py-lineno"> 148</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-31', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No port given, reverting to port"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line">                               <tt class="py-string">"from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> </tt>
+<a name="L153"></a><tt class="py-lineno"> 153</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: REST url requires the intent id to be in decimal form</tt> </tt>
+<a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line">            <tt class="py-name">query</tt> <tt class="py-op">=</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">appId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">intentId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-32', 'send', 'link-23');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">url</tt><tt class="py-op">=</tt><tt class="py-string">"/intents"</tt> <tt class="py-op">+</tt> <tt class="py-name">query</tt> <tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno"> 156</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-number">200</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">299</tt><tt class="py-op">:</tt> </tt>
+<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line">                    <tt id="link-33" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-33', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line">                    <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-34" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-34', 'output', 'link-20');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">a</tt> </tt>
+<a name="L161"></a><tt class="py-lineno"> 161</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L162"></a><tt class="py-lineno"> 162</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-35', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-36', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error with REST request, response was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno"> 164</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L165"></a><tt class="py-lineno"> 165</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-37', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.getIntentsId"></a><div id="OnosRestDriver.getIntentsId-def"><a name="L169"></a><tt class="py-lineno"> 169</tt> <a class="py-toggle" href="#" id="OnosRestDriver.getIntentsId-toggle" onclick="return toggle('OnosRestDriver.getIntentsId');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getIntentsId">getIntentsId</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.getIntentsId-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.getIntentsId-expanded"><a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L172"></a><tt class="py-lineno"> 172</tt>  <tt class="py-line"><tt class="py-docstring">           Gets all intents ID using intents function</tt> </tt>
+<a name="L173"></a><tt class="py-lineno"> 173</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line"><tt class="py-docstring">            List of intents ID;Returns None for exception; Returns None for</tt> </tt>
+<a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line"><tt class="py-docstring">            exception; Returns None for exception</tt> </tt>
+<a name="L176"></a><tt class="py-lineno"> 176</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line">            <tt class="py-name">intentsDict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line">            <tt class="py-name">intentsIdList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L180"></a><tt class="py-lineno"> 180</tt>  <tt class="py-line">            <tt class="py-name">intentsDict</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intents,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intents"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-38', 'intents', 'link-38');">intents</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">port</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-39" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intent"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-39', 'intent', 'link-39');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsDict</tt><tt class="py-op">:</tt> </tt>
+<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line">                <tt class="py-name">intentsIdList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-40" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-40', 'intent', 'link-39');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line"> </tt>
+<a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">intentsIdList</tt><tt class="py-op">:</tt> </tt>
+<a name="L185"></a><tt class="py-lineno"> 185</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-41', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Cannot find any intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L186"></a><tt class="py-lineno"> 186</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-42', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Found intents: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">intentsIdList</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line"> </tt>
+<a name="L191"></a><tt class="py-lineno"> 191</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-43', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line"> </tt>
+<a name="L195"></a><tt class="py-lineno"> 195</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.apps"></a><div id="OnosRestDriver.apps-def"><a name="L196"></a><tt class="py-lineno"> 196</tt> <a class="py-toggle" href="#" id="OnosRestDriver.apps-toggle" onclick="return toggle('OnosRestDriver.apps');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#apps">apps</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.apps-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.apps-expanded"><a name="L197"></a><tt class="py-lineno"> 197</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line"><tt class="py-docstring">            Returns all the current application installed in the system</tt> </tt>
+<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line"><tt class="py-docstring">            List of dictionary of installed application; Returns main.FALSE for</tt> </tt>
+<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line"><tt class="py-docstring">            error on request; Returns None for exception</tt> </tt>
+<a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L204"></a><tt class="py-lineno"> 204</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L205"></a><tt class="py-lineno"> 205</tt>  <tt class="py-line">            <tt id="link-44" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-44', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L207"></a><tt class="py-lineno"> 207</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-45', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No ip given, reverting to ip from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-46', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No port given, reverting to port \</tt> </tt>
+<a name="L211"></a><tt class="py-lineno"> 211</tt>  <tt class="py-line"><tt class="py-string">                               from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> </tt>
+<a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-47', 'send', 'link-23');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">url</tt><tt class="py-op">=</tt><tt class="py-string">"/applications"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-number">200</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">299</tt><tt class="py-op">:</tt> </tt>
+<a name="L216"></a><tt class="py-lineno"> 216</tt>  <tt class="py-line">                    <tt id="link-48" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-48', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L217"></a><tt class="py-lineno"> 217</tt>  <tt class="py-line">                    <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-49" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-49', 'output', 'link-20');">output</a></tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'applications'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L218"></a><tt class="py-lineno"> 218</tt>  <tt class="py-line">                    <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">a</tt> <tt class="py-op">)</tt> </tt>
+<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">b</tt> </tt>
+<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-50', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-51', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error with REST request, response was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-52', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L226"></a><tt class="py-lineno"> 226</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.activateApp"></a><div id="OnosRestDriver.activateApp-def"><a name="L228"></a><tt class="py-lineno"> 228</tt> <a class="py-toggle" href="#" id="OnosRestDriver.activateApp-toggle" onclick="return toggle('OnosRestDriver.activateApp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#activateApp">activateApp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">appName</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">check</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.activateApp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.activateApp-expanded"><a name="L229"></a><tt class="py-lineno"> 229</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line"><tt class="py-docstring">        Decription:</tt> </tt>
+<a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line"><tt class="py-docstring">            Activate an app that is already installed in ONOS</tt> </tt>
+<a name="L232"></a><tt class="py-lineno"> 232</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line"><tt class="py-docstring">            bool check - If check is True, method will check the status</tt> </tt>
+<a name="L234"></a><tt class="py-lineno"> 234</tt>  <tt class="py-line"><tt class="py-docstring">                         of the app after the command is issued</tt> </tt>
+<a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.TRUE if the command was successfully or main.FALSE</tt> </tt>
+<a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line"><tt class="py-docstring">            if the REST responded with an error or given incorrect input;</tt> </tt>
+<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line"><tt class="py-docstring">            Returns None for exception</tt> </tt>
+<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line">            <tt id="link-53" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-53', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-54', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No ip given, reverting to ip from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-55', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No port given, reverting to port"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line">                               <tt class="py-string">"from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> </tt>
+<a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line">            <tt class="py-name">query</tt> <tt class="py-op">=</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/active"</tt> </tt>
+<a name="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-56', 'send', 'link-23');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-string">"POST"</tt><tt class="py-op">,</tt> </tt>
+<a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">                                  <tt class="py-name">url</tt><tt class="py-op">=</tt><tt class="py-string">"/applications"</tt> <tt class="py-op">+</tt> <tt class="py-name">query</tt> <tt class="py-op">)</tt> </tt>
+<a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line">                <tt id="link-57" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-57', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line">                <tt id="link-58" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#app"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-58', 'app', 'link-58');">app</a></tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-59" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-59', 'output', 'link-20');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-number">200</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">299</tt><tt class="py-op">:</tt> </tt>
+<a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">check</tt><tt class="py-op">:</tt> </tt>
+<a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt id="link-60" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-60', 'app', 'link-58');">app</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'ACTIVE'</tt><tt class="py-op">:</tt> </tt>
+<a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-61', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">appName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line">                                           <tt class="py-string">" application"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line">                                           <tt class="py-string">" is in ACTIVE state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line">                            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-62', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-63', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">appName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L265"></a><tt class="py-lineno"> 265</tt>  <tt class="py-line">                                            <tt class="py-string">" application"</tt> <tt class="py-op">+</tt> <tt class="py-string">" is in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line">                                            <tt id="link-64" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-64', 'app', 'link-58');">app</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line">                            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-65', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Skipping "</tt> <tt class="py-op">+</tt> <tt class="py-name">appName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line">                                       <tt class="py-string">"application check"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line">                        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L272"></a><tt class="py-lineno"> 272</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-66', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-67', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error with REST request, response was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L274"></a><tt class="py-lineno"> 274</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L276"></a><tt class="py-lineno"> 276</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L277"></a><tt class="py-lineno"> 277</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-68', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.deactivateApp"></a><div id="OnosRestDriver.deactivateApp-def"><a name="L280"></a><tt class="py-lineno"> 280</tt> <a class="py-toggle" href="#" id="OnosRestDriver.deactivateApp-toggle" onclick="return toggle('OnosRestDriver.deactivateApp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#deactivateApp">deactivateApp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">appName</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> </tt>
+<a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line">                       <tt class="py-param">check</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.deactivateApp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.deactivateApp-expanded"><a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line"><tt class="py-docstring">            Deactivate an app that is already activated in ONOS</tt> </tt>
+<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line"><tt class="py-docstring">            bool check - If check is True, method will check the status of the</tt> </tt>
+<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line"><tt class="py-docstring">            app after the command is issued</tt> </tt>
+<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.TRUE if the command was successfully sent</tt> </tt>
+<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line"><tt class="py-docstring">            main.FALSE if the REST responded with an error or given</tt> </tt>
+<a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line"><tt class="py-docstring">            incorrect input; Returns None for exception</tt> </tt>
+<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line">            <tt id="link-69" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-69', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-70', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No ip given, reverting to ip from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-71', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No port given, reverting to port"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line">                               <tt class="py-string">"from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> </tt>
+<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line">            <tt class="py-name">query</tt> <tt class="py-op">=</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/active"</tt> </tt>
+<a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-72', 'send', 'link-23');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-string">"DELETE"</tt><tt class="py-op">,</tt> </tt>
+<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line">                                  <tt class="py-name">url</tt><tt class="py-op">=</tt><tt class="py-string">"/applications"</tt> <tt class="py-op">+</tt> <tt class="py-name">query</tt> <tt class="py-op">)</tt> </tt>
+<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line">                <tt id="link-73" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-73', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line">                <tt id="link-74" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-74', 'app', 'link-58');">app</a></tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-75" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-75', 'output', 'link-20');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-number">200</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">299</tt><tt class="py-op">:</tt> </tt>
+<a name="L309"></a><tt class="py-lineno"> 309</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">check</tt><tt class="py-op">:</tt> </tt>
+<a name="L310"></a><tt class="py-lineno"> 310</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt id="link-76" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-76', 'app', 'link-58');">app</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'INSTALLED'</tt><tt class="py-op">:</tt> </tt>
+<a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-77', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">appName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line">                                           <tt class="py-string">" application"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line">                                           <tt class="py-string">" is in INSTALLED state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L314"></a><tt class="py-lineno"> 314</tt>  <tt class="py-line">                            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L315"></a><tt class="py-lineno"> 315</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-78', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-79', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">appName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L317"></a><tt class="py-lineno"> 317</tt>  <tt class="py-line">                                            <tt class="py-string">" application"</tt> <tt class="py-op">+</tt> <tt class="py-string">" is in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L318"></a><tt class="py-lineno"> 318</tt>  <tt class="py-line">                                            <tt id="link-80" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-80', 'app', 'link-58');">app</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L319"></a><tt class="py-lineno"> 319</tt>  <tt class="py-line">                            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L320"></a><tt class="py-lineno"> 320</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-81', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Skipping "</tt> <tt class="py-op">+</tt> <tt class="py-name">appName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L322"></a><tt class="py-lineno"> 322</tt>  <tt class="py-line">                                       <tt class="py-string">"application check"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line">                        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L324"></a><tt class="py-lineno"> 324</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L325"></a><tt class="py-lineno"> 325</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-82', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-83', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error with REST request, response was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L327"></a><tt class="py-lineno"> 327</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L329"></a><tt class="py-lineno"> 329</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-84', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L330"></a><tt class="py-lineno"> 330</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.getApp"></a><div id="OnosRestDriver.getApp-def"><a name="L332"></a><tt class="py-lineno"> 332</tt> <a class="py-toggle" href="#" id="OnosRestDriver.getApp-toggle" onclick="return toggle('OnosRestDriver.getApp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getApp">getApp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">appName</tt><tt class="py-op">,</tt> <tt class="py-param">project</tt><tt class="py-op">=</tt><tt class="py-string">"org.onosproject."</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> </tt>
+<a name="L333"></a><tt class="py-lineno"> 333</tt>  <tt class="py-line">                <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.getApp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.getApp-expanded"><a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line"><tt class="py-docstring">        Decription:</tt> </tt>
+<a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line"><tt class="py-docstring">            Gets the informaion of the given application</tt> </tt>
+<a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L338"></a><tt class="py-lineno"> 338</tt>  <tt class="py-line"><tt class="py-docstring">            str name - Name of onos application</tt> </tt>
+<a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L340"></a><tt class="py-lineno"> 340</tt>  <tt class="py-line"><tt class="py-docstring">            Returns a dictionary of information ONOS application in string type;</tt> </tt>
+<a name="L341"></a><tt class="py-lineno"> 341</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.FALSE if error on requests; Returns None for exception</tt> </tt>
+<a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line">            <tt id="link-85" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-85', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L345"></a><tt class="py-lineno"> 345</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-86', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No ip given, reverting to ip from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L349"></a><tt class="py-lineno"> 349</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-87', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No port given, reverting to port"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L350"></a><tt class="py-lineno"> 350</tt>  <tt class="py-line">                               <tt class="py-string">"from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> </tt>
+<a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line">            <tt class="py-name">query</tt> <tt class="py-op">=</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">project</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L353"></a><tt class="py-lineno"> 353</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-88', 'send', 'link-23');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">url</tt><tt class="py-op">=</tt><tt class="py-string">"/applications"</tt> <tt class="py-op">+</tt> <tt class="py-name">query</tt> <tt class="py-op">)</tt> </tt>
+<a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L355"></a><tt class="py-lineno"> 355</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-number">200</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">299</tt><tt class="py-op">:</tt> </tt>
+<a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line">                    <tt id="link-89" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-89', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L357"></a><tt class="py-lineno"> 357</tt>  <tt class="py-line">                    <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-90" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-90', 'output', 'link-20');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">a</tt> </tt>
+<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-91', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-92', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error with REST request, response was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L362"></a><tt class="py-lineno"> 362</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L364"></a><tt class="py-lineno"> 364</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-93', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L365"></a><tt class="py-lineno"> 365</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.addHostIntent"></a><div id="OnosRestDriver.addHostIntent-def"><a name="L367"></a><tt class="py-lineno"> 367</tt> <a class="py-toggle" href="#" id="OnosRestDriver.addHostIntent-toggle" onclick="return toggle('OnosRestDriver.addHostIntent');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addHostIntent">addHostIntent</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hostIdOne</tt><tt class="py-op">,</tt> <tt class="py-param">hostIdTwo</tt><tt class="py-op">,</tt> <tt class="py-param">appId</tt><tt class="py-op">=</tt><tt class="py-string">'org.onosproject.cli'</tt><tt class="py-op">,</tt> </tt>
+<a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line">                       <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.addHostIntent-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.addHostIntent-expanded"><a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line"><tt class="py-docstring">            Adds a host-to-host intent ( bidirectional ) by</tt> </tt>
+<a name="L372"></a><tt class="py-lineno"> 372</tt>  <tt class="py-line"><tt class="py-docstring">            specifying the two hosts.</tt> </tt>
+<a name="L373"></a><tt class="py-lineno"> 373</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line"><tt class="py-docstring">            * hostIdOne: ONOS host id for host1</tt> </tt>
+<a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line"><tt class="py-docstring">            * hostIdTwo: ONOS host id for host2</tt> </tt>
+<a name="L376"></a><tt class="py-lineno"> 376</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line"><tt class="py-docstring">            str appId - Application name of intent identifier</tt> </tt>
+<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.TRUE for successful requests; Returns main.FALSE if</tt> </tt>
+<a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line"><tt class="py-docstring">            error on requests; Returns None for exceptions</tt> </tt>
+<a name="L381"></a><tt class="py-lineno"> 381</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L382"></a><tt class="py-lineno"> 382</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L383"></a><tt class="py-lineno"> 383</tt>  <tt class="py-line">            <tt class="py-name">intentJson</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">"two"</tt><tt class="py-op">:</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hostIdTwo</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L384"></a><tt class="py-lineno"> 384</tt>  <tt class="py-line">                          <tt class="py-string">"selector"</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt><tt class="py-string">"criteria"</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">}</tt><tt class="py-op">,</tt> <tt class="py-string">"priority"</tt><tt class="py-op">:</tt> <tt class="py-number">7</tt><tt class="py-op">,</tt> </tt>
+<a name="L385"></a><tt class="py-lineno"> 385</tt>  <tt class="py-line">                          <tt class="py-string">"treatment"</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt><tt class="py-string">"deferred"</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"instructions"</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L386"></a><tt class="py-lineno"> 386</tt>  <tt class="py-line">                          <tt class="py-string">"appId"</tt><tt class="py-op">:</tt> <tt class="py-name">appId</tt><tt class="py-op">,</tt> <tt class="py-string">"one"</tt><tt class="py-op">:</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hostIdOne</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line">                          <tt class="py-string">"type"</tt><tt class="py-op">:</tt> <tt class="py-string">"HostToHostIntent"</tt><tt class="py-op">,</tt> </tt>
+<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line">                          <tt class="py-string">"constraints"</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-op">{</tt><tt class="py-string">"type"</tt><tt class="py-op">:</tt> <tt class="py-string">"LinkTypeConstraint"</tt><tt class="py-op">,</tt> </tt>
+<a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line">                                           <tt class="py-string">"types"</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">"OPTICAL"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line">                                           <tt class="py-string">"inclusive"</tt><tt class="py-op">:</tt> <tt class="py-string">'false'</tt> <tt class="py-op">}</tt><tt class="py-op">]</tt><tt class="py-op">}</tt> </tt>
+<a name="L391"></a><tt class="py-lineno"> 391</tt>  <tt class="py-line">            <tt id="link-94" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-94', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L392"></a><tt class="py-lineno"> 392</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-95', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No ip given, reverting to ip from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L394"></a><tt class="py-lineno"> 394</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L395"></a><tt class="py-lineno"> 395</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L396"></a><tt class="py-lineno"> 396</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-96', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No port given, reverting to port "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line">                               <tt class="py-string">"from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L398"></a><tt class="py-lineno"> 398</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> </tt>
+<a name="L399"></a><tt class="py-lineno"> 399</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-97', 'send', 'link-23');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> </tt>
+<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line">                                  <tt class="py-name">port</tt><tt class="py-op">,</tt> </tt>
+<a name="L401"></a><tt class="py-lineno"> 401</tt>  <tt class="py-line">                                  <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-string">"POST"</tt><tt class="py-op">,</tt> </tt>
+<a name="L402"></a><tt class="py-lineno"> 402</tt>  <tt class="py-line">                                  <tt class="py-name">url</tt><tt class="py-op">=</tt><tt class="py-string">"/intents"</tt><tt class="py-op">,</tt> </tt>
+<a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line">                                  <tt class="py-name">data</tt><tt class="py-op">=</tt><tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">intentJson</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L404"></a><tt class="py-lineno"> 404</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L405"></a><tt class="py-lineno"> 405</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-number">201</tt><tt class="py-op">:</tt> </tt>
+<a name="L406"></a><tt class="py-lineno"> 406</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-98', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Successfully POST host"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line">                                   <tt class="py-string">" intent between host: "</tt> <tt class="py-op">+</tt> <tt class="py-name">hostIdOne</tt> <tt class="py-op">+</tt> </tt>
+<a name="L408"></a><tt class="py-lineno"> 408</tt>  <tt class="py-line">                                   <tt class="py-string">" and host: "</tt> <tt class="py-op">+</tt> <tt class="py-name">hostIdTwo</tt> <tt class="py-op">)</tt> </tt>
+<a name="L409"></a><tt class="py-lineno"> 409</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L410"></a><tt class="py-lineno"> 410</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L411"></a><tt class="py-lineno"> 411</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-99', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-100', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error with REST request, response was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line"> </tt>
+<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-101', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L418"></a><tt class="py-lineno"> 418</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.addPointIntent"></a><div id="OnosRestDriver.addPointIntent-def"><a name="L419"></a><tt class="py-lineno"> 419</tt> <a class="py-toggle" href="#" id="OnosRestDriver.addPointIntent-toggle" onclick="return toggle('OnosRestDriver.addPointIntent');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addPointIntent">addPointIntent</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> </tt>
+<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line">                        <tt class="py-param">ingressDevice</tt><tt class="py-op">,</tt> </tt>
+<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line">                        <tt class="py-param">egressDevice</tt><tt class="py-op">,</tt> </tt>
+<a name="L422"></a><tt class="py-lineno"> 422</tt>  <tt class="py-line">                        <tt class="py-param">appId</tt><tt class="py-op">=</tt><tt class="py-string">'org.onosproject.cli'</tt><tt class="py-op">,</tt> </tt>
+<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line">                        <tt class="py-param">ingressPort</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line">                        <tt class="py-param">egressPort</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L425"></a><tt class="py-lineno"> 425</tt>  <tt class="py-line">                        <tt class="py-param">ethType</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line">                        <tt class="py-param">ethSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line">                        <tt class="py-param">ethDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L428"></a><tt class="py-lineno"> 428</tt>  <tt class="py-line">                        <tt class="py-param">bandwidth</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line">                        <tt class="py-param">lambdaAlloc</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line">                        <tt class="py-param">ipProto</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line">                        <tt class="py-param">ipSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line">                        <tt class="py-param">ipDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line">                        <tt class="py-param">tcpSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line">                        <tt class="py-param">tcpDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line">                        <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> </tt>
+<a name="L436"></a><tt class="py-lineno"> 436</tt>  <tt class="py-line">                        <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.addPointIntent-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.addPointIntent-expanded"><a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L438"></a><tt class="py-lineno"> 438</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L439"></a><tt class="py-lineno"> 439</tt>  <tt class="py-line"><tt class="py-docstring">            Adds a point-to-point intent ( uni-directional ) by</tt> </tt>
+<a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line"><tt class="py-docstring">            specifying device id's and optional fields</tt> </tt>
+<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line"><tt class="py-docstring">            * ingressDevice: device id of ingress device</tt> </tt>
+<a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line"><tt class="py-docstring">            * egressDevice: device id of egress device</tt> </tt>
+<a name="L444"></a><tt class="py-lineno"> 444</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line"><tt class="py-docstring">            * ethType: specify ethType</tt> </tt>
+<a name="L446"></a><tt class="py-lineno"> 446</tt>  <tt class="py-line"><tt class="py-docstring">            * ethSrc: specify ethSrc ( i.e. src mac addr )</tt> </tt>
+<a name="L447"></a><tt class="py-lineno"> 447</tt>  <tt class="py-line"><tt class="py-docstring">            * ethDst: specify ethDst ( i.e. dst mac addr )</tt> </tt>
+<a name="L448"></a><tt class="py-lineno"> 448</tt>  <tt class="py-line"><tt class="py-docstring">            * bandwidth: specify bandwidth capacity of link (TODO)</tt> </tt>
+<a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line"><tt class="py-docstring">            * lambdaAlloc: if True, intent will allocate lambda</tt> </tt>
+<a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line"><tt class="py-docstring">              for the specified intent (TODO)</tt> </tt>
+<a name="L451"></a><tt class="py-lineno"> 451</tt>  <tt class="py-line"><tt class="py-docstring">            * ipProto: specify ip protocol</tt> </tt>
+<a name="L452"></a><tt class="py-lineno"> 452</tt>  <tt class="py-line"><tt class="py-docstring">            * ipSrc: specify ip source address with mask eg. ip#/24</tt> </tt>
+<a name="L453"></a><tt class="py-lineno"> 453</tt>  <tt class="py-line"><tt class="py-docstring">            * ipDst: specify ip destination address eg. ip#/24</tt> </tt>
+<a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line"><tt class="py-docstring">            * tcpSrc: specify tcp source port</tt> </tt>
+<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line"><tt class="py-docstring">            * tcpDst: specify tcp destination port</tt> </tt>
+<a name="L456"></a><tt class="py-lineno"> 456</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.TRUE for successful requests; Returns main.FALSE if</tt> </tt>
+<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line"><tt class="py-docstring">            no ingress|egress port found and if error on requests;</tt> </tt>
+<a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line"><tt class="py-docstring">            Returns None for exceptions</tt> </tt>
+<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE:</tt> </tt>
+<a name="L461"></a><tt class="py-lineno"> 461</tt>  <tt class="py-line"><tt class="py-docstring">            The ip and port option are for the requests input's ip and port</tt> </tt>
+<a name="L462"></a><tt class="py-lineno"> 462</tt>  <tt class="py-line"><tt class="py-docstring">            of the ONOS node</tt> </tt>
+<a name="L463"></a><tt class="py-lineno"> 463</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L464"></a><tt class="py-lineno"> 464</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"/"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ingressDevice</tt><tt class="py-op">:</tt> </tt>
+<a name="L466"></a><tt class="py-lineno"> 466</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ingressPort</tt><tt class="py-op">:</tt> </tt>
+<a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line">                    <tt class="py-name">ingressPort</tt> <tt class="py-op">=</tt> <tt class="py-name">ingressDevice</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"/"</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line">                <tt class="py-name">ingressDevice</tt> <tt class="py-op">=</tt> <tt class="py-name">ingressDevice</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"/"</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ingressPort</tt><tt class="py-op">:</tt> </tt>
+<a name="L471"></a><tt class="py-lineno"> 471</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-102', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Ingress port not specified"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L472"></a><tt class="py-lineno"> 472</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L473"></a><tt class="py-lineno"> 473</tt>  <tt class="py-line"> </tt>
+<a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"/"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">egressDevice</tt><tt class="py-op">:</tt> </tt>
+<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">egressPort</tt><tt class="py-op">:</tt> </tt>
+<a name="L476"></a><tt class="py-lineno"> 476</tt>  <tt class="py-line">                    <tt class="py-name">egressPort</tt> <tt class="py-op">=</tt> <tt class="py-name">egressDevice</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"/"</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line">                <tt class="py-name">egressDevice</tt> <tt class="py-op">=</tt> <tt class="py-name">egressDevice</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"/"</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L478"></a><tt class="py-lineno"> 478</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L479"></a><tt class="py-lineno"> 479</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">egressPort</tt><tt class="py-op">:</tt> </tt>
+<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-103', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Egress port not specified"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L481"></a><tt class="py-lineno"> 481</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line"> </tt>
+<a name="L483"></a><tt class="py-lineno"> 483</tt>  <tt class="py-line">            <tt class="py-name">intentJson</tt> <tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"ingressPoint"</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">"device"</tt><tt class="py-op">:</tt> <tt class="py-name">ingressDevice</tt><tt class="py-op">,</tt> </tt>
+<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line">                                           <tt class="py-string">"port"</tt><tt class="py-op">:</tt> <tt class="py-name">ingressPort</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L485"></a><tt class="py-lineno"> 485</tt>  <tt class="py-line">                          <tt class="py-string">"selector"</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">"criteria"</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line">                          <tt class="py-string">"priority"</tt><tt class="py-op">:</tt> <tt class="py-number">55</tt><tt class="py-op">,</tt> </tt>
+<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line">                          <tt class="py-string">"treatment"</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">"deferred"</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line">                                         <tt class="py-string">"instructions"</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line">                          <tt class="py-string">"egressPoint"</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt> <tt class="py-string">"device"</tt><tt class="py-op">:</tt> <tt class="py-name">egressDevice</tt><tt class="py-op">,</tt> </tt>
+<a name="L490"></a><tt class="py-lineno"> 490</tt>  <tt class="py-line">                                           <tt class="py-string">"port"</tt><tt class="py-op">:</tt> <tt class="py-name">egressPort</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line">                          <tt class="py-string">"appId"</tt><tt class="py-op">:</tt> <tt class="py-name">appId</tt><tt class="py-op">,</tt> </tt>
+<a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line">                          <tt class="py-string">"type"</tt><tt class="py-op">:</tt> <tt class="py-string">"PointToPointIntent"</tt><tt class="py-op">,</tt> </tt>
+<a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line">                          <tt class="py-string">"constraints"</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt> <tt class="py-op">{</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt> <tt class="py-string">"LinkTypeConstraint"</tt><tt class="py-op">,</tt> </tt>
+<a name="L494"></a><tt class="py-lineno"> 494</tt>  <tt class="py-line">                                             <tt class="py-string">"types"</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt> <tt class="py-string">"OPTICAL"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line">                                             <tt class="py-string">"inclusive"</tt><tt class="py-op">:</tt> <tt class="py-string">"false"</tt> <tt class="py-op">}</tt> <tt class="py-op">]</tt> <tt class="py-op">}</tt> </tt>
+<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line"> </tt>
+<a name="L497"></a><tt class="py-lineno"> 497</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ethType</tt> <tt class="py-op">==</tt> <tt class="py-string">"IPV4"</tt><tt class="py-op">:</tt> </tt>
+<a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line">                <tt class="py-name">intentJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">{</tt> </tt>
+<a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line">                                                         <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"ETH_TYPE"</tt><tt class="py-op">,</tt> </tt>
+<a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line">                                                         <tt class="py-string">"ethType"</tt><tt class="py-op">:</tt><tt class="py-number">2048</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">ethType</tt><tt class="py-op">:</tt> </tt>
+<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line">                <tt class="py-name">intentJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">{</tt> </tt>
+<a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line">                                                         <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"ETH_TYPE"</tt><tt class="py-op">,</tt> </tt>
+<a name="L504"></a><tt class="py-lineno"> 504</tt>  <tt class="py-line">                                                         <tt class="py-string">"ethType"</tt><tt class="py-op">:</tt><tt class="py-name">ethType</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line"> </tt>
+<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ethSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line">                <tt class="py-name">intentJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line">                                                       <tt class="py-op">{</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"ETH_SRC"</tt><tt class="py-op">,</tt> </tt>
+<a name="L509"></a><tt class="py-lineno"> 509</tt>  <tt class="py-line">                                                         <tt class="py-string">"mac"</tt><tt class="py-op">:</tt><tt class="py-name">ethSrc</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ethDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line">                <tt class="py-name">intentJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L512"></a><tt class="py-lineno"> 512</tt>  <tt class="py-line">                                                       <tt class="py-op">{</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"ETH_DST"</tt><tt class="py-op">,</tt> </tt>
+<a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line">                                                         <tt class="py-string">"mac"</tt><tt class="py-op">:</tt><tt class="py-name">ethDst</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ipSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line">                <tt class="py-name">intentJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line">                                                       <tt class="py-op">{</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"IPV4_SRC"</tt><tt class="py-op">,</tt> </tt>
+<a name="L517"></a><tt class="py-lineno"> 517</tt>  <tt class="py-line">                                                         <tt class="py-string">"ip"</tt><tt class="py-op">:</tt><tt class="py-name">ipSrc</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ipDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L519"></a><tt class="py-lineno"> 519</tt>  <tt class="py-line">                <tt class="py-name">intentJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L520"></a><tt class="py-lineno"> 520</tt>  <tt class="py-line">                                                       <tt class="py-op">{</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"IPV4_DST"</tt><tt class="py-op">,</tt> </tt>
+<a name="L521"></a><tt class="py-lineno"> 521</tt>  <tt class="py-line">                                                         <tt class="py-string">"ip"</tt><tt class="py-op">:</tt><tt class="py-name">ipDst</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L522"></a><tt class="py-lineno"> 522</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">tcpSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line">                <tt class="py-name">intentJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line">                                                       <tt class="py-op">{</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"TCP_SRC"</tt><tt class="py-op">,</tt> </tt>
+<a name="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line">                                                         <tt class="py-string">"tcpPort"</tt><tt class="py-op">:</tt> <tt class="py-name">tcpSrc</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">tcpDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L527"></a><tt class="py-lineno"> 527</tt>  <tt class="py-line">                <tt class="py-name">intentJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line">                                                       <tt class="py-op">{</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"TCP_DST"</tt><tt class="py-op">,</tt> </tt>
+<a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line">                                                         <tt class="py-string">"tcpPort"</tt><tt class="py-op">:</tt> <tt class="py-name">tcpDst</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L530"></a><tt class="py-lineno"> 530</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ipProto</tt><tt class="py-op">:</tt> </tt>
+<a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line">                <tt class="py-name">intentJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L532"></a><tt class="py-lineno"> 532</tt>  <tt class="py-line">                                                       <tt class="py-op">{</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"IP_PROTO"</tt><tt class="py-op">,</tt> </tt>
+<a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line">                                                         <tt class="py-string">"protocol"</tt><tt class="py-op">:</tt> <tt class="py-name">ipProto</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L534"></a><tt class="py-lineno"> 534</tt>  <tt class="py-line"> </tt>
+<a name="L535"></a><tt class="py-lineno"> 535</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: Bandwidth and Lambda will be implemented if needed</tt> </tt>
+<a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line"> </tt>
+<a name="L537"></a><tt class="py-lineno"> 537</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-104', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">intentJson</tt> <tt class="py-op">)</tt> </tt>
+<a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line"> </tt>
+<a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line">            <tt id="link-105" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-105', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-106', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No ip given, reverting to ip from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L542"></a><tt class="py-lineno"> 542</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-107', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No port given, reverting to port "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line">                               <tt class="py-string">"from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> </tt>
+<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-108', 'send', 'link-23');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> </tt>
+<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line">                                  <tt class="py-name">port</tt><tt class="py-op">,</tt> </tt>
+<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line">                                  <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-string">"POST"</tt><tt class="py-op">,</tt> </tt>
+<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">                                  <tt class="py-name">url</tt><tt class="py-op">=</tt><tt class="py-string">"/intents"</tt><tt class="py-op">,</tt> </tt>
+<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line">                                  <tt class="py-name">data</tt><tt class="py-op">=</tt><tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">intentJson</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-number">201</tt><tt class="py-op">:</tt> </tt>
+<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-109', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Successfully POST point"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">                                   <tt class="py-string">" intent between ingress: "</tt> <tt class="py-op">+</tt> <tt class="py-name">ingressDevice</tt> <tt class="py-op">+</tt> </tt>
+<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line">                                   <tt class="py-string">" and egress: "</tt> <tt class="py-op">+</tt> <tt class="py-name">egressDevice</tt> <tt class="py-op">+</tt> <tt class="py-string">" devices"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-110', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-111', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error with REST request, response was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line"> </tt>
+<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-112', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line"> </tt>
+<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.removeIntent"></a><div id="OnosRestDriver.removeIntent-def"><a name="L568"></a><tt class="py-lineno"> 568</tt> <a class="py-toggle" href="#" id="OnosRestDriver.removeIntent-toggle" onclick="return toggle('OnosRestDriver.removeIntent');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#removeIntent">removeIntent</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">intentId</tt><tt class="py-op">,</tt> <tt class="py-param">appId</tt><tt class="py-op">=</tt><tt class="py-string">'org.onosproject.cli'</tt><tt class="py-op">,</tt> </tt>
+<a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line">                       <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.removeIntent-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.removeIntent-expanded"><a name="L570"></a><tt class="py-lineno"> 570</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line"><tt class="py-docstring">        Remove intent for specified application id and intent id;</tt> </tt>
+<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line"><tt class="py-docstring">        Returns None for exception</tt> </tt>
+<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line">            <tt id="link-113" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-113', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-114', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No ip given, reverting to ip from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L580"></a><tt class="py-lineno"> 580</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-115', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No port given, reverting to port "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">                               <tt class="py-string">"from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> </tt>
+<a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: REST url requires the intent id to be in decimal form</tt> </tt>
+<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line">            <tt class="py-name">query</tt> <tt class="py-op">=</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">appId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">,</tt> <tt class="py-number">16</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-116', 'send', 'link-23');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> </tt>
+<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line">                                  <tt class="py-name">port</tt><tt class="py-op">,</tt> </tt>
+<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line">                                  <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-string">"DELETE"</tt><tt class="py-op">,</tt> </tt>
+<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line">                                  <tt class="py-name">url</tt><tt class="py-op">=</tt><tt class="py-string">"/intents"</tt> <tt class="py-op">+</tt> <tt class="py-name">query</tt> <tt class="py-op">)</tt> </tt>
+<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-number">200</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">299</tt><tt class="py-op">:</tt> </tt>
+<a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L593"></a><tt class="py-lineno"> 593</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-117', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-118', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error with REST request, response was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-119', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.getIntentsId"></a><div id="OnosRestDriver.getIntentsId-def"><a name="L600"></a><tt class="py-lineno"> 600</tt> <a class="py-toggle" href="#" id="OnosRestDriver.getIntentsId-toggle" onclick="return toggle('OnosRestDriver.getIntentsId');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getIntentsId">getIntentsId</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.getIntentsId-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.getIntentsId-expanded"><a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line"><tt class="py-docstring">        Returns a list of intents id; Returns None for exception</tt> </tt>
+<a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line">            <tt class="py-name">intentIdList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line">            <tt class="py-name">intentsJson</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-120', 'intents', 'link-38');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">intentsJson</tt> </tt>
+<a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-121" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-121', 'intent', 'link-39');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsJson</tt><tt class="py-op">:</tt> </tt>
+<a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line">                <tt class="py-name">intentIdList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-122" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-122', 'intent', 'link-39');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L610"></a><tt class="py-lineno"> 610</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">intentIdList</tt> </tt>
+<a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">intentIdList</tt> </tt>
+<a name="L612"></a><tt class="py-lineno"> 612</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-123', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L614"></a><tt class="py-lineno"> 614</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.removeAllIntents"></a><div id="OnosRestDriver.removeAllIntents-def"><a name="L616"></a><tt class="py-lineno"> 616</tt> <a class="py-toggle" href="#" id="OnosRestDriver.removeAllIntents-toggle" onclick="return toggle('OnosRestDriver.removeAllIntents');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#removeAllIntents">removeAllIntents</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">intentIdList</tt> <tt class="py-op">=</tt><tt class="py-string">'ALL'</tt><tt class="py-op">,</tt><tt class="py-param">appId</tt><tt class="py-op">=</tt><tt class="py-string">'org.onosproject.cli'</tt><tt class="py-op">,</tt> </tt>
+<a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line">                          <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">delay</tt><tt class="py-op">=</tt><tt class="py-number">5</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.removeAllIntents-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.removeAllIntents-expanded"><a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line"><tt class="py-docstring">            Remove all the intents</tt> </tt>
+<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.TRUE if all intents are removed, otherwise returns</tt> </tt>
+<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line"><tt class="py-docstring">            main.FALSE; Returns None for exception</tt> </tt>
+<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line">            <tt class="py-name">results</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L627"></a><tt class="py-lineno"> 627</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">intentIdList</tt> <tt class="py-op">==</tt> <tt class="py-string">'ALL'</tt><tt class="py-op">:</tt> </tt>
+<a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line">                <tt class="py-name">intentIdList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getIntentsId()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getIntentsId"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getIntentsId" class="py-name" href="#" onclick="return doclink('link-124', 'getIntentsId', 'link-124');">getIntentsId</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">port</tt> <tt class="py-op">)</tt> </tt>
+<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line"> </tt>
+<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-125', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Removing intents "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line">                           <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">intentIdList</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line"> </tt>
+<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">intentIdList</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">ListType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L634"></a><tt class="py-lineno"> 634</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-126" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-126', 'intent', 'link-39');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentIdList</tt><tt class="py-op">:</tt> </tt>
+<a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line">                    <tt class="py-name">results</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.removeIntent()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#removeIntent,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.removeIntent()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#removeIntent"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.removeIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.removeIntent" class="py-name" href="#" onclick="return doclink('link-127', 'removeIntent', 'link-127');">removeIntent</a></tt><tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">=</tt><tt id="link-128" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-128', 'intent', 'link-39');">intent</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">                                                       <tt class="py-name">appId</tt><tt class="py-op">=</tt><tt class="py-name">appId</tt><tt class="py-op">,</tt> </tt>
+<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line">                                                       <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">ip</tt><tt class="py-op">,</tt> </tt>
+<a name="L638"></a><tt class="py-lineno"> 638</tt>  <tt class="py-line">                                                       <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">port</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line">                <tt class="py-comment"># Check for remaining intents</tt> </tt>
+<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line">                <tt class="py-comment"># NOTE: Noticing some delay on Deleting the intents so i put</tt> </tt>
+<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line">                <tt class="py-comment"># this time out</tt> </tt>
+<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line">                <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">delay</tt> <tt class="py-op">)</tt> </tt>
+<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line">                <tt class="py-name">intentRemain</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-129', 'intents', 'link-38');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt> <tt class="py-name">result</tt><tt class="py-op">==</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> <tt class="py-keyword">for</tt> <tt class="py-name">result</tt> <tt class="py-keyword">in</tt> <tt class="py-name">results</tt> <tt class="py-op">)</tt> <tt class="py-keyword">and</tt> \ </tt>
+<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line">                   <tt class="py-name">intentRemain</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-130', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": All intents are removed "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-131', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-132', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Did not removed all intents,"</tt> </tt>
+<a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line">                                    <tt class="py-op">+</tt> <tt class="py-string">" there are "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">intentRemain</tt> <tt class="py-op">)</tt> </tt>
+<a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line">                                    <tt class="py-op">+</tt> <tt class="py-string">" intents remaining"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L653"></a><tt class="py-lineno"> 653</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-133', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": There is no intents ID list"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-134', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line"> </tt>
+<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.hosts"></a><div id="OnosRestDriver.hosts-def"><a name="L661"></a><tt class="py-lineno"> 661</tt> <a class="py-toggle" href="#" id="OnosRestDriver.hosts-toggle" onclick="return toggle('OnosRestDriver.hosts');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#hosts">hosts</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.hosts-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.hosts-expanded"><a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L663"></a><tt class="py-lineno"> 663</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line"><tt class="py-docstring">            Get a list of dictionary of all discovered hosts</tt> </tt>
+<a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line"><tt class="py-docstring">            Returns a list of dictionary of information of the hosts currently</tt> </tt>
+<a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line"><tt class="py-docstring">            discovered by ONOS; Returns main.FALSE if error on requests;</tt> </tt>
+<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line"><tt class="py-docstring">            Returns None for exception</tt> </tt>
+<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line">            <tt id="link-135" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-135', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-136', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No ip given, reverting to ip from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-137', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No port given, reverting to port \</tt> </tt>
+<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line"><tt class="py-string">                               from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> </tt>
+<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-138', 'send', 'link-23');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">url</tt><tt class="py-op">=</tt><tt class="py-string">"/hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L680"></a><tt class="py-lineno"> 680</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-number">200</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">299</tt><tt class="py-op">:</tt> </tt>
+<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line">                    <tt id="link-139" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-139', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line">                    <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-140" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-140', 'output', 'link-20');">output</a></tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'hosts'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line">                    <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">a</tt> <tt class="py-op">)</tt> </tt>
+<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">b</tt> </tt>
+<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-141', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-142', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error with REST request, response was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-143', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L692"></a><tt class="py-lineno"> 692</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.getHost"></a><div id="OnosRestDriver.getHost-def"><a name="L694"></a><tt class="py-lineno"> 694</tt> <a class="py-toggle" href="#" id="OnosRestDriver.getHost-toggle" onclick="return toggle('OnosRestDriver.getHost');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getHost">getHost</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">mac</tt><tt class="py-op">,</tt> <tt class="py-param">vlan</tt><tt class="py-op">=</tt><tt class="py-string">"-1"</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.getHost-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.getHost-expanded"><a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line"><tt class="py-docstring">            Gets the information from the given host</tt> </tt>
+<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line"><tt class="py-docstring">            str mac - MAC address of the host</tt> </tt>
+<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line"><tt class="py-docstring">            str vlan - VLAN tag of the host, defaults to -1</tt> </tt>
+<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line"><tt class="py-docstring">            Return the host id from the hosts/mac/vlan output in REST api</tt> </tt>
+<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line"><tt class="py-docstring">            whose 'id' contains mac/vlan; Returns None for exception;</tt> </tt>
+<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.FALSE if error on requests</tt> </tt>
+<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE:</tt> </tt>
+<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line"><tt class="py-docstring">            Not sure what this function should do, any suggestion?</tt> </tt>
+<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line">            <tt id="link-144" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-144', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-145', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No ip given, reverting to ip from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-146', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No port given, reverting to port \</tt> </tt>
+<a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line"><tt class="py-string">                               from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> </tt>
+<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line">            <tt class="py-name">query</tt> <tt class="py-op">=</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">mac</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">vlan</tt> </tt>
+<a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-147', 'send', 'link-23');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">url</tt><tt class="py-op">=</tt><tt class="py-string">"/hosts"</tt> <tt class="py-op">+</tt> <tt class="py-name">query</tt> <tt class="py-op">)</tt> </tt>
+<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: What if the person wants other values? would it be better</tt> </tt>
+<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line">            <tt class="py-comment"># to have a function that gets a key and return a value instead?</tt> </tt>
+<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line">            <tt class="py-comment"># This function requires mac and vlan and returns an ID which</tt> </tt>
+<a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line">            <tt class="py-comment"># makes this current function useless</tt> </tt>
+<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-number">200</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">299</tt><tt class="py-op">:</tt> </tt>
+<a name="L727"></a><tt class="py-lineno"> 727</tt>  <tt class="py-line">                    <tt id="link-148" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-148', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line">                    <tt class="py-name">hostId</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-149" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-149', 'output', 'link-20');">output</a></tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">hostId</tt> </tt>
+<a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-150', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-151', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error with REST request, response was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-152', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.topology"></a><div id="OnosRestDriver.topology-def"><a name="L738"></a><tt class="py-lineno"> 738</tt> <a class="py-toggle" href="#" id="OnosRestDriver.topology-toggle" onclick="return toggle('OnosRestDriver.topology');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#topology">topology</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.topology-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.topology-expanded"><a name="L739"></a><tt class="py-lineno"> 739</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line"><tt class="py-docstring">            Gets the overview of network topology</tt> </tt>
+<a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line"><tt class="py-docstring">            Returns a dictionary containing information about network topology;</tt> </tt>
+<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line"><tt class="py-docstring">            Returns None for exception</tt> </tt>
+<a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line">            <tt id="link-153" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-153', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-154', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No ip given, reverting to ip from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-155', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No port given, reverting to port \</tt> </tt>
+<a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line"><tt class="py-string">                               from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> </tt>
+<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-156', 'send', 'link-23');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">url</tt><tt class="py-op">=</tt><tt class="py-string">"/topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-number">200</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">299</tt><tt class="py-op">:</tt> </tt>
+<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line">                    <tt id="link-157" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-157', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line">                    <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-158" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-158', 'output', 'link-20');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line">                    <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">a</tt> <tt class="py-op">)</tt> </tt>
+<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">b</tt> </tt>
+<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-159', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-160', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error with REST request, response was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-161', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L769"></a><tt class="py-lineno"> 769</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.getIntentState"></a><div id="OnosRestDriver.getIntentState-def"><a name="L770"></a><tt class="py-lineno"> 770</tt> <a class="py-toggle" href="#" id="OnosRestDriver.getIntentState-toggle" onclick="return toggle('OnosRestDriver.getIntentState');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getIntentState">getIntentState</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">intentsId</tt><tt class="py-op">,</tt> <tt class="py-param">intentsJson</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line">                        <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.getIntentState-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.getIntentState-expanded"><a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line"><tt class="py-docstring">            Get intent state.</tt> </tt>
+<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line"><tt class="py-docstring">            Accepts a single intent ID (string type) or a list of intent IDs.</tt> </tt>
+<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line"><tt class="py-docstring">            Returns the state(string type) of the id if a single intent ID is</tt> </tt>
+<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line"><tt class="py-docstring">            accepted.</tt> </tt>
+<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line"><tt class="py-docstring">            intentId: intent ID (string type)</tt> </tt>
+<a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line"><tt class="py-docstring">            intentsJson: parsed json object from the onos:intents api</tt> </tt>
+<a name="L781"></a><tt class="py-lineno"> 781</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line"><tt class="py-docstring">            Returns a dictionary with intent IDs as the key and its</tt> </tt>
+<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line"><tt class="py-docstring">            corresponding states as the values; Returns None for invalid IDs or</tt> </tt>
+<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line"><tt class="py-docstring">            Type error and any exceptions</tt> </tt>
+<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE:</tt> </tt>
+<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line"><tt class="py-docstring">            An intent's state consist of INSTALLED,WITHDRAWN etc.</tt> </tt>
+<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line">            <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt class="py-string">"State is Undefined"</tt> </tt>
+<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">intentsJson</tt><tt class="py-op">:</tt> </tt>
+<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line">                <tt class="py-name">intentsJsonTemp</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-162', 'intents', 'link-38');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line">                <tt class="py-name">intentsJsonTemp</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">intentsJson</tt> <tt class="py-op">)</tt> </tt>
+<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-163" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-163', 'intent', 'link-39');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsJsonTemp</tt><tt class="py-op">:</tt> </tt>
+<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">intentsId</tt> <tt class="py-op">==</tt> <tt id="link-164" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-164', 'intent', 'link-39');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line">                        <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-165" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-165', 'intent', 'link-39');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line">                        <tt class="py-keyword">return</tt> <tt class="py-name">state</tt> </tt>
+<a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-166', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Cannot find intent ID"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line">                               <tt class="py-string">" on the list"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">state</tt> </tt>
+<a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">ListType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line">                <tt class="py-name">dictList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line">                    <tt class="py-name">stateDict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt id="link-167" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-167', 'intents', 'link-38');">intents</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsJsonTemp</tt><tt class="py-op">:</tt> </tt>
+<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">intentsId</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-168" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-168', 'intents', 'link-38');">intents</a></tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line">                            <tt class="py-name">stateDict</tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-169" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-169', 'intents', 'link-38');">intents</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line">                            <tt class="py-name">stateDict</tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">intentsId</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> </tt>
+<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line">                            <tt class="py-name">dictList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">stateDict</tt> <tt class="py-op">)</tt> </tt>
+<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
+<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">dictList</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-170', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Cannot find some of the intent ID state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">dictList</tt> </tt>
+<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-171', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Invalid intents ID entry"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line"> </tt>
+<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-172', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object Type not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-173', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.checkIntentState"></a><div id="OnosRestDriver.checkIntentState-def"><a name="L826"></a><tt class="py-lineno"> 826</tt> <a class="py-toggle" href="#" id="OnosRestDriver.checkIntentState-toggle" onclick="return toggle('OnosRestDriver.checkIntentState');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#checkIntentState">checkIntentState</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">intentsId</tt><tt class="py-op">=</tt><tt class="py-string">"ALL"</tt><tt class="py-op">,</tt> <tt class="py-param">expectedState</tt><tt class="py-op">=</tt><tt class="py-string">'INSTALLED'</tt><tt class="py-op">,</tt> </tt>
+<a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line">                          <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.checkIntentState-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.checkIntentState-expanded"><a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L829"></a><tt class="py-lineno"> 829</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line"><tt class="py-docstring">            Check intents state based on expected state which defaults to</tt> </tt>
+<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line"><tt class="py-docstring">            INSTALLED state</tt> </tt>
+<a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line"><tt class="py-docstring">            intentsId - List of intents ID to be checked</tt> </tt>
+<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line"><tt class="py-docstring">            expectedState - Check the expected state(s) of each intents</tt> </tt>
+<a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line"><tt class="py-docstring">                            state in the list.</tt> </tt>
+<a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line"><tt class="py-docstring">                            *NOTE: You can pass in a list of expected state,</tt> </tt>
+<a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line"><tt class="py-docstring">                            Eg: expectedState = [ 'INSTALLED' , 'INSTALLING' ]</tt> </tt>
+<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line"><tt class="py-docstring">        Return:</tt> </tt>
+<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.TRUE only if all intent are the same as expected states</tt> </tt>
+<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line"><tt class="py-docstring">            , otherwise, returns main.FALSE; Returns None for general exception</tt> </tt>
+<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line">            <tt class="py-comment"># Generating a dictionary: intent id as a key and state as value</tt> </tt>
+<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line">            <tt class="py-name">returnValue</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">intentsId</tt> <tt class="py-op">==</tt> <tt class="py-string">"ALL"</tt><tt class="py-op">:</tt> </tt>
+<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line">                <tt class="py-name">intentsId</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getIntentsId" class="py-name" href="#" onclick="return doclink('link-174', 'getIntentsId', 'link-124');">getIntentsId</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">port</tt> <tt class="py-op">)</tt> </tt>
+<a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line">            <tt class="py-name">intentsDict</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getIntentState()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getIntentState,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getIntentState()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getIntentState"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getIntentState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getIntentState" class="py-name" href="#" onclick="return doclink('link-175', 'getIntentState', 'link-175');">getIntentState</a></tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt><tt class="py-op">,</tt> <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">port</tt> <tt class="py-op">)</tt> </tt>
+<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line"> </tt>
+<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line">            <tt class="py-comment">#print "len of intentsDict ", str( len( intentsDict ) )</tt> </tt>
+<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentsDict</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-176', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-177', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": There is something wrong "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line">                                <tt class="py-string">"getting intents state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line"> </tt>
+<a name="L856"></a><tt class="py-lineno"> 856</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">expectedState</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-178" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-178', 'intents', 'link-38');">intents</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsDict</tt><tt class="py-op">:</tt> </tt>
+<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt id="link-179" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-179', 'intents', 'link-38');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">expectedState</tt><tt class="py-op">:</tt> </tt>
+<a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-180', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" : Intent ID - "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line">                                        <tt id="link-181" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-181', 'intents', 'link-38');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line">                                        <tt class="py-string">" actual state = "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line">                                        <tt id="link-182" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-182', 'intents', 'link-38');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-string">" does not equal expected state = "</tt> </tt>
+<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-name">expectedState</tt> <tt class="py-op">)</tt> </tt>
+<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line">                        <tt class="py-name">returnValue</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line"> </tt>
+<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">expectedState</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">ListType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-183" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-183', 'intents', 'link-38');">intents</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsDict</tt><tt class="py-op">:</tt> </tt>
+<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">any</tt><tt class="py-op">(</tt> <tt class="py-name">state</tt> <tt class="py-op">==</tt> <tt id="link-184" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-184', 'intents', 'link-38');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">state</tt> <tt class="py-keyword">in</tt> </tt>
+<a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line">                                <tt class="py-name">expectedState</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-185', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" : Intent ID - "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line">                                        <tt id="link-186" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-186', 'intents', 'link-38');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line">                                        <tt class="py-string">" actual state = "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L874"></a><tt class="py-lineno"> 874</tt>  <tt class="py-line">                                        <tt id="link-187" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-187', 'intents', 'link-38');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line">                                        <tt class="py-string">" does not equal expected states = "</tt> </tt>
+<a name="L876"></a><tt class="py-lineno"> 876</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">expectedState</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line">                        <tt class="py-name">returnValue</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line"> </tt>
+<a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">returnValue</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-188', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": All "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentsDict</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line">                               <tt class="py-string">" intents are in "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">expectedState</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line">                               <tt class="py-string">" state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">returnValue</tt> </tt>
+<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-189', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-190', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.flows"></a><div id="OnosRestDriver.flows-def"><a name="L892"></a><tt class="py-lineno"> 892</tt> <a class="py-toggle" href="#" id="OnosRestDriver.flows-toggle" onclick="return toggle('OnosRestDriver.flows');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#flows">flows</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.flows-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.flows-expanded"><a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line"><tt class="py-docstring">            Get flows currently added to the system</tt> </tt>
+<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE:</tt> </tt>
+<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line"><tt class="py-docstring">            The flows -j cli command has completely different format than</tt> </tt>
+<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line"><tt class="py-docstring">            the REST output; Returns None for exception</tt> </tt>
+<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line">            <tt id="link-191" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-191', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-192', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No ip given, reverting to ip from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L906"></a><tt class="py-lineno"> 906</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-193', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No port given, reverting to port \</tt> </tt>
+<a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line"><tt class="py-string">                               from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> </tt>
+<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-194', 'send', 'link-23');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">url</tt><tt class="py-op">=</tt><tt class="py-string">"/flows"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-number">200</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">299</tt><tt class="py-op">:</tt> </tt>
+<a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line">                    <tt id="link-195" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-195', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line">                    <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-196" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-196', 'output', 'link-20');">output</a></tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'flows'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line">                    <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">a</tt> <tt class="py-op">)</tt> </tt>
+<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">b</tt> </tt>
+<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-197', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-198', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error with REST request, response was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L919"></a><tt class="py-lineno"> 919</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-199', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.getFlows"></a><div id="OnosRestDriver.getFlows-def"><a name="L924"></a><tt class="py-lineno"> 924</tt> <a class="py-toggle" href="#" id="OnosRestDriver.getFlows-toggle" onclick="return toggle('OnosRestDriver.getFlows');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getFlows">getFlows</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">device</tt><tt class="py-op">,</tt> <tt class="py-param">flowId</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.getFlows-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.getFlows-expanded"><a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line"><tt class="py-docstring">            Gets all the flows of the device or get a specific flow in the</tt> </tt>
+<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line"><tt class="py-docstring">            device by giving its flow ID</tt> </tt>
+<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line"><tt class="py-docstring">            str device - device/switch Id</tt> </tt>
+<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line"><tt class="py-docstring">            int/hex flowId - ID of the flow</tt> </tt>
+<a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L935"></a><tt class="py-lineno"> 935</tt>  <tt class="py-line">            <tt id="link-200" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-200', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-201', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No ip given, reverting to ip from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-202', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No port given, reverting to port \</tt> </tt>
+<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line"><tt class="py-string">                               from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> </tt>
+<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line">            <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-string">"/flows/"</tt> <tt class="py-op">+</tt> <tt class="py-name">device</tt> </tt>
+<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">flowId</tt><tt class="py-op">:</tt> </tt>
+<a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line">                <tt class="py-name">url</tt> <tt class="py-op">+=</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">flowId</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">url</tt> </tt>
+<a name="L947"></a><tt class="py-lineno"> 947</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-203', 'send', 'link-23');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">url</tt><tt class="py-op">=</tt><tt class="py-name">url</tt> <tt class="py-op">)</tt> </tt>
+<a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-number">200</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">299</tt><tt class="py-op">:</tt> </tt>
+<a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line">                    <tt id="link-204" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-204', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line">                    <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-205" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-205', 'output', 'link-20');">output</a></tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'flows'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line">                    <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">a</tt> <tt class="py-op">)</tt> </tt>
+<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">b</tt> </tt>
+<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-206', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-207', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error with REST request, response was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-208', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line"> </tt>
+<a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.addFlow"></a><div id="OnosRestDriver.addFlow-def"><a name="L963"></a><tt class="py-lineno"> 963</tt> <a class="py-toggle" href="#" id="OnosRestDriver.addFlow-toggle" onclick="return toggle('OnosRestDriver.addFlow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addFlow">addFlow</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> </tt>
+<a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line">                 <tt class="py-param">deviceId</tt><tt class="py-op">,</tt> </tt>
+<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line">                 <tt class="py-param">appId</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> </tt>
+<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line">                 <tt class="py-param">ingressPort</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line">                 <tt class="py-param">egressPort</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line">                 <tt class="py-param">ethType</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L969"></a><tt class="py-lineno"> 969</tt>  <tt class="py-line">                 <tt class="py-param">ethSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">                 <tt class="py-param">ethDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line">                 <tt class="py-param">bandwidth</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line">                 <tt class="py-param">lambdaAlloc</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line">                 <tt class="py-param">ipProto</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line">                 <tt class="py-param">ipSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line">                 <tt class="py-param">ipDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line">                 <tt class="py-param">tcpSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line">                 <tt class="py-param">tcpDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line">                 <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> </tt>
+<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line">                 <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.addFlow-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.addFlow-expanded"><a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line"><tt class="py-docstring">            Creates a single flow in the specified device</tt> </tt>
+<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line"><tt class="py-docstring">            * deviceId: id of the device</tt> </tt>
+<a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line"><tt class="py-docstring">            * ingressPort: port ingress device</tt> </tt>
+<a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line"><tt class="py-docstring">            * egressPort: port  of egress device</tt> </tt>
+<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line"><tt class="py-docstring">            * ethType: specify ethType</tt> </tt>
+<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line"><tt class="py-docstring">            * ethSrc: specify ethSrc ( i.e. src mac addr )</tt> </tt>
+<a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line"><tt class="py-docstring">            * ethDst: specify ethDst ( i.e. dst mac addr )</tt> </tt>
+<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line"><tt class="py-docstring">            * ipProto: specify ip protocol</tt> </tt>
+<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line"><tt class="py-docstring">            * ipSrc: specify ip source address with mask eg. ip#/24</tt> </tt>
+<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line"><tt class="py-docstring">            * ipDst: specify ip destination address eg. ip#/24</tt> </tt>
+<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line"><tt class="py-docstring">            * tcpSrc: specify tcp source port</tt> </tt>
+<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line"><tt class="py-docstring">            * tcpDst: specify tcp destination port</tt> </tt>
+<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.TRUE for successful requests; Returns main.FALSE</tt> </tt>
+<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line"><tt class="py-docstring">            if error on requests;</tt> </tt>
+<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line"><tt class="py-docstring">            Returns None for exceptions</tt> </tt>
+<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE:</tt> </tt>
+<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line"><tt class="py-docstring">            The ip and port option are for the requests input's ip and port</tt> </tt>
+<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line"><tt class="py-docstring">            of the ONOS node</tt> </tt>
+<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line"> </tt>
+<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">            <tt class="py-name">flowJson</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">"priority"</tt><tt class="py-op">:</tt><tt class="py-number">100</tt><tt class="py-op">,</tt> </tt>
+<a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line">                           <tt class="py-string">"isPermanent"</tt><tt class="py-op">:</tt><tt class="py-string">"true"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1008"></a><tt class="py-lineno">1008</tt>  <tt class="py-line">                           <tt class="py-string">"timeout"</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> </tt>
+<a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line">                           <tt class="py-string">"deviceId"</tt><tt class="py-op">:</tt><tt class="py-name">deviceId</tt><tt class="py-op">,</tt> </tt>
+<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line">                           <tt class="py-string">"treatment"</tt><tt class="py-op">:</tt><tt class="py-op">{</tt><tt class="py-string">"instructions"</tt><tt class="py-op">:</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line">                           <tt class="py-string">"selector"</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt><tt class="py-string">"criteria"</tt><tt class="py-op">:</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">}</tt><tt class="py-op">}</tt> </tt>
+<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line"> </tt>
+<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">appId</tt><tt class="py-op">:</tt> </tt>
+<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line">                <tt class="py-name">flowJson</tt><tt class="py-op">[</tt> <tt class="py-string">"appId"</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">appId</tt> </tt>
+<a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line"> </tt>
+<a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">egressPort</tt><tt class="py-op">:</tt> </tt>
+<a name="L1017"></a><tt class="py-lineno">1017</tt>  <tt class="py-line">                <tt class="py-name">flowJson</tt><tt class="py-op">[</tt> <tt class="py-string">'treatment'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'instructions'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line">                                                       <tt class="py-op">{</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"OUTPUT"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line">                                                         <tt class="py-string">"port"</tt><tt class="py-op">:</tt><tt class="py-name">egressPort</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ingressPort</tt><tt class="py-op">:</tt> </tt>
+<a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line">                <tt class="py-name">flowJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L1022"></a><tt class="py-lineno">1022</tt>  <tt class="py-line">                                                       <tt class="py-op">{</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"IN_PORT"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1023"></a><tt class="py-lineno">1023</tt>  <tt class="py-line">                                                         <tt class="py-string">"port"</tt><tt class="py-op">:</tt><tt class="py-name">ingressPort</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1024"></a><tt class="py-lineno">1024</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ethType</tt> <tt class="py-op">==</tt> <tt class="py-string">"IPV4"</tt><tt class="py-op">:</tt> </tt>
+<a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line">                <tt class="py-name">flowJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">{</tt> </tt>
+<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line">                                                         <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"ETH_TYPE"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line">                                                         <tt class="py-string">"ethType"</tt><tt class="py-op">:</tt><tt class="py-number">2048</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">ethType</tt><tt class="py-op">:</tt> </tt>
+<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line">                <tt class="py-name">flowJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">{</tt> </tt>
+<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line">                                                         <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"ETH_TYPE"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line">                                                         <tt class="py-string">"ethType"</tt><tt class="py-op">:</tt><tt class="py-name">ethType</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ethSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line">                <tt class="py-name">flowJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line">                                                       <tt class="py-op">{</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"ETH_SRC"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1035"></a><tt class="py-lineno">1035</tt>  <tt class="py-line">                                                         <tt class="py-string">"mac"</tt><tt class="py-op">:</tt><tt class="py-name">ethSrc</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ethDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line">                <tt class="py-name">flowJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line">                                                       <tt class="py-op">{</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"ETH_DST"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line">                                                         <tt class="py-string">"mac"</tt><tt class="py-op">:</tt><tt class="py-name">ethDst</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ipSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line">                <tt class="py-name">flowJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line">                                                       <tt class="py-op">{</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"IPV4_SRC"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line">                                                         <tt class="py-string">"ip"</tt><tt class="py-op">:</tt><tt class="py-name">ipSrc</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1044"></a><tt class="py-lineno">1044</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ipDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1045"></a><tt class="py-lineno">1045</tt>  <tt class="py-line">                <tt class="py-name">flowJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line">                                                       <tt class="py-op">{</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"IPV4_DST"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line">                                                         <tt class="py-string">"ip"</tt><tt class="py-op">:</tt><tt class="py-name">ipDst</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">tcpSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line">                <tt class="py-name">flowJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line">                                                       <tt class="py-op">{</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"TCP_SRC"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1051"></a><tt class="py-lineno">1051</tt>  <tt class="py-line">                                                         <tt class="py-string">"tcpPort"</tt><tt class="py-op">:</tt> <tt class="py-name">tcpSrc</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">tcpDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1053"></a><tt class="py-lineno">1053</tt>  <tt class="py-line">                <tt class="py-name">flowJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line">                                                       <tt class="py-op">{</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"TCP_DST"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line">                                                         <tt class="py-string">"tcpPort"</tt><tt class="py-op">:</tt> <tt class="py-name">tcpDst</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ipProto</tt><tt class="py-op">:</tt> </tt>
+<a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line">                <tt class="py-name">flowJson</tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'criteria'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line">                                                       <tt class="py-op">{</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt><tt class="py-string">"IP_PROTO"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line">                                                         <tt class="py-string">"protocol"</tt><tt class="py-op">:</tt> <tt class="py-name">ipProto</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1060"></a><tt class="py-lineno">1060</tt>  <tt class="py-line"> </tt>
+<a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: Bandwidth and Lambda will be implemented if needed</tt> </tt>
+<a name="L1062"></a><tt class="py-lineno">1062</tt>  <tt class="py-line"> </tt>
+<a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-209', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">flowJson</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line"> </tt>
+<a name="L1065"></a><tt class="py-lineno">1065</tt>  <tt class="py-line">            <tt id="link-210" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-210', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1066"></a><tt class="py-lineno">1066</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L1067"></a><tt class="py-lineno">1067</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-211" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-211', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No ip given, reverting to ip from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1068"></a><tt class="py-lineno">1068</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L1069"></a><tt class="py-lineno">1069</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L1070"></a><tt class="py-lineno">1070</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-212', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No port given, reverting to port "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1071"></a><tt class="py-lineno">1071</tt>  <tt class="py-line">                               <tt class="py-string">"from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1072"></a><tt class="py-lineno">1072</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> </tt>
+<a name="L1073"></a><tt class="py-lineno">1073</tt>  <tt class="py-line">            <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-string">"/flows/"</tt> <tt class="py-op">+</tt> <tt class="py-name">deviceId</tt> </tt>
+<a name="L1074"></a><tt class="py-lineno">1074</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-213', 'send', 'link-23');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> </tt>
+<a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line">                                  <tt class="py-name">port</tt><tt class="py-op">,</tt> </tt>
+<a name="L1076"></a><tt class="py-lineno">1076</tt>  <tt class="py-line">                                  <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-string">"POST"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1077"></a><tt class="py-lineno">1077</tt>  <tt class="py-line">                                  <tt class="py-name">url</tt><tt class="py-op">=</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> </tt>
+<a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line">                                  <tt class="py-name">data</tt><tt class="py-op">=</tt><tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">flowJson</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-number">201</tt><tt class="py-op">:</tt> </tt>
+<a name="L1081"></a><tt class="py-lineno">1081</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-214', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Successfully POST flow"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line">                                   <tt class="py-string">"in device: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-215', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-216', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error with REST request, response was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1087"></a><tt class="py-lineno">1087</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line"> </tt>
+<a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L1090"></a><tt class="py-lineno">1090</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-217', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1091"></a><tt class="py-lineno">1091</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L1092"></a><tt class="py-lineno">1092</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.removeFlow"></a><div id="OnosRestDriver.removeFlow-def"><a name="L1093"></a><tt class="py-lineno">1093</tt> <a class="py-toggle" href="#" id="OnosRestDriver.removeFlow-toggle" onclick="return toggle('OnosRestDriver.removeFlow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#removeFlow">removeFlow</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">deviceId</tt><tt class="py-op">,</tt> <tt class="py-param">flowId</tt><tt class="py-op">,</tt> </tt>
+<a name="L1094"></a><tt class="py-lineno">1094</tt>  <tt class="py-line">                       <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.removeFlow-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.removeFlow-expanded"><a name="L1095"></a><tt class="py-lineno">1095</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1096"></a><tt class="py-lineno">1096</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1097"></a><tt class="py-lineno">1097</tt>  <tt class="py-line"><tt class="py-docstring">            Remove specific device flow</tt> </tt>
+<a name="L1098"></a><tt class="py-lineno">1098</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L1099"></a><tt class="py-lineno">1099</tt>  <tt class="py-line"><tt class="py-docstring">            str deviceId - id of the device</tt> </tt>
+<a name="L1100"></a><tt class="py-lineno">1100</tt>  <tt class="py-line"><tt class="py-docstring">            str flowId - id of the flow</tt> </tt>
+<a name="L1101"></a><tt class="py-lineno">1101</tt>  <tt class="py-line"><tt class="py-docstring">        Return:</tt> </tt>
+<a name="L1102"></a><tt class="py-lineno">1102</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.TRUE if successfully deletes flows, otherwise</tt> </tt>
+<a name="L1103"></a><tt class="py-lineno">1103</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.FALSE, Returns None on error</tt> </tt>
+<a name="L1104"></a><tt class="py-lineno">1104</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1105"></a><tt class="py-lineno">1105</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1106"></a><tt class="py-lineno">1106</tt>  <tt class="py-line">            <tt id="link-218" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-218', 'output', 'link-20');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1107"></a><tt class="py-lineno">1107</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L1108"></a><tt class="py-lineno">1108</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-219', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No ip given, reverting to ip from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1109"></a><tt class="py-lineno">1109</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L1110"></a><tt class="py-lineno">1110</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt> <tt class="py-op">==</tt> <tt class="py-string">"DEFAULT"</tt><tt class="py-op">:</tt> </tt>
+<a name="L1111"></a><tt class="py-lineno">1111</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-220', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"No port given, reverting to port "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1112"></a><tt class="py-lineno">1112</tt>  <tt class="py-line">                               <tt class="py-string">"from topo file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1113"></a><tt class="py-lineno">1113</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> </tt>
+<a name="L1114"></a><tt class="py-lineno">1114</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: REST url requires the intent id to be in decimal form</tt> </tt>
+<a name="L1115"></a><tt class="py-lineno">1115</tt>  <tt class="py-line">            <tt class="py-name">query</tt> <tt class="py-op">=</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">flowId</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1116"></a><tt class="py-lineno">1116</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-221', 'send', 'link-23');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> </tt>
+<a name="L1117"></a><tt class="py-lineno">1117</tt>  <tt class="py-line">                                  <tt class="py-name">port</tt><tt class="py-op">,</tt> </tt>
+<a name="L1118"></a><tt class="py-lineno">1118</tt>  <tt class="py-line">                                  <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-string">"DELETE"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1119"></a><tt class="py-lineno">1119</tt>  <tt class="py-line">                                  <tt class="py-name">url</tt><tt class="py-op">=</tt><tt class="py-string">"/flows"</tt> <tt class="py-op">+</tt> <tt class="py-name">query</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1120"></a><tt class="py-lineno">1120</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L1121"></a><tt class="py-lineno">1121</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-number">200</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">299</tt><tt class="py-op">:</tt> </tt>
+<a name="L1122"></a><tt class="py-lineno">1122</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1123"></a><tt class="py-lineno">1123</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1124"></a><tt class="py-lineno">1124</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-222', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-223" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-223', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error with REST request, response was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1125"></a><tt class="py-lineno">1125</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1126"></a><tt class="py-lineno">1126</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1127"></a><tt class="py-lineno">1127</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L1128"></a><tt class="py-lineno">1128</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-224" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-224', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1129"></a><tt class="py-lineno">1129</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L1130"></a><tt class="py-lineno">1130</tt>  <tt class="py-line"> </tt>
+<a name="OnosRestDriver.checkFlowsState"></a><div id="OnosRestDriver.checkFlowsState-def"><a name="L1131"></a><tt class="py-lineno">1131</tt> <a class="py-toggle" href="#" id="OnosRestDriver.checkFlowsState-toggle" onclick="return toggle('OnosRestDriver.checkFlowsState');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#checkFlowsState">checkFlowsState</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"DEFAULT"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosRestDriver.checkFlowsState-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosRestDriver.checkFlowsState-expanded"><a name="L1132"></a><tt class="py-lineno">1132</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1133"></a><tt class="py-lineno">1133</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1134"></a><tt class="py-lineno">1134</tt>  <tt class="py-line"><tt class="py-docstring">            Check if all the current flows are in ADDED state</tt> </tt>
+<a name="L1135"></a><tt class="py-lineno">1135</tt>  <tt class="py-line"><tt class="py-docstring">        Return:</tt> </tt>
+<a name="L1136"></a><tt class="py-lineno">1136</tt>  <tt class="py-line"><tt class="py-docstring">            returnValue - Returns main.TRUE only if all flows are in</tt> </tt>
+<a name="L1137"></a><tt class="py-lineno">1137</tt>  <tt class="py-line"><tt class="py-docstring">                          return main.FALSE otherwise;</tt> </tt>
+<a name="L1138"></a><tt class="py-lineno">1138</tt>  <tt class="py-line"><tt class="py-docstring">                          Returns None for exception</tt> </tt>
+<a name="L1139"></a><tt class="py-lineno">1139</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1140"></a><tt class="py-lineno">1140</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1141"></a><tt class="py-lineno">1141</tt>  <tt class="py-line">            <tt class="py-name">tempFlows</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-225" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#flows,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#flows"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-225', 'flows', 'link-225');">flows</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">port</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1142"></a><tt class="py-lineno">1142</tt>  <tt class="py-line">            <tt class="py-name">returnValue</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1143"></a><tt class="py-lineno">1143</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">flow</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tempFlows</tt><tt class="py-op">:</tt> </tt>
+<a name="L1144"></a><tt class="py-lineno">1144</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">flow</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-string">'ADDED'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1145"></a><tt class="py-lineno">1145</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-226', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": flow Id: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1146"></a><tt class="py-lineno">1146</tt>  <tt class="py-line">                                   <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">flow</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'groupId'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1147"></a><tt class="py-lineno">1147</tt>  <tt class="py-line">                                   <tt class="py-string">" | state:"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1148"></a><tt class="py-lineno">1148</tt>  <tt class="py-line">                                   <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">flow</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1149"></a><tt class="py-lineno">1149</tt>  <tt class="py-line">                    <tt class="py-name">returnValue</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1150"></a><tt class="py-lineno">1150</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">returnValue</tt> </tt>
+<a name="L1151"></a><tt class="py-lineno">1151</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1152"></a><tt class="py-lineno">1152</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-227', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1153"></a><tt class="py-lineno">1153</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1154"></a><tt class="py-lineno">1154</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L1155"></a><tt class="py-lineno">1155</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-228', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1156"></a><tt class="py-lineno">1156</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1157"></a><tt class="py-lineno">1157</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1158"></a><tt class="py-lineno">1158</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-229', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1159"></a><tt class="py-lineno">1159</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-230" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-230', 'cleanup', 'link-230');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1160"></a><tt class="py-lineno">1160</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-231" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-231', 'exit', 'link-231');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1161"></a><tt class="py-lineno">1161</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html
new file mode 100644
index 0000000..e2a31a3
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html
@@ -0,0 +1,1560 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.api-module.html">Package&nbsp;api</a> ::
+        <a href="TestON.drivers.common.api.controller-module.html">Package&nbsp;controller</a> ::
+        <a href="TestON.drivers.common.api.controller.onosrestdriver-module.html">Module&nbsp;onosrestdriver</a> ::
+        Class&nbsp;OnosRestDriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class OnosRestDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_onosrestdr" name="class_hierarchy_for_onosrestdr">
+<area shape="rect" id="node1" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html" title="OnosRestDriver" alt="" coords="5,6,120,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.api.controllerdriver.Controller-class.html" title="controllerdriver.Controller" alt="" coords="145,6,311,31"/>
+<area shape="rect" id="node3" href="TestON.drivers.common.apidriver.API-class.html" title="apidriver.API" alt="" coords="335,6,432,31"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="component.Component" alt="" coords="457,6,615,31"/>
+</map>
+  <img src="class_hierarchy_for_onosrestdr.gif" alt='' usemap="#class_hierarchy_for_onosrestdr" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**connectargs</span>)</span><br />
+      Connection will establish to the remote host using ssh.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.connect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#send" class="summary-sig-name">send</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ip</span>,
+        <span class="summary-sig-arg">port</span>,
+        <span class="summary-sig-arg">url</span>,
+        <span class="summary-sig-arg">base</span>=<span class="summary-sig-default">&quot;/onos/v1&quot;</span>,
+        <span class="summary-sig-arg">method</span>=<span class="summary-sig-default">&quot;GET&quot;</span>,
+        <span class="summary-sig-arg">query</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Arguments:
+    str ip: ONOS IP Address
+    str port: ONOS REST Port
+    str url: ONOS REST url path.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.send">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intents" class="summary-sig-name">intents</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Description:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.intents">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intent" class="summary-sig-name">intent</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">intentId</span>,
+        <span class="summary-sig-arg">appId</span>=<span class="summary-sig-default">&quot;org.onosproject.cli&quot;</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Description:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.intent">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#apps" class="summary-sig-name">apps</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Description:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.apps">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#activateApp" class="summary-sig-name">activateApp</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">appName</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">check</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Decription:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.activateApp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#deactivateApp" class="summary-sig-name">deactivateApp</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">appName</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">check</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Required:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.deactivateApp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getApp" class="summary-sig-name">getApp</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">appName</span>,
+        <span class="summary-sig-arg">project</span>=<span class="summary-sig-default">&quot;org.onosproject.&quot;</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Decription:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getApp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addHostIntent" class="summary-sig-name">addHostIntent</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">hostIdOne</span>,
+        <span class="summary-sig-arg">hostIdTwo</span>,
+        <span class="summary-sig-arg">appId</span>=<span class="summary-sig-default">'org.onosproject.cli'</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Description:
+    Adds a host-to-host intent ( bidirectional ) by
+    specifying the two hosts.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.addHostIntent">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addPointIntent" class="summary-sig-name">addPointIntent</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ingressDevice</span>,
+        <span class="summary-sig-arg">egressDevice</span>,
+        <span class="summary-sig-arg">appId</span>=<span class="summary-sig-default">'org.onosproject.cli'</span>,
+        <span class="summary-sig-arg">ingressPort</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">egressPort</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ethType</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ethSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ethDst</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">bandwidth</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">lambdaAlloc</span>=<span class="summary-sig-default">False</span>,
+        <span class="summary-sig-arg">ipProto</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ipSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ipDst</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">tcpSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">tcpDst</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Description:
+    Adds a point-to-point intent ( uni-directional ) by
+    specifying device id's and optional fields
+Required:
+    * ingressDevice: device id of ingress device
+    * egressDevice: device id of egress device
+Optional:
+    * ethType: specify ethType
+    * ethSrc: specify ethSrc ( i.e.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.addPointIntent">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="removeIntent"></a><span class="summary-sig-name">removeIntent</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">intentId</span>,
+        <span class="summary-sig-arg">appId</span>=<span class="summary-sig-default">'org.onosproject.cli'</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Remove intent for specified application id and intent id; Returns 
+      None for exception</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.removeIntent">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getIntentsId"></a><span class="summary-sig-name">getIntentsId</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Returns a list of intents id; Returns None for exception</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getIntentsId">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#removeAllIntents" class="summary-sig-name">removeAllIntents</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">intentIdList</span>=<span class="summary-sig-default">'ALL'</span>,
+        <span class="summary-sig-arg">appId</span>=<span class="summary-sig-default">'org.onosproject.cli'</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">delay</span>=<span class="summary-sig-default">5</span>)</span><br />
+      Description:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.removeAllIntents">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#hosts" class="summary-sig-name">hosts</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Description:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.hosts">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getHost" class="summary-sig-name">getHost</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">mac</span>,
+        <span class="summary-sig-arg">vlan</span>=<span class="summary-sig-default">&quot;-1&quot;</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Description:
+    Gets the information from the given host
+Required:
+    str mac - MAC address of the host
+Optional:
+    str vlan - VLAN tag of the host, defaults to -1
+Returns:
+    Return the host id from the hosts/mac/vlan output in REST api
+    whose 'id' contains mac/vlan; Returns None for exception;
+    Returns main.FALSE if error on requests</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getHost">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#topology" class="summary-sig-name">topology</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Description:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.topology">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getIntentState" class="summary-sig-name">getIntentState</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">intentsId</span>,
+        <span class="summary-sig-arg">intentsJson</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Description:
+    Get intent state.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getIntentState">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#checkIntentState" class="summary-sig-name">checkIntentState</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">intentsId</span>=<span class="summary-sig-default">&quot;ALL&quot;</span>,
+        <span class="summary-sig-arg">expectedState</span>=<span class="summary-sig-default">'INSTALLED'</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Description:
+    Check intents state based on expected state which defaults to
+    INSTALLED state
+Required:
+    intentsId - List of intents ID to be checked
+Optional:
+    expectedState - Check the expected state(s) of each intents
+                    state in the list.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.checkIntentState">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#flows" class="summary-sig-name">flows</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Description:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.flows">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getFlows" class="summary-sig-name">getFlows</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">device</span>,
+        <span class="summary-sig-arg">flowId</span>=<span class="summary-sig-default">0</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Description:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getFlows">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addFlow" class="summary-sig-name">addFlow</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">deviceId</span>,
+        <span class="summary-sig-arg">appId</span>=<span class="summary-sig-default">0</span>,
+        <span class="summary-sig-arg">ingressPort</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">egressPort</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ethType</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ethSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ethDst</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">bandwidth</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">lambdaAlloc</span>=<span class="summary-sig-default">False</span>,
+        <span class="summary-sig-arg">ipProto</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ipSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ipDst</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">tcpSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">tcpDst</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Description:
+    Creates a single flow in the specified device
+Required:
+    * deviceId: id of the device
+Optional:
+    * ingressPort: port ingress device
+    * egressPort: port  of egress device
+    * ethType: specify ethType
+    * ethSrc: specify ethSrc ( i.e.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.addFlow">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#removeFlow" class="summary-sig-name">removeFlow</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">deviceId</span>,
+        <span class="summary-sig-arg">flowId</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Description:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.removeFlow">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#checkFlowsState" class="summary-sig-name">checkFlowsState</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;DEFAULT&quot;</span>)</span><br />
+      Description:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.checkFlowsState">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>disconnect</code>,
+      <code>execute</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="connect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">**connectargs</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.connect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Connection will establish to the remote host using ssh. It will take 
+  user_name ,ip_address and password as arguments&lt;br&gt; and will return
+  the handle.</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.connect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="send"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">send</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ip</span>,
+        <span class="sig-arg">port</span>,
+        <span class="sig-arg">url</span>,
+        <span class="sig-arg">base</span>=<span class="sig-default">&quot;/onos/v1&quot;</span>,
+        <span class="sig-arg">method</span>=<span class="sig-default">&quot;GET&quot;</span>,
+        <span class="sig-arg">query</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">data</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.send">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Arguments:
+    str ip: ONOS IP Address
+    str port: ONOS REST Port
+    str url: ONOS REST url path.
+             NOTE that this is is only the relative path. IE &quot;/devices&quot;
+    str base: The base url for the given REST api. Applications could
+              potentially have their own base url
+    str method: HTTP method type
+    dict query: Dictionary to be sent in the query string for
+                 the request
+    dict data: Dictionary to be sent in the body of the request
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="intents"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">intents</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.intents">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Gets a list of dictionary of all intents in the system
+Returns:
+    A list of dictionary of intents in string type to match the cli
+    version for now; Returns main.FALSE if error on request;
+    Returns None for exception
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="intent"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">intent</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">intentId</span>,
+        <span class="sig-arg">appId</span>=<span class="sig-default">&quot;org.onosproject.cli&quot;</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.intent">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Get the specific intent information of the given application ID and
+    intent ID
+Required:
+    str intentId - Intent id in hexadecimal form
+Optional:
+    str appId - application id of intent
+Returns:
+    Returns an information dictionary of the given intent;
+    Returns main.FALSE if error on requests; Returns None for exception
+NOTE:
+    The GET /intents REST api command accepts  application id but the
+    api will get updated to accept application name instead
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="apps"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">apps</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.apps">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Returns all the current application installed in the system
+Returns:
+    List of dictionary of installed application; Returns main.FALSE for
+    error on request; Returns None for exception
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="activateApp"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">activateApp</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">appName</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">check</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.activateApp">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Decription:
+    Activate an app that is already installed in ONOS
+Optional:
+    bool check - If check is True, method will check the status
+                 of the app after the command is issued
+Returns:
+    Returns main.TRUE if the command was successfully or main.FALSE
+    if the REST responded with an error or given incorrect input;
+    Returns None for exception
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="deactivateApp"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">deactivateApp</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">appName</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">check</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.deactivateApp">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Required:
+    Deactivate an app that is already activated in ONOS
+Optional:
+    bool check - If check is True, method will check the status of the
+    app after the command is issued
+Returns:
+    Returns main.TRUE if the command was successfully sent
+    main.FALSE if the REST responded with an error or given
+    incorrect input; Returns None for exception
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getApp"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getApp</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">appName</span>,
+        <span class="sig-arg">project</span>=<span class="sig-default">&quot;org.onosproject.&quot;</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getApp">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Decription:
+    Gets the informaion of the given application
+Required:
+    str name - Name of onos application
+Returns:
+    Returns a dictionary of information ONOS application in string type;
+    Returns main.FALSE if error on requests; Returns None for exception
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="addHostIntent"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">addHostIntent</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">hostIdOne</span>,
+        <span class="sig-arg">hostIdTwo</span>,
+        <span class="sig-arg">appId</span>=<span class="sig-default">'org.onosproject.cli'</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.addHostIntent">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Adds a host-to-host intent ( bidirectional ) by
+    specifying the two hosts.
+Required:
+    * hostIdOne: ONOS host id for host1
+    * hostIdTwo: ONOS host id for host2
+Optional:
+    str appId - Application name of intent identifier
+Returns:
+    Returns main.TRUE for successful requests; Returns main.FALSE if
+    error on requests; Returns None for exceptions
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="addPointIntent"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">addPointIntent</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ingressDevice</span>,
+        <span class="sig-arg">egressDevice</span>,
+        <span class="sig-arg">appId</span>=<span class="sig-default">'org.onosproject.cli'</span>,
+        <span class="sig-arg">ingressPort</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">egressPort</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ethType</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ethSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ethDst</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">bandwidth</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">lambdaAlloc</span>=<span class="sig-default">False</span>,
+        <span class="sig-arg">ipProto</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ipSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ipDst</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">tcpSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">tcpDst</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.addPointIntent">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Adds a point-to-point intent ( uni-directional ) by
+    specifying device id's and optional fields
+Required:
+    * ingressDevice: device id of ingress device
+    * egressDevice: device id of egress device
+Optional:
+    * ethType: specify ethType
+    * ethSrc: specify ethSrc ( i.e. src mac addr )
+    * ethDst: specify ethDst ( i.e. dst mac addr )
+    * bandwidth: specify bandwidth capacity of link (TODO)
+    * lambdaAlloc: if True, intent will allocate lambda
+      for the specified intent (TODO)
+    * ipProto: specify ip protocol
+    * ipSrc: specify ip source address with mask eg. ip#/24
+    * ipDst: specify ip destination address eg. ip#/24
+    * tcpSrc: specify tcp source port
+    * tcpDst: specify tcp destination port
+Returns:
+    Returns main.TRUE for successful requests; Returns main.FALSE if
+    no ingress|egress port found and if error on requests;
+    Returns None for exceptions
+NOTE:
+    The ip and port option are for the requests input's ip and port
+    of the ONOS node
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="removeAllIntents"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">removeAllIntents</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">intentIdList</span>=<span class="sig-default">'ALL'</span>,
+        <span class="sig-arg">appId</span>=<span class="sig-default">'org.onosproject.cli'</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">delay</span>=<span class="sig-default">5</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.removeAllIntents">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Remove all the intents
+Returns:
+    Returns main.TRUE if all intents are removed, otherwise returns
+    main.FALSE; Returns None for exception
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="hosts"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">hosts</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.hosts">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Get a list of dictionary of all discovered hosts
+Returns:
+    Returns a list of dictionary of information of the hosts currently
+    discovered by ONOS; Returns main.FALSE if error on requests;
+    Returns None for exception
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getHost"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getHost</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">mac</span>,
+        <span class="sig-arg">vlan</span>=<span class="sig-default">&quot;-1&quot;</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getHost">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Gets the information from the given host
+Required:
+    str mac - MAC address of the host
+Optional:
+    str vlan - VLAN tag of the host, defaults to -1
+Returns:
+    Return the host id from the hosts/mac/vlan output in REST api
+    whose 'id' contains mac/vlan; Returns None for exception;
+    Returns main.FALSE if error on requests
+
+NOTE:
+    Not sure what this function should do, any suggestion?
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="topology"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">topology</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.topology">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Gets the overview of network topology
+Returns:
+    Returns a dictionary containing information about network topology;
+    Returns None for exception
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getIntentState"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getIntentState</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">intentsId</span>,
+        <span class="sig-arg">intentsJson</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getIntentState">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Get intent state.
+    Accepts a single intent ID (string type) or a list of intent IDs.
+    Returns the state(string type) of the id if a single intent ID is
+    accepted.
+Required:
+    intentId: intent ID (string type)
+    intentsJson: parsed json object from the onos:intents api
+Returns:
+    Returns a dictionary with intent IDs as the key and its
+    corresponding states as the values; Returns None for invalid IDs or
+    Type error and any exceptions
+NOTE:
+    An intent's state consist of INSTALLED,WITHDRAWN etc.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="checkIntentState"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">checkIntentState</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">intentsId</span>=<span class="sig-default">&quot;ALL&quot;</span>,
+        <span class="sig-arg">expectedState</span>=<span class="sig-default">'INSTALLED'</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.checkIntentState">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Check intents state based on expected state which defaults to
+    INSTALLED state
+Required:
+    intentsId - List of intents ID to be checked
+Optional:
+    expectedState - Check the expected state(s) of each intents
+                    state in the list.
+                    *NOTE: You can pass in a list of expected state,
+                    Eg: expectedState = [ 'INSTALLED' , 'INSTALLING' ]
+Return:
+    Returns main.TRUE only if all intent are the same as expected states
+    , otherwise, returns main.FALSE; Returns None for general exception
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="flows"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">flows</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.flows">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Get flows currently added to the system
+NOTE:
+    The flows -j cli command has completely different format than
+    the REST output; Returns None for exception
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getFlows"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getFlows</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">device</span>,
+        <span class="sig-arg">flowId</span>=<span class="sig-default">0</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getFlows">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Gets all the flows of the device or get a specific flow in the
+    device by giving its flow ID
+Required:
+    str device - device/switch Id
+Optional:
+    int/hex flowId - ID of the flow
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="addFlow"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">addFlow</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">deviceId</span>,
+        <span class="sig-arg">appId</span>=<span class="sig-default">0</span>,
+        <span class="sig-arg">ingressPort</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">egressPort</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ethType</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ethSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ethDst</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">bandwidth</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">lambdaAlloc</span>=<span class="sig-default">False</span>,
+        <span class="sig-arg">ipProto</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ipSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ipDst</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">tcpSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">tcpDst</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.addFlow">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Creates a single flow in the specified device
+Required:
+    * deviceId: id of the device
+Optional:
+    * ingressPort: port ingress device
+    * egressPort: port  of egress device
+    * ethType: specify ethType
+    * ethSrc: specify ethSrc ( i.e. src mac addr )
+    * ethDst: specify ethDst ( i.e. dst mac addr )
+    * ipProto: specify ip protocol
+    * ipSrc: specify ip source address with mask eg. ip#/24
+    * ipDst: specify ip destination address eg. ip#/24
+    * tcpSrc: specify tcp source port
+    * tcpDst: specify tcp destination port
+Returns:
+    Returns main.TRUE for successful requests; Returns main.FALSE
+    if error on requests;
+    Returns None for exceptions
+NOTE:
+    The ip and port option are for the requests input's ip and port
+    of the ONOS node
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="removeFlow"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">removeFlow</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">deviceId</span>,
+        <span class="sig-arg">flowId</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.removeFlow">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Remove specific device flow
+Required:
+    str deviceId - id of the device
+    str flowId - id of the flow
+Return:
+    Returns main.TRUE if successfully deletes flows, otherwise
+    Returns main.FALSE, Returns None on error
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="checkFlowsState"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">checkFlowsState</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ip</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;DEFAULT&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.checkFlowsState">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Check if all the current flows are in ADDED state
+Return:
+    returnValue - Returns main.TRUE only if all flows are in
+                  return main.FALSE otherwise;
+                  Returns None for exception
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controllerdriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controllerdriver-module.html
index 9dcc2ca..b6d2193 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controllerdriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controllerdriver-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -59,13 +64,29 @@
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
 <h1 class="epydoc">Module controllerdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.api.controllerdriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 29-Nov-2012</p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 29-Nov-2012
+
+author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )
+
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    ( at your option ) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -110,13 +131,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controllerdriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controllerdriver-pysrc.html
index 96adc68..6d784e4 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controllerdriver-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controllerdriver-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,54 +65,99 @@
 <h1 class="epydoc">Source Code for <a href="TestON.drivers.common.api.controllerdriver-module.html">Module TestON.drivers.common.api.controllerdriver</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 29-Nov-2012 </tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 29-Nov-2012</tt> </tt>
 <a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)      </tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt>   </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-0', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"../"</tt><tt class="py-op">)</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-1', 'drivers', 'link-1');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-2', 'common', 'link-2');">common</a></tt><tt class="py-op">.</tt><tt class="py-name">apidriver</tt> <tt class="py-keyword">import</tt> <tt class="py-name">API</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"> </tt>
-<a name="Controller"></a><div id="Controller-def"><a name="L11"></a><tt class="py-lineno">11</tt> <a class="py-toggle" href="#" id="Controller-toggle" onclick="return toggle('Controller');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.api.controllerdriver.Controller-class.html">Controller</a><tt class="py-op">(</tt><tt class="py-base-class">API</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Controller-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Controller-expanded"><a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">    <tt class="py-comment"># The common functions for emulator included in emulatordriver</tt> </tt>
-<a name="Controller.__init__"></a><div id="Controller.__init__-def"><a name="L13"></a><tt class="py-lineno">13</tt> <a class="py-toggle" href="#" id="Controller.__init__-toggle" onclick="return toggle('Controller.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Controller.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Controller.__init__-expanded"><a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt class="py-name">API</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.drivers.common.webdriver.WebDriver.__init__()=TestON.drivers.common.webdriver.WebDriver-class.html#__init__,Method TestON.drivers.component.Component.__init__()=TestON.drivers.component.Component-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__()=TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#__init__,Method TestON.tests.FvtTest.FvtTest.FvtTest.__init__()=TestON.tests.FvtTest.FvtTest.FvtTest-class.html#__init__,Method TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__()=TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#__init__,Method TestON.tests.MininetTest.MininetTest.MininetTest.__init__()=TestON.tests.MininetTest.MininetTest.MininetTest-class.html#__init__,Method TestON.tests.PoxTest.PoxTest.PoxTest.__init__()=TestON.tests.PoxTest.PoxTest.PoxTest-class.html#__init__,Method TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__()=TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#__init__,Method TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__()=TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring">    ( at your option ) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.drivers.common.apidriver=TestON.drivers.common.apidriver-module.html"><a title="TestON.drivers.common.apidriver" class="py-name" href="#" onclick="return doclink('link-2', 'apidriver', 'link-2');">apidriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class TestON.drivers.common.apidriver.API=TestON.drivers.common.apidriver.API-class.html"><a title="TestON.drivers.common.apidriver.API" class="py-name" href="#" onclick="return doclink('link-3', 'API', 'link-3');">API</a></tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"> </tt>
+<a name="Controller"></a><div id="Controller-def"><a name="L25"></a><tt class="py-lineno">25</tt> <a class="py-toggle" href="#" id="Controller-toggle" onclick="return toggle('Controller');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.api.controllerdriver.Controller-class.html">Controller</a><tt class="py-op">(</tt> <tt class="py-base-class">API</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Controller-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Controller-expanded"><a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">    <tt class="py-comment"># The common functions for emulator included in emulatordriver</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"> </tt>
+<a name="Controller.__init__"></a><div id="Controller.__init__-def"><a name="L28"></a><tt class="py-lineno">28</tt> <a class="py-toggle" href="#" id="Controller.__init__-toggle" onclick="return toggle('Controller.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Controller.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Controller.__init__-expanded"><a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-4" class="py-name"><a title="TestON.drivers.common.apidriver.API" class="py-name" href="#" onclick="return doclink('link-4', 'API', 'link-3');">API</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
 TestON.bin.cli.TestThread.__init__
 TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
 TestON.bin.updatedriver.UpdateDriver.__init__
 TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
 TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
 TestON.core.openspeak.OpenSpeak.__init__
 TestON.core.teston.TestON.__init__
 TestON.core.testparser.TestParser.__init__
 TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
 TestON.drivers.common.api.controllerdriver.Controller.__init__
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
 TestON.drivers.common.cli.emulatordriver.Emulator.__init__
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
 TestON.drivers.common.cli.toolsdriver.Tools.__init__
 TestON.drivers.common.clidriver.CLI.__init__
-TestON.drivers.common.webdriver.WebDriver.__init__
-TestON.drivers.component.Component.__init__
 TestON.examples.Assert.Assert.Assert.__init__
 TestON.examples.CaseParams.CaseParams.CaseParams.__init__
 TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
 TestON.examples.StepParams.StepParams.StepParams.__init__
 TestON.examples.Topology.Topology.Topology.__init__
-TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__
-TestON.tests.FvtTest.FvtTest.FvtTest.__init__
-TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__
-TestON.tests.MininetTest.MininetTest.MininetTest.__init__
-TestON.tests.PoxTest.PoxTest.PoxTest.__init__
-TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__
-TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__" class="py-name" href="#" onclick="return doclink('link-3', '__init__', 'link-3');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-5', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -134,13 +184,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controllerdriver.Controller-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controllerdriver.Controller-class.html
index d112880..1805b78 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controllerdriver.Controller-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.controllerdriver.Controller-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,14 +65,15 @@
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
 <h1 class="epydoc">Class Controller</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.api.controllerdriver-pysrc.html#Controller">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-    ??-41 --+    
-            |    
-apidriver.API --+
-                |
-               <strong class="uidshort">Controller</strong>
-</pre>
-
+<center>
+<center>  <map id="class_hierarchy_for_controller" name="class_hierarchy_for_controller">
+<area shape="rect" id="node1" href="TestON.drivers.common.api.controllerdriver.Controller-class.html" title="Controller" alt="" coords="5,6,83,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.apidriver.API-class.html" title="apidriver.API" alt="" coords="107,6,204,31"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="component.Component" alt="" coords="229,6,387,31"/>
+</map>
+  <img src="class_hierarchy_for_controller.gif" alt='' usemap="#class_hierarchy_for_controller" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
 <hr />
 <!-- ==================== INSTANCE METHODS ==================== -->
 <a name="section-InstanceMethods"></a>
@@ -92,7 +98,8 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.api.controllerdriver-pysrc.html#Controller.__init__">source&nbsp;code</a></span>
             
@@ -102,10 +109,75 @@
       
     </td>
   </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.apidriver.API-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.apidriver.API-class.html">TestON.drivers.common.apidriver.API</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.apidriver-pysrc.html#API.connect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
   <tr>
     <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>apidriver.API</code></b>:
-      <code>connect</code>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>disconnect</code>,
+      <code>execute</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
       </p>
     </td>
   </tr>
@@ -143,10 +215,11 @@
     </td>
   </tr></table>
   
-  
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
   <dl class="fields">
     <dt>Overrides:
-        apidriver.API.__init__
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
     </dt>
   </dl>
 </td></tr></table>
@@ -172,13 +245,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.fvtapidriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.fvtapidriver-module.html
index ffa6959..082b12a 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.fvtapidriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.fvtapidriver-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -59,15 +64,32 @@
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
 <h1 class="epydoc">Module fvtapidriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.api.fvtapidriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 26-Oct-2012</p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-        <p>fvtapidriver is the basic driver which will handle the 
-        fvtapidriver functions</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 26-Oct-2012
+
+author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )
+
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    ( at your option ) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+
+fvtapidriver is the basic driver which will handle the fvtapidriver functions
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -116,8 +138,8 @@
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td><span class="summary-sig"><a name="test_set_init"></a><span class="summary-sig-name">test_set_init</span>(<span class="summary-sig-arg">config</span>)</span><br />
-      Set up function for basic test classes @param config The 
-      configuration dictionary; see fvt</td>
+      Set up function for basic test classes config: The configuration 
+      dictionary; see fvt</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.api.fvtapidriver-pysrc.html#test_set_init">source&nbsp;code</a></span>
             
@@ -220,13 +242,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.fvtapidriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.fvtapidriver-pysrc.html
index 2865548..7f4bb86 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.fvtapidriver-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.fvtapidriver-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,227 +65,282 @@
 <h1 class="epydoc">Source Code for <a href="TestON.drivers.common.api.fvtapidriver-module.html">Module TestON.drivers.common.api.fvtapidriver</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
 <a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 26-Oct-2012</tt> </tt>
 <a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )</tt> </tt>
 <a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">fvtapidriver is the basic driver which will handle the fvtapidriver functions</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-string">'''</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-string">There are two changes required in flowvisor-test framework :</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-string">1. In ~/flowvisortests/tests/templatetest.py line : 15 comment 'basic_logger = None'</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-string">2. In ~/flowvisortests/tests/testutils.py line : 50 specify config file path CONFIG_FILE = "~/flowvisor-test/tests/tests-base.json"</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-string">'''</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">fcntl</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">signal</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Package TestON.core=TestON.core-module.html"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-0', 'core', 'link-0');">core</a></tt><tt class="py-op">.</tt><tt class="py-name">ofautomation</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-1', 'path', 'link-1');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"../"</tt><tt class="py-op">)</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-2', 'common', 'link-2');">common</a></tt><tt class="py-op">.</tt><tt class="py-name">apidriver</tt> <tt class="py-keyword">import</tt> <tt class="py-name">API</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-3', 'path', 'link-1');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-4" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-4', 'path', 'link-1');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">"/lib/flowvisor-test/tests"</tt><tt class="py-op">)</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-5', 'path', 'link-1');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-6" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-6', 'path', 'link-1');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">"/lib/flowvisor-test/src/python/"</tt><tt class="py-op">)</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">templatetest</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">testutils</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">oftest</tt><tt class="py-op">.</tt><tt class="py-name">cstruct</tt> <tt class="py-keyword">as</tt> <tt class="py-name">ofp</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">oftest</tt><tt class="py-op">.</tt><tt class="py-name">message</tt> <tt class="py-keyword">as</tt> <tt class="py-name">message</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">oftest</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Function TestON.core.ast.parse()=TestON.core.ast-module.html#parse,Method TestON.core.iniparser.iniparser.parse()=TestON.core.iniparser.iniparser-class.html#parse,Method TestON.core.xmlparser.xmlparser.parse()=TestON.core.xmlparser.xmlparser-class.html#parse"><a title="TestON.core.ast.parse
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">    ( at your option ) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">fvtapidriver is the basic driver which will handle the fvtapidriver functions</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-string">"""</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-string">There are two changes required in flowvisor-test framework :</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-string">1. In ~/flowvisortests/tests/templatetest.py line : 15 comment 'basic_logger = None'</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-string">2. In ~/flowvisortests/tests/testutils.py line : 50 specify config file path CONFIG_FILE = "~/flowvisor-test/tests/tests-base.json"</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-string">"""</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">fcntl</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">signal</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-0', 'common', 'link-0');">common</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module TestON.drivers.common.apidriver=TestON.drivers.common.apidriver-module.html"><a title="TestON.drivers.common.apidriver" class="py-name" href="#" onclick="return doclink('link-1', 'apidriver', 'link-1');">apidriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class TestON.drivers.common.apidriver.API=TestON.drivers.common.apidriver.API-class.html"><a title="TestON.drivers.common.apidriver.API" class="py-name" href="#" onclick="return doclink('link-2', 'API', 'link-2');">API</a></tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-3', 'path', 'link-3');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-4" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-4', 'path', 'link-3');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"/lib/flowvisor-test/tests"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-5', 'path', 'link-3');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-6" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-6', 'path', 'link-3');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"/lib/flowvisor-test/src/python/"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">templatetest</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">testutils</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">oftest</tt><tt class="py-op">.</tt><tt class="py-name">cstruct</tt> <tt class="py-keyword">as</tt> <tt class="py-name">ofp</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">oftest</tt><tt class="py-op">.</tt><tt class="py-name">message</tt> <tt class="py-keyword">as</tt> <tt class="py-name">message</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">oftest</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Function TestON.core.ast.parse()=TestON.core.ast-module.html#parse,Method TestON.core.iniparser.iniparser.parse()=TestON.core.iniparser.iniparser-class.html#parse,Method TestON.core.xmlparser.xmlparser.parse()=TestON.core.xmlparser.xmlparser-class.html#parse"><a title="TestON.core.ast.parse
 TestON.core.iniparser.iniparser.parse
 TestON.core.xmlparser.xmlparser.parse" class="py-name" href="#" onclick="return doclink('link-7', 'parse', 'link-7');">parse</a></tt> <tt class="py-keyword">as</tt> <tt id="link-8" class="py-name"><a title="TestON.core.ast.parse
 TestON.core.iniparser.iniparser.parse
 TestON.core.xmlparser.xmlparser.parse" class="py-name" href="#" onclick="return doclink('link-8', 'parse', 'link-7');">parse</a></tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">oftest</tt><tt class="py-op">.</tt><tt class="py-name">action</tt> <tt class="py-keyword">as</tt> <tt class="py-name">action</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">oftest</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-9', 'error', 'link-9');">error</a></tt> <tt class="py-keyword">as</tt> <tt id="link-10" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-10', 'error', 'link-9');">error</a></tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">socket</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">__builtin__</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt id="link-11" class="py-name" targets="Variable TestON.drivers.common.api.fvtapidriver.config_default=TestON.drivers.common.api.fvtapidriver-module.html#config_default"><a title="TestON.drivers.common.api.fvtapidriver.config_default" class="py-name" href="#" onclick="return doclink('link-11', 'config_default', 'link-11');">config_default</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt class="py-string">"param"</tt>              <tt class="py-op">:</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    <tt class="py-string">"fv_cmd"</tt>             <tt class="py-op">:</tt> <tt class="py-string">"/home/openflow/flowvisor/scripts/flowvisor.sh"</tt><tt class="py-op">,</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">    <tt class="py-string">"platform"</tt>           <tt class="py-op">:</tt> <tt class="py-string">"local"</tt><tt class="py-op">,</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">    <tt class="py-string">"controller_host"</tt>    <tt class="py-op">:</tt> <tt class="py-string">"127.0.0.1"</tt><tt class="py-op">,</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">    <tt class="py-string">"controller_port"</tt>    <tt class="py-op">:</tt> <tt class="py-number">6633</tt><tt class="py-op">,</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-string">"timeout"</tt>            <tt class="py-op">:</tt> <tt class="py-number">3</tt><tt class="py-op">,</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">    <tt class="py-string">"port_count"</tt>         <tt class="py-op">:</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">    <tt class="py-string">"base_of_port"</tt>       <tt class="py-op">:</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">    <tt class="py-string">"base_if_index"</tt>      <tt class="py-op">:</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">    <tt class="py-string">"test_spec"</tt>          <tt class="py-op">:</tt> <tt class="py-string">"all"</tt><tt class="py-op">,</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    <tt class="py-string">"test_dir"</tt>           <tt class="py-op">:</tt> <tt class="py-string">"."</tt><tt class="py-op">,</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">    <tt class="py-string">"log_file"</tt>           <tt class="py-op">:</tt> <tt class="py-string">"/home/openflow/fvt.log"</tt><tt class="py-op">,</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">    <tt class="py-string">"list"</tt>               <tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">    <tt class="py-string">"debug"</tt>              <tt class="py-op">:</tt> <tt class="py-string">"debug"</tt><tt class="py-op">,</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">    <tt class="py-string">"dbg_level"</tt>          <tt class="py-op">:</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">DEBUG</tt><tt class="py-op">,</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt class="py-string">"port_map"</tt>           <tt class="py-op">:</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">    <tt class="py-string">"test_params"</tt>        <tt class="py-op">:</tt> <tt class="py-string">"None"</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"> </tt>
-<a name="test_set_init"></a><div id="test_set_init-def"><a name="L61"></a><tt class="py-lineno"> 61</tt> <a class="py-toggle" href="#" id="test_set_init-toggle" onclick="return toggle('test_set_init');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver-module.html#test_set_init">test_set_init</a><tt class="py-op">(</tt><tt class="py-param">config</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="test_set_init-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_set_init-expanded"><a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-docstring">    Set up function for basic test classes</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">    @param config The configuration dictionary; see fvt</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">    <tt class="py-keyword">global</tt> <tt class="py-name">basic_port_map</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">    <tt class="py-keyword">global</tt> <tt class="py-name">basic_fv_cmd</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">    <tt class="py-keyword">global</tt> <tt class="py-name">basic_logger</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">    <tt class="py-keyword">global</tt> <tt class="py-name">basic_timeout</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-keyword">global</tt> <tt class="py-name">basic_config</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">    <tt class="py-keyword">global</tt> <tt class="py-name">baisc_logger</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">    <tt class="py-name">basic_fv_cmd</tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name" targets="Method TestON.drivers.component.Component.config()=TestON.drivers.component.Component-class.html#config"><a title="TestON.drivers.component.Component.config" class="py-name" href="#" onclick="return doclink('link-12', 'config', 'link-12');">config</a></tt><tt class="py-op">[</tt><tt class="py-string">"fv_cmd"</tt><tt class="py-op">]</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">    <tt class="py-name">basic_timeout</tt> <tt class="py-op">=</tt> <tt id="link-13" class="py-name"><a title="TestON.drivers.component.Component.config" class="py-name" href="#" onclick="return doclink('link-13', 'config', 'link-12');">config</a></tt><tt class="py-op">[</tt><tt class="py-string">"timeout"</tt><tt class="py-op">]</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    <tt class="py-name">basic_port_map</tt> <tt class="py-op">=</tt> <tt id="link-14" class="py-name"><a title="TestON.drivers.component.Component.config" class="py-name" href="#" onclick="return doclink('link-14', 'config', 'link-12');">config</a></tt><tt class="py-op">[</tt><tt class="py-string">"port_map"</tt><tt class="py-op">]</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt class="py-name">basic_config</tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name"><a title="TestON.drivers.component.Component.config" class="py-name" href="#" onclick="return doclink('link-15', 'config', 'link-12');">config</a></tt> </tt>
-</div><a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"> </tt>
-<a name="FvtApiDriver"></a><div id="FvtApiDriver-def"><a name="L78"></a><tt class="py-lineno"> 78</tt> <a class="py-toggle" href="#" id="FvtApiDriver-toggle" onclick="return toggle('FvtApiDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a><tt class="py-op">(</tt><tt class="py-base-class">API</tt><tt class="py-op">,</tt><tt class="py-base-class">templatetest</tt><tt class="py-op">.</tt><tt class="py-base-class">TemplateTest</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="FvtApiDriver-expanded"><a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"> </tt>
-<a name="FvtApiDriver.__init__"></a><div id="FvtApiDriver.__init__-def"><a name="L80"></a><tt class="py-lineno"> 80</tt> <a class="py-toggle" href="#" id="FvtApiDriver.__init__-toggle" onclick="return toggle('FvtApiDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.__init__-expanded"><a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt class="py-name">API</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.drivers.common.webdriver.WebDriver.__init__()=TestON.drivers.common.webdriver.WebDriver-class.html#__init__,Method TestON.drivers.component.Component.__init__()=TestON.drivers.component.Component-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__()=TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#__init__,Method TestON.tests.FvtTest.FvtTest.FvtTest.__init__()=TestON.tests.FvtTest.FvtTest.FvtTest-class.html#__init__,Method TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__()=TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#__init__,Method TestON.tests.MininetTest.MininetTest.MininetTest.__init__()=TestON.tests.MininetTest.MininetTest.MininetTest-class.html#__init__,Method TestON.tests.PoxTest.PoxTest.PoxTest.__init__()=TestON.tests.PoxTest.PoxTest.PoxTest-class.html#__init__,Method TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__()=TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#__init__,Method TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__()=TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">oftest</tt><tt class="py-op">.</tt><tt class="py-name">action</tt> <tt class="py-keyword">as</tt> <tt class="py-name">action</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">oftest</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-9', 'error', 'link-9');">error</a></tt> <tt class="py-keyword">as</tt> <tt id="link-10" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-10', 'error', 'link-9');">error</a></tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">socket</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">__builtin__</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt id="link-11" class="py-name" targets="Variable TestON.drivers.common.api.fvtapidriver.config_default=TestON.drivers.common.api.fvtapidriver-module.html#config_default"><a title="TestON.drivers.common.api.fvtapidriver.config_default" class="py-name" href="#" onclick="return doclink('link-11', 'config_default', 'link-11');">config_default</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">    <tt class="py-string">"param"</tt><tt class="py-op">:</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">    <tt class="py-string">"fv_cmd"</tt><tt class="py-op">:</tt> <tt class="py-string">"/home/openflow/flowvisor/scripts/flowvisor.sh"</tt><tt class="py-op">,</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt class="py-string">"platform"</tt><tt class="py-op">:</tt> <tt class="py-string">"local"</tt><tt class="py-op">,</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">    <tt class="py-string">"controller_host"</tt><tt class="py-op">:</tt> <tt class="py-string">"127.0.0.1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">    <tt class="py-string">"controller_port"</tt><tt class="py-op">:</tt> <tt class="py-number">6633</tt><tt class="py-op">,</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt class="py-string">"timeout"</tt><tt class="py-op">:</tt> <tt class="py-number">3</tt><tt class="py-op">,</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">    <tt class="py-string">"port_count"</tt><tt class="py-op">:</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt class="py-string">"base_of_port"</tt><tt class="py-op">:</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">    <tt class="py-string">"base_if_index"</tt><tt class="py-op">:</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">    <tt class="py-string">"test_spec"</tt><tt class="py-op">:</tt> <tt class="py-string">"all"</tt><tt class="py-op">,</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">    <tt class="py-string">"test_dir"</tt><tt class="py-op">:</tt> <tt class="py-string">"."</tt><tt class="py-op">,</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">    <tt class="py-string">"log_file"</tt><tt class="py-op">:</tt> <tt class="py-string">"/home/openflow/fvt.log"</tt><tt class="py-op">,</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">    <tt class="py-string">"list"</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">    <tt class="py-string">"debug"</tt><tt class="py-op">:</tt> <tt class="py-string">"debug"</tt><tt class="py-op">,</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">    <tt class="py-string">"dbg_level"</tt><tt class="py-op">:</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">DEBUG</tt><tt class="py-op">,</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-string">"port_map"</tt><tt class="py-op">:</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">    <tt class="py-string">"test_params"</tt><tt class="py-op">:</tt> <tt class="py-string">"None"</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"> </tt>
+<a name="test_set_init"></a><div id="test_set_init-def"><a name="L75"></a><tt class="py-lineno"> 75</tt> <a class="py-toggle" href="#" id="test_set_init-toggle" onclick="return toggle('test_set_init');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver-module.html#test_set_init">test_set_init</a><tt class="py-op">(</tt> <tt class="py-param">config</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="test_set_init-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_set_init-expanded"><a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">    Set up function for basic test classes</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">    config: The configuration dictionary; see fvt</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">    <tt class="py-keyword">global</tt> <tt class="py-name">basic_port_map</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">    <tt class="py-keyword">global</tt> <tt class="py-name">basic_fv_cmd</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">    <tt class="py-keyword">global</tt> <tt class="py-name">basic_logger</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">    <tt class="py-keyword">global</tt> <tt class="py-name">basic_timeout</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">    <tt class="py-keyword">global</tt> <tt class="py-name">basic_config</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">    <tt class="py-keyword">global</tt> <tt class="py-name">baisc_logger</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">    <tt class="py-name">basic_fv_cmd</tt> <tt class="py-op">=</tt> <tt class="py-name">config</tt><tt class="py-op">[</tt> <tt class="py-string">"fv_cmd"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    <tt class="py-name">basic_timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">config</tt><tt class="py-op">[</tt> <tt class="py-string">"timeout"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">    <tt class="py-name">basic_port_map</tt> <tt class="py-op">=</tt> <tt class="py-name">config</tt><tt class="py-op">[</tt> <tt class="py-string">"port_map"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">    <tt class="py-name">basic_config</tt> <tt class="py-op">=</tt> <tt class="py-name">config</tt> </tt>
+</div><a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver"></a><div id="FvtApiDriver-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="FvtApiDriver-toggle" onclick="return toggle('FvtApiDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a><tt class="py-op">(</tt> <tt class="py-base-class">API</tt><tt class="py-op">,</tt> <tt class="py-base-class">templatetest</tt><tt class="py-op">.</tt><tt class="py-base-class">TemplateTest</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="FvtApiDriver-expanded"><a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver.__init__"></a><div id="FvtApiDriver.__init__-def"><a name="L95"></a><tt class="py-lineno"> 95</tt> <a class="py-toggle" href="#" id="FvtApiDriver.__init__-toggle" onclick="return toggle('FvtApiDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.__init__-expanded"><a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-12" class="py-name"><a title="TestON.drivers.common.apidriver.API" class="py-name" href="#" onclick="return doclink('link-12', 'API', 'link-2');">API</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
 TestON.bin.cli.TestThread.__init__
 TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
 TestON.bin.updatedriver.UpdateDriver.__init__
 TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
 TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
 TestON.core.openspeak.OpenSpeak.__init__
 TestON.core.teston.TestON.__init__
 TestON.core.testparser.TestParser.__init__
 TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
 TestON.drivers.common.api.controllerdriver.Controller.__init__
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
 TestON.drivers.common.cli.emulatordriver.Emulator.__init__
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
 TestON.drivers.common.cli.toolsdriver.Tools.__init__
 TestON.drivers.common.clidriver.CLI.__init__
-TestON.drivers.common.webdriver.WebDriver.__init__
-TestON.drivers.component.Component.__init__
 TestON.examples.Assert.Assert.Assert.__init__
 TestON.examples.CaseParams.CaseParams.CaseParams.__init__
 TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
 TestON.examples.StepParams.StepParams.StepParams.__init__
 TestON.examples.Topology.Topology.Topology.__init__
-TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__
-TestON.tests.FvtTest.FvtTest.FvtTest.__init__
-TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__
-TestON.tests.MininetTest.MininetTest.MininetTest.__init__
-TestON.tests.PoxTest.PoxTest.PoxTest.__init__
-TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__
-TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__" class="py-name" href="#" onclick="return doclink('link-16', '__init__', 'link-16');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">'init'</tt> </tt>
-</div><a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">                                                 </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"> </tt>
-<a name="FvtApiDriver.connect"></a><div id="FvtApiDriver.connect-def"><a name="L85"></a><tt class="py-lineno"> 85</tt> <a class="py-toggle" href="#" id="FvtApiDriver.connect-toggle" onclick="return toggle('FvtApiDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect">connect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">connectargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.connect-expanded"><a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">         </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-name">connect_result</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt class="py-name">API</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect,Method TestON.drivers.common.webdriver.WebDriver.connect()=TestON.drivers.common.webdriver.WebDriver-class.html#connect,Method TestON.drivers.component.Component.connect()=TestON.drivers.component.Component-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-13', '__init__', 'link-13');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">'init'</tt> </tt>
+</div><a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver.connect"></a><div id="FvtApiDriver.connect-def"><a name="L99"></a><tt class="py-lineno"> 99</tt> <a class="py-toggle" href="#" id="FvtApiDriver.connect-toggle" onclick="return toggle('FvtApiDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.connect-expanded"><a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-name">connect_result</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-14" class="py-name"><a title="TestON.drivers.common.apidriver.API" class="py-name" href="#" onclick="return doclink('link-14', 'API', 'link-2');">API</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
-TestON.drivers.common.clidriver.CLI.connect
-TestON.drivers.common.webdriver.WebDriver.connect
-TestON.drivers.component.Component.connect" class="py-name" href="#" onclick="return doclink('link-17', 'connect', 'link-17');">connect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt><tt class="py-op">+</tt><tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">+</tt><tt class="py-string">".session"</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt id="link-18" class="py-name"><a title="TestON.drivers.common.api.fvtapidriver.config_default" class="py-name" href="#" onclick="return doclink('link-18', 'config_default', 'link-11');">config_default</a></tt><tt class="py-op">[</tt><tt class="py-string">"log_file"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logFileName</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt id="link-19" class="py-name" targets="Function TestON.drivers.common.api.fvtapidriver.test_set_init()=TestON.drivers.common.api.fvtapidriver-module.html#test_set_init"><a title="TestON.drivers.common.api.fvtapidriver.test_set_init" class="py-name" href="#" onclick="return doclink('link-19', 'test_set_init', 'link-19');">test_set_init</a></tt><tt class="py-op">(</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.api.fvtapidriver.config_default" class="py-name" href="#" onclick="return doclink('link-20', 'config_default', 'link-11');">config_default</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">basic_logger</tt> <tt class="py-op">=</tt> <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">+</tt><tt class="py-string">'log'</tt><tt class="py-op">]</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">basic_logger</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Calling my test setup"</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.setUp()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#setUp"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.setUp" class="py-name" href="#" onclick="return doclink('link-21', 'setUp', 'link-21');">setUp</a></tt><tt class="py-op">(</tt><tt class="py-name">basic_logger</tt><tt class="py-op">)</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fv</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sv</tt><tt class="py-op">,</tt> <tt class="py-name">sv_ret</tt><tt class="py-op">,</tt> <tt class="py-name">ctl_ret</tt><tt class="py-op">,</tt> <tt class="py-name">sw_ret</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt class="py-name">setUpTestEnv</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">fv_cmd</tt><tt class="py-op">=</tt><tt class="py-name">basic_fv_cmd</tt><tt class="py-op">)</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">         </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">chkSetUpCondition</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fv</tt><tt class="py-op">,</tt> <tt class="py-name">sv_ret</tt><tt class="py-op">,</tt> <tt class="py-name">ctl_ret</tt><tt class="py-op">,</tt> <tt class="py-name">sw_ret</tt><tt class="py-op">)</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
-<a name="FvtApiDriver.simplePacket"></a><div id="FvtApiDriver.simplePacket-def"><a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="FvtApiDriver.simplePacket-toggle" onclick="return toggle('FvtApiDriver.simplePacket');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#simplePacket">simplePacket</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">dl_src</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver.simplePacket-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.simplePacket-expanded"><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-name">dl_src</tt> <tt class="py-op">=</tt> <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">testutils</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">dl_src</tt><tt class="py-op">]</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.simplePacket()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#simplePacket"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.simplePacket" class="py-name" href="#" onclick="return doclink('link-22', 'simplePacket', 'link-22');">simplePacket</a></tt><tt class="py-op">(</tt><tt class="py-name">dl_src</tt> <tt class="py-op">=</tt> <tt class="py-name">dl_src</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">    </tt>
-<a name="FvtApiDriver.genPacketIn"></a><div id="FvtApiDriver.genPacketIn-def"><a name="L107"></a><tt class="py-lineno">107</tt> <a class="py-toggle" href="#" id="FvtApiDriver.genPacketIn-toggle" onclick="return toggle('FvtApiDriver.genPacketIn');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPacketIn">genPacketIn</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">in_port</tt><tt class="py-op">,</tt> <tt class="py-param">pkt</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver.genPacketIn-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.genPacketIn-expanded"><a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPacketIn()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPacketIn"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPacketIn" class="py-name" href="#" onclick="return doclink('link-23', 'genPacketIn', 'link-23');">genPacketIn</a></tt><tt class="py-op">(</tt><tt class="py-name">in_port</tt><tt class="py-op">=</tt><tt class="py-name">in_port</tt><tt class="py-op">,</tt> <tt class="py-name">pkt</tt><tt class="py-op">=</tt><tt class="py-name">pkt</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">      </tt>
-<a name="FvtApiDriver.ofmsgSndCmp"></a><div id="FvtApiDriver.ofmsgSndCmp-def"><a name="L110"></a><tt class="py-lineno">110</tt> <a class="py-toggle" href="#" id="FvtApiDriver.ofmsgSndCmp-toggle" onclick="return toggle('FvtApiDriver.ofmsgSndCmp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#ofmsgSndCmp">ofmsgSndCmp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">snd_list</tt><tt class="py-op">,</tt> <tt class="py-param">exp_list</tt><tt class="py-op">,</tt> <tt class="py-param">xid_ignore</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-param">hdr_only</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver.ofmsgSndCmp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.ofmsgSndCmp-expanded"><a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.ofmsgSndCmp()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#ofmsgSndCmp"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.ofmsgSndCmp" class="py-name" href="#" onclick="return doclink('link-24', 'ofmsgSndCmp', 'link-24');">ofmsgSndCmp</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">snd_list</tt><tt class="py-op">,</tt> <tt class="py-name">exp_list</tt><tt class="py-op">,</tt> <tt class="py-name">xid_ignore</tt><tt class="py-op">,</tt> <tt class="py-name">hdr_only</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">     </tt>
-<a name="FvtApiDriver.setRule"></a><div id="FvtApiDriver.setRule-def"><a name="L113"></a><tt class="py-lineno">113</tt> <a class="py-toggle" href="#" id="FvtApiDriver.setRule-toggle" onclick="return toggle('FvtApiDriver.setRule');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#setRule">setRule</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">sv</tt><tt class="py-op">,</tt><tt class="py-param">rule</tt><tt class="py-op">,</tt><tt class="py-param">num_try</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver.setRule-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.setRule-expanded"><a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.setRule()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#setRule"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.setRule" class="py-name" href="#" onclick="return doclink('link-25', 'setRule', 'link-25');">setRule</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt><tt class="py-name">sv</tt><tt class="py-op">,</tt><tt class="py-name">rule</tt><tt class="py-op">,</tt><tt class="py-name">num_try</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">     </tt>
-<a name="FvtApiDriver.chkFlowdb"></a><div id="FvtApiDriver.chkFlowdb-def"><a name="L116"></a><tt class="py-lineno">116</tt> <a class="py-toggle" href="#" id="FvtApiDriver.chkFlowdb-toggle" onclick="return toggle('FvtApiDriver.chkFlowdb');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkFlowdb">chkFlowdb</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">controller_number</tt><tt class="py-op">,</tt><tt class="py-param">switch_number</tt><tt class="py-op">,</tt><tt class="py-param">exp_count</tt><tt class="py-op">,</tt><tt class="py-param">exp_rewrites</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver.chkFlowdb-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.chkFlowdb-expanded"><a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.chkFlowdb()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkFlowdb"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.chkFlowdb" class="py-name" href="#" onclick="return doclink('link-26', 'chkFlowdb', 'link-26');">chkFlowdb</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt><tt class="py-name">controller_number</tt><tt class="py-op">,</tt><tt class="py-name">switch_number</tt><tt class="py-op">,</tt><tt class="py-name">exp_count</tt><tt class="py-op">,</tt><tt class="py-name">exp_rewrites</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">     </tt>
-<a name="FvtApiDriver.chkSwitchStats"></a><div id="FvtApiDriver.chkSwitchStats-def"><a name="L119"></a><tt class="py-lineno">119</tt> <a class="py-toggle" href="#" id="FvtApiDriver.chkSwitchStats-toggle" onclick="return toggle('FvtApiDriver.chkSwitchStats');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkSwitchStats">chkSwitchStats</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">switch_number</tt><tt class="py-op">,</tt> <tt class="py-param">ofproto</tt><tt class="py-op">,</tt> <tt class="py-param">exp_snd_count</tt><tt class="py-op">,</tt> <tt class="py-param">exp_rcv_count</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver.chkSwitchStats-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.chkSwitchStats-expanded"><a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.chkSwitchStats()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkSwitchStats"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.chkSwitchStats" class="py-name" href="#" onclick="return doclink('link-27', 'chkSwitchStats', 'link-27');">chkSwitchStats</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">switch_number</tt><tt class="py-op">,</tt> <tt class="py-name">ofproto</tt><tt class="py-op">,</tt> <tt class="py-name">exp_snd_count</tt><tt class="py-op">,</tt> <tt class="py-name">exp_rcv_count</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">     </tt>
-<a name="FvtApiDriver.chkSliceStats"></a><div id="FvtApiDriver.chkSliceStats-def"><a name="L122"></a><tt class="py-lineno">122</tt> <a class="py-toggle" href="#" id="FvtApiDriver.chkSliceStats-toggle" onclick="return toggle('FvtApiDriver.chkSliceStats');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkSliceStats">chkSliceStats</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">controller_number</tt><tt class="py-op">,</tt><tt class="py-param">ofproto</tt><tt class="py-op">,</tt><tt class="py-param">exp_snd_count</tt><tt class="py-op">,</tt><tt class="py-param">exp_rcv_count</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver.chkSliceStats-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.chkSliceStats-expanded"><a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.chkSliceStats()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkSliceStats"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.chkSliceStats" class="py-name" href="#" onclick="return doclink('link-28', 'chkSliceStats', 'link-28');">chkSliceStats</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt><tt class="py-name">controller_number</tt><tt class="py-op">,</tt><tt class="py-name">ofproto</tt><tt class="py-op">,</tt><tt class="py-name">exp_snd_count</tt><tt class="py-op">,</tt><tt class="py-name">exp_rcv_count</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">     </tt>
-<a name="FvtApiDriver.recvStats"></a><div id="FvtApiDriver.recvStats-def"><a name="L125"></a><tt class="py-lineno">125</tt> <a class="py-toggle" href="#" id="FvtApiDriver.recvStats-toggle" onclick="return toggle('FvtApiDriver.recvStats');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#recvStats">recvStats</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">swId</tt><tt class="py-op">,</tt><tt class="py-param">typ</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver.recvStats-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.recvStats-expanded"><a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.recvStats()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#recvStats"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.recvStats" class="py-name" href="#" onclick="return doclink('link-29', 'recvStats', 'link-29');">recvStats</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt><tt class="py-name">swId</tt><tt class="py-op">,</tt><tt class="py-name">typ</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">     </tt>
-<a name="FvtApiDriver.ofmsgSndCmpWithXid"></a><div id="FvtApiDriver.ofmsgSndCmpWithXid-def"><a name="L128"></a><tt class="py-lineno">128</tt> <a class="py-toggle" href="#" id="FvtApiDriver.ofmsgSndCmpWithXid-toggle" onclick="return toggle('FvtApiDriver.ofmsgSndCmpWithXid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#ofmsgSndCmpWithXid">ofmsgSndCmpWithXid</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">snd_list</tt><tt class="py-op">,</tt><tt class="py-param">exp_list</tt><tt class="py-op">,</tt><tt class="py-param">xid_ignore</tt><tt class="py-op">,</tt><tt class="py-param">hdr_only</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver.ofmsgSndCmpWithXid-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.ofmsgSndCmpWithXid-expanded"><a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.ofmsgSndCmpWithXid()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#ofmsgSndCmpWithXid"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.ofmsgSndCmpWithXid" class="py-name" href="#" onclick="return doclink('link-30', 'ofmsgSndCmpWithXid', 'link-30');">ofmsgSndCmpWithXid</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt><tt class="py-name">snd_list</tt><tt class="py-op">,</tt><tt class="py-name">exp_list</tt><tt class="py-op">,</tt><tt class="py-name">xid_ignore</tt><tt class="py-op">,</tt><tt class="py-name">hdr_only</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">     </tt>
-<a name="FvtApiDriver.genPacketOut"></a><div id="FvtApiDriver.genPacketOut-def"><a name="L131"></a><tt class="py-lineno">131</tt> <a class="py-toggle" href="#" id="FvtApiDriver.genPacketOut-toggle" onclick="return toggle('FvtApiDriver.genPacketOut');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPacketOut">genPacketOut</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">xid</tt><tt class="py-op">,</tt><tt class="py-param">buffer_id</tt><tt class="py-op">,</tt><tt class="py-param">in_port</tt><tt class="py-op">,</tt><tt class="py-param">action_ports</tt><tt class="py-op">,</tt><tt class="py-param">pkt</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver.genPacketOut-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.genPacketOut-expanded"><a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPacketOut()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPacketOut"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPacketOut" class="py-name" href="#" onclick="return doclink('link-31', 'genPacketOut', 'link-31');">genPacketOut</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt><tt class="py-name">xid</tt><tt class="py-op">,</tt><tt class="py-name">buffer_id</tt><tt class="py-op">,</tt><tt class="py-name">in_port</tt><tt class="py-op">,</tt><tt class="py-name">action_ports</tt><tt class="py-op">,</tt><tt class="py-name">pkt</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">     </tt>
-<a name="FvtApiDriver.genFlowModFlush"></a><div id="FvtApiDriver.genFlowModFlush-def"><a name="L134"></a><tt class="py-lineno">134</tt> <a class="py-toggle" href="#" id="FvtApiDriver.genFlowModFlush-toggle" onclick="return toggle('FvtApiDriver.genFlowModFlush');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genFlowModFlush">genFlowModFlush</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver.genFlowModFlush-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.genFlowModFlush-expanded"><a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genFlowModFlush()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genFlowModFlush"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genFlowModFlush" class="py-name" href="#" onclick="return doclink('link-32', 'genFlowModFlush', 'link-32');">genFlowModFlush</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">     </tt>
-<a name="FvtApiDriver.genPhyPort"></a><div id="FvtApiDriver.genPhyPort-def"><a name="L137"></a><tt class="py-lineno">137</tt> <a class="py-toggle" href="#" id="FvtApiDriver.genPhyPort-toggle" onclick="return toggle('FvtApiDriver.genPhyPort');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPhyPort">genPhyPort</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">name</tt><tt class="py-op">,</tt><tt class="py-param">addr</tt><tt class="py-op">,</tt><tt class="py-param">port_no</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver.genPhyPort-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.genPhyPort-expanded"><a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPhyPort()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPhyPort"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPhyPort" class="py-name" href="#" onclick="return doclink('link-33', 'genPhyPort', 'link-33');">genPhyPort</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt><tt class="py-name">addr</tt><tt class="py-op">,</tt><tt class="py-name">port_no</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">     </tt>
-<a name="FvtApiDriver.disconnect"></a><div id="FvtApiDriver.disconnect-def"><a name="L140"></a><tt class="py-lineno">140</tt> <a class="py-toggle" href="#" id="FvtApiDriver.disconnect-toggle" onclick="return toggle('FvtApiDriver.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#disconnect">disconnect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">handle</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver.disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.disconnect-expanded"><a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-string">'''</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"><tt class="py-string">        if self.handle:</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-string">            self.handle = handle</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-string">            response = self.execute(cmd="exit",prompt="(.*)",timeout=120)</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-string">        else :</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-string">            main.log.error("Connection failed to the host")</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-string">            response = main.FALSE</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-string">        '''</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">response</tt>   </tt>
-</div><a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">     </tt>
-<a name="FvtApiDriver.setUp"></a><div id="FvtApiDriver.setUp-def"><a name="L152"></a><tt class="py-lineno">152</tt> <a class="py-toggle" href="#" id="FvtApiDriver.setUp-toggle" onclick="return toggle('FvtApiDriver.setUp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#setUp">setUp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">basic_logger</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver.setUp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.setUp-expanded"><a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Module TestON.core.logger=TestON.core.logger-module.html"><a title="TestON.core.logger" class="py-name" href="#" onclick="return doclink('link-34', 'logger', 'link-34');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">basic_logger</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-comment">#basic_logger.info("** START TEST CASE " + str(self))</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">basic_timeout</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">basic_timeout</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fv</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sv</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">controllers</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">switches</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">     </tt>
-<a name="FvtApiDriver.close_log_handles"></a><div id="FvtApiDriver.close_log_handles-def"><a name="L164"></a><tt class="py-lineno">164</tt> <a class="py-toggle" href="#" id="FvtApiDriver.close_log_handles-toggle" onclick="return toggle('FvtApiDriver.close_log_handles');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#close_log_handles">close_log_handles</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="FvtApiDriver.close_log_handles-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.close_log_handles-expanded"><a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tearDown</tt><tt class="py-op">(</tt><tt class="py-op">)</tt>  </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">+</tt><tt class="py-string">'log'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">removeHandler</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">log_handler</tt><tt class="py-op">)</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-comment">#if self.logfile_handler:</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-comment">#    self.logfile_handler.close()</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">         </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div></div><a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-15', 'connect', 'link-15');">connect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logFileName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">".session"</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt id="link-16" class="py-name"><a title="TestON.drivers.common.api.fvtapidriver.config_default" class="py-name" href="#" onclick="return doclink('link-16', 'config_default', 'link-11');">config_default</a></tt><tt class="py-op">[</tt> <tt class="py-string">"log_file"</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logFileName</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt id="link-17" class="py-name" targets="Function TestON.drivers.common.api.fvtapidriver.test_set_init()=TestON.drivers.common.api.fvtapidriver-module.html#test_set_init"><a title="TestON.drivers.common.api.fvtapidriver.test_set_init" class="py-name" href="#" onclick="return doclink('link-17', 'test_set_init', 'link-17');">test_set_init</a></tt><tt class="py-op">(</tt> <tt id="link-18" class="py-name"><a title="TestON.drivers.common.api.fvtapidriver.config_default" class="py-name" href="#" onclick="return doclink('link-18', 'config_default', 'link-11');">config_default</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">basic_logger</tt> <tt class="py-op">=</tt> <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">'log'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-name">__builtin__</tt><tt class="py-op">.</tt><tt class="py-name">basic_logger</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Calling my test setup"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.setUp()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#setUp"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.setUp" class="py-name" href="#" onclick="return doclink('link-19', 'setUp', 'link-19');">setUp</a></tt><tt class="py-op">(</tt> <tt class="py-name">basic_logger</tt> <tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fv</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sv</tt><tt class="py-op">,</tt> <tt class="py-name">sv_ret</tt><tt class="py-op">,</tt> <tt class="py-name">ctl_ret</tt><tt class="py-op">,</tt> <tt class="py-name">sw_ret</tt> <tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt class="py-name">setUpTestEnv</tt><tt class="py-op">(</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">fv_cmd</tt><tt class="py-op">=</tt><tt class="py-name">basic_fv_cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">chkSetUpCondition</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fv</tt><tt class="py-op">,</tt> <tt class="py-name">sv_ret</tt><tt class="py-op">,</tt> <tt class="py-name">ctl_ret</tt><tt class="py-op">,</tt> <tt class="py-name">sw_ret</tt> <tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver.simplePacket"></a><div id="FvtApiDriver.simplePacket-def"><a name="L118"></a><tt class="py-lineno">118</tt> <a class="py-toggle" href="#" id="FvtApiDriver.simplePacket-toggle" onclick="return toggle('FvtApiDriver.simplePacket');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#simplePacket">simplePacket</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">dl_src</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver.simplePacket-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.simplePacket-expanded"><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">dl_src</tt> <tt class="py-op">=</tt> <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">testutils</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">dl_src</tt> <tt class="py-op">]</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.simplePacket()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#simplePacket"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.simplePacket" class="py-name" href="#" onclick="return doclink('link-20', 'simplePacket', 'link-20');">simplePacket</a></tt><tt class="py-op">(</tt> <tt class="py-name">dl_src</tt><tt class="py-op">=</tt><tt class="py-name">dl_src</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver.genPacketIn"></a><div id="FvtApiDriver.genPacketIn-def"><a name="L122"></a><tt class="py-lineno">122</tt> <a class="py-toggle" href="#" id="FvtApiDriver.genPacketIn-toggle" onclick="return toggle('FvtApiDriver.genPacketIn');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPacketIn">genPacketIn</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">in_port</tt><tt class="py-op">,</tt> <tt class="py-param">pkt</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver.genPacketIn-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.genPacketIn-expanded"><a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPacketIn()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPacketIn"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPacketIn" class="py-name" href="#" onclick="return doclink('link-21', 'genPacketIn', 'link-21');">genPacketIn</a></tt><tt class="py-op">(</tt> <tt class="py-name">in_port</tt><tt class="py-op">=</tt><tt class="py-name">in_port</tt><tt class="py-op">,</tt> <tt class="py-name">pkt</tt><tt class="py-op">=</tt><tt class="py-name">pkt</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver.ofmsgSndCmp"></a><div id="FvtApiDriver.ofmsgSndCmp-def"><a name="L125"></a><tt class="py-lineno">125</tt> <a class="py-toggle" href="#" id="FvtApiDriver.ofmsgSndCmp-toggle" onclick="return toggle('FvtApiDriver.ofmsgSndCmp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#ofmsgSndCmp">ofmsgSndCmp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">snd_list</tt><tt class="py-op">,</tt> <tt class="py-param">exp_list</tt><tt class="py-op">,</tt> <tt class="py-param">xid_ignore</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-param">hdr_only</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver.ofmsgSndCmp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.ofmsgSndCmp-expanded"><a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.ofmsgSndCmp()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#ofmsgSndCmp"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.ofmsgSndCmp" class="py-name" href="#" onclick="return doclink('link-22', 'ofmsgSndCmp', 'link-22');">ofmsgSndCmp</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">snd_list</tt><tt class="py-op">,</tt> <tt class="py-name">exp_list</tt><tt class="py-op">,</tt> <tt class="py-name">xid_ignore</tt><tt class="py-op">,</tt> <tt class="py-name">hdr_only</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver.setRule"></a><div id="FvtApiDriver.setRule-def"><a name="L128"></a><tt class="py-lineno">128</tt> <a class="py-toggle" href="#" id="FvtApiDriver.setRule-toggle" onclick="return toggle('FvtApiDriver.setRule');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#setRule">setRule</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sv</tt><tt class="py-op">,</tt> <tt class="py-param">rule</tt><tt class="py-op">,</tt> <tt class="py-param">num_try</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver.setRule-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.setRule-expanded"><a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.setRule()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#setRule"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.setRule" class="py-name" href="#" onclick="return doclink('link-23', 'setRule', 'link-23');">setRule</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">sv</tt><tt class="py-op">,</tt> <tt class="py-name">rule</tt><tt class="py-op">,</tt> <tt class="py-name">num_try</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver.chkFlowdb"></a><div id="FvtApiDriver.chkFlowdb-def"><a name="L131"></a><tt class="py-lineno">131</tt> <a class="py-toggle" href="#" id="FvtApiDriver.chkFlowdb-toggle" onclick="return toggle('FvtApiDriver.chkFlowdb');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkFlowdb">chkFlowdb</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">controller_number</tt><tt class="py-op">,</tt> <tt class="py-param">switch_number</tt><tt class="py-op">,</tt> <tt class="py-param">exp_count</tt><tt class="py-op">,</tt> <tt class="py-param">exp_rewrites</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver.chkFlowdb-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.chkFlowdb-expanded"><a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.chkFlowdb()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkFlowdb"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.chkFlowdb" class="py-name" href="#" onclick="return doclink('link-24', 'chkFlowdb', 'link-24');">chkFlowdb</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">controller_number</tt><tt class="py-op">,</tt> <tt class="py-name">switch_number</tt><tt class="py-op">,</tt> <tt class="py-name">exp_count</tt><tt class="py-op">,</tt> <tt class="py-name">exp_rewrites</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver.chkSwitchStats"></a><div id="FvtApiDriver.chkSwitchStats-def"><a name="L134"></a><tt class="py-lineno">134</tt> <a class="py-toggle" href="#" id="FvtApiDriver.chkSwitchStats-toggle" onclick="return toggle('FvtApiDriver.chkSwitchStats');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkSwitchStats">chkSwitchStats</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">switch_number</tt><tt class="py-op">,</tt> <tt class="py-param">ofproto</tt><tt class="py-op">,</tt> <tt class="py-param">exp_snd_count</tt><tt class="py-op">,</tt> <tt class="py-param">exp_rcv_count</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver.chkSwitchStats-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.chkSwitchStats-expanded"><a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.chkSwitchStats()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkSwitchStats"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.chkSwitchStats" class="py-name" href="#" onclick="return doclink('link-25', 'chkSwitchStats', 'link-25');">chkSwitchStats</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">switch_number</tt><tt class="py-op">,</tt> <tt class="py-name">ofproto</tt><tt class="py-op">,</tt> <tt class="py-name">exp_snd_count</tt><tt class="py-op">,</tt> <tt class="py-name">exp_rcv_count</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver.chkSliceStats"></a><div id="FvtApiDriver.chkSliceStats-def"><a name="L137"></a><tt class="py-lineno">137</tt> <a class="py-toggle" href="#" id="FvtApiDriver.chkSliceStats-toggle" onclick="return toggle('FvtApiDriver.chkSliceStats');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkSliceStats">chkSliceStats</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">controller_number</tt><tt class="py-op">,</tt> <tt class="py-param">ofproto</tt><tt class="py-op">,</tt> <tt class="py-param">exp_snd_count</tt><tt class="py-op">,</tt> <tt class="py-param">exp_rcv_count</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver.chkSliceStats-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.chkSliceStats-expanded"><a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.chkSliceStats()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkSliceStats"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.chkSliceStats" class="py-name" href="#" onclick="return doclink('link-26', 'chkSliceStats', 'link-26');">chkSliceStats</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">controller_number</tt><tt class="py-op">,</tt> <tt class="py-name">ofproto</tt><tt class="py-op">,</tt> <tt class="py-name">exp_snd_count</tt><tt class="py-op">,</tt> <tt class="py-name">exp_rcv_count</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver.recvStats"></a><div id="FvtApiDriver.recvStats-def"><a name="L140"></a><tt class="py-lineno">140</tt> <a class="py-toggle" href="#" id="FvtApiDriver.recvStats-toggle" onclick="return toggle('FvtApiDriver.recvStats');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#recvStats">recvStats</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">swId</tt><tt class="py-op">,</tt> <tt class="py-param">typ</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver.recvStats-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.recvStats-expanded"><a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.recvStats()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#recvStats"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.recvStats" class="py-name" href="#" onclick="return doclink('link-27', 'recvStats', 'link-27');">recvStats</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">swId</tt><tt class="py-op">,</tt> <tt class="py-name">typ</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver.ofmsgSndCmpWithXid"></a><div id="FvtApiDriver.ofmsgSndCmpWithXid-def"><a name="L143"></a><tt class="py-lineno">143</tt> <a class="py-toggle" href="#" id="FvtApiDriver.ofmsgSndCmpWithXid-toggle" onclick="return toggle('FvtApiDriver.ofmsgSndCmpWithXid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#ofmsgSndCmpWithXid">ofmsgSndCmpWithXid</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">snd_list</tt><tt class="py-op">,</tt> <tt class="py-param">exp_list</tt><tt class="py-op">,</tt> <tt class="py-param">xid_ignore</tt><tt class="py-op">,</tt> <tt class="py-param">hdr_only</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver.ofmsgSndCmpWithXid-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.ofmsgSndCmpWithXid-expanded"><a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.ofmsgSndCmpWithXid()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#ofmsgSndCmpWithXid"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.ofmsgSndCmpWithXid" class="py-name" href="#" onclick="return doclink('link-28', 'ofmsgSndCmpWithXid', 'link-28');">ofmsgSndCmpWithXid</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">snd_list</tt><tt class="py-op">,</tt> <tt class="py-name">exp_list</tt><tt class="py-op">,</tt> <tt class="py-name">xid_ignore</tt><tt class="py-op">,</tt> <tt class="py-name">hdr_only</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver.genPacketOut"></a><div id="FvtApiDriver.genPacketOut-def"><a name="L146"></a><tt class="py-lineno">146</tt> <a class="py-toggle" href="#" id="FvtApiDriver.genPacketOut-toggle" onclick="return toggle('FvtApiDriver.genPacketOut');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPacketOut">genPacketOut</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">xid</tt><tt class="py-op">,</tt> <tt class="py-param">buffer_id</tt><tt class="py-op">,</tt> <tt class="py-param">in_port</tt><tt class="py-op">,</tt> <tt class="py-param">action_ports</tt><tt class="py-op">,</tt> <tt class="py-param">pkt</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver.genPacketOut-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.genPacketOut-expanded"><a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPacketOut()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPacketOut"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPacketOut" class="py-name" href="#" onclick="return doclink('link-29', 'genPacketOut', 'link-29');">genPacketOut</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">xid</tt><tt class="py-op">,</tt> <tt class="py-name">buffer_id</tt><tt class="py-op">,</tt> <tt class="py-name">in_port</tt><tt class="py-op">,</tt> <tt class="py-name">action_ports</tt><tt class="py-op">,</tt> <tt class="py-name">pkt</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver.genFlowModFlush"></a><div id="FvtApiDriver.genFlowModFlush-def"><a name="L149"></a><tt class="py-lineno">149</tt> <a class="py-toggle" href="#" id="FvtApiDriver.genFlowModFlush-toggle" onclick="return toggle('FvtApiDriver.genFlowModFlush');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genFlowModFlush">genFlowModFlush</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver.genFlowModFlush-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.genFlowModFlush-expanded"><a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genFlowModFlush()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genFlowModFlush"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genFlowModFlush" class="py-name" href="#" onclick="return doclink('link-30', 'genFlowModFlush', 'link-30');">genFlowModFlush</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver.genPhyPort"></a><div id="FvtApiDriver.genPhyPort-def"><a name="L152"></a><tt class="py-lineno">152</tt> <a class="py-toggle" href="#" id="FvtApiDriver.genPhyPort-toggle" onclick="return toggle('FvtApiDriver.genPhyPort');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPhyPort">genPhyPort</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">addr</tt><tt class="py-op">,</tt> <tt class="py-param">port_no</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver.genPhyPort-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.genPhyPort-expanded"><a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">testutils</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPhyPort()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPhyPort"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPhyPort" class="py-name" href="#" onclick="return doclink('link-31', 'genPhyPort', 'link-31');">genPhyPort</a></tt><tt class="py-op">(</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">addr</tt><tt class="py-op">,</tt> <tt class="py-name">port_no</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver.disconnect"></a><div id="FvtApiDriver.disconnect-def"><a name="L155"></a><tt class="py-lineno">155</tt> <a class="py-toggle" href="#" id="FvtApiDriver.disconnect-toggle" onclick="return toggle('FvtApiDriver.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#disconnect">disconnect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver.disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.disconnect-expanded"><a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-string">"""</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-string">        if self.handle:</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-string">            self.handle = handle</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-string">            response = self.execute( cmd="exit",prompt="(.*)",timeout=120 )</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-string">        else :</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-string">            main.log.error( "Connection failed to the host" )</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-string">            response = main.FALSE</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"><tt class="py-string">        """</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+</div><a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver.setUp"></a><div id="FvtApiDriver.setUp-def"><a name="L167"></a><tt class="py-lineno">167</tt> <a class="py-toggle" href="#" id="FvtApiDriver.setUp-toggle" onclick="return toggle('FvtApiDriver.setUp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#setUp">setUp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">basic_logger</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver.setUp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.setUp-expanded"><a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Module TestON.core.logger=TestON.core.logger-module.html"><a title="TestON.core.logger" class="py-name" href="#" onclick="return doclink('link-32', 'logger', 'link-32');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">basic_logger</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-comment"># basic_logger.info( "** START TEST CASE " + str( self ) )</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">basic_timeout</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">basic_timeout</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fv</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sv</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">controllers</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">switches</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"> </tt>
+<a name="FvtApiDriver.close_log_handles"></a><div id="FvtApiDriver.close_log_handles-def"><a name="L179"></a><tt class="py-lineno">179</tt> <a class="py-toggle" href="#" id="FvtApiDriver.close_log_handles-toggle" onclick="return toggle('FvtApiDriver.close_log_handles');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#close_log_handles">close_log_handles</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FvtApiDriver.close_log_handles-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FvtApiDriver.close_log_handles-expanded"><a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tearDown</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">'log'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">removeHandler</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">log_handler</tt> <tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-comment"># if self.logfile_handler:</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-comment">#    self.logfile_handler.close()</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div></div><a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -307,13 +367,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html
index 9f8368b..9fa5dfd 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,16 +65,16 @@
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
 <h1 class="epydoc">Class FvtApiDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.api.fvtapidriver-pysrc.html#FvtApiDriver">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-                ??-41 --+    
-                        |    
-            apidriver.API --+
-                            |
-templatetest.TemplateTest --+
-                            |
-                           <strong class="uidshort">FvtApiDriver</strong>
-</pre>
-
+<center>
+<center>  <map id="class_hierarchy_for_fvtapidriv" name="class_hierarchy_for_fvtapidriv">
+<area shape="rect" id="node1" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html" title="FvtApiDriver" alt="" coords="5,6,99,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.apidriver.API-class.html" title="apidriver.API" alt="" coords="123,6,220,31"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="component.Component" alt="" coords="245,6,403,31"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="templatetest.TemplateTest" alt="" coords="427,6,605,31"/>
+</map>
+  <img src="class_hierarchy_for_fvtapidriv.gif" alt='' usemap="#class_hierarchy_for_fvtapidriv" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
 <hr />
 <!-- ==================== INSTANCE METHODS ==================== -->
 <a name="section-InstanceMethods"></a>
@@ -94,7 +99,8 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.api.fvtapidriver-pysrc.html#FvtApiDriver.__init__">source&nbsp;code</a></span>
             
@@ -356,7 +362,7 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="disconnect"></a><span class="summary-sig-name">disconnect</span>(<span class="summary-sig-arg">self</span>,
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">handle</span>)</span></td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.api.fvtapidriver-pysrc.html#FvtApiDriver.disconnect">source&nbsp;code</a></span>
@@ -390,7 +396,7 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="close_log_handles"></a><span class="summary-sig-name">close_log_handles</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#close_log_handles" class="summary-sig-name">close_log_handles</a>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.api.fvtapidriver-pysrc.html#FvtApiDriver.close_log_handles">source&nbsp;code</a></span>
             
@@ -400,6 +406,58 @@
       
     </td>
   </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>config</code>,
+      <code>execute</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
 </table>
 <!-- ==================== METHOD DETAILS ==================== -->
 <a name="section-MethodDetails"></a>
@@ -434,10 +492,11 @@
     </td>
   </tr></table>
   
-  
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
   <dl class="fields">
     <dt>Overrides:
-        apidriver.API.__init__
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
     </dt>
   </dl>
 </td></tr></table>
@@ -462,8 +521,52 @@
   the handle.</p>
   <dl class="fields">
     <dt>Overrides:
-        apidriver.API.connect
-        <dd><em class="note">(inherited documentation)</em></dd>
+        component.Component.connect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="disconnect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">disconnect</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">handle</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.fvtapidriver-pysrc.html#FvtApiDriver.disconnect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.disconnect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="close_log_handles"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">close_log_handles</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.api.fvtapidriver-pysrc.html#FvtApiDriver.close_log_handles">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.close_log_handles
     </dt>
   </dl>
 </td></tr></table>
@@ -489,13 +592,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.webdriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.apidriver-module.html
similarity index 70%
rename from TestON/Documentation/TestON_Document/TestON.drivers.common.webdriver-module.html
rename to TestON/Documentation/TestON_Document/TestON.drivers.common.apidriver-module.html
index 88e1320..b751d61 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.webdriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.apidriver-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.drivers.common.webdriver</title>
+  <title>TestON.drivers.common.apidriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -40,7 +45,7 @@
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
         <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
-        Module&nbsp;webdriver
+        Module&nbsp;apidriver
       </span>
     </td>
     <td>
@@ -50,21 +55,37 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.webdriver-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.apidriver-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module webdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 27-Feb-2013</p>
+<h1 class="epydoc">Module apidriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.apidriver-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com),
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 22-Nov-2012
+
+author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )
+
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    ( at your option ) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -85,7 +106,7 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.drivers.common.webdriver.WebDriver-class.html" class="summary-name">WebDriver</a><br />
+        <a href="TestON.drivers.common.apidriver.API-class.html" class="summary-name">API</a><br />
       This will define common functions for CLI included.
     </td>
   </tr>
@@ -110,13 +131,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.apidriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.apidriver-pysrc.html
new file mode 100644
index 0000000..f21e160
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.apidriver-pysrc.html
@@ -0,0 +1,248 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.apidriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        Module&nbsp;apidriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.apidriver-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.drivers.common.apidriver-module.html">Module TestON.drivers.common.apidriver</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 22-Nov-2012</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring">    ( at your option ) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt class="py-name">component</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Component</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"> </tt>
+<a name="API"></a><div id="API-def"><a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="API-toggle" onclick="return toggle('API');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.apidriver.API-class.html">API</a><tt class="py-op">(</tt> <tt class="py-base-class">Component</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="API-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="API-expanded"><a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"><tt class="py-docstring">        This will define common functions for CLI included.</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="API.__init__"></a><div id="API.__init__-def"><a name="L31"></a><tt class="py-lineno">31</tt> <a class="py-toggle" href="#" id="API.__init__-toggle" onclick="return toggle('API.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.apidriver.API-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="API.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="API.__init__-expanded"><a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt class="py-name">Component</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-1', '__init__', 'link-1');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"> </tt>
+<a name="API.connect"></a><div id="API.connect-def"><a name="L34"></a><tt class="py-lineno">34</tt> <a class="py-toggle" href="#" id="API.connect-toggle" onclick="return toggle('API.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.apidriver.API-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="API.connect-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="API.connect-expanded"><a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"><tt class="py-docstring">           Connection will establish to the remote host using ssh.</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"><tt class="py-docstring">           It will take user_name ,ip_address and password as arguments&lt;br&gt;</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-docstring">           and will return the handle.</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-2" class="py-name" targets="Class TestON.drivers.common.apidriver.API=TestON.drivers.common.apidriver.API-class.html"><a title="TestON.drivers.common.apidriver.API" class="py-name" href="#" onclick="return doclink('link-2', 'API', 'link-2');">API</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-3', 'connect', 'link-3');">connect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div></div><a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.apidriver.API-class.html
similarity index 67%
rename from TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html
rename to TestON/Documentation/TestON_Document/TestON.drivers.common.apidriver.API-class.html
index d11603a..973efa1 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.apidriver.API-class.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver</title>
+  <title>TestON.drivers.common.apidriver.API</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -40,10 +45,8 @@
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
         <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
-        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
-        <a href="TestON.drivers.common.cli.remotesys-module.html">Package&nbsp;remotesys</a> ::
-        <a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html">Module&nbsp;hpswitchdriver</a> ::
-        Class&nbsp;HPSwitchDriver
+        <a href="TestON.drivers.common.apidriver-module.html">Module&nbsp;apidriver</a> ::
+        Class&nbsp;API
       </span>
     </td>
     <td>
@@ -53,27 +56,24 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html"
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.apidriver.API-class.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class HPSwitchDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html#HPSwitchDriver">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-         object --+        
-                  |        
-<a href="TestON.drivers.component.Component-class.html">component.Component</a> --+    
-                      |    
-          <a href="TestON.drivers.common.clidriver.CLI-class.html">clidriver.CLI</a> --+
-                          |
-                         <strong class="uidshort">HPSwitchDriver</strong>
-</pre>
-
+<h1 class="epydoc">Class API</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.apidriver-pysrc.html#API">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_api" name="class_hierarchy_for_api">
+<area shape="rect" id="node1" href="TestON.drivers.common.apidriver.API-class.html" title="API" alt="" coords="5,6,48,31"/>
+<area shape="rect" id="node2" href="javascript:void(0);" title="component.Component" alt="" coords="73,6,231,31"/>
+</map>
+  <img src="class_hierarchy_for_api.gif" alt='' usemap="#class_hierarchy_for_api" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
 <hr />
-<p>HPSwitchDriver is the basic driver which will handle the Mininet 
-  functions</p>
+<p>This will define common functions for CLI included.</p>
 
 <!-- ==================== INSTANCE METHODS ==================== -->
 <a name="section-InstanceMethods"></a>
@@ -98,10 +98,10 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.apidriver.API-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html#HPSwitchDriver.__init__">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.drivers.common.apidriver-pysrc.html#API.__init__">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -115,11 +115,10 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">**connectargs</span>)</span><br />
+          <td><span class="summary-sig"><a href="TestON.drivers.common.apidriver.API-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>)</span><br />
       Connection will establish to the remote host using ssh.</td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html#HPSwitchDriver.connect">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.drivers.common.apidriver-pysrc.html#API.connect">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -129,21 +128,16 @@
   </tr>
   <tr>
     <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="TestON.drivers.common.clidriver.CLI-class.html">clidriver.CLI</a></code></b>:
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#disconnect">disconnect</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#execute">execute</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#onfail">onfail</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser">runAsSudoUser</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy">secureCopy</a></code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="TestON.drivers.component.Component-class.html">component.Component</a></code></b>:
-      <code><a href="TestON.drivers.component.Component-class.html#__getattr__">__getattr__</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#cleanup">cleanup</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#close_log_handles">close_log_handles</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#config">config</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#experimentRun">experimentRun</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#get_version">get_version</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#log">log</a></code>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>disconnect</code>,
+      <code>execute</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
       </p>
     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
       <code>__delattr__</code>,
@@ -216,12 +210,11 @@
     <br /><em class="fname">(Constructor)</em>
   </h3>
   </td><td align="right" valign="top"
-    ><span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html#HPSwitchDriver.__init__">source&nbsp;code</a></span>&nbsp;
+    ><span class="codelink"><a href="TestON.drivers.common.apidriver-pysrc.html#API.__init__">source&nbsp;code</a></span>&nbsp;
     </td>
   </tr></table>
   
-  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
-  signature</p>
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
   <dl class="fields">
     <dt>Overrides:
         object.__init__
@@ -237,11 +230,10 @@
 <tr><td>
   <table width="100%" cellpadding="0" cellspacing="0" border="0">
   <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">**connectargs</span>)</span>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>)</span>
   </h3>
   </td><td align="right" valign="top"
-    ><span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html#HPSwitchDriver.connect">source&nbsp;code</a></span>&nbsp;
+    ><span class="codelink"><a href="TestON.drivers.common.apidriver-pysrc.html#API.connect">source&nbsp;code</a></span>&nbsp;
     </td>
   </tr></table>
   
@@ -250,7 +242,7 @@
   the handle.</p>
   <dl class="fields">
     <dt>Overrides:
-        <a href="TestON.drivers.component.Component-class.html#connect">component.Component.connect</a>
+        component.Component.connect
     </dt>
   </dl>
 </td></tr></table>
@@ -276,13 +268,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli-module.html
index 24f6576..d56995f 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -77,19 +82,32 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.dpclidriver-module.html">TestON.drivers.common.cli.dpclidriver</a></strong>: <em class="summary">Driver for blank dataplane VMs.</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator-module.html">TestON.drivers.common.cli.emulator</a></strong>
     <ul>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-module.html">TestON.drivers.common.cli.emulator.flowvisordriver</a></strong>: <em class="summary">Created on 26-Mar-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-module.html">TestON.drivers.common.cli.emulator.lincoedriver</a></strong>: <em class="summary">This driver handles the optical switch emulator linc-oe.</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-module.html">TestON.drivers.common.cli.emulator.mininetclidriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.poxclidriver-module.html">TestON.drivers.common.cli.emulator.poxclidriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-module.html">TestON.drivers.common.cli.emulator.remotemininetdriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     </ul>
     </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulatordriver-module.html">TestON.drivers.common.cli.emulatordriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesys-module.html">TestON.drivers.common.cli.remotesys</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.onosclidriver-module.html">TestON.drivers.common.cli.onosclidriver</a></strong>: <em class="summary">This driver enters the onos&gt; prompt to issue commands.</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.onosdriver-module.html">TestON.drivers.common.cli.onosdriver</a></strong>: <em class="summary">This driver interacts with ONOS bench, the OSGi platform that 
+        configures the ONOS nodes.</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.quaggaclidriver-module.html">TestON.drivers.common.cli.quaggaclidriver</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesys-module.html">TestON.drivers.common.cli.remotesys</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesysdriver-module.html">TestON.drivers.common.cli.remotesysdriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed-module.html">TestON.drivers.common.cli.remotetestbed</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html">TestON.drivers.common.cli.remotesys.hpswitchdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html">TestON.drivers.common.cli.remotetestbed.floodlightclidriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html">TestON.drivers.common.cli.remotetestbed.necswitchdriver</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html">TestON.drivers.common.cli.remotetestbed.remotepoxdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html">TestON.drivers.common.cli.remotetestbed.remotevmdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesysdriver-module.html">TestON.drivers.common.cli.remotesysdriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbeddriver-module.html">TestON.drivers.common.cli.remotetestbeddriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.tool-module.html">TestON.drivers.common.cli.tool</a></strong>
     <ul>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.tool.dpctlclidriver-module.html">TestON.drivers.common.cli.tool.dpctlclidriver</a></strong>: <em class="summary">Created on 26-Nov-2012</em>    </li>
@@ -100,6 +118,32 @@
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -120,13 +164,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli-pysrc.html
index 9a593f4..ccaa703 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -86,13 +91,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.dpclidriver-module.html
similarity index 77%
rename from TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
rename to TestON/Documentation/TestON_Document/TestON.drivers.common.cli.dpclidriver-module.html
index 053b957..1ffe1e4 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.dpclidriver-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.drivers.common.cli.remotesys.hpswitchdriver</title>
+  <title>TestON.drivers.common.cli.dpclidriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -41,8 +46,7 @@
         <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
         <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
         <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
-        <a href="TestON.drivers.common.cli.remotesys-module.html">Package&nbsp;remotesys</a> ::
-        Module&nbsp;hpswitchdriver
+        Module&nbsp;dpclidriver
       </span>
     </td>
     <td>
@@ -52,23 +56,17 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.dpclidriver-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module hpswitchdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 12-Feb-2013</p>
+<h1 class="epydoc">Module dpclidriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.dpclidriver-pysrc.html">source&nbsp;code</a></span></p>
+<p>Driver for blank dataplane VMs. Created for SDNIP test.</p>
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-        <p>HPSwitchDriver is the basic driver which will handle the Mininet
-        functions</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -89,9 +87,7 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html" class="summary-name">HPSwitchDriver</a><br />
-      HPSwitchDriver is the basic driver which will handle the Mininet 
-      functions
+        <a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html" class="summary-name">DPCliDriver</a>
     </td>
   </tr>
 </table>
@@ -115,13 +111,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.dpclidriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.dpclidriver-pysrc.html
new file mode 100644
index 0000000..bd692c4
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.dpclidriver-pysrc.html
@@ -0,0 +1,399 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.dpclidriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        Module&nbsp;dpclidriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.dpclidriver-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.dpclidriver-module.html">Module TestON.drivers.common.cli.dpclidriver</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">Driver for blank dataplane VMs. Created for SDNIP test.</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.drivers.common.clidriver=TestON.drivers.common.clidriver-module.html"><a title="TestON.drivers.common.clidriver" class="py-name" href="#" onclick="return doclink('link-2', 'clidriver', 'link-2');">clidriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-3', 'CLI', 'link-3');">CLI</a></tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"> </tt>
+<a name="DPCliDriver"></a><div id="DPCliDriver-def"><a name="L8"></a><tt class="py-lineno">  8</tt> <a class="py-toggle" href="#" id="DPCliDriver-toggle" onclick="return toggle('DPCliDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html">DPCliDriver</a><tt class="py-op">(</tt> <tt class="py-base-class">CLI</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DPCliDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="DPCliDriver-expanded"><a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"> </tt>
+<a name="DPCliDriver.__init__"></a><div id="DPCliDriver.__init__-def"><a name="L10"></a><tt class="py-lineno"> 10</tt> <a class="py-toggle" href="#" id="DPCliDriver.__init__-toggle" onclick="return toggle('DPCliDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DPCliDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DPCliDriver.__init__-expanded"><a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-4" class="py-name"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-4', 'CLI', 'link-3');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-5', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"> </tt>
+<a name="DPCliDriver.connect"></a><div id="DPCliDriver.connect-def"><a name="L13"></a><tt class="py-lineno"> 13</tt> <a class="py-toggle" href="#" id="DPCliDriver.connect-toggle" onclick="return toggle('DPCliDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DPCliDriver.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DPCliDriver.connect-expanded"><a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-6" class="py-name" targets="Class TestON.drivers.common.cli.dpclidriver.DPCliDriver=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html"><a title="TestON.drivers.common.cli.dpclidriver.DPCliDriver" class="py-name" href="#" onclick="return doclink('link-6', 'DPCliDriver', 'link-6');">DPCliDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-7', 'connect', 'link-7');">connect</a></tt><tt class="py-op">(</tt> <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">                        <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">                        <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">,</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">                        <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-8', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"NO HANDLE"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
+<a name="DPCliDriver.create_interfaces"></a><div id="DPCliDriver.create_interfaces-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="DPCliDriver.create_interfaces-toggle" onclick="return toggle('DPCliDriver.create_interfaces');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#create_interfaces">create_interfaces</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">net</tt><tt class="py-op">,</tt> <tt class="py-param">number</tt><tt class="py-op">,</tt> <tt class="py-param">start</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DPCliDriver.create_interfaces-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DPCliDriver.create_interfaces-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring">        Creates a number,specified by 'number,' of subinterfaces on eth0.</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring">        Ip addresses start at 'net'.'start'.1.1 with a 24 bit netmask.</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-docstring">        Addresses increment sequentially in the third quad, therefore all</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring">        interfaces are in different subnets on the same machine. When the</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-docstring">        third quad reaches 255, it is reset to 1 and the second quad is</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring">        incremented. Every single ip address is placed in a file in /tmp</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">        titled 'ip_table{net}.txt'. The file is used by 'pingall_interfaces()'</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-docstring">        as a fping argument</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-docstring">        This method returns true if all interfaces are created without a hitch,</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring">        and false if a single interface has issues</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-9', 'sendline', 'link-9');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-10', 'sendline', 'link-9');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"rm /tmp/local_ip.txt"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-11', 'sendline', 'link-9');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"touch /tmp/local_ip.txt"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-12', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Creating interfaces"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-name">intf</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">number</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-name">k</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">k</tt> <tt class="py-op">==</tt> <tt class="py-number">256</tt><tt class="py-op">:</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">                <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">                <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">start</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">            <tt class="py-name">number</tt> <tt class="py-op">=</tt> <tt class="py-name">number</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-name">intf</tt> <tt class="py-op">=</tt> <tt class="py-name">intf</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">            <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt id="link-13" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#net"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-13', 'net', 'link-13');">net</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">start</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">k</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">".1"</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-14', 'sendline', 'link-9');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">                <tt class="py-string">"sudo ifconfig eth0:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                    <tt class="py-name">intf</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">ip</tt> <tt class="py-op">+</tt> <tt class="py-string">" netmask 255.255.255.0"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">                                    <tt class="py-string">"\$"</tt><tt class="py-op">,</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">                                    <tt class="py-string">"password"</tt><tt class="py-op">,</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">                                    <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">,</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">                                    <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">                                    <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-15', 'sendline', 'link-9');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">                    <tt class="py-string">"echo "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" &gt;&gt; /tmp/local_ip.txt"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-16', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Sending sudo password"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-17', 'sendline', 'link-9');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-18', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-19', 'error', 'link-19');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"INTERFACES NOT CREATED"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"> </tt>
+<a name="DPCliDriver.pingall_interfaces"></a><div id="DPCliDriver.pingall_interfaces-def"><a name="L85"></a><tt class="py-lineno"> 85</tt> <a class="py-toggle" href="#" id="DPCliDriver.pingall_interfaces-toggle" onclick="return toggle('DPCliDriver.pingall_interfaces');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#pingall_interfaces">pingall_interfaces</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">netsrc</tt><tt class="py-op">,</tt> <tt class="py-param">netstrt</tt><tt class="py-op">,</tt> <tt class="py-param">netdst</tt><tt class="py-op">,</tt> <tt class="py-param">destlogin</tt><tt class="py-op">,</tt> <tt class="py-param">destip</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DPCliDriver.pingall_interfaces-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DPCliDriver.pingall_interfaces-expanded"><a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring">        Copies the /tmp/ip_table{ net }.txt file from the machine you wish to</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"><tt class="py-docstring">        ping, then runs fping with a source address of</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-docstring">        { netsrc }.{ netstrt }.1.1 on the copied file.</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring">        Check every single response for reachable or unreachable. If all are</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">        reachable, function returns true. If a SINGLE host is unreachable,</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">        then the function stops and returns false. If fping is not installed,</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring">        this function will install fping then run the same command</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-20', 'sendline', 'link-9');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-21', 'sendline', 'link-9');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"scp "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">destlogin</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">                              <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">destip</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">                              <tt class="py-string">":/tmp/local_ip.txt /tmp/ip_table"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                              <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">netsrc</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">".txt"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">                                <tt class="py-string">"100%"</tt><tt class="py-op">,</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">                                <tt class="py-string">"password"</tt><tt class="py-op">,</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">                                <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">                                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">30</tt> <tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-22', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Copied ping file successfully"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-23', 'sendline', 'link-9');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"100%"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-24', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Copied ping file successfully"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-25', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-26', 'error', 'link-19');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"COULD NOT COPY PING FILE FROM "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">destip</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-27', 'sendline', 'link-9');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-28', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Pinging interfaces on the "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">netdst</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">                       <tt class="py-string">" network from "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">netsrc</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">                       <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">netstrt</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">".1.1"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-29', 'sendline', 'link-9');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"sudo fping -S "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">netsrc</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">                              <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">netstrt</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">".1.1 -f /tmp/ip_table"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">                              <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">netdst</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">".txt"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">                                    <tt class="py-string">"reachable"</tt><tt class="py-op">,</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">                                    <tt class="py-string">"unreachable"</tt><tt class="py-op">,</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">                                    <tt class="py-string">"\$"</tt><tt class="py-op">,</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">                                    <tt class="py-string">"password"</tt><tt class="py-op">,</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">                                    <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">,</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">                                    <tt class="py-string">"not installed"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">                                    <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">45</tt> <tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-30', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-31', 'error', 'link-19');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"An interface was unreachable"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-32', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"All interfaces reachable"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-33', 'sendline', 'link-9');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-34', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-35', 'error', 'link-19');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Unable to fping"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">5</tt><tt class="py-op">:</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-36', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"fping not installed, installing fping"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-37', 'sendline', 'link-9');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"sudo apt-get install fping"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"password"</tt><tt class="py-op">,</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">                                          <tt class="py-string">"\$"</tt><tt class="py-op">,</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">                                          <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">                                        <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-38', 'sendline', 'link-9');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">30</tt> <tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-39', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"fping installed, now pinging interfaces"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-40', 'sendline', 'link-9');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">                        <tt class="py-string">"sudo fping -S "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">                            <tt class="py-name">netsrc</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">                                <tt class="py-name">netstrt</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">".1.1 -f /tmp/ip_table"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">                                    <tt class="py-name">netdst</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">".txt"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-41', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"fping installed, now pinging interfaces"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-42', 'sendline', 'link-9');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">                        <tt class="py-string">"sudo fping -S "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">                            <tt class="py-name">netsrc</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">                                <tt class="py-name">netstrt</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">".1.1 -f /tmp/ip_table"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">                                    <tt class="py-name">netdst</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">".txt"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-43', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-44', 'error', 'link-19');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Could not install fping"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">                    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
+</div><a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"> </tt>
+<a name="DPCliDriver.disconnect"></a><div id="DPCliDriver.disconnect-def"><a name="L182"></a><tt class="py-lineno">182</tt> <a class="py-toggle" href="#" id="DPCliDriver.disconnect-toggle" onclick="return toggle('DPCliDriver.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#disconnect">disconnect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DPCliDriver.disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DPCliDriver.disconnect-expanded"><a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-45', 'sendline', 'link-9');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"exit"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"closed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">ExceptionPexpect</tt><tt class="py-op">:</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-46', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Connection failed to the host"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+</div></div><a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html
new file mode 100644
index 0000000..561d4de
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html
@@ -0,0 +1,539 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.dpclidriver.DPCliDriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.dpclidriver-module.html">Module&nbsp;dpclidriver</a> ::
+        Class&nbsp;DPCliDriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class DPCliDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.dpclidriver-pysrc.html#DPCliDriver">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_dpclidrive" name="class_hierarchy_for_dpclidrive">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html" title="DPCliDriver" alt="" coords="5,6,96,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="121,6,212,31"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="component.Component" alt="" coords="237,6,395,31"/>
+</map>
+  <img src="class_hierarchy_for_dpclidrive.gif" alt='' usemap="#class_hierarchy_for_dpclidrive" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.dpclidriver-pysrc.html#DPCliDriver.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**connectargs</span>)</span><br />
+      Connection will establish to the remote host using ssh.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.dpclidriver-pysrc.html#DPCliDriver.connect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#create_interfaces" class="summary-sig-name">create_interfaces</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">net</span>,
+        <span class="summary-sig-arg">number</span>,
+        <span class="summary-sig-arg">start</span>)</span><br />
+      Creates a number,specified by 'number,' of subinterfaces on eth0.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.dpclidriver-pysrc.html#DPCliDriver.create_interfaces">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#pingall_interfaces" class="summary-sig-name">pingall_interfaces</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">netsrc</span>,
+        <span class="summary-sig-arg">netstrt</span>,
+        <span class="summary-sig-arg">netdst</span>,
+        <span class="summary-sig-arg">destlogin</span>,
+        <span class="summary-sig-arg">destip</span>)</span><br />
+      Copies the /tmp/ip_table{ net }.txt file from the machine you wish to
+      ping, then runs fping with a source address of { netsrc }.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.dpclidriver-pysrc.html#DPCliDriver.pingall_interfaces">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.dpclidriver-pysrc.html#DPCliDriver.disconnect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**execparams</span>)</span><br />
+      It facilitates the command line execution of a given command.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">default</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">user_name</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">filepath</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">dst_path</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.dpclidriver-pysrc.html#DPCliDriver.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="connect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">**connectargs</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.dpclidriver-pysrc.html#DPCliDriver.connect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Connection will establish to the remote host using ssh. It will take 
+  user_name ,ip_address and password as arguments&lt;br&gt; and will return
+  the handle.</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.connect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="create_interfaces"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_interfaces</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">net</span>,
+        <span class="sig-arg">number</span>,
+        <span class="sig-arg">start</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.dpclidriver-pysrc.html#DPCliDriver.create_interfaces">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Creates a number,specified by 'number,' of subinterfaces on eth0. Ip 
+  addresses start at 'net'.'start'.1.1 with a 24 bit netmask. Addresses 
+  increment sequentially in the third quad, therefore all interfaces are in
+  different subnets on the same machine. When the third quad reaches 255, 
+  it is reset to 1 and the second quad is incremented. Every single ip 
+  address is placed in a file in /tmp titled 'ip_table{net}.txt'. The file 
+  is used by 'pingall_interfaces()' as a fping argument</p>
+  <p>This method returns true if all interfaces are created without a 
+  hitch, and false if a single interface has issues</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="pingall_interfaces"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">pingall_interfaces</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">netsrc</span>,
+        <span class="sig-arg">netstrt</span>,
+        <span class="sig-arg">netdst</span>,
+        <span class="sig-arg">destlogin</span>,
+        <span class="sig-arg">destip</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.dpclidriver-pysrc.html#DPCliDriver.pingall_interfaces">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Copies the /tmp/ip_table{ net }.txt file from the machine you wish to 
+  ping, then runs fping with a source address of { netsrc }.{ netstrt }.1.1
+  on the copied file. Check every single response for reachable or 
+  unreachable. If all are reachable, function returns true. If a SINGLE 
+  host is unreachable, then the function stops and returns false. If fping 
+  is not installed, this function will install fping then run the same 
+  command</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="disconnect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">disconnect</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.dpclidriver-pysrc.html#DPCliDriver.disconnect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.disconnect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator-module.html
index 26ce2ed..ecd0e7c 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -78,12 +83,41 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-module.html">TestON.drivers.common.cli.emulator.flowvisordriver</a></strong>: <em class="summary">Created on 26-Mar-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-module.html">TestON.drivers.common.cli.emulator.lincoedriver</a></strong>: <em class="summary">This driver handles the optical switch emulator linc-oe.</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-module.html">TestON.drivers.common.cli.emulator.mininetclidriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.poxclidriver-module.html">TestON.drivers.common.cli.emulator.poxclidriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-module.html">TestON.drivers.common.cli.emulator.remotemininetdriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -104,13 +138,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator-pysrc.html
index d6e12b8..66e0599 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -87,13 +92,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.flowvisordriver-module.html
similarity index 66%
copy from TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
copy to TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.flowvisordriver-module.html
index 053b957..fb40ec2 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.flowvisordriver-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.drivers.common.cli.remotesys.hpswitchdriver</title>
+  <title>TestON.drivers.common.cli.emulator.flowvisordriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -41,8 +46,8 @@
         <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
         <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
         <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
-        <a href="TestON.drivers.common.cli.remotesys-module.html">Package&nbsp;remotesys</a> ::
-        Module&nbsp;hpswitchdriver
+        <a href="TestON.drivers.common.cli.emulator-module.html">Package&nbsp;emulator</a> ::
+        Module&nbsp;flowvisordriver
       </span>
     </td>
     <td>
@@ -52,23 +57,40 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.emulator.flowvisordriver-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module hpswitchdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 12-Feb-2013</p>
+<h1 class="epydoc">Module flowvisordriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-        <p>HPSwitchDriver is the basic driver which will handle the Mininet
-        functions</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 26-Mar-2013
+
+author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )
+
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    ( at your option ) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+
+FlowVisorDriver is the basic driver which will handle the Mininet functions
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -89,8 +111,8 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html" class="summary-name">HPSwitchDriver</a><br />
-      HPSwitchDriver is the basic driver which will handle the Mininet 
+        <a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html" class="summary-name">FlowVisorDriver</a><br />
+      FlowVisorDriver is the basic driver which will handle the Mininet 
       functions
     </td>
   </tr>
@@ -115,13 +137,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.flowvisordriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.flowvisordriver-pysrc.html
new file mode 100644
index 0000000..3cd07b8
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.flowvisordriver-pysrc.html
@@ -0,0 +1,438 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.emulator.flowvisordriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.emulator-module.html">Package&nbsp;emulator</a> ::
+        Module&nbsp;flowvisordriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.emulator.flowvisordriver-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.emulator.flowvisordriver-module.html">Module TestON.drivers.common.cli.emulator.flowvisordriver</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 26-Mar-2013</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">    ( at your option ) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">FlowVisorDriver is the basic driver which will handle the Mininet functions</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-2', 'cli', 'link-2');">cli</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module TestON.drivers.common.cli.emulatordriver=TestON.drivers.common.cli.emulatordriver-module.html"><a title="TestON.drivers.common.cli.emulatordriver" class="py-name" href="#" onclick="return doclink('link-3', 'emulatordriver', 'link-3');">emulatordriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class TestON.drivers.common.cli.emulatordriver.Emulator=TestON.drivers.common.cli.emulatordriver.Emulator-class.html"><a title="TestON.drivers.common.cli.emulatordriver.Emulator" class="py-name" href="#" onclick="return doclink('link-4', 'Emulator', 'link-4');">Emulator</a></tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
+<a name="FlowVisorDriver"></a><div id="FlowVisorDriver-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="FlowVisorDriver-toggle" onclick="return toggle('FlowVisorDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html">FlowVisorDriver</a><tt class="py-op">(</tt> <tt class="py-base-class">Emulator</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlowVisorDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="FlowVisorDriver-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring">        FlowVisorDriver is the basic driver which will handle the Mininet functions</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="FlowVisorDriver.__init__"></a><div id="FlowVisorDriver.__init__-def"><a name="L34"></a><tt class="py-lineno"> 34</tt> <a class="py-toggle" href="#" id="FlowVisorDriver.__init__-toggle" onclick="return toggle('FlowVisorDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlowVisorDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FlowVisorDriver.__init__-expanded"><a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.emulatordriver.Emulator" class="py-name" href="#" onclick="return doclink('link-5', 'Emulator', 'link-4');">Emulator</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-6', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wrapped</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt> <tt class="py-name">__name__</tt> <tt class="py-op">]</tt> </tt>
+</div><a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
+<a name="FlowVisorDriver.connect"></a><div id="FlowVisorDriver.connect-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="FlowVisorDriver.connect-toggle" onclick="return toggle('FlowVisorDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlowVisorDriver.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FlowVisorDriver.connect-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-comment">#,user_name, ip_address, pwd,options ):</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-comment"># Here the main is the TestON instance after creating all the log</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-comment"># handles.</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt id="link-7" class="py-name" targets="Class TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html"><a title="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver" class="py-name" href="#" onclick="return doclink('link-7', 'FlowVisorDriver', 'link-7');">FlowVisorDriver</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-8', 'connect', 'link-8');">connect</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">            <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">            <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">            <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ssh_handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-comment"># Copying the readme file to process the</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-9', 'execute', 'link-9');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">'\r'</tt><tt class="py-op">,</tt> <tt id="link-10" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-10', 'prompt', 'link-10');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">'\$'</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'path'</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'/home/openflow/flowvisor/scripts/'</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">            <tt class="py-comment">#self.handle.logfile = sys.stdout</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-11', 'execute', 'link-9');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">'cd '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'path'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">                <tt id="link-12" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-12', 'prompt', 'link-10');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">'\$'</tt><tt class="py-op">,</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Starting FlowVisor "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-14', 'execute', 'link-9');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">'./flowvisor.sh &amp;'</tt><tt class="py-op">,</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">                <tt id="link-15" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-15', 'prompt', 'link-10');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">'---\sSetting\slogging\slevel\sto\sNOTE'</tt><tt class="py-op">,</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">'\d+'</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-name">process_id_search</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"\[\d+\]\s+(\d+)"</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fvprocess_id</tt> <tt class="py-op">=</tt> <tt class="py-string">"None"</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">process_id_search</tt><tt class="py-op">:</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fvprocess_id</tt> <tt class="py-op">=</tt> <tt class="py-name">process_id_search</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">                <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">pattern</tt><tt class="py-op">,</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">                <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">                <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"FlowVisor Started Successfully : Proceess Id :"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fvprocess_id</tt><tt class="py-op">,</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">                <tt id="link-16" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-16', 'onfail', 'link-16');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to start FlowVisor"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-17', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-comment">#import time</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-comment"># time.sleep( 10 )</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            <tt class="py-comment">#response = self.execute( cmd='./start_visualizer.sh &amp; \r',prompt='\$',timeout=10 )</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-18', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-19', 'error', 'link-19');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                <tt class="py-string">"Connection failed to the host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">                <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-20', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-21', 'error', 'link-19');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to connect to the FlowVisor"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"> </tt>
+<a name="FlowVisorDriver.removeFlowSpace"></a><div id="FlowVisorDriver.removeFlowSpace-def"><a name="L102"></a><tt class="py-lineno">102</tt> <a class="py-toggle" href="#" id="FlowVisorDriver.removeFlowSpace-toggle" onclick="return toggle('FlowVisorDriver.removeFlowSpace');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#removeFlowSpace">removeFlowSpace</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">id</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlowVisorDriver.removeFlowSpace-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FlowVisorDriver.removeFlowSpace-expanded"><a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">id</tt> <tt class="py-op">==</tt> <tt class="py-string">"all"</tt><tt class="py-op">:</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-name">flow_space</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.listFlowSpace()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#listFlowSpace"><a title="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.listFlowSpace" class="py-name" href="#" onclick="return doclink('link-22', 'listFlowSpace', 'link-22');">listFlowSpace</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">            <tt class="py-name">flow_ids</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">findall</tt><tt class="py-op">(</tt> <tt class="py-string">"\,id=\[(\d+)\]"</tt><tt class="py-op">,</tt> <tt class="py-name">flow_space</tt> <tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">flow_ids</tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.removeFlowSpace()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#removeFlowSpace"><a title="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.removeFlowSpace" class="py-name" href="#" onclick="return doclink('link-23', 'removeFlowSpace', 'link-23');">removeFlowSpace</a></tt><tt class="py-op">(</tt> <tt class="py-name">id</tt> <tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-24', 'execute', 'link-9');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"clear"</tt><tt class="py-op">,</tt> <tt id="link-25" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-25', 'prompt', 'link-10');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-26', 'execute', 'link-9');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"./fvctl.sh removeFlowSpace "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">                <tt class="py-name">id</tt><tt class="py-op">,</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">                <tt id="link-27" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-27', 'prompt', 'link-10');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"passwd:"</tt><tt class="py-op">,</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-28', 'execute', 'link-9');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt id="link-29" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-29', 'prompt', 'link-10');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-30', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Removed flowSpace which is having id :"</tt> <tt class="py-op">+</tt> <tt class="py-name">id</tt> <tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"> </tt>
+<a name="FlowVisorDriver.addFlowSpace"></a><div id="FlowVisorDriver.addFlowSpace-def"><a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="FlowVisorDriver.addFlowSpace-toggle" onclick="return toggle('FlowVisorDriver.addFlowSpace');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#addFlowSpace">addFlowSpace</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">flowspace_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlowVisorDriver.addFlowSpace-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FlowVisorDriver.addFlowSpace-expanded"><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-name">temp_string</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">flowspace_args</tt><tt class="py-op">:</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">temp_string</tt><tt class="py-op">:</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">                <tt class="py-name">temp_string</tt> <tt class="py-op">=</tt> <tt class="py-name">temp_string</tt> <tt class="py-op">+</tt> <tt class="py-string">','</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">                    <tt class="py-name">key</tt> <tt class="py-op">+</tt> <tt class="py-string">'='</tt> <tt class="py-op">+</tt> <tt class="py-name">flowspace_args</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">                <tt class="py-name">temp_string</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">                <tt class="py-name">temp_string</tt> <tt class="py-op">=</tt> <tt class="py-name">temp_string</tt> <tt class="py-op">+</tt> <tt class="py-name">key</tt> <tt class="py-op">+</tt> <tt class="py-string">'='</tt> <tt class="py-op">+</tt> <tt class="py-name">flowspace_args</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-name">src_search</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">'dl_src'</tt><tt class="py-op">,</tt> <tt class="py-name">temp_string</tt> <tt class="py-op">)</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">src_search</tt><tt class="py-op">:</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-name">flowspace</tt> <tt class="py-op">=</tt> <tt class="py-string">"any 100 dl_type=0x806,nw_proto=6,"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">                <tt class="py-name">temp_string</tt> <tt class="py-op">+</tt> <tt class="py-string">" Slice:SSH=4"</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">            <tt class="py-name">flowspace</tt> <tt class="py-op">=</tt> <tt class="py-string">"any 100 dl_type=0x800,nw_proto=6,"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">                <tt class="py-name">temp_string</tt> <tt class="py-op">+</tt> <tt class="py-string">" Slice:SSH=4"</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-string">"""</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-string">        try :</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-string">            if self.dl_src and self.nw_dst:</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-string">                flowspace = "any 100 dl_type=0x806,dl_src="+self.dl_src+",nw_dst="+self.nw_dst+" Slice:"+self.Slice+"=4"</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"><tt class="py-string">        except Exception:</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"><tt class="py-string">            try :</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-string">                if self.nw_src and self.tp_dst:</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-string">                    flowspace = "any 100 dl_type=0x800,nw_proto=6,nw_src="+self.nw_src+",tp_dst="+self.tp_dst+" Slice:"+self.Slice+"=4"</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-string">            except Exception:</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-string">                try :</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-string">                    if self.nw_src and self.tp_src:</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-string">                        flowspace = "any 100 dl_type=0x800,nw_proto=6,nw_src="+self.nw_src+",tp_src="+self.tp_dst+" Slice:"+self.Slice+"=4"</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-string">                except Exception:</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-string">                    main.log.error( "Please specify flowspace properly" )</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-string">        """</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-comment"># self.execute( cmd="clear",prompt="\$",timeout=10 )</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-31', 'execute', 'link-9');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"./fvctl.sh addFlowSpace "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">            <tt class="py-name">flowspace</tt><tt class="py-op">,</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt id="link-32" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-32', 'prompt', 'link-10');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"passwd:"</tt><tt class="py-op">,</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-33', 'execute', 'link-9');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt id="link-34" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-34', 'prompt', 'link-10');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-name">sucess_match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"success\:\s+(\d+)"</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">sucess_match</tt><tt class="py-op">:</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-35', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">                <tt class="py-string">"Added flow Space and id is "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">                <tt class="py-name">sucess_match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"> </tt>
+<a name="FlowVisorDriver.listFlowSpace"></a><div id="FlowVisorDriver.listFlowSpace-def"><a name="L169"></a><tt class="py-lineno">169</tt> <a class="py-toggle" href="#" id="FlowVisorDriver.listFlowSpace-toggle" onclick="return toggle('FlowVisorDriver.listFlowSpace');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#listFlowSpace">listFlowSpace</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlowVisorDriver.listFlowSpace-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FlowVisorDriver.listFlowSpace-expanded"><a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-36', 'execute', 'link-9');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"clear"</tt><tt class="py-op">,</tt> <tt id="link-37" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-37', 'prompt', 'link-10');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-38', 'execute', 'link-9');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"./fvctl.sh listFlowSpace "</tt><tt class="py-op">,</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">            <tt id="link-39" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-39', 'prompt', 'link-10');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"passwd:"</tt><tt class="py-op">,</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-40', 'execute', 'link-9');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt id="link-41" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-41', 'prompt', 'link-10');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-name">flow_space</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_response</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-name">flow_space</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Method TestON.drivers.common.clidriver.CLI.remove_contol_chars()=TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars"><a title="TestON.drivers.common.clidriver.CLI.remove_contol_chars" class="py-name" href="#" onclick="return doclink('link-42', 'remove_contol_chars', 'link-42');">remove_contol_chars</a></tt><tt class="py-op">(</tt> <tt class="py-name">flow_space</tt> <tt class="py-op">)</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-name">flow_space</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">            <tt class="py-string">"rule\s(\d+)\:"</tt><tt class="py-op">,</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-string">"\nrule "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt class="py-string">r'\1'</tt> <tt class="py-op">+</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-string">":"</tt><tt class="py-op">,</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">            <tt class="py-name">flow_space</tt> <tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-43', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">flow_space</tt> <tt class="py-op">)</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">flow_space</tt> </tt>
+</div><a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"> </tt>
+<a name="FlowVisorDriver.listDevices"></a><div id="FlowVisorDriver.listDevices-def"><a name="L188"></a><tt class="py-lineno">188</tt> <a class="py-toggle" href="#" id="FlowVisorDriver.listDevices-toggle" onclick="return toggle('FlowVisorDriver.listDevices');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#listDevices">listDevices</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlowVisorDriver.listDevices-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FlowVisorDriver.listDevices-expanded"><a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-comment"># self.execute( cmd="clear",prompt="\$",timeout=10 )</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-comment">#self.execute( cmd="./fvctl.sh listDevices ",prompt="passwd:",timeout=10 )</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-comment"># self.execute( cmd="\n",prompt="\$",timeout=10 )</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-name">devices_list</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-name">last_response</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">findall</tt><tt class="py-op">(</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">            <tt class="py-string">"(Device\s\d+\:\s((\d|[a-z])(\d|[a-z])\:)+(\d|[a-z])(\d|[a-z]))"</tt><tt class="py-op">,</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">resp</tt> <tt class="py-keyword">in</tt> <tt class="py-name">last_response</tt><tt class="py-op">:</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">            <tt class="py-name">devices_match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">                <tt class="py-string">"(Device\s\d+\:\s((\d|[a-z])(\d|[a-z])\:)+(\d|[a-z])(\d|[a-z]))"</tt><tt class="py-op">,</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">resp</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">devices_match</tt><tt class="py-op">:</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">                <tt class="py-name">devices_list</tt> <tt class="py-op">=</tt> <tt class="py-name">devices_list</tt> <tt class="py-op">+</tt> <tt class="py-name">devices_match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-name">devices_list</tt> <tt class="py-op">=</tt> <tt class="py-string">"Device 0: 00:00:00:00:00:00:00:02 \n Device 1: 00:00:00:00:00:00:00:03"</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-44', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"List of Devices \n"</tt> <tt class="py-op">+</tt> <tt class="py-name">devices_list</tt> <tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line"> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"> </tt>
+<a name="FlowVisorDriver.disconnect"></a><div id="FlowVisorDriver.disconnect-def"><a name="L208"></a><tt class="py-lineno">208</tt> <a class="py-toggle" href="#" id="FlowVisorDriver.disconnect-toggle" onclick="return toggle('FlowVisorDriver.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#disconnect">disconnect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FlowVisorDriver.disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="FlowVisorDriver.disconnect-expanded"><a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-45', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Stopping the FlowVisor"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-46', 'sendline', 'link-46');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"kill -9 "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fvprocess_id</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-47', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-48', 'error', 'link-19');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Connection failed to the host"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+</div></div><a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.webdriver.WebDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html
similarity index 63%
rename from TestON/Documentation/TestON_Document/TestON.drivers.common.webdriver.WebDriver-class.html
rename to TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html
index 3de9f3c..a862ad1 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.webdriver.WebDriver-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.drivers.common.webdriver.WebDriver</title>
+  <title>TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -40,8 +45,10 @@
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
         <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
-        <a href="TestON.drivers.common.webdriver-module.html">Module&nbsp;webdriver</a> ::
-        Class&nbsp;WebDriver
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.emulator-module.html">Package&nbsp;emulator</a> ::
+        <a href="TestON.drivers.common.cli.emulator.flowvisordriver-module.html">Module&nbsp;flowvisordriver</a> ::
+        Class&nbsp;FlowVisorDriver
       </span>
     </td>
     <td>
@@ -51,24 +58,27 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.webdriver.WebDriver-class.html"
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class WebDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html#WebDriver">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-         object --+    
-                  |    
-<a href="TestON.drivers.component.Component-class.html">component.Component</a> --+
-                      |
-                     <strong class="uidshort">WebDriver</strong>
-</pre>
-
+<h1 class="epydoc">Class FlowVisorDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-pysrc.html#FlowVisorDriver">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_flowvisord" name="class_hierarchy_for_flowvisord">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html" title="FlowVisorDriver" alt="" coords="5,6,120,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html" title="emulatordriver.Emulator" alt="" coords="144,6,303,31"/>
+<area shape="rect" id="node3" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="329,6,420,31"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="component.Component" alt="" coords="445,6,603,31"/>
+</map>
+  <img src="class_hierarchy_for_flowvisord.gif" alt='' usemap="#class_hierarchy_for_flowvisord" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
 <hr />
-<p>This will define common functions for CLI included.</p>
+<p>FlowVisorDriver is the basic driver which will handle the Mininet 
+  functions</p>
 
 <!-- ==================== INSTANCE METHODS ==================== -->
 <a name="section-InstanceMethods"></a>
@@ -93,10 +103,10 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a href="TestON.drivers.common.webdriver.WebDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html#WebDriver.__init__">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-pysrc.html#FlowVisorDriver.__init__">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -110,47 +120,11 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a href="TestON.drivers.common.webdriver.WebDriver-class.html#__getattr__" class="summary-sig-name">__getattr__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">name</span>)</span><br />
-      This will invoke, if the attribute wasn't found the usual ways.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html#WebDriver.__getattr__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="selenium_method"></a><span class="summary-sig-name">selenium_method</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">name</span>,
-        <span class="summary-sig-arg">*args</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html#WebDriver.selenium_method">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="TestON.drivers.common.webdriver.WebDriver-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">**connectargs</span>)</span><br />
-      Connection will establish to the remote host using</td>
+      Connection will establish to the remote host using ssh.</td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html#WebDriver.connect">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-pysrc.html#FlowVisorDriver.connect">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -164,9 +138,10 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="search_bus"></a><span class="summary-sig-name">search_bus</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td><span class="summary-sig"><a name="removeFlowSpace"></a><span class="summary-sig-name">removeFlowSpace</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">id</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html#WebDriver.search_bus">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-pysrc.html#FlowVisorDriver.removeFlowSpace">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -180,9 +155,10 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="select_bus"></a><span class="summary-sig-name">select_bus</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td><span class="summary-sig"><a name="addFlowSpace"></a><span class="summary-sig-name">addFlowSpace</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**flowspace_args</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html#WebDriver.select_bus">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-pysrc.html#FlowVisorDriver.addFlowSpace">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -196,9 +172,9 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="select_seat"></a><span class="summary-sig-name">select_seat</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td><span class="summary-sig"><a name="listFlowSpace"></a><span class="summary-sig-name">listFlowSpace</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html#WebDriver.select_seat">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-pysrc.html#FlowVisorDriver.listFlowSpace">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -212,10 +188,9 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="fill_details"></a><span class="summary-sig-name">fill_details</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">**details</span>)</span></td>
+          <td><span class="summary-sig"><a name="listDevices"></a><span class="summary-sig-name">listDevices</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html#WebDriver.fill_details">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-pysrc.html#FlowVisorDriver.listDevices">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -229,9 +204,9 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="deselect_seat"></a><span class="summary-sig-name">deselect_seat</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html#WebDriver.deselect_seat">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-pysrc.html#FlowVisorDriver.disconnect">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -245,10 +220,12 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="wait_for_element"></a><span class="summary-sig-name">wait_for_element</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">element</span>)</span></td>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**execparams</span>)</span><br />
+      It facilitates the command line execution of a given command.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html#WebDriver.wait_for_element">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -262,10 +239,10 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="wait"></a><span class="summary-sig-name">wait</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">secs</span>)</span></td>
+          <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html#WebDriver.wait">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -279,9 +256,54 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a href="TestON.drivers.common.webdriver.WebDriver-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html#WebDriver.disconnect">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">default</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">user_name</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">filepath</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">dst_path</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -291,14 +313,14 @@
   </tr>
   <tr>
     <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="TestON.drivers.component.Component-class.html">component.Component</a></code></b>:
-      <code><a href="TestON.drivers.component.Component-class.html#cleanup">cleanup</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#close_log_handles">close_log_handles</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#config">config</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#execute">execute</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#experimentRun">experimentRun</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#get_version">get_version</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#log">log</a></code>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
       </p>
     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
       <code>__delattr__</code>,
@@ -371,12 +393,11 @@
     <br /><em class="fname">(Constructor)</em>
   </h3>
   </td><td align="right" valign="top"
-    ><span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html#WebDriver.__init__">source&nbsp;code</a></span>&nbsp;
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-pysrc.html#FlowVisorDriver.__init__">source&nbsp;code</a></span>&nbsp;
     </td>
   </tr></table>
   
-  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
-  signature</p>
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
   <dl class="fields">
     <dt>Overrides:
         object.__init__
@@ -385,36 +406,6 @@
   </dl>
 </td></tr></table>
 </div>
-<a name="__getattr__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__getattr__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">name</span>)</span>
-    <br /><em class="fname">(Qualification operator)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html#WebDriver.__getattr__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-
-This will invoke, if the attribute wasn't found the usual ways.
- Here it will look for assert_attribute and will execute when AttributeError occurs.
- It will return the result of the assert_attribute.
-
-</pre>
-  <dl class="fields">
-    <dt>Overrides:
-        <a href="TestON.drivers.component.Component-class.html#__getattr__">component.Component.__getattr__</a>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
 <a name="connect"></a>
 <div>
 <table class="details" border="1" cellpadding="3"
@@ -426,14 +417,16 @@
         <span class="sig-arg">**connectargs</span>)</span>
   </h3>
   </td><td align="right" valign="top"
-    ><span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html#WebDriver.connect">source&nbsp;code</a></span>&nbsp;
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-pysrc.html#FlowVisorDriver.connect">source&nbsp;code</a></span>&nbsp;
     </td>
   </tr></table>
   
-  <p>Connection will establish to the remote host using</p>
+  <p>Connection will establish to the remote host using ssh. It will take 
+  user_name ,ip_address and password as arguments&lt;br&gt; and will return
+  the handle.</p>
   <dl class="fields">
     <dt>Overrides:
-        <a href="TestON.drivers.component.Component-class.html#connect">component.Component.connect</a>
+        component.Component.connect
     </dt>
   </dl>
 </td></tr></table>
@@ -448,14 +441,14 @@
   <h3 class="epydoc"><span class="sig"><span class="sig-name">disconnect</span>(<span class="sig-arg">self</span>)</span>
   </h3>
   </td><td align="right" valign="top"
-    ><span class="codelink"><a href="TestON.drivers.common.webdriver-pysrc.html#WebDriver.disconnect">source&nbsp;code</a></span>&nbsp;
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-pysrc.html#FlowVisorDriver.disconnect">source&nbsp;code</a></span>&nbsp;
     </td>
   </tr></table>
   
   
   <dl class="fields">
     <dt>Overrides:
-        <a href="TestON.drivers.component.Component-class.html#disconnect">component.Component.disconnect</a>
+        component.Component.disconnect
     </dt>
   </dl>
 </td></tr></table>
@@ -481,13 +474,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.lincoedriver-module.html
similarity index 72%
copy from TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
copy to TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.lincoedriver-module.html
index 053b957..6ff553d 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.lincoedriver-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.drivers.common.cli.remotesys.hpswitchdriver</title>
+  <title>TestON.drivers.common.cli.emulator.lincoedriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -41,8 +46,8 @@
         <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
         <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
         <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
-        <a href="TestON.drivers.common.cli.remotesys-module.html">Package&nbsp;remotesys</a> ::
-        Module&nbsp;hpswitchdriver
+        <a href="TestON.drivers.common.cli.emulator-module.html">Package&nbsp;emulator</a> ::
+        Module&nbsp;lincoedriver
       </span>
     </td>
     <td>
@@ -52,23 +57,32 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module hpswitchdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 12-Feb-2013</p>
+<h1 class="epydoc">Module lincoedriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-        <p>HPSwitchDriver is the basic driver which will handle the Mininet
-        functions</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+This driver handles the optical switch emulator linc-oe.
+
+Please follow the coding style demonstrated by existing
+functions and document properly.
+
+If you are a contributor to the driver, please
+list your email here for future contact:
+
+    andrew@onlab.us
+    shreya@onlab.us
+
+OCT 20 2014
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -89,9 +103,8 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html" class="summary-name">HPSwitchDriver</a><br />
-      HPSwitchDriver is the basic driver which will handle the Mininet 
-      functions
+        <a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html" class="summary-name">LincOEDriver</a><br />
+      LincOEDriver class will handle all emulator functions
     </td>
   </tr>
 </table>
@@ -115,13 +128,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html
new file mode 100644
index 0000000..27ded8f
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html
@@ -0,0 +1,551 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.emulator.lincoedriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.emulator-module.html">Package&nbsp;emulator</a> ::
+        Module&nbsp;lincoedriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.emulator.lincoedriver-module.html">Module TestON.drivers.common.cli.emulator.lincoedriver</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">This driver handles the optical switch emulator linc-oe.</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">Please follow the coding style demonstrated by existing</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">functions and document properly.</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">If you are a contributor to the driver, please</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">list your email here for future contact:</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">    andrew@onlab.us</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">    shreya@onlab.us</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">OCT 20 2014</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-2', 'cli', 'link-2');">cli</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module TestON.drivers.common.cli.emulatordriver=TestON.drivers.common.cli.emulatordriver-module.html"><a title="TestON.drivers.common.cli.emulatordriver" class="py-name" href="#" onclick="return doclink('link-3', 'emulatordriver', 'link-3');">emulatordriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class TestON.drivers.common.cli.emulatordriver.Emulator=TestON.drivers.common.cli.emulatordriver.Emulator-class.html"><a title="TestON.drivers.common.cli.emulatordriver.Emulator" class="py-name" href="#" onclick="return doclink('link-4', 'Emulator', 'link-4');">Emulator</a></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
+<a name="LincOEDriver"></a><div id="LincOEDriver-def"><a name="L23"></a><tt class="py-lineno"> 23</tt> <a class="py-toggle" href="#" id="LincOEDriver-toggle" onclick="return toggle('LincOEDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html">LincOEDriver</a><tt class="py-op">(</tt> <tt class="py-base-class">Emulator</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="LincOEDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="LincOEDriver-expanded"><a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring">    LincOEDriver class will handle all emulator functions</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="LincOEDriver.__init__"></a><div id="LincOEDriver.__init__-def"><a name="L28"></a><tt class="py-lineno"> 28</tt> <a class="py-toggle" href="#" id="LincOEDriver.__init__-toggle" onclick="return toggle('LincOEDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="LincOEDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="LincOEDriver.__init__-expanded"><a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.emulatordriver.Emulator" class="py-name" href="#" onclick="return doclink('link-5', 'Emulator', 'link-4');">Emulator</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-6', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wrapped</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt> <tt class="py-name">__name__</tt> <tt class="py-op">]</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+</div><a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"> </tt>
+<a name="LincOEDriver.connect"></a><div id="LincOEDriver.connect-def"><a name="L34"></a><tt class="py-lineno"> 34</tt> <a class="py-toggle" href="#" id="LincOEDriver.connect-toggle" onclick="return toggle('LincOEDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="LincOEDriver.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="LincOEDriver.connect-expanded"><a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring">        Create ssh handle for Linc-OE cli</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> \ </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-7" class="py-name" targets="Class TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html"><a title="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver" class="py-name" href="#" onclick="return doclink('link-7', 'LincOEDriver', 'link-7');">LincOEDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-8', 'connect', 'link-8');">connect</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">                <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">                <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">                <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">                <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sshHandle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Handle successfully created"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">=</tt> <tt class="py-string">"~/linc-oe"</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-10', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"cd "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">)</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"oe$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"handle = "</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-11', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-12', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                            <tt class="py-string">": Connection failed to the host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">                            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">+</tt> <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-14', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">                            <tt class="py-string">": Failed to connect to Linc-OE"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
+<a name="LincOEDriver.startConsole"></a><div id="LincOEDriver.startConsole-def"><a name="L70"></a><tt class="py-lineno"> 70</tt> <a class="py-toggle" href="#" id="LincOEDriver.startConsole-toggle" onclick="return toggle('LincOEDriver.startConsole');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#startConsole">startConsole</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="LincOEDriver.startConsole-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="LincOEDriver.startConsole-expanded"><a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-15', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-string">": Starting Linc-OE CLI.. This may take a while"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">30</tt> <tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-16', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"sudo ./rel/linc/bin/linc console"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-name">j</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"linc@"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-name">startResult</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">j</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-17', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Linc-OE CLI started"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-18', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-19', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">                <tt class="py-string">": Connection failed to the host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">                <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-20', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-21', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">                            <tt class="py-string">": Failed to connect to Linc-OE"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"> </tt>
+<a name="LincOEDriver.build"></a><div id="LincOEDriver.build-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="LincOEDriver.build-toggle" onclick="return toggle('LincOEDriver.build');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#build">build</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="LincOEDriver.build-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="LincOEDriver.build-expanded"><a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring">        Build Linc-OE with the specified settings</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-22', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"make rel"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">                <tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                <tt class="py-string">"\$"</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-23', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"sudo pkill -9 epmd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-24', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"make rel"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-25', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-26', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-27', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-28', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-29', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-30', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-31', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-32', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-33', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"> </tt>
+<a name="LincOEDriver.setInterfaceUp"></a><div id="LincOEDriver.setInterfaceUp-def"><a name="L124"></a><tt class="py-lineno">124</tt> <a class="py-toggle" href="#" id="LincOEDriver.setInterfaceUp-toggle" onclick="return toggle('LincOEDriver.setInterfaceUp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#setInterfaceUp">setInterfaceUp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">intfs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="LincOEDriver.setInterfaceUp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="LincOEDriver.setInterfaceUp-expanded"><a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring">        Specify interface to bring up.</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">        When Linc-OE is started, tap interfaces should</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">        be created. They must be brought up manually</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-34', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ifconfig "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-35" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.intfs()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#intfs"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.intfs" class="py-name" href="#" onclick="return doclink('link-35', 'intfs', 'link-35');">intfs</a></tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"linc@"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-36', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-37', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-38', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-39', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-40', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-41', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-42', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-43', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-44', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"> </tt>
+<a name="LincOEDriver.startSwitch"></a><div id="LincOEDriver.startSwitch-def"><a name="L148"></a><tt class="py-lineno">148</tt> <a class="py-toggle" href="#" id="LincOEDriver.startSwitch-toggle" onclick="return toggle('LincOEDriver.startSwitch');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#startSwitch">startSwitch</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">swId</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="LincOEDriver.startSwitch-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="LincOEDriver.startSwitch-expanded"><a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-docstring">        Start a logical switch using switch id</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-45', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"linc:start_switch("</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">swId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">")."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"linc@"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-46', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-47', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-48', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-49', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-50', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-51', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-52', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-53', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-54', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"> </tt>
+<a name="LincOEDriver.stopSwitch"></a><div id="LincOEDriver.stopSwitch-def"><a name="L168"></a><tt class="py-lineno">168</tt> <a class="py-toggle" href="#" id="LincOEDriver.stopSwitch-toggle" onclick="return toggle('LincOEDriver.stopSwitch');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#stopSwitch">stopSwitch</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">swId</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="LincOEDriver.stopSwitch-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="LincOEDriver.stopSwitch-expanded"><a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-docstring">        Stop a logical switch using switch id</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-55', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"linc:stop_switch("</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">swId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">")."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"linc@"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-56', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-57', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-58', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-59', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-60', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-61', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-62', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-63', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-64', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"> </tt>
+<a name="LincOEDriver.getDatapathId"></a><div id="LincOEDriver.getDatapathId-def"><a name="L188"></a><tt class="py-lineno">188</tt> <a class="py-toggle" href="#" id="LincOEDriver.getDatapathId-toggle" onclick="return toggle('LincOEDriver.getDatapathId');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#getDatapathId">getDatapathId</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">swId</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="LincOEDriver.getDatapathId-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="LincOEDriver.getDatapathId-expanded"><a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"><tt class="py-docstring">        Get datapath id of a specific switch by switch id</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-65', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"linc_logic:get_datapath_id("</tt> <tt class="py-op">+</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">                                  <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">swId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">")."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"linc@"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-66', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-67', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-68', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-69', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-70', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-71', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-72', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-73', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-74', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line"> </tt>
+<a name="LincOEDriver.attachLincOESession"></a><div id="LincOEDriver.attachLincOESession-def"><a name="L209"></a><tt class="py-lineno">209</tt> <a class="py-toggle" href="#" id="LincOEDriver.attachLincOESession-toggle" onclick="return toggle('LincOEDriver.attachLincOESession');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#attachLincOESession">attachLincOESession</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="LincOEDriver.attachLincOESession-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="LincOEDriver.attachLincOESession-expanded"><a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"><tt class="py-docstring">            Since executing opticalTest.py will give you mininet</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"><tt class="py-docstring">            prompt, you would at some point require to get onto</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"><tt class="py-docstring">            console of LincOE ((linc@onosTestBench)1&gt;) to execute</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"><tt class="py-docstring">            commands like bring a optical port up or down on a ROADM</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"><tt class="py-docstring">            You can attach to console of Linc-OE session by a cmd:</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"><tt class="py-docstring">            sudo ~/linc-oe/rel/linc/bin/linc attach</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-75', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-76', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"sudo ~/linc-oe/rel/linc/bin/linc attach"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-77', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-78', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-79', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-80', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"> </tt>
+<a name="LincOEDriver.listPorts"></a><div id="LincOEDriver.listPorts-def"><a name="L229"></a><tt class="py-lineno">229</tt> <a class="py-toggle" href="#" id="LincOEDriver.listPorts-toggle" onclick="return toggle('LincOEDriver.listPorts');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#listPorts">listPorts</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">swId</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="LincOEDriver.listPorts-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="LincOEDriver.listPorts-expanded"><a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">        List all ports of a switch by switch id</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-81', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"linc:ports("</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">swId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">")."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"linc@"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-82', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-83', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-84', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-85', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-86', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-87', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-88', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-89', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-90', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"> </tt>
+<a name="LincOEDriver.portUp"></a><div id="LincOEDriver.portUp-def"><a name="L249"></a><tt class="py-lineno">249</tt> <a class="py-toggle" href="#" id="LincOEDriver.portUp-toggle" onclick="return toggle('LincOEDriver.portUp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#portUp">portUp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">swId</tt><tt class="py-op">,</tt> <tt class="py-param">ptId</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="LincOEDriver.portUp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="LincOEDriver.portUp-expanded"><a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"><tt class="py-docstring">        Bring port up using switch id and port id</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-91', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"linc:port_up("</tt> <tt class="py-op">+</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">                                  <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">swId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">", "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ptId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">")."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"linc@"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-92', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-93', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-94', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-95', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-96', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-97', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-98', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-99', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-100', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"> </tt>
+<a name="LincOEDriver.portDown"></a><div id="LincOEDriver.portDown-def"><a name="L270"></a><tt class="py-lineno">270</tt> <a class="py-toggle" href="#" id="LincOEDriver.portDown-toggle" onclick="return toggle('LincOEDriver.portDown');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#portDown">portDown</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">swId</tt><tt class="py-op">,</tt> <tt class="py-param">ptId</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="LincOEDriver.portDown-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="LincOEDriver.portDown-expanded"><a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"><tt class="py-docstring">        Bring port down using switch id and port id</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-101', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"linc:port_down("</tt> <tt class="py-op">+</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">                                  <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">swId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">", "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ptId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">")."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"linc@"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line"> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line"> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-102', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-103', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-104', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-105', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-106', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-107', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-108', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-109', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-110', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line"> </tt>
+<a name="LincOEDriver.stopLincOEConsole"></a><div id="LincOEDriver.stopLincOEConsole-def"><a name="L291"></a><tt class="py-lineno">291</tt> <a class="py-toggle" href="#" id="LincOEDriver.stopLincOEConsole-toggle" onclick="return toggle('LincOEDriver.stopLincOEConsole');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#stopLincOEConsole">stopLincOEConsole</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="LincOEDriver.stopLincOEConsole-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="LincOEDriver.stopLincOEConsole-expanded"><a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line"><tt class="py-docstring">        This function is only used for packet optical testing</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"><tt class="py-docstring">        Send disconnect prompt to Linc-OE CLI</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"><tt class="py-docstring">        ( CTRL+C ) and kill the linc process</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"pgrep -f linc"</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-111', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pgrep -f linc"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"linc"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"stophandle = "</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-112', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-113', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-114', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-115', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"> </tt>
+<a name="LincOEDriver.disconnect"></a><div id="LincOEDriver.disconnect-def"><a name="L306"></a><tt class="py-lineno">306</tt> <a class="py-toggle" href="#" id="LincOEDriver.disconnect-toggle" onclick="return toggle('LincOEDriver.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#disconnect">disconnect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="LincOEDriver.disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="LincOEDriver.disconnect-expanded"><a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"><tt class="py-docstring">        Send disconnect prompt to Linc-OE CLI</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"><tt class="py-docstring">        ( CTRL+C ) and kill the linc process</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">            <tt class="py-comment"># Send CTRL+C twice to exit CLI</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#send"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-116', 'send', 'link-116');">send</a></tt><tt class="py-op">(</tt> <tt class="py-string">"\x03"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-117', 'send', 'link-116');">send</a></tt><tt class="py-op">(</tt> <tt class="py-string">"\x03"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">            <tt class="py-name">handle1</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"pgrep -f linc"</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-118', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">            <tt class="py-name">handle2</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-119', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"pid's = "</tt> <tt class="py-op">+</tt> <tt class="py-name">handle2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"sudo kill -9 `pgrep -f linc`"</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-120', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">            <tt class="py-comment"># Close the ssh connection</tt> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-121', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-122', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"exit"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"closed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-123', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-124', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-125', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-126', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-127', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-128', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-129', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-130', 'cleanup', 'link-29');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-131', 'exit', 'link-30');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line"> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">!=</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">    <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt> <tt class="py-name">__name__</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-132" class="py-name"><a title="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver" class="py-name" href="#" onclick="return doclink('link-132', 'LincOEDriver', 'link-7');">LincOEDriver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html
new file mode 100644
index 0000000..476b124
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html
@@ -0,0 +1,662 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.emulator-module.html">Package&nbsp;emulator</a> ::
+        <a href="TestON.drivers.common.cli.emulator.lincoedriver-module.html">Module&nbsp;lincoedriver</a> ::
+        Class&nbsp;LincOEDriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class LincOEDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_lincoedriv" name="class_hierarchy_for_lincoedriv">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html" title="LincOEDriver" alt="" coords="5,6,104,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html" title="emulatordriver.Emulator" alt="" coords="128,6,287,31"/>
+<area shape="rect" id="node3" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="313,6,404,31"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="component.Component" alt="" coords="429,6,587,31"/>
+</map>
+  <img src="class_hierarchy_for_lincoedriv.gif" alt='' usemap="#class_hierarchy_for_lincoedriv" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<p>LincOEDriver class will handle all emulator functions</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**connectargs</span>)</span><br />
+      Create ssh handle for Linc-OE cli</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.connect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="startConsole"></a><span class="summary-sig-name">startConsole</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.startConsole">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="build"></a><span class="summary-sig-name">build</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Build Linc-OE with the specified settings</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.build">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#setInterfaceUp" class="summary-sig-name">setInterfaceUp</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">intfs</span>)</span><br />
+      Specify interface to bring up.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.setInterfaceUp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="startSwitch"></a><span class="summary-sig-name">startSwitch</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">swId</span>)</span><br />
+      Start a logical switch using switch id</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.startSwitch">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="stopSwitch"></a><span class="summary-sig-name">stopSwitch</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">swId</span>)</span><br />
+      Stop a logical switch using switch id</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.stopSwitch">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getDatapathId"></a><span class="summary-sig-name">getDatapathId</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">swId</span>)</span><br />
+      Get datapath id of a specific switch by switch id</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.getDatapathId">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="attachLincOESession"></a><span class="summary-sig-name">attachLincOESession</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Since executing opticalTest.py will give you mininet prompt, you 
+      would at some point require to get onto console of LincOE 
+      ((linc@onosTestBench)1&gt;) to execute commands like bring a optical 
+      port up or down on a ROADM You can attach to console of Linc-OE 
+      session by a cmd: sudo ~/linc-oe/rel/linc/bin/linc attach</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.attachLincOESession">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="listPorts"></a><span class="summary-sig-name">listPorts</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">swId</span>)</span><br />
+      List all ports of a switch by switch id</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.listPorts">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="portUp"></a><span class="summary-sig-name">portUp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">swId</span>,
+        <span class="summary-sig-arg">ptId</span>)</span><br />
+      Bring port up using switch id and port id</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.portUp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="portDown"></a><span class="summary-sig-name">portDown</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">swId</span>,
+        <span class="summary-sig-arg">ptId</span>)</span><br />
+      Bring port down using switch id and port id</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.portDown">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="stopLincOEConsole"></a><span class="summary-sig-name">stopLincOEConsole</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      This function is only used for packet optical testing Send disconnect
+      prompt to Linc-OE CLI ( CTRL+C ) and kill the linc process</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.stopLincOEConsole">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Send disconnect prompt to Linc-OE CLI ( CTRL+C ) and kill the linc 
+      process</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.disconnect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**execparams</span>)</span><br />
+      It facilitates the command line execution of a given command.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">default</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">user_name</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">filepath</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">dst_path</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="connect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">**connectargs</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.connect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Create ssh handle for Linc-OE cli</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.connect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="setInterfaceUp"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">setInterfaceUp</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">intfs</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.setInterfaceUp">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Specify interface to bring up. When Linc-OE is started, tap interfaces
+  should be created. They must be brought up manually</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="disconnect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">disconnect</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-pysrc.html#LincOEDriver.disconnect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Send disconnect prompt to Linc-OE CLI ( CTRL+C ) and kill the linc 
+  process</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.disconnect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.mininetclidriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.mininetclidriver-module.html
index d24b88e..72ec301 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.mininetclidriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.mininetclidriver-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,15 +65,43 @@
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
 <h1 class="epydoc">Module mininetclidriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 26-Oct-2012</p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-        <p>MininetCliDriver is the basic driver which will handle the 
-        Mininet functions</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 26-Oct-2012
+
+author: Anil Kumar ( anilkumar.s@paxterrasolutions.com )
+
+
+TestON is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+( at your option ) any later version.
+
+TestON is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+MininetCliDriver is the basic driver which will handle the Mininet functions
+
+Some functions rely on a modified version of Mininet. These functions
+should all be noted in the comments. To get this MN version run these commands
+from within your Mininet folder:
+    git remote add jhall11 https://github.com/jhall11/mininet.git
+    git fetch jhall11
+    git checkout -b dynamic_topo remotes/jhall11/dynamic_topo
+    git pull
+
+
+    Note that you may need to run 'sudo make develop' if your mnexec.c file
+changed when switching branches.
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -115,13 +148,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html
index 21d0157..10a9729 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,306 +65,2661 @@
 </table>
 <h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.emulator.mininetclidriver-module.html">Module TestON.drivers.common.cli.emulator.mininetclidriver</a></h1>
 <pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 26-Oct-2012</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">MininetCliDriver is the basic driver which will handle the Mininet functions</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">fcntl</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">signal</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Package TestON.core=TestON.core-module.html"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-0', 'core', 'link-0');">core</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module TestON.core.teston=TestON.core.teston-module.html"><a title="TestON.core.teston" class="py-name" href="#" onclick="return doclink('link-1', 'teston', 'link-1');">teston</a></tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-2', 'path', 'link-2');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"../"</tt><tt class="py-op">)</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-3', 'drivers', 'link-3');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-4', 'common', 'link-4');">common</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
-TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-5', 'cli', 'link-5');">cli</a></tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Module TestON.drivers.common.cli.emulatordriver=TestON.drivers.common.cli.emulatordriver-module.html"><a title="TestON.drivers.common.cli.emulatordriver" class="py-name" href="#" onclick="return doclink('link-6', 'emulatordriver', 'link-6');">emulatordriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-7" class="py-name" targets="Class TestON.drivers.common.cli.emulatordriver.Emulator=TestON.drivers.common.cli.emulatordriver.Emulator-class.html"><a title="TestON.drivers.common.cli.emulatordriver.Emulator" class="py-name" href="#" onclick="return doclink('link-7', 'Emulator', 'link-7');">Emulator</a></tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-8" class="py-name"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-8', 'drivers', 'link-3');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-9', 'common', 'link-4');">common</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Module TestON.drivers.common.clidriver=TestON.drivers.common.clidriver-module.html"><a title="TestON.drivers.common.clidriver" class="py-name" href="#" onclick="return doclink('link-10', 'clidriver', 'link-10');">clidriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-11" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
-TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-11', 'CLI', 'link-11');">CLI</a></tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"> </tt>
-<a name="MininetCliDriver"></a><div id="MininetCliDriver-def"><a name="L22"></a><tt class="py-lineno"> 22</tt> <a class="py-toggle" href="#" id="MininetCliDriver-toggle" onclick="return toggle('MininetCliDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a><tt class="py-op">(</tt><tt class="py-base-class">Emulator</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetCliDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="MininetCliDriver-expanded"><a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">        MininetCliDriver is the basic driver which will handle the Mininet functions</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="MininetCliDriver.__init__"></a><div id="MininetCliDriver.__init__-def"><a name="L26"></a><tt class="py-lineno"> 26</tt> <a class="py-toggle" href="#" id="MininetCliDriver.__init__-toggle" onclick="return toggle('MininetCliDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetCliDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MininetCliDriver.__init__-expanded"><a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.emulatordriver.Emulator" class="py-name" href="#" onclick="return doclink('link-12', 'Emulator', 'link-7');">Emulator</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.drivers.common.webdriver.WebDriver.__init__()=TestON.drivers.common.webdriver.WebDriver-class.html#__init__,Method TestON.drivers.component.Component.__init__()=TestON.drivers.component.Component-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__()=TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#__init__,Method TestON.tests.FvtTest.FvtTest.FvtTest.__init__()=TestON.tests.FvtTest.FvtTest.FvtTest-class.html#__init__,Method TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__()=TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#__init__,Method TestON.tests.MininetTest.MininetTest.MininetTest.__init__()=TestON.tests.MininetTest.MininetTest.MininetTest-class.html#__init__,Method TestON.tests.PoxTest.PoxTest.PoxTest.__init__()=TestON.tests.PoxTest.PoxTest.PoxTest-class.html#__init__,Method TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__()=TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#__init__,Method TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__()=TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">   3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 26-Oct-2012</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno">   5</tt>  <tt class="py-line"><tt class="py-docstring">author: Anil Kumar ( anilkumar.s@paxterrasolutions.com )</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno">   8</tt>  <tt class="py-line"><tt class="py-docstring">TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">   9</tt>  <tt class="py-line"><tt class="py-docstring">it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line"><tt class="py-docstring">the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">  11</tt>  <tt class="py-line"><tt class="py-docstring">( at your option ) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"><tt class="py-docstring">TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line"><tt class="py-docstring">but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line"><tt class="py-docstring">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt class="py-docstring">GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-docstring">You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"><tt class="py-docstring">along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"><tt class="py-docstring">MininetCliDriver is the basic driver which will handle the Mininet functions</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">  22</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line"><tt class="py-docstring">Some functions rely on a modified version of Mininet. These functions</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line"><tt class="py-docstring">should all be noted in the comments. To get this MN version run these commands</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line"><tt class="py-docstring">from within your Mininet folder:</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">  26</tt>  <tt class="py-line"><tt class="py-docstring">    git remote add jhall11 https://github.com/jhall11/mininet.git</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">  27</tt>  <tt class="py-line"><tt class="py-docstring">    git fetch jhall11</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">  28</tt>  <tt class="py-line"><tt class="py-docstring">    git checkout -b dynamic_topo remotes/jhall11/dynamic_topo</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">  29</tt>  <tt class="py-line"><tt class="py-docstring">    git pull</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">  30</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L32"></a><tt class="py-lineno">  32</tt>  <tt class="py-line"><tt class="py-docstring">    Note that you may need to run 'sudo make develop' if your mnexec.c file</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">  33</tt>  <tt class="py-line"><tt class="py-docstring">changed when switching branches."""</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">  36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">types</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">  38</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">  39</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">math</tt> <tt class="py-keyword">import</tt> <tt class="py-name">pow</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-2', 'cli', 'link-2');">cli</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module TestON.drivers.common.cli.emulatordriver=TestON.drivers.common.cli.emulatordriver-module.html"><a title="TestON.drivers.common.cli.emulatordriver" class="py-name" href="#" onclick="return doclink('link-3', 'emulatordriver', 'link-3');">emulatordriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class TestON.drivers.common.cli.emulatordriver.Emulator=TestON.drivers.common.cli.emulatordriver.Emulator-class.html"><a title="TestON.drivers.common.cli.emulatordriver.Emulator" class="py-name" href="#" onclick="return doclink('link-4', 'Emulator', 'link-4');">Emulator</a></tt> </tt>
+<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line"> </tt>
+<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver"></a><div id="MininetCliDriver-def"><a name="L43"></a><tt class="py-lineno">  43</tt> <a class="py-toggle" href="#" id="MininetCliDriver-toggle" onclick="return toggle('MininetCliDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a><tt class="py-op">(</tt> <tt class="py-base-class">Emulator</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MininetCliDriver-expanded"><a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line"> </tt>
+<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line"><tt class="py-docstring">       MininetCliDriver is the basic driver which will handle</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">  47</tt>  <tt class="py-line"><tt class="py-docstring">       the Mininet functions"""</tt> </tt>
+<a name="MininetCliDriver.__init__"></a><div id="MininetCliDriver.__init__-def"><a name="L48"></a><tt class="py-lineno">  48</tt> <a class="py-toggle" href="#" id="MininetCliDriver.__init__-toggle" onclick="return toggle('MininetCliDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.__init__-expanded"><a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.emulatordriver.Emulator" class="py-name" href="#" onclick="return doclink('link-5', 'Emulator', 'link-4');">Emulator</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
 TestON.bin.cli.TestThread.__init__
 TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
 TestON.bin.updatedriver.UpdateDriver.__init__
 TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
 TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
 TestON.core.openspeak.OpenSpeak.__init__
 TestON.core.teston.TestON.__init__
 TestON.core.testparser.TestParser.__init__
 TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
 TestON.drivers.common.api.controllerdriver.Controller.__init__
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
 TestON.drivers.common.cli.emulatordriver.Emulator.__init__
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
 TestON.drivers.common.cli.toolsdriver.Tools.__init__
 TestON.drivers.common.clidriver.CLI.__init__
-TestON.drivers.common.webdriver.WebDriver.__init__
-TestON.drivers.component.Component.__init__
 TestON.examples.Assert.Assert.Assert.__init__
 TestON.examples.CaseParams.CaseParams.CaseParams.__init__
 TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
 TestON.examples.StepParams.StepParams.StepParams.__init__
 TestON.examples.Topology.Topology.Topology.__init__
-TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__
-TestON.tests.FvtTest.FvtTest.FvtTest.__init__
-TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__
-TestON.tests.MininetTest.MininetTest.MininetTest.__init__
-TestON.tests.PoxTest.PoxTest.PoxTest.__init__
-TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__
-TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__" class="py-name" href="#" onclick="return doclink('link-13', '__init__', 'link-13');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wrapped</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt><tt class="py-name">__name__</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
-<a name="MininetCliDriver.connect"></a><div id="MininetCliDriver.connect-def"><a name="L31"></a><tt class="py-lineno"> 31</tt> <a class="py-toggle" href="#" id="MininetCliDriver.connect-toggle" onclick="return toggle('MininetCliDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect">connect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetCliDriver.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MininetCliDriver.connect-expanded"><a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-comment">#,user_name, ip_address, pwd,options):</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-comment"># Here the main is the TestON instance after creating all the log handles.</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt>        </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">         </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">copy</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-14" class="py-name" targets="Class TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver" class="py-name" href="#" onclick="return doclink('link-14', 'MininetCliDriver', 'link-14');">MininetCliDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method TestON.drivers.common.clidriver.CLI.secureCopy()=TestON.drivers.common.clidriver.CLI-class.html#secureCopy"><a title="TestON.drivers.common.clidriver.CLI.secureCopy" class="py-name" href="#" onclick="return doclink('link-15', 'secureCopy', 'link-15');">secureCopy</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt><tt class="py-string">'/home/openflow/mininet/INSTALL'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt><tt class="py-op">,</tt><tt id="link-16" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-16', 'path', 'link-2');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">'/lib/Mininet/'</tt><tt class="py-op">)</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver" class="py-name" href="#" onclick="return doclink('link-17', 'MininetCliDriver', 'link-14');">MininetCliDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect,Method TestON.drivers.common.webdriver.WebDriver.connect()=TestON.drivers.common.webdriver.WebDriver-class.html#connect,Method TestON.drivers.component.Component.connect()=TestON.drivers.component.Component-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-6', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">  51</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">  52</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wrapped</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt> <tt class="py-name">__name__</tt> <tt class="py-op">]</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+</div><a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.connect"></a><div id="MininetCliDriver.connect-def"><a name="L55"></a><tt class="py-lineno">  55</tt> <a class="py-toggle" href="#" id="MininetCliDriver.connect-toggle" onclick="return toggle('MininetCliDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.connect-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.connect-expanded"><a name="L56"></a><tt class="py-lineno">  56</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line"><tt class="py-docstring">           Here the main is the TestON instance after creating</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">  58</tt>  <tt class="py-line"><tt class="py-docstring">           all the log handles."""</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">  60</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">  61</tt>  <tt class="py-line">                <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">  62</tt>  <tt class="py-line"> </tt>
+<a name="L63"></a><tt class="py-lineno">  63</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line"> </tt>
+<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getenv</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getenv</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-7', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">  70</tt>  <tt class="py-line">                                   <tt class="py-string">": Trying to connect to "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line">                                   <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line"> </tt>
+<a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">  74</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-8', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Invalid host name,"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line">                               <tt class="py-string">" connecting to local host instead"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-string">'localhost'</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">inst</tt><tt class="py-op">:</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">  78</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-10', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Uncaught exception: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">inst</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line"> </tt>
+<a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">  81</tt>  <tt class="py-line">                <tt id="link-11" class="py-name" targets="Class TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver" class="py-name" href="#" onclick="return doclink('link-11', 'MininetCliDriver', 'link-11');">MininetCliDriver</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L82"></a><tt class="py-lineno">  82</tt>  <tt class="py-line">                <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
-TestON.drivers.common.clidriver.CLI.connect
-TestON.drivers.common.webdriver.WebDriver.connect
-TestON.drivers.component.Component.connect" class="py-name" href="#" onclick="return doclink('link-18', 'connect', 'link-18');">connect</a></tt><tt class="py-op">(</tt><tt class="py-name">user_name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> <tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt><tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">pwd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt><tt class="py-op">)</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">         </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ssh_handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">         </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-comment"># Copying the readme file to process the </tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">:</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">            <tt class="py-comment">#self.handle.logfile = sys.stdout</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method TestON.drivers.component.Component.log()=TestON.drivers.component.Component-class.html#log"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-19', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Clearing any residual state or processes"</tt><tt class="py-op">)</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute,Method TestON.drivers.component.Component.execute()=TestON.drivers.component.Component-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-20', 'execute', 'link-20');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"sudo mn -c"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">30</tt><tt class="py-op">,</tt><tt id="link-21" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-21', 'prompt', 'link-21');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"password"</tt><tt class="py-op">)</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">'[sudo]'</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">pattern</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"password is being asked"</tt><tt class="py-op">,</tt><tt id="link-22" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-22', 'onfail', 'link-22');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"password is not being asked"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">                <tt class="py-name">resultPass</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-23', 'execute', 'link-20');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"openflow"</tt><tt class="py-op">,</tt><tt id="link-24" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-24', 'prompt', 'link-21');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"openflow"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt><tt class="py-op">)</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-25', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"password is not being asked"</tt><tt class="py-op">)</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-name">cmdString</tt> <tt class="py-op">=</tt> <tt class="py-string">"sudo mn --topo "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'topo'</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-string">","</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'topocount'</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-string">" --mac --switch "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'switch'</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-string">" --controller "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'controller'</tt><tt class="py-op">]</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-name">resultCommand</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-26', 'execute', 'link-20');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">cmdString</tt><tt class="py-op">,</tt><tt id="link-27" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-27', 'prompt', 'link-21');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">'mininet'</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt><tt class="py-op">)</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">            <tt class="py-name">patterns</tt> <tt class="py-op">=</tt> <tt class="py-string">"Starting CLI:"</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">patterns</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">resultCommand</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Network is being launched"</tt><tt class="py-op">,</tt><tt id="link-28" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-28', 'onfail', 'link-22');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Network launching is being failed "</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-29', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-30', 'error', 'link-30');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Connection failed to the host "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">+</tt><tt class="py-string">"@"</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">)</tt>  </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-31', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-32', 'error', 'link-30');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Failed to connect to the Mininet"</tt><tt class="py-op">)</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">                        </tt>
-<a name="MininetCliDriver.pingall"></a><div id="MininetCliDriver.pingall-def"><a name="L70"></a><tt class="py-lineno"> 70</tt> <a class="py-toggle" href="#" id="MininetCliDriver.pingall-toggle" onclick="return toggle('MininetCliDriver.pingall');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingall">pingall</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetCliDriver.pingall-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MininetCliDriver.pingall-expanded"><a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">           Verifies the reachability of the hosts using pingall command.</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">:</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-33', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Checking reachabilty to the hosts using pingall"</tt><tt class="py-op">)</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-34', 'execute', 'link-20');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"pingall"</tt><tt class="py-op">,</tt><tt id="link-35" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-35', 'prompt', 'link-21');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt><tt class="py-op">)</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">'Results\:\s0\%\sdropped\s\(0\/\d+\slost\)\s*$'</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">pattern</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"All hosts are reaching"</tt><tt class="py-op">,</tt><tt id="link-36" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-36', 'onfail', 'link-22');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Unable to reach all the hosts"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-37', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-38', 'error', 'link-30');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Connection failed to the host"</tt><tt class="py-op">)</tt>  </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">         </tt>
-<a name="MininetCliDriver.pingHost"></a><div id="MininetCliDriver.pingHost-def"><a name="L86"></a><tt class="py-lineno"> 86</tt> <a class="py-toggle" href="#" id="MininetCliDriver.pingHost-toggle" onclick="return toggle('MininetCliDriver.pingHost');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingHost">pingHost</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">pingParams</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetCliDriver.pingHost-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MininetCliDriver.pingHost-expanded"><a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">         </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.parse_args()=TestON.core.openspeak.OpenSpeak-class.html#parse_args"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-39', 'parse_args', 'link-39');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"SRC"</tt><tt class="py-op">,</tt><tt class="py-string">"TARGET"</tt><tt class="py-op">,</tt><tt class="py-string">"CONTROLLER"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">pingParams</tt><tt class="py-op">)</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"SRC"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" ping -"</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CONTROLLER"</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt><tt class="py-name">args</tt> <tt class="py-op">[</tt><tt class="py-string">"TARGET"</tt><tt class="py-op">]</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-40', 'execute', 'link-20');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt><tt id="link-41" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-41', 'prompt', 'link-21');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'0% packet loss'</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No Packet loss"</tt><tt class="py-op">,</tt><tt id="link-42" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-42', 'onfail', 'link-22');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host is not reachable"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-43', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"PING SUCCESS WITH NO PACKET LOSS"</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt>  </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-44', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-45', 'error', 'link-30');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"PACKET LOST, HOST IS NOT REACHABLE"</tt><tt class="py-op">)</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">         </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">     </tt>
-<a name="MininetCliDriver.checkIP"></a><div id="MininetCliDriver.checkIP-def"><a name="L101"></a><tt class="py-lineno">101</tt> <a class="py-toggle" href="#" id="MininetCliDriver.checkIP-toggle" onclick="return toggle('MininetCliDriver.checkIP');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkIP">checkIP</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">host</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetCliDriver.checkIP-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MininetCliDriver.checkIP-expanded"><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring">            Verifies the host's ip configured or not.</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">:</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-46', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Pinging host "</tt><tt class="py-op">+</tt><tt class="py-name">host</tt><tt class="py-op">)</tt>  </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-47', 'execute', 'link-20');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">host</tt><tt class="py-op">+</tt><tt class="py-string">" ifconfig"</tt><tt class="py-op">,</tt><tt id="link-48" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-48', 'prompt', 'link-21');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt><tt class="py-op">)</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"inet\s(addr|Mask):([0-1]{1}[0-9]{1,2}|2[0-4][0-9]|25[0-5]|[0-9]{1,2}).([0-1]{1}[0-9]{1,2}|2[0-4][0-9]|25[0-5]|[0-9]{1,2}).([0-1]{1}[0-9]{1,2}|2[0-4][0-9]|25[0-5]|[0-9]{1,2}).([0-1]{1}[0-9]{1,2}|2[0-4][0-9]|25[0-5]|[0-9]{1,2})"</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">pattern</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host Ip configured properly"</tt><tt class="py-op">,</tt><tt id="link-49" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-49', 'onfail', 'link-22');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host IP didn't found"</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-50', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-51', 'error', 'link-30');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Connection failed to the host"</tt><tt class="py-op">)</tt>  </tt>
-</div><a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">         </tt>
-<a name="MininetCliDriver.dump"></a><div id="MininetCliDriver.dump-def"><a name="L117"></a><tt class="py-lineno">117</tt> <a class="py-toggle" href="#" id="MininetCliDriver.dump-toggle" onclick="return toggle('MininetCliDriver.dump');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#dump">dump</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetCliDriver.dump-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MininetCliDriver.dump-expanded"><a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-52', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Dump node info"</tt><tt class="py-op">)</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-53', 'execute', 'link-20');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">'dump'</tt><tt class="py-op">,</tt><tt id="link-54" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-54', 'prompt', 'link-21');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'mininet&gt;'</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">             </tt>
-<a name="MininetCliDriver.intfs"></a><div id="MininetCliDriver.intfs-def"><a name="L122"></a><tt class="py-lineno">122</tt> <a class="py-toggle" href="#" id="MininetCliDriver.intfs-toggle" onclick="return toggle('MininetCliDriver.intfs');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#intfs">intfs</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetCliDriver.intfs-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MininetCliDriver.intfs-expanded"><a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-55', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"List interfaces"</tt><tt class="py-op">)</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-56', 'execute', 'link-20');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">'intfs'</tt><tt class="py-op">,</tt><tt id="link-57" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-57', 'prompt', 'link-21');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'mininet&gt;'</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">     </tt>
-<a name="MininetCliDriver.net"></a><div id="MininetCliDriver.net-def"><a name="L127"></a><tt class="py-lineno">127</tt> <a class="py-toggle" href="#" id="MininetCliDriver.net-toggle" onclick="return toggle('MininetCliDriver.net');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#net">net</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetCliDriver.net-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MininetCliDriver.net-expanded"><a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-58', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"List network connections"</tt><tt class="py-op">)</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-59', 'execute', 'link-20');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">'net'</tt><tt class="py-op">,</tt><tt id="link-60" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-60', 'prompt', 'link-21');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'mininet&gt;'</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">     </tt>
-<a name="MininetCliDriver.iperf"></a><div id="MininetCliDriver.iperf-def"><a name="L132"></a><tt class="py-lineno">132</tt> <a class="py-toggle" href="#" id="MininetCliDriver.iperf-toggle" onclick="return toggle('MininetCliDriver.iperf');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperf">iperf</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetCliDriver.iperf-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MininetCliDriver.iperf-expanded"><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-61', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Simple iperf TCP test between two (optionally specified) hosts"</tt><tt class="py-op">)</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-62', 'execute', 'link-20');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">'iperf'</tt><tt class="py-op">,</tt><tt id="link-63" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-63', 'prompt', 'link-21');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'mininet&gt;'</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">     </tt>
-<a name="MininetCliDriver.iperfudp"></a><div id="MininetCliDriver.iperfudp-def"><a name="L137"></a><tt class="py-lineno">137</tt> <a class="py-toggle" href="#" id="MininetCliDriver.iperfudp-toggle" onclick="return toggle('MininetCliDriver.iperfudp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperfudp">iperfudp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetCliDriver.iperfudp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MininetCliDriver.iperfudp-expanded"><a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-64', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Simple iperf TCP test between two (optionally specified) hosts"</tt><tt class="py-op">)</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-65', 'execute', 'link-20');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">'iperfudp'</tt><tt class="py-op">,</tt><tt id="link-66" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-66', 'prompt', 'link-21');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'mininet&gt;'</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">     </tt>
-<a name="MininetCliDriver.nodes"></a><div id="MininetCliDriver.nodes-def"><a name="L142"></a><tt class="py-lineno">142</tt> <a class="py-toggle" href="#" id="MininetCliDriver.nodes-toggle" onclick="return toggle('MininetCliDriver.nodes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#nodes">nodes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetCliDriver.nodes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MininetCliDriver.nodes-expanded"><a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-67', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"List all nodes."</tt><tt class="py-op">)</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-68', 'execute', 'link-20');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">'nodes'</tt><tt class="py-op">,</tt><tt id="link-69" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-69', 'prompt', 'link-21');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'mininet&gt;'</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt>     </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">     </tt>
-<a name="MininetCliDriver.pingpair"></a><div id="MininetCliDriver.pingpair-def"><a name="L147"></a><tt class="py-lineno">147</tt> <a class="py-toggle" href="#" id="MininetCliDriver.pingpair-toggle" onclick="return toggle('MininetCliDriver.pingpair');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingpair">pingpair</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetCliDriver.pingpair-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MininetCliDriver.pingpair-expanded"><a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-70', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">infoe</tt><tt class="py-op">(</tt><tt class="py-string">"Ping between first two hosts"</tt><tt class="py-op">)</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-71', 'execute', 'link-20');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">'pingpair'</tt><tt class="py-op">,</tt><tt id="link-72" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-72', 'prompt', 'link-21');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'mininet&gt;'</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">         </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'0% packet loss'</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No Packet loss"</tt><tt class="py-op">,</tt><tt id="link-73" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-73', 'onfail', 'link-22');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Hosts not reachable"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-74', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Ping between two hosts SUCCESS"</tt><tt class="py-op">)</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt>  </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-75', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-76', 'error', 'link-30');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"PACKET LOST, HOSTS NOT REACHABLE"</tt><tt class="py-op">)</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">     </tt>
-<a name="MininetCliDriver.link"></a><div id="MininetCliDriver.link-def"><a name="L160"></a><tt class="py-lineno">160</tt> <a class="py-toggle" href="#" id="MininetCliDriver.link-toggle" onclick="return toggle('MininetCliDriver.link');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#link">link</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">linkargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetCliDriver.link-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MininetCliDriver.link-expanded"><a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">        Bring link(s) between two nodes up or down</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-77', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Bring link(s) between two nodes up or down'</tt><tt class="py-op">)</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-78', 'parse_args', 'link-39');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"END1"</tt><tt class="py-op">,</tt><tt class="py-string">"END2"</tt><tt class="py-op">,</tt><tt class="py-string">"OPTION"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">linkargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-name">end1</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"END1"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"END1"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-name">end2</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"END2"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"END2"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">option</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPTION"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"OPTION"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"link "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">end1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">end2</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">option</tt><tt class="py-op">)</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-79', 'execute', 'link-20');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt><tt id="link-80" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-80', 'prompt', 'link-21');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">         </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"> </tt>
-<a name="MininetCliDriver.dpctl"></a><div id="MininetCliDriver.dpctl-def"><a name="L174"></a><tt class="py-lineno">174</tt> <a class="py-toggle" href="#" id="MininetCliDriver.dpctl-toggle" onclick="return toggle('MininetCliDriver.dpctl');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#dpctl">dpctl</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">dpctlargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetCliDriver.dpctl-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MininetCliDriver.dpctl-expanded"><a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-docstring">         Run dpctl command on all switches.</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-81', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Run dpctl command on all switches'</tt><tt class="py-op">)</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-82', 'parse_args', 'link-39');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"CMD"</tt><tt class="py-op">,</tt><tt class="py-string">"ARGS"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">dpctlargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CMD"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CMD"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-name">cmdargs</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ARGS"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ARGS"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl "</tt><tt class="py-op">+</tt><tt class="py-name">cmd</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">cmdargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-83', 'execute', 'link-20');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt><tt id="link-84" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-84', 'prompt', 'link-21');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">    </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">         </tt>
-<a name="MininetCliDriver.get_version"></a><div id="MininetCliDriver.get_version-def"><a name="L187"></a><tt class="py-lineno">187</tt> <a class="py-toggle" href="#" id="MininetCliDriver.get_version-toggle" onclick="return toggle('MininetCliDriver.get_version');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#get_version">get_version</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetCliDriver.get_version-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MininetCliDriver.get_version-expanded"><a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-name">file_input</tt> <tt class="py-op">=</tt> <tt id="link-85" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-85', 'path', 'link-2');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">'/lib/Mininet/INSTALL'</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt class="py-name">Mininet</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.get_version()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#get_version,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.get_version()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#get_version,Method TestON.drivers.component.Component.get_version()=TestON.drivers.component.Component-class.html#get_version"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.get_version
-TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.get_version
-TestON.drivers.component.Component.get_version" class="py-name" href="#" onclick="return doclink('link-86', 'get_version', 'link-86');">get_version</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">'Mininet\s\w\.\w\.\w\w*'</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">file_input</tt><tt class="py-op">,</tt><tt class="py-string">'r'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">result</tt><tt class="py-op">:</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">                <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">                 </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">             </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">version</tt>     </tt>
-</div><a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"> </tt>
-<a name="MininetCliDriver.disconnect"></a><div id="MininetCliDriver.disconnect-def"><a name="L199"></a><tt class="py-lineno">199</tt> <a class="py-toggle" href="#" id="MininetCliDriver.disconnect-toggle" onclick="return toggle('MininetCliDriver.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#disconnect">disconnect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">handle</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetCliDriver.disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="MininetCliDriver.disconnect-expanded"><a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">         </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">handle</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-87', 'execute', 'link-20');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"exit"</tt><tt class="py-op">,</tt><tt id="link-88" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-88', 'prompt', 'link-21');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt><tt class="py-op">)</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-89', 'log', 'link-19');">log</a></tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-90', 'error', 'link-30');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Connection failed to the host"</tt><tt class="py-op">)</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">response</tt>   </tt>
-</div></div><a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">!=</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">    <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt><tt class="py-name">__name__</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-91" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver" class="py-name" href="#" onclick="return doclink('link-91', 'MininetCliDriver', 'link-14');">MininetCliDriver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-12', 'connect', 'link-12');">connect</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L83"></a><tt class="py-lineno">  83</tt>  <tt class="py-line">                <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line">                <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line">                <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L86"></a><tt class="py-lineno">  86</tt>  <tt class="py-line">                <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L87"></a><tt class="py-lineno">  87</tt>  <tt class="py-line"> </tt>
+<a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Connection successful to the host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L90"></a><tt class="py-lineno">  90</tt>  <tt class="py-line">                               <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line">                               <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L92"></a><tt class="py-lineno">  92</tt>  <tt class="py-line">                               <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L94"></a><tt class="py-lineno">  94</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L95"></a><tt class="py-lineno">  95</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-14', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-15', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Connection failed to the host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line">                                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line">                                <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L98"></a><tt class="py-lineno">  98</tt>  <tt class="py-line">                                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-16', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-17', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to connect to the Mininet CLI"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno"> 100</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L102"></a><tt class="py-lineno"> 102</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-18', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-19', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno"> 103</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-20', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-21', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-22', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-23', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno"> 106</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno"> 107</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-24', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-25', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno"> 109</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-26', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.startNet"></a><div id="MininetCliDriver.startNet-def"><a name="L111"></a><tt class="py-lineno"> 111</tt> <a class="py-toggle" href="#" id="MininetCliDriver.startNet-toggle" onclick="return toggle('MininetCliDriver.startNet');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startNet">startNet</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">topoFile</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-param">args</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-param">mnCmd</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.startNet-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.startNet-expanded"><a name="L112"></a><tt class="py-lineno"> 112</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L113"></a><tt class="py-lineno"> 113</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line"><tt class="py-docstring">            Starts Mininet accepts a topology(.py) file and/or an optional</tt> </tt>
+<a name="L115"></a><tt class="py-lineno"> 115</tt>  <tt class="py-line"><tt class="py-docstring">            argument, to start the mininet, as a parameter.</tt> </tt>
+<a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line"><tt class="py-docstring">            Can also send regular mininet command to load up desired topology.</tt> </tt>
+<a name="L117"></a><tt class="py-lineno"> 117</tt>  <tt class="py-line"><tt class="py-docstring">            Eg. Pass in a string 'sudo mn --topo=tree,3,3' to mnCmd</tt> </tt>
+<a name="L118"></a><tt class="py-lineno"> 118</tt>  <tt class="py-line"><tt class="py-docstring">        Options:</tt> </tt>
+<a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line"><tt class="py-docstring">            topoFile = file path for topology file (.py)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line"><tt class="py-docstring">            args = extra option added when starting the topology from the file</tt> </tt>
+<a name="L121"></a><tt class="py-lineno"> 121</tt>  <tt class="py-line"><tt class="py-docstring">            mnCmd = Mininet command use to start topology</tt> </tt>
+<a name="L122"></a><tt class="py-lineno"> 122</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line"><tt class="py-docstring">                main.TRUE if the mininet starts successfully, main.FALSE</tt> </tt>
+<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line"><tt class="py-docstring">                otherwise</tt> </tt>
+<a name="L125"></a><tt class="py-lineno"> 125</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L127"></a><tt class="py-lineno"> 127</tt>  <tt class="py-line">            <tt class="py-comment"># make sure old networks are cleaned up</tt> </tt>
+<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-27', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line">                           <tt class="py-string">": Clearing any residual state or processes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L130"></a><tt class="py-lineno"> 130</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-28', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"sudo mn -c"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">'password\sfor\s'</tt><tt class="py-op">,</tt> </tt>
+<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line">                                      <tt class="py-string">'Cleanup\scomplete'</tt><tt class="py-op">,</tt> </tt>
+<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line">                                      <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt> </tt>
+<a name="L134"></a><tt class="py-lineno"> 134</tt>  <tt class="py-line">                                      <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line">                                    <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line">                <tt class="py-comment"># Sudo asking for password</tt> </tt>
+<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-29', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Sending sudo password"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-30', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno"> 140</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">'%s:'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user</tt><tt class="py-op">,</tt> </tt>
+<a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line">                                          <tt class="py-string">'\$'</tt><tt class="py-op">,</tt> </tt>
+<a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line">                                          <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt> </tt>
+<a name="L143"></a><tt class="py-lineno"> 143</tt>  <tt class="py-line">                                          <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line">                                        <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L146"></a><tt class="py-lineno"> 146</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-31', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Clean"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L147"></a><tt class="py-lineno"> 147</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L148"></a><tt class="py-lineno"> 148</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-32', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-33', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Connection terminated"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt>  <tt class="py-comment"># timeout</tt> </tt>
+<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-34', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-35', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Something while cleaning "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line">                                <tt class="py-string">"Mininet took too long... "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line">            <tt class="py-comment"># Craft the string to start mininet</tt> </tt>
+<a name="L153"></a><tt class="py-lineno"> 153</tt>  <tt class="py-line">            <tt class="py-name">cmdString</tt> <tt class="py-op">=</tt> <tt class="py-string">"sudo "</tt> </tt>
+<a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">mnCmd</tt><tt class="py-op">:</tt> </tt>
+<a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">topoFile</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">topoFile</tt> <tt class="py-op">==</tt> <tt class="py-string">''</tt><tt class="py-op">:</tt>  <tt class="py-comment"># If no file is given</tt> </tt>
+<a name="L156"></a><tt class="py-lineno"> 156</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-36', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": building fresh Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line">                    <tt class="py-name">cmdString</tt> <tt class="py-op">+=</tt> <tt class="py-string">"mn "</tt> </tt>
+<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">args</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">args</tt> <tt class="py-op">==</tt> <tt class="py-string">''</tt><tt class="py-op">:</tt> </tt>
+<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line">                        <tt class="py-comment"># If no args given, use args from .topo file</tt> </tt>
+<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line">                        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'arg1'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L161"></a><tt class="py-lineno"> 161</tt>  <tt class="py-line">                                <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'arg2'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L162"></a><tt class="py-lineno"> 162</tt>  <tt class="py-line">                                <tt class="py-string">" --mac --controller "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line">                                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'controller'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L164"></a><tt class="py-lineno"> 164</tt>  <tt class="py-line">                                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'arg3'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L165"></a><tt class="py-lineno"> 165</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># else only use given args</tt> </tt>
+<a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line">                        <tt class="py-keyword">pass</tt> </tt>
+<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line">                        <tt class="py-comment"># TODO: allow use of topo args and method args?</tt> </tt>
+<a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># Use given topology file</tt> </tt>
+<a name="L169"></a><tt class="py-lineno"> 169</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-37', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line">                        <tt class="py-string">"Starting Mininet from topo file "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line">                        <tt class="py-name">topoFile</tt> <tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno"> 172</tt>  <tt class="py-line">                    <tt class="py-name">cmdString</tt> <tt class="py-op">+=</tt> <tt class="py-name">topoFile</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L173"></a><tt class="py-lineno"> 173</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">args</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line">                        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line">                        <tt class="py-comment"># TODO: allow use of args from .topo file?</tt> </tt>
+<a name="L176"></a><tt class="py-lineno"> 176</tt>  <tt class="py-line">                <tt class="py-name">cmdString</tt> <tt class="py-op">+=</tt> <tt class="py-name">args</tt> </tt>
+<a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-38', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Starting Mininet topology using '"</tt> <tt class="py-op">+</tt> <tt class="py-name">mnCmd</tt> <tt class="py-op">+</tt> </tt>
+<a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line">                               <tt class="py-string">"' command"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno"> 180</tt>  <tt class="py-line">                <tt class="py-name">cmdString</tt> <tt class="py-op">+=</tt> <tt class="py-name">mnCmd</tt> </tt>
+<a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line">            <tt class="py-comment"># Send the command and check if network started</tt> </tt>
+<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-39', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">'\$'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-40', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Sending '"</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdString</tt> <tt class="py-op">+</tt> <tt class="py-string">"' to "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> </tt>
+<a name="L185"></a><tt class="py-lineno"> 185</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-41', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdString</tt> <tt class="py-op">)</tt> </tt>
+<a name="L186"></a><tt class="py-lineno"> 186</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">'mininet&gt;'</tt><tt class="py-op">,</tt> </tt>
+<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line">                                          <tt class="py-string">'Exception'</tt><tt class="py-op">,</tt> </tt>
+<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line">                                          <tt class="py-string">'\*\*\*'</tt><tt class="py-op">,</tt> </tt>
+<a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line">                                          <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt> </tt>
+<a name="L191"></a><tt class="py-lineno"> 191</tt>  <tt class="py-line">                                          <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line">                                        <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-42', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Mininet built"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno"> 195</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L196"></a><tt class="py-lineno"> 196</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L197"></a><tt class="py-lineno"> 197</tt>  <tt class="py-line">                    <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">+</tt> </tt>
+<a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line">                                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">after</tt> <tt class="py-op">)</tt> </tt>
+<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">'\$'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line">                    <tt class="py-name">response</tt> <tt class="py-op">+=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">+</tt> </tt>
+<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line">                                     <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">after</tt> <tt class="py-op">)</tt> </tt>
+<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-43', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-44', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L204"></a><tt class="py-lineno"> 204</tt>  <tt class="py-line">                        <tt class="py-string">": Launching Mininet failed: "</tt> <tt class="py-op">+</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno"> 205</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L207"></a><tt class="py-lineno"> 207</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"\n"</tt><tt class="py-op">,</tt> </tt>
+<a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line">                                          <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt> </tt>
+<a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line">                                          <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line">                                        <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno"> 211</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-45', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-46', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-47', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Connection timeout"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt>  <tt class="py-comment"># timeout</tt> </tt>
+<a name="L216"></a><tt class="py-lineno"> 216</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-48', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-49', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L217"></a><tt class="py-lineno"> 217</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L218"></a><tt class="py-lineno"> 218</tt>  <tt class="py-line">                        <tt class="py-string">": Something took too long... "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line">            <tt class="py-comment"># Why did we hit this part?</tt> </tt>
+<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-50', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-51', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"startNet did not return correctly"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FASLE</tt> </tt>
+<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># if no handle</tt> </tt>
+<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-52', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-53', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Connection failed to the host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line">                            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">+</tt> <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L226"></a><tt class="py-lineno"> 226</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-54', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-55', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Failed to connect to the Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L228"></a><tt class="py-lineno"> 228</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.numSwitchesNlinks"></a><div id="MininetCliDriver.numSwitchesNlinks-def"><a name="L229"></a><tt class="py-lineno"> 229</tt> <a class="py-toggle" href="#" id="MininetCliDriver.numSwitchesNlinks-toggle" onclick="return toggle('MininetCliDriver.numSwitchesNlinks');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#numSwitchesNlinks">numSwitchesNlinks</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">topoType</tt><tt class="py-op">,</tt> <tt class="py-param">depth</tt><tt class="py-op">,</tt> <tt class="py-param">fanout</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.numSwitchesNlinks-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.numSwitchesNlinks-expanded"><a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">topoType</tt> <tt class="py-op">==</tt> <tt class="py-string">'tree'</tt><tt class="py-op">:</tt> </tt>
+<a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line">            <tt class="py-comment"># In tree topology, if fanout arg is not given, by default it is 2</tt> </tt>
+<a name="L232"></a><tt class="py-lineno"> 232</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">fanout</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line">                <tt class="py-name">fanout</tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> </tt>
+<a name="L234"></a><tt class="py-lineno"> 234</tt>  <tt class="py-line">            <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt><tt class="py-op">(</tt> <tt class="py-name">k</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">depth</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line">                <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-name">count</tt> <tt class="py-op">+</tt> <tt class="py-name">pow</tt><tt class="py-op">(</tt> <tt class="py-name">fanout</tt><tt class="py-op">,</tt> <tt class="py-name">k</tt> <tt class="py-op">)</tt> </tt>
+<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line">                <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-name">k</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line">                <tt class="py-name">numSwitches</tt> <tt class="py-op">=</tt> <tt class="py-name">count</tt> </tt>
+<a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt><tt class="py-op">(</tt> <tt class="py-name">k</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">depth</tt> <tt class="py-op">-</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line">                <tt class="py-comment"># depth-2 gives you only core links and not considering</tt> </tt>
+<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line">                <tt class="py-comment"># edge links as seen by ONOS. If all the links including</tt> </tt>
+<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line">                <tt class="py-comment"># edge links are required, do depth-1</tt> </tt>
+<a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line">                <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-name">count</tt> <tt class="py-op">+</tt> <tt class="py-name">pow</tt><tt class="py-op">(</tt> <tt class="py-name">fanout</tt><tt class="py-op">,</tt> <tt class="py-name">k</tt> <tt class="py-op">)</tt> </tt>
+<a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line">                <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-name">k</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line">            <tt class="py-name">numLinks</tt> <tt class="py-op">=</tt> <tt class="py-name">count</tt> <tt class="py-op">*</tt> <tt class="py-name">fanout</tt> </tt>
+<a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line">            <tt class="py-comment"># print "num_switches for %s(%d,%d) = %d and links=%d" %(</tt> </tt>
+<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line">            <tt class="py-comment"># topoType,depth,fanout,numSwitches,numLinks )</tt> </tt>
+<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line"> </tt>
+<a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">topoType</tt> <tt class="py-op">==</tt> <tt class="py-string">'linear'</tt><tt class="py-op">:</tt> </tt>
+<a name="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line">            <tt class="py-comment"># In linear topology, if fanout or numHostsPerSw is not given,</tt> </tt>
+<a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">            <tt class="py-comment"># by default it is 1</tt> </tt>
+<a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">fanout</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line">                <tt class="py-name">fanout</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line">            <tt class="py-name">numSwitches</tt> <tt class="py-op">=</tt> <tt class="py-name">depth</tt> </tt>
+<a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line">            <tt class="py-name">numHostsPerSw</tt> <tt class="py-op">=</tt> <tt class="py-name">fanout</tt> </tt>
+<a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line">            <tt class="py-name">totalNumHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">numSwitches</tt> <tt class="py-op">*</tt> <tt class="py-name">numHostsPerSw</tt> </tt>
+<a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line">            <tt class="py-name">numLinks</tt> <tt class="py-op">=</tt> <tt class="py-name">totalNumHosts</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt> <tt class="py-name">numSwitches</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"num_switches for %s(%d,%d) = %d and links=%d"</tt> <tt class="py-op">%</tt>\ </tt>
+<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line">                <tt class="py-op">(</tt> <tt class="py-name">topoType</tt><tt class="py-op">,</tt> <tt class="py-name">depth</tt><tt class="py-op">,</tt> <tt class="py-name">fanout</tt><tt class="py-op">,</tt> <tt class="py-name">numSwitches</tt><tt class="py-op">,</tt> <tt class="py-name">numLinks</tt> <tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line">        <tt class="py-name">topoDict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">"num_switches"</tt><tt class="py-op">:</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">numSwitches</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line">                     <tt class="py-string">"num_corelinks"</tt><tt class="py-op">:</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">numLinks</tt> <tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">topoDict</tt> </tt>
+</div><a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.calculateSwAndLinks"></a><div id="MininetCliDriver.calculateSwAndLinks-def"><a name="L265"></a><tt class="py-lineno"> 265</tt> <a class="py-toggle" href="#" id="MininetCliDriver.calculateSwAndLinks-toggle" onclick="return toggle('MininetCliDriver.calculateSwAndLinks');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#calculateSwAndLinks">calculateSwAndLinks</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.calculateSwAndLinks-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.calculateSwAndLinks-expanded"><a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line"><tt class="py-docstring">            Calculate the number of switches and links in a topo."""</tt> </tt>
+<a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: combine this function and numSwitchesNlinks</tt> </tt>
+<a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line">        <tt class="py-name">argList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'arg1'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">","</tt> <tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line">        <tt class="py-name">topoArgList</tt> <tt class="py-op">=</tt> <tt class="py-name">argList</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">" "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line">        <tt class="py-name">argList</tt> <tt class="py-op">=</tt> <tt class="py-name">map</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">,</tt> <tt class="py-name">argList</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno"> 272</tt>  <tt class="py-line">        <tt class="py-name">topoArgList</tt> <tt class="py-op">=</tt> <tt class="py-name">topoArgList</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">argList</tt> </tt>
+<a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line"> </tt>
+<a name="L274"></a><tt class="py-lineno"> 274</tt>  <tt class="py-line">        <tt class="py-name">topoDict</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.numSwitchesNlinks()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#numSwitchesNlinks"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.numSwitchesNlinks" class="py-name" href="#" onclick="return doclink('link-56', 'numSwitchesNlinks', 'link-56');">numSwitchesNlinks</a></tt><tt class="py-op">(</tt> <tt class="py-op">*</tt><tt class="py-name">topoArgList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">topoDict</tt> </tt>
+</div><a name="L276"></a><tt class="py-lineno"> 276</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.pingall"></a><div id="MininetCliDriver.pingall-def"><a name="L277"></a><tt class="py-lineno"> 277</tt> <a class="py-toggle" href="#" id="MininetCliDriver.pingall-toggle" onclick="return toggle('MininetCliDriver.pingall');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingall">pingall</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">=</tt><tt class="py-number">300</tt><tt class="py-op">,</tt> <tt class="py-param">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-param">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">0</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.pingall-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.pingall-expanded"><a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line"><tt class="py-docstring">           Verifies the reachability of the hosts using pingall command.</tt> </tt>
+<a name="L280"></a><tt class="py-lineno"> 280</tt>  <tt class="py-line"><tt class="py-docstring">           Optional parameter timeout allows you to specify how long to</tt> </tt>
+<a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line"><tt class="py-docstring">           wait for pingall to complete</tt> </tt>
+<a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line"><tt class="py-docstring">           Optional:</tt> </tt>
+<a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line"><tt class="py-docstring">           timeout( seconds ) - How long to wait before breaking the pingall</tt> </tt>
+<a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line"><tt class="py-docstring">           shortCircuit - Break the pingall based on the number of failed hosts</tt> </tt>
+<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line"><tt class="py-docstring">                          ping</tt> </tt>
+<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line"><tt class="py-docstring">           acceptableFailed - Set the number of acceptable failed pings for the</tt> </tt>
+<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line"><tt class="py-docstring">                              function to still return main.TRUE</tt> </tt>
+<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line"><tt class="py-docstring">           Returns:</tt> </tt>
+<a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line"><tt class="py-docstring">           main.TRUE if pingall completes with no pings dropped</tt> </tt>
+<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line"><tt class="py-docstring">           otherwise main.FALSE</tt> </tt>
+<a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-57', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line">                    <tt class="py-string">": Checking reachabilty to the hosts using pingall"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line">                <tt class="py-name">failedPings</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line">                <tt class="py-name">returnValue</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-58', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pingall"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line">                <tt class="py-name">startTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line">                <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line">                    <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> <tt class="py-string">"X"</tt><tt class="py-op">,</tt> </tt>
+<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line">                                              <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt> </tt>
+<a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line">                                              <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line">                                            <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L309"></a><tt class="py-lineno"> 309</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L310"></a><tt class="py-lineno"> 310</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-59', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": pingall finished"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line">                        <tt class="py-name">response</tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L314"></a><tt class="py-lineno"> 314</tt>  <tt class="py-line">                        <tt class="py-name">response</tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">after</tt> </tt>
+<a name="L315"></a><tt class="py-lineno"> 315</tt>  <tt class="py-line">                        <tt class="py-name">failedPings</tt> <tt class="py-op">=</tt> <tt class="py-name">failedPings</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">failedPings</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">acceptableFailed</tt><tt class="py-op">:</tt> </tt>
+<a name="L317"></a><tt class="py-lineno"> 317</tt>  <tt class="py-line">                            <tt class="py-name">returnValue</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L318"></a><tt class="py-lineno"> 318</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt class="py-name">shortCircuit</tt><tt class="py-op">:</tt> </tt>
+<a name="L319"></a><tt class="py-lineno"> 319</tt>  <tt class="py-line">                                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-60', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-61', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L320"></a><tt class="py-lineno"> 320</tt>  <tt class="py-line">                                                <tt class="py-string">": Aborting pingall - "</tt> </tt>
+<a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line">                                                <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">failedPings</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L322"></a><tt class="py-lineno"> 322</tt>  <tt class="py-line">                                                <tt class="py-string">" pings failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line">                                <tt class="py-keyword">break</tt> </tt>
+<a name="L324"></a><tt class="py-lineno"> 324</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">startTime</tt> <tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">timeout</tt><tt class="py-op">:</tt> </tt>
+<a name="L325"></a><tt class="py-lineno"> 325</tt>  <tt class="py-line">                            <tt class="py-name">returnValue</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-62', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-63', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L327"></a><tt class="py-lineno"> 327</tt>  <tt class="py-line">                                            <tt class="py-string">": Aborting pingall - "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line">                                            <tt class="py-string">"Function took too long "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L329"></a><tt class="py-lineno"> 329</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
+<a name="L330"></a><tt class="py-lineno"> 330</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-64', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-65', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L332"></a><tt class="py-lineno"> 332</tt>  <tt class="py-line">                                        <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L333"></a><tt class="py-lineno"> 333</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-66', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-67', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line">                                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-68', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-69', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L338"></a><tt class="py-lineno"> 338</tt>  <tt class="py-line">                        <tt class="py-name">response</tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-70', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-71', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L340"></a><tt class="py-lineno"> 340</tt>  <tt class="py-line">                                        <tt class="py-string">": TIMEOUT exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L341"></a><tt class="py-lineno"> 341</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-72', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-73', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line">                                        <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line">                        <tt class="py-comment"># NOTE: Send ctrl-c to make sure pingall is done</tt> </tt>
+<a name="L345"></a><tt class="py-lineno"> 345</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-74', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"\x03"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"Interrupt"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L349"></a><tt class="py-lineno"> 349</tt>  <tt class="py-line">                <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"Results\:"</tt> </tt>
+<a name="L350"></a><tt class="py-lineno"> 350</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-75', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Pingall output: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-76', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Pingall finished with "</tt> </tt>
+<a name="L353"></a><tt class="py-lineno"> 353</tt>  <tt class="py-line">                                   <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">failedPings</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" failed pings"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">returnValue</tt> </tt>
+<a name="L355"></a><tt class="py-lineno"> 355</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line">                    <tt class="py-comment"># NOTE: Send ctrl-c to make sure pingall is done</tt> </tt>
+<a name="L357"></a><tt class="py-lineno"> 357</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-77', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"\x03"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"Interrupt"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L362"></a><tt class="py-lineno"> 362</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-78', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-79', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Connection failed to the host"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-80', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L364"></a><tt class="py-lineno"> 364</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-81', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L365"></a><tt class="py-lineno"> 365</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">:</tt> </tt>
+<a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L367"></a><tt class="py-lineno"> 367</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-82', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Pingall output: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-83', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-84', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": pexpect.TIMEOUT found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-85', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-86', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L372"></a><tt class="py-lineno"> 372</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-87', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-88', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L373"></a><tt class="py-lineno"> 373</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-89', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-90', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.fpingHost"></a><div id="MininetCliDriver.fpingHost-def"><a name="L376"></a><tt class="py-lineno"> 376</tt> <a class="py-toggle" href="#" id="MininetCliDriver.fpingHost-toggle" onclick="return toggle('MininetCliDriver.fpingHost');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#fpingHost">fpingHost</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">pingParams</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.fpingHost-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.fpingHost-expanded"><a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line"><tt class="py-docstring">           Uses the fping package for faster pinging...</tt> </tt>
+<a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line"><tt class="py-docstring">           *requires fping to be installed on machine running mininet"""</tt> </tt>
+<a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.parse_args()=TestON.core.openspeak.OpenSpeak-class.html#parse_args"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-91', 'parse_args', 'link-91');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"SRC"</tt><tt class="py-op">,</tt> <tt class="py-string">"TARGET"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">pingParams</tt> <tt class="py-op">)</tt> </tt>
+<a name="L381"></a><tt class="py-lineno"> 381</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"SRC"</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L382"></a><tt class="py-lineno"> 382</tt>  <tt class="py-line">            <tt class="py-string">" fping -i 100 -t 20 -C 1 -q "</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TARGET"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L383"></a><tt class="py-lineno"> 383</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-92', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">command</tt> <tt class="py-op">)</tt> </tt>
+<a name="L384"></a><tt class="py-lineno"> 384</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> </tt>
+<a name="L385"></a><tt class="py-lineno"> 385</tt>  <tt class="py-line">            <tt class="py-op">[</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TARGET"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L386"></a><tt class="py-lineno"> 386</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"mininet"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">":\s-"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-93', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Ping fail"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L391"></a><tt class="py-lineno"> 391</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">":\s\d{1,2}\.\d\d"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L392"></a><tt class="py-lineno"> 392</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-94', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Ping good!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L394"></a><tt class="py-lineno"> 394</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-95', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Install fping on mininet machine... "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L395"></a><tt class="py-lineno"> 395</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-96', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": \n---\n"</tt> <tt class="py-op">+</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L396"></a><tt class="py-lineno"> 396</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.pingallHosts"></a><div id="MininetCliDriver.pingallHosts-def"><a name="L398"></a><tt class="py-lineno"> 398</tt> <a class="py-toggle" href="#" id="MininetCliDriver.pingallHosts-toggle" onclick="return toggle('MininetCliDriver.pingallHosts');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingallHosts">pingallHosts</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hostList</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.pingallHosts-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.pingallHosts-expanded"><a name="L399"></a><tt class="py-lineno"> 399</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line"><tt class="py-docstring">            Ping all specified IPv4 hosts</tt> </tt>
+<a name="L401"></a><tt class="py-lineno"> 401</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L402"></a><tt class="py-lineno"> 402</tt>  <tt class="py-line"><tt class="py-docstring">            Acceptable hostList:</tt> </tt>
+<a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line"><tt class="py-docstring">                - [ 'h1','h2','h3','h4' ]</tt> </tt>
+<a name="L404"></a><tt class="py-lineno"> 404</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L405"></a><tt class="py-lineno"> 405</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.TRUE if all hosts specified can reach</tt> </tt>
+<a name="L406"></a><tt class="py-lineno"> 406</tt>  <tt class="py-line"><tt class="py-docstring">            each other</tt> </tt>
+<a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L408"></a><tt class="py-lineno"> 408</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.FALSE if one or more of hosts specified</tt> </tt>
+<a name="L409"></a><tt class="py-lineno"> 409</tt>  <tt class="py-line"><tt class="py-docstring">            cannot reach each other"""</tt> </tt>
+<a name="L410"></a><tt class="py-lineno"> 410</tt>  <tt class="py-line"> </tt>
+<a name="L411"></a><tt class="py-lineno"> 411</tt>  <tt class="py-line">        <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">" ping -c 1 -i 1 -W 8 "</tt> </tt>
+<a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line"> </tt>
+<a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-97', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Testing reachability between specified hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line"> </tt>
+<a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line">            <tt class="py-name">isReachable</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line"> </tt>
+<a name="L418"></a><tt class="py-lineno"> 418</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">host</tt> <tt class="py-keyword">in</tt> <tt class="py-name">hostList</tt><tt class="py-op">:</tt> </tt>
+<a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line">                <tt class="py-name">listIndex</tt> <tt class="py-op">=</tt> <tt class="py-name">hostList</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> </tt>
+<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line">                <tt class="py-comment"># List of hosts to ping other than itself</tt> </tt>
+<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line">                <tt class="py-name">pingList</tt> <tt class="py-op">=</tt> <tt class="py-name">hostList</tt><tt class="py-op">[</tt> <tt class="py-op">:</tt><tt class="py-name">listIndex</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L422"></a><tt class="py-lineno"> 422</tt>  <tt class="py-line">                    <tt class="py-name">hostList</tt><tt class="py-op">[</tt> <tt class="py-op">(</tt> <tt class="py-name">listIndex</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-op">]</tt> </tt>
+<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line"> </tt>
+<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">temp</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pingList</tt><tt class="py-op">:</tt> </tt>
+<a name="L425"></a><tt class="py-lineno"> 425</tt>  <tt class="py-line">                    <tt class="py-comment"># Current host pings all other hosts specified</tt> </tt>
+<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line">                    <tt class="py-name">pingCmd</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">cmd</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">temp</tt> <tt class="py-op">)</tt> </tt>
+<a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-98', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">pingCmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L428"></a><tt class="py-lineno"> 428</tt>  <tt class="py-line">                    <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-name">pingCmd</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line">                    <tt class="py-name">j</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line">                    <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">',\s0\%\spacket\sloss'</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-99', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" -&gt; "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">temp</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-100', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" -&gt; X ("</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">temp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">") "</tt> </tt>
+<a name="L436"></a><tt class="py-lineno"> 436</tt>  <tt class="py-line">                            <tt class="py-string">" Destination Unreachable"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line">                        <tt class="py-comment"># One of the host to host pair is unreachable</tt> </tt>
+<a name="L438"></a><tt class="py-lineno"> 438</tt>  <tt class="py-line">                        <tt class="py-name">isReachable</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L439"></a><tt class="py-lineno"> 439</tt>  <tt class="py-line"> </tt>
+<a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">isReachable</tt> </tt>
+<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line"> </tt>
+<a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-101', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-102', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L444"></a><tt class="py-lineno"> 444</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-103', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-104', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-105', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L446"></a><tt class="py-lineno"> 446</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-106', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L447"></a><tt class="py-lineno"> 447</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.pingIpv6Hosts"></a><div id="MininetCliDriver.pingIpv6Hosts-def"><a name="L448"></a><tt class="py-lineno"> 448</tt> <a class="py-toggle" href="#" id="MininetCliDriver.pingIpv6Hosts-toggle" onclick="return toggle('MininetCliDriver.pingIpv6Hosts');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingIpv6Hosts">pingIpv6Hosts</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hostList</tt><tt class="py-op">,</tt> <tt class="py-param">prefix</tt><tt class="py-op">=</tt><tt class="py-string">'1000::'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.pingIpv6Hosts-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.pingIpv6Hosts-expanded"><a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line"><tt class="py-docstring">           IPv6 ping all hosts in hostList. If no prefix passed this will use</tt> </tt>
+<a name="L451"></a><tt class="py-lineno"> 451</tt>  <tt class="py-line"><tt class="py-docstring">           default prefix of 1000::</tt> </tt>
+<a name="L452"></a><tt class="py-lineno"> 452</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L453"></a><tt class="py-lineno"> 453</tt>  <tt class="py-line"><tt class="py-docstring">           Returns main.TRUE if all hosts specified can reach each other</tt> </tt>
+<a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line"><tt class="py-docstring">           Returns main.FALSE if one or more of hosts specified cannot reach each other </tt> </tt>
+<a name="L456"></a><tt class="py-lineno"> 456</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-107', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Testing reachability between specified IPv6 hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line">            <tt class="py-name">isReachable</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">" ping6 -c 1 -i 1 -W 8 "</tt> </tt>
+<a name="L461"></a><tt class="py-lineno"> 461</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">host</tt> <tt class="py-keyword">in</tt> <tt class="py-name">hostList</tt><tt class="py-op">:</tt> </tt>
+<a name="L462"></a><tt class="py-lineno"> 462</tt>  <tt class="py-line">                <tt class="py-name">listIndex</tt> <tt class="py-op">=</tt> <tt class="py-name">hostList</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> </tt>
+<a name="L463"></a><tt class="py-lineno"> 463</tt>  <tt class="py-line">                <tt class="py-comment"># List of hosts to ping other than itself</tt> </tt>
+<a name="L464"></a><tt class="py-lineno"> 464</tt>  <tt class="py-line">                <tt class="py-name">pingList</tt> <tt class="py-op">=</tt> <tt class="py-name">hostList</tt><tt class="py-op">[</tt> <tt class="py-op">:</tt><tt class="py-name">listIndex</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line">                    <tt class="py-name">hostList</tt><tt class="py-op">[</tt> <tt class="py-op">(</tt> <tt class="py-name">listIndex</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-op">]</tt> </tt>
+<a name="L466"></a><tt class="py-lineno"> 466</tt>  <tt class="py-line"> </tt>
+<a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">temp</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pingList</tt><tt class="py-op">:</tt> </tt>
+<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line">                    <tt class="py-comment"># Current host pings all other hosts specified</tt> </tt>
+<a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line">                    <tt class="py-name">pingCmd</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">cmd</tt> <tt class="py-op">+</tt> <tt class="py-name">prefix</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">temp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line">                    <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-name">pingCmd</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L471"></a><tt class="py-lineno"> 471</tt>  <tt class="py-line">                    <tt class="py-name">j</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L472"></a><tt class="py-lineno"> 472</tt>  <tt class="py-line">                    <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L473"></a><tt class="py-lineno"> 473</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">',\s0\%\spacket\sloss'</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-108', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" -&gt; "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">temp</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L476"></a><tt class="py-lineno"> 476</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-109', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" -&gt; X ("</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">temp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">") "</tt> </tt>
+<a name="L478"></a><tt class="py-lineno"> 478</tt>  <tt class="py-line">                            <tt class="py-string">" Destination Unreachable"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L479"></a><tt class="py-lineno"> 479</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-110', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-111', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Response from Mininet: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line">                        <tt class="py-comment"># One of the host to host pair is unreachable</tt> </tt>
+<a name="L481"></a><tt class="py-lineno"> 481</tt>  <tt class="py-line">                        <tt class="py-name">isReachable</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">isReachable</tt> </tt>
+<a name="L483"></a><tt class="py-lineno"> 483</tt>  <tt class="py-line"> </tt>
+<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L485"></a><tt class="py-lineno"> 485</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-112', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-113', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-114', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-115', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-116', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-117', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.pingHost"></a><div id="MininetCliDriver.pingHost-def"><a name="L490"></a><tt class="py-lineno"> 490</tt> <a class="py-toggle" href="#" id="MininetCliDriver.pingHost-toggle" onclick="return toggle('MininetCliDriver.pingHost');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingHost">pingHost</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">pingParams</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.pingHost-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.pingHost-expanded"><a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line"><tt class="py-docstring">           Ping from one mininet host to another</tt> </tt>
+<a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line"><tt class="py-docstring">           Currently the only supported Params: SRC and TARGET"""</tt> </tt>
+<a name="L494"></a><tt class="py-lineno"> 494</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-118', 'parse_args', 'link-91');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"SRC"</tt><tt class="py-op">,</tt> <tt class="py-string">"TARGET"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">pingParams</tt> <tt class="py-op">)</tt> </tt>
+<a name="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"SRC"</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" ping "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line">            <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TARGET"</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" -c 1 -i 1 -W 8"</tt> </tt>
+<a name="L497"></a><tt class="py-lineno"> 497</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-119', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Sending: "</tt> <tt class="py-op">+</tt> <tt class="py-name">command</tt> <tt class="py-op">)</tt> </tt>
+<a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-120', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">command</tt> <tt class="py-op">)</tt> </tt>
+<a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-name">command</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-121', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-122', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L504"></a><tt class="py-lineno"> 504</tt>  <tt class="py-line">                    <tt class="py-string">": timeout when waiting for response from mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-123', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-124', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"response: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-125', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-126', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L509"></a><tt class="py-lineno"> 509</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line">                    <tt class="py-string">": timeout when waiting for response from mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-127', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-128', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"response: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L512"></a><tt class="py-lineno"> 512</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-129', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-130', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-131', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-132', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-133', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L517"></a><tt class="py-lineno"> 517</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-134', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-135', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Ping Response: "</tt> <tt class="py-op">+</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L519"></a><tt class="py-lineno"> 519</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">',\s0\%\spacket\sloss'</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L520"></a><tt class="py-lineno"> 520</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-136', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": no packets lost, host is reachable"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L521"></a><tt class="py-lineno"> 521</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">lastResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L522"></a><tt class="py-lineno"> 522</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-137', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-138', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line">                <tt class="py-string">": PACKET LOST, HOST IS NOT REACHABLE"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L527"></a><tt class="py-lineno"> 527</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">lastResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.checkIP"></a><div id="MininetCliDriver.checkIP-def"><a name="L530"></a><tt class="py-lineno"> 530</tt> <a class="py-toggle" href="#" id="MininetCliDriver.checkIP-toggle" onclick="return toggle('MininetCliDriver.checkIP');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkIP">checkIP</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">host</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.checkIP-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.checkIP-expanded"><a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L532"></a><tt class="py-lineno"> 532</tt>  <tt class="py-line"><tt class="py-docstring">           Verifies the host's ip configured or not."""</tt> </tt>
+<a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L534"></a><tt class="py-lineno"> 534</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L535"></a><tt class="py-lineno"> 535</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-139', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">host</tt> <tt class="py-op">+</tt> </tt>
+<a name="L537"></a><tt class="py-lineno"> 537</tt>  <tt class="py-line">                    <tt class="py-string">" ifconfig"</tt><tt class="py-op">,</tt> </tt>
+<a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line">                    <tt id="link-140" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-140', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line">                    <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-141', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-142', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L542"></a><tt class="py-lineno"> 542</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-143', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-144', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-145', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-146', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line"> </tt>
+<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line">            <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"inet\s(addr|Mask):([0-1]{1}[0-9]{1,2}|"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line">                <tt class="py-string">"2[0-4][0-9]|25[0-5]|[0-9]{1,2}).([0-1]{1}"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line">                <tt class="py-string">"[0-9]{1,2}|2[0-4][0-9]|25[0-5]|[0-9]{1,2})."</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line">                <tt class="py-string">"([0-1]{1}[0-9]{1,2}|2[0-4][0-9]|25[0-5]|"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">                <tt class="py-string">"[0-9]{1,2}).([0-1]{1}[0-9]{1,2}|2[0-4]"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line">                <tt class="py-string">"[0-9]|25[0-5]|[0-9]{1,2})"</tt> </tt>
+<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">            <tt class="py-comment"># pattern = "inet addr:10.0.0.6"</tt> </tt>
+<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-147', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Host Ip configured properly"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-148', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-149', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Host IP not found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-150', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-151', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Connection failed to the host"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.verifySSH"></a><div id="MininetCliDriver.verifySSH-def"><a name="L562"></a><tt class="py-lineno"> 562</tt> <a class="py-toggle" href="#" id="MininetCliDriver.verifySSH-toggle" onclick="return toggle('MininetCliDriver.verifySSH');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#verifySSH">verifySSH</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.verifySSH-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.verifySSH-expanded"><a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: Who uses this and what is the purpose? seems very specific</tt> </tt>
+<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-152', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"h1 /usr/sbin/sshd -D&amp;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line">                <tt id="link-153" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-153', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-154', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L570"></a><tt class="py-lineno"> 570</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"h4 /usr/sbin/sshd -D&amp;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line">                <tt id="link-155" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-155', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line">                <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-156', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"xterm h1 h4 "</tt><tt class="py-op">,</tt> </tt>
+<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line">                <tt id="link-157" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-157', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L580"></a><tt class="py-lineno"> 580</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-158', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-159', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-160', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-161', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-162', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-163', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">20</tt> <tt class="py-op">)</tt> </tt>
+<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.moveHost"></a><div id="MininetCliDriver.moveHost-def"><a name="L592"></a><tt class="py-lineno"> 592</tt> <a class="py-toggle" href="#" id="MininetCliDriver.moveHost-toggle" onclick="return toggle('MininetCliDriver.moveHost');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#moveHost">moveHost</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">host</tt><tt class="py-op">,</tt> <tt class="py-param">oldSw</tt><tt class="py-op">,</tt> <tt class="py-param">newSw</tt><tt class="py-op">,</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.moveHost-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.moveHost-expanded"><a name="L593"></a><tt class="py-lineno"> 593</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line"><tt class="py-docstring">           Moves a host from one switch to another on the fly</tt> </tt>
+<a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line"><tt class="py-docstring">           Note: The intf between host and oldSw when detached</tt> </tt>
+<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line"><tt class="py-docstring">                using detach(), will still show up in the 'net'</tt> </tt>
+<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line"><tt class="py-docstring">                cmd, because switch.detach() doesn't affect switch.intfs[]</tt> </tt>
+<a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line"><tt class="py-docstring">                ( which is correct behavior since the interfaces</tt> </tt>
+<a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line"><tt class="py-docstring">                haven't moved ).</tt> </tt>
+<a name="L600"></a><tt class="py-lineno"> 600</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line">                <tt class="py-comment"># Bring link between oldSw-host down</tt> </tt>
+<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"py net.configLinkStatus('"</tt> <tt class="py-op">+</tt> <tt class="py-name">oldSw</tt> <tt class="py-op">+</tt> <tt class="py-string">"',"</tt> <tt class="py-op">+</tt> <tt class="py-string">"'"</tt> <tt class="py-op">+</tt> <tt class="py-name">host</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line">                      <tt class="py-string">"',"</tt> <tt class="py-op">+</tt> <tt class="py-string">"'down')"</tt> </tt>
+<a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"cmd1= "</tt><tt class="py-op">,</tt> <tt class="py-name">cmd</tt> </tt>
+<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-164', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">cmd</tt><tt class="py-op">,</tt> </tt>
+<a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line">                                         <tt id="link-165" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-165', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line">                                         <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L610"></a><tt class="py-lineno"> 610</tt>  <tt class="py-line"> </tt>
+<a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line">                <tt class="py-comment"># Determine hostintf and Oldswitchintf</tt> </tt>
+<a name="L612"></a><tt class="py-lineno"> 612</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"px hintf,sintf = "</tt> <tt class="py-op">+</tt> <tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-string">".connectionsTo("</tt> <tt class="py-op">+</tt> <tt class="py-name">oldSw</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line">                      <tt class="py-string">")[0]"</tt> </tt>
+<a name="L614"></a><tt class="py-lineno"> 614</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"cmd2= "</tt><tt class="py-op">,</tt> <tt class="py-name">cmd</tt> </tt>
+<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-166', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L616"></a><tt class="py-lineno"> 616</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line"> </tt>
+<a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">                <tt class="py-comment"># Determine ip and mac address of the host-oldSw interface</tt> </tt>
+<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"px ipaddr = hintf.IP()"</tt> </tt>
+<a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"cmd3= "</tt><tt class="py-op">,</tt> <tt class="py-name">cmd</tt> </tt>
+<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-167', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line"> </tt>
+<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"px macaddr = hintf.MAC()"</tt> </tt>
+<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"cmd3= "</tt><tt class="py-op">,</tt> <tt class="py-name">cmd</tt> </tt>
+<a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-168', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L627"></a><tt class="py-lineno"> 627</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line"> </tt>
+<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line">                <tt class="py-comment"># Detach interface between oldSw-host</tt> </tt>
+<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"px "</tt> <tt class="py-op">+</tt> <tt class="py-name">oldSw</tt> <tt class="py-op">+</tt> <tt class="py-string">".detach( sintf )"</tt> </tt>
+<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"cmd4= "</tt><tt class="py-op">,</tt> <tt class="py-name">cmd</tt> </tt>
+<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-169', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L634"></a><tt class="py-lineno"> 634</tt>  <tt class="py-line"> </tt>
+<a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line">                <tt class="py-comment"># Add link between host-newSw</tt> </tt>
+<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"py net.addLink("</tt> <tt class="py-op">+</tt> <tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> <tt class="py-op">+</tt> <tt class="py-name">newSw</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt>
+<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"cmd5= "</tt><tt class="py-op">,</tt> <tt class="py-name">cmd</tt> </tt>
+<a name="L638"></a><tt class="py-lineno"> 638</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-170', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line"> </tt>
+<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line">                <tt class="py-comment"># Determine hostintf and Newswitchintf</tt> </tt>
+<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"px hintf,sintf = "</tt> <tt class="py-op">+</tt> <tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-string">".connectionsTo("</tt> <tt class="py-op">+</tt> <tt class="py-name">newSw</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line">                      <tt class="py-string">")[0]"</tt> </tt>
+<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"cmd6= "</tt><tt class="py-op">,</tt> <tt class="py-name">cmd</tt> </tt>
+<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-171', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line"> </tt>
+<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line">                <tt class="py-comment"># Attach interface between newSw-host</tt> </tt>
+<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"px "</tt> <tt class="py-op">+</tt> <tt class="py-name">newSw</tt> <tt class="py-op">+</tt> <tt class="py-string">".attach( sintf )"</tt> </tt>
+<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"cmd3= "</tt><tt class="py-op">,</tt> <tt class="py-name">cmd</tt> </tt>
+<a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-172', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L653"></a><tt class="py-lineno"> 653</tt>  <tt class="py-line"> </tt>
+<a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line">                <tt class="py-comment"># Set ipaddress of the host-newSw interface</tt> </tt>
+<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"px "</tt> <tt class="py-op">+</tt> <tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-string">".setIP( ip = ipaddr, intf = hintf)"</tt> </tt>
+<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"cmd7 = "</tt><tt class="py-op">,</tt> <tt class="py-name">cmd</tt> </tt>
+<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-173', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line"> </tt>
+<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line">                <tt class="py-comment"># Set macaddress of the host-newSw interface</tt> </tt>
+<a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"px "</tt> <tt class="py-op">+</tt> <tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-string">".setMAC( mac = macaddr, intf = hintf)"</tt> </tt>
+<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"cmd8 = "</tt><tt class="py-op">,</tt> <tt class="py-name">cmd</tt> </tt>
+<a name="L663"></a><tt class="py-lineno"> 663</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-174', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line"> </tt>
+<a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"net"</tt> </tt>
+<a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"cmd9 = "</tt><tt class="py-op">,</tt> <tt class="py-name">cmd</tt> </tt>
+<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-175', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"output = "</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line"> </tt>
+<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line">                <tt class="py-comment"># Determine ipaddress of the host-newSw interface</tt> </tt>
+<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-string">" ifconfig"</tt> </tt>
+<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"cmd10= "</tt><tt class="py-op">,</tt> <tt class="py-name">cmd</tt> </tt>
+<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-176', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"ifconfig o/p = "</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line"> </tt>
+<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L680"></a><tt class="py-lineno"> 680</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-177', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-178', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-179', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-180', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.changeIP"></a><div id="MininetCliDriver.changeIP-def"><a name="L685"></a><tt class="py-lineno"> 685</tt> <a class="py-toggle" href="#" id="MininetCliDriver.changeIP-toggle" onclick="return toggle('MininetCliDriver.changeIP');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#changeIP">changeIP</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">host</tt><tt class="py-op">,</tt> <tt class="py-param">intf</tt><tt class="py-op">,</tt> <tt class="py-param">newIP</tt><tt class="py-op">,</tt> <tt class="py-param">newNetmask</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.changeIP-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.changeIP-expanded"><a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line"><tt class="py-docstring">           Changes the ip address of a host on the fly</tt> </tt>
+<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line"><tt class="py-docstring">           Ex: h2 ifconfig h2-eth0 10.0.1.2 netmask 255.255.255.0"""</tt> </tt>
+<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-string">" ifconfig "</tt> <tt class="py-op">+</tt> <tt class="py-name">intf</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L692"></a><tt class="py-lineno"> 692</tt>  <tt class="py-line">                    <tt class="py-name">newIP</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-string">'netmask'</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">newNetmask</tt> </tt>
+<a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-181', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-182', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"response = "</tt> <tt class="py-op">+</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-183', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line">                    <tt class="py-string">"Ip of host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line">                    <tt class="py-name">host</tt> <tt class="py-op">+</tt> </tt>
+<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line">                    <tt class="py-string">" changed to new IP "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line">                    <tt class="py-name">newIP</tt> <tt class="py-op">)</tt> </tt>
+<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-184', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-185', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-186', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-187', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.changeDefaultGateway"></a><div id="MininetCliDriver.changeDefaultGateway-def"><a name="L708"></a><tt class="py-lineno"> 708</tt> <a class="py-toggle" href="#" id="MininetCliDriver.changeDefaultGateway-toggle" onclick="return toggle('MininetCliDriver.changeDefaultGateway');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#changeDefaultGateway">changeDefaultGateway</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">host</tt><tt class="py-op">,</tt> <tt class="py-param">newGW</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.changeDefaultGateway-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.changeDefaultGateway-expanded"><a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line"><tt class="py-docstring">           Changes the default gateway of a host</tt> </tt>
+<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line"><tt class="py-docstring">           Ex: h1 route add default gw 10.0.1.2"""</tt> </tt>
+<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-string">" route add default gw "</tt> <tt class="py-op">+</tt> <tt class="py-name">newGW</tt> </tt>
+<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-188', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-189', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"response = "</tt> <tt class="py-op">+</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-190', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line">                    <tt class="py-string">"Default gateway of host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line">                    <tt class="py-name">host</tt> <tt class="py-op">+</tt> </tt>
+<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">                    <tt class="py-string">" changed to "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line">                    <tt class="py-name">newGW</tt> <tt class="py-op">)</tt> </tt>
+<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-191', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-192', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L727"></a><tt class="py-lineno"> 727</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-193', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-194', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.addStaticMACAddress"></a><div id="MininetCliDriver.addStaticMACAddress-def"><a name="L730"></a><tt class="py-lineno"> 730</tt> <a class="py-toggle" href="#" id="MininetCliDriver.addStaticMACAddress-toggle" onclick="return toggle('MininetCliDriver.addStaticMACAddress');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addStaticMACAddress">addStaticMACAddress</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">host</tt><tt class="py-op">,</tt> <tt class="py-param">GW</tt><tt class="py-op">,</tt> <tt class="py-param">macaddr</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.addStaticMACAddress-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.addStaticMACAddress-expanded"><a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line"><tt class="py-docstring">           Changes the mac address of a gateway host"""</tt> </tt>
+<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line">                <tt class="py-comment"># h1  arp -s 10.0.1.254 00:00:00:00:11:11</tt> </tt>
+<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-string">" arp -s "</tt> <tt class="py-op">+</tt> <tt class="py-name">GW</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">macaddr</tt> </tt>
+<a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-195', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L739"></a><tt class="py-lineno"> 739</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-196', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"response = "</tt> <tt class="py-op">+</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-197', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line">                    <tt class="py-string">"Mac address of gateway "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line">                    <tt class="py-name">GW</tt> <tt class="py-op">+</tt> </tt>
+<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line">                    <tt class="py-string">" changed to "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line">                    <tt class="py-name">macaddr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-198', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-199', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-200', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-201', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.verifyStaticGWandMAC"></a><div id="MininetCliDriver.verifyStaticGWandMAC-def"><a name="L752"></a><tt class="py-lineno"> 752</tt> <a class="py-toggle" href="#" id="MininetCliDriver.verifyStaticGWandMAC-toggle" onclick="return toggle('MininetCliDriver.verifyStaticGWandMAC');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#verifyStaticGWandMAC">verifyStaticGWandMAC</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">host</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.verifyStaticGWandMAC-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.verifyStaticGWandMAC-expanded"><a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line"><tt class="py-docstring">           Verify if the static gateway and mac address assignment"""</tt> </tt>
+<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line">                <tt class="py-comment"># h1  arp -an</tt> </tt>
+<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-string">" arp -an "</tt> </tt>
+<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-202', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-203', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-string">" arp -an = "</tt> <tt class="py-op">+</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-204" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-204', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-205" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-205', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-206', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-207', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.getMacAddress"></a><div id="MininetCliDriver.getMacAddress-def"><a name="L769"></a><tt class="py-lineno"> 769</tt> <a class="py-toggle" href="#" id="MininetCliDriver.getMacAddress-toggle" onclick="return toggle('MininetCliDriver.getMacAddress');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getMacAddress">getMacAddress</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">host</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.getMacAddress-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.getMacAddress-expanded"><a name="L770"></a><tt class="py-lineno"> 770</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line"><tt class="py-docstring">           Verifies the host's ip configured or not."""</tt> </tt>
+<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-208', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">host</tt> <tt class="py-op">+</tt> </tt>
+<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line">                    <tt class="py-string">" ifconfig"</tt><tt class="py-op">,</tt> </tt>
+<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line">                    <tt id="link-209" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-209', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line">                    <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-210" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-210', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-211" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-211', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L781"></a><tt class="py-lineno"> 781</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-212', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-213', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-214', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-215', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line"> </tt>
+<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line">            <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">r'HWaddr\s([0-9A-F]{2}[:-]){5}([0-9A-F]{2})'</tt> </tt>
+<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line">            <tt class="py-name">macAddressSearch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">I</tt> <tt class="py-op">)</tt> </tt>
+<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line">            <tt class="py-name">macAddress</tt> <tt class="py-op">=</tt> <tt class="py-name">macAddressSearch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">" "</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-216', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line">                <tt class="py-string">": Mac-Address of Host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line">                <tt class="py-name">host</tt> <tt class="py-op">+</tt> </tt>
+<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line">                <tt class="py-string">" is "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line">                <tt class="py-name">macAddress</tt> <tt class="py-op">)</tt> </tt>
+<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">macAddress</tt> </tt>
+<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-217', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-218', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Connection failed to the host"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.getInterfaceMACAddress"></a><div id="MininetCliDriver.getInterfaceMACAddress-def"><a name="L798"></a><tt class="py-lineno"> 798</tt> <a class="py-toggle" href="#" id="MininetCliDriver.getInterfaceMACAddress-toggle" onclick="return toggle('MininetCliDriver.getInterfaceMACAddress');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getInterfaceMACAddress">getInterfaceMACAddress</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">host</tt><tt class="py-op">,</tt> <tt class="py-param">interface</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.getInterfaceMACAddress-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.getInterfaceMACAddress-expanded"><a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line"><tt class="py-docstring">           Return the IP address of the interface on the given host"""</tt> </tt>
+<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-219', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-string">" ifconfig "</tt> <tt class="py-op">+</tt> <tt class="py-name">interface</tt><tt class="py-op">,</tt> </tt>
+<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line">                                         <tt id="link-220" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-220', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-221', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-222', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-223" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-223', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-224" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-224', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-225" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-225', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-226', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line"> </tt>
+<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">            <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">r'HWaddr\s([0-9A-F]{2}[:-]){5}([0-9A-F]{2})'</tt> </tt>
+<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line">            <tt class="py-name">macAddressSearch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">I</tt> <tt class="py-op">)</tt> </tt>
+<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">macAddressSearch</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-227', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"No mac address found in %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line">            <tt class="py-name">macAddress</tt> <tt class="py-op">=</tt> <tt class="py-name">macAddressSearch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">" "</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-228', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line">                <tt class="py-string">"Mac-Address of "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line">                <tt class="py-name">host</tt> <tt class="py-op">+</tt> </tt>
+<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">                <tt class="py-string">":"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line">                <tt class="py-name">interface</tt> <tt class="py-op">+</tt> </tt>
+<a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line">                <tt class="py-string">" is "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line">                <tt class="py-name">macAddress</tt> <tt class="py-op">)</tt> </tt>
+<a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">macAddress</tt> </tt>
+<a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-229', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-230" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-230', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Connection failed to the host"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.getIPAddress"></a><div id="MininetCliDriver.getIPAddress-def"><a name="L828"></a><tt class="py-lineno"> 828</tt> <a class="py-toggle" href="#" id="MininetCliDriver.getIPAddress-toggle" onclick="return toggle('MininetCliDriver.getIPAddress');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getIPAddress">getIPAddress</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">host</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.getIPAddress-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.getIPAddress-expanded"><a name="L829"></a><tt class="py-lineno"> 829</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line"><tt class="py-docstring">           Verifies the host's ip configured or not."""</tt> </tt>
+<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-231" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-231', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">host</tt> <tt class="py-op">+</tt> </tt>
+<a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line">                    <tt class="py-string">" ifconfig"</tt><tt class="py-op">,</tt> </tt>
+<a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line">                    <tt id="link-232" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-232', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line">                    <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-233', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-234" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-234', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-235', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-236" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-236', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-237', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-238', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line"> </tt>
+<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line">            <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"inet\saddr:(\d+\.\d+\.\d+\.\d+)"</tt> </tt>
+<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line">            <tt class="py-name">ipAddressSearch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-239" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-239', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line">                <tt class="py-string">": IP-Address of Host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line">                <tt class="py-name">host</tt> <tt class="py-op">+</tt> </tt>
+<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line">                <tt class="py-string">" is "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line">                <tt class="py-name">ipAddressSearch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">ipAddressSearch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-240" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-240', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-241" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-241', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Connection failed to the host"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.getSwitchDPID"></a><div id="MininetCliDriver.getSwitchDPID-def"><a name="L856"></a><tt class="py-lineno"> 856</tt> <a class="py-toggle" href="#" id="MininetCliDriver.getSwitchDPID-toggle" onclick="return toggle('MininetCliDriver.getSwitchDPID');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitchDPID">getSwitchDPID</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">switch</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.getSwitchDPID-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.getSwitchDPID-expanded"><a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line"><tt class="py-docstring">           return the datapath ID of the switch"""</tt> </tt>
+<a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"py %s.dpid"</tt> <tt class="py-op">%</tt> <tt class="py-name">switch</tt> </tt>
+<a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-242', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">cmd</tt><tt class="py-op">,</tt> </tt>
+<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">                    <tt id="link-243" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-243', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line">                    <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-244', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-245" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-245', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-246" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-246', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-247" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-247', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-248', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-249" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-249', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line">            <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">r'^(?P&lt;dpid&gt;\w)+'</tt> </tt>
+<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">MULTILINE</tt> <tt class="py-op">)</tt> </tt>
+<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L874"></a><tt class="py-lineno"> 874</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-250" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-250', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line">                    <tt class="py-string">"Couldn't find DPID for switch %s, found: %s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L876"></a><tt class="py-lineno"> 876</tt>  <tt class="py-line">                    <tt class="py-op">(</tt> <tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-251" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-251', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-252" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-252', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Connection failed to the host"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.getDPID"></a><div id="MininetCliDriver.getDPID-def"><a name="L882"></a><tt class="py-lineno"> 882</tt> <a class="py-toggle" href="#" id="MininetCliDriver.getDPID-toggle" onclick="return toggle('MininetCliDriver.getDPID');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getDPID">getDPID</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">switch</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.getDPID-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.getDPID-expanded"><a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-253" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-253', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"py %s.dpid"</tt> <tt class="py-op">%</tt> <tt class="py-name">switch</tt> </tt>
+<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-254" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-254', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">cmd</tt><tt class="py-op">,</tt> </tt>
+<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line">                    <tt id="link-255" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-255', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line">                    <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-256" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-256', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-257" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-257', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-258" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-258', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-259" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-259', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-260" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-260', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-261" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-261', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.getInterfaces"></a><div id="MininetCliDriver.getInterfaces-def"><a name="L901"></a><tt class="py-lineno"> 901</tt> <a class="py-toggle" href="#" id="MininetCliDriver.getInterfaces-toggle" onclick="return toggle('MininetCliDriver.getInterfaces');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getInterfaces">getInterfaces</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">node</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.getInterfaces-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.getInterfaces-expanded"><a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line"><tt class="py-docstring">           return information dict about interfaces connected to the node"""</tt> </tt>
+<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">'py "\\n".join(["name=%s,mac=%s,ip=%s,enabled=%s"'</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L906"></a><tt class="py-lineno"> 906</tt>  <tt class="py-line">                <tt class="py-string">' % (i.name, i.MAC(), i.IP(), i.isUp())'</tt> </tt>
+<a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">' for i in %s.intfs.values()])'</tt> <tt class="py-op">%</tt> <tt class="py-name">node</tt> </tt>
+<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-262', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">cmd</tt><tt class="py-op">,</tt> </tt>
+<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line">                    <tt id="link-263" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-263', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line">                    <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-264" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-264', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-265" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-265', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-266" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-266', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-267" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-267', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-268" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-268', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-269" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-269', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+<a name="L919"></a><tt class="py-lineno"> 919</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-270" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-270', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-271" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-271', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Connection failed to the node"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.dump"></a><div id="MininetCliDriver.dump-def"><a name="L922"></a><tt class="py-lineno"> 922</tt> <a class="py-toggle" href="#" id="MininetCliDriver.dump-toggle" onclick="return toggle('MininetCliDriver.dump');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#dump">dump</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.dump-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.dump-expanded"><a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-272" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-272', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Dump node info"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-273" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-273', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">'dump'</tt><tt class="py-op">,</tt> </tt>
+<a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line">                <tt id="link-274" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-274', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">'mininet&gt;'</tt><tt class="py-op">,</tt> </tt>
+<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-275" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-275', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-276" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-276', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-277" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-277', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-278" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-278', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-279" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-279', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-280" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-280', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+</div><a name="L935"></a><tt class="py-lineno"> 935</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.intfs"></a><div id="MininetCliDriver.intfs-def"><a name="L936"></a><tt class="py-lineno"> 936</tt> <a class="py-toggle" href="#" id="MininetCliDriver.intfs-toggle" onclick="return toggle('MininetCliDriver.intfs');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#intfs">intfs</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.intfs-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.intfs-expanded"><a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-281" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-281', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": List interfaces"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-282', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">'intfs'</tt><tt class="py-op">,</tt> </tt>
+<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line">                <tt id="link-283" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-283', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">'mininet&gt;'</tt><tt class="py-op">,</tt> </tt>
+<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-284" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-284', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-285" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-285', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-286" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-286', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-287" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-287', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-288', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L947"></a><tt class="py-lineno"> 947</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-289" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-289', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+</div><a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.net"></a><div id="MininetCliDriver.net-def"><a name="L950"></a><tt class="py-lineno"> 950</tt> <a class="py-toggle" href="#" id="MininetCliDriver.net-toggle" onclick="return toggle('MininetCliDriver.net');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#net">net</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.net-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.net-expanded"><a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-290" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-290', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": List network connections"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-291" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-291', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">'net'</tt><tt class="py-op">,</tt> <tt id="link-292" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-292', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">'mininet&gt;'</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-293" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-293', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-294" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-294', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-295" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-295', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-296" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-296', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-297" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-297', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-298" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-298', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+</div><a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.links"></a><div id="MininetCliDriver.links-def"><a name="L961"></a><tt class="py-lineno"> 961</tt> <a class="py-toggle" href="#" id="MininetCliDriver.links-toggle" onclick="return toggle('MininetCliDriver.links');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#links">links</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.links-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.links-expanded"><a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-299" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-299', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": List network links"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L963"></a><tt class="py-lineno"> 963</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-300" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-300', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">'links'</tt><tt class="py-op">,</tt> <tt id="link-301" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-301', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">'mininet&gt;'</tt><tt class="py-op">,</tt> </tt>
+<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line">                                     <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-302" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-302', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-303" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-303', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-304" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-304', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-305" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-305', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L969"></a><tt class="py-lineno"> 969</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-306" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-306', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-307', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+</div><a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.iperftcpAll"></a><div id="MininetCliDriver.iperftcpAll-def"><a name="L973"></a><tt class="py-lineno"> 973</tt> <a class="py-toggle" href="#" id="MininetCliDriver.iperftcpAll-toggle" onclick="return toggle('MininetCliDriver.iperftcpAll');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperftcpAll">iperftcpAll</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hosts</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">=</tt><tt class="py-number">6</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.iperftcpAll-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.iperftcpAll-expanded"><a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line"><tt class="py-docstring">        Runs the iperftcp function with a given set of hosts and specified timeout.</tt> </tt>
+<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line"><tt class="py-docstring">        @parm:</tt> </tt>
+<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line"><tt class="py-docstring">            timeout: The defualt timeout is 6 sec to allow enough time for a successful test to complete,</tt> </tt>
+<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line"><tt class="py-docstring">             and short enough to stop an unsuccessful test from quiting and cleaning up mininet.</tt> </tt>
+<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">host1</tt> <tt class="py-keyword">in</tt> <tt id="link-308" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#hosts,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#hosts"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-308', 'hosts', 'link-308');">hosts</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">host2</tt> <tt class="py-keyword">in</tt> <tt id="link-309" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-309', 'hosts', 'link-308');">hosts</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">host1</tt> <tt class="py-op">!=</tt> <tt class="py-name">host2</tt><tt class="py-op">:</tt> </tt>
+<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-310" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.iperftcp()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperftcp"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.iperftcp" class="py-name" href="#" onclick="return doclink('link-310', 'iperftcp', 'link-310');">iperftcp</a></tt><tt class="py-op">(</tt><tt class="py-name">host1</tt><tt class="py-op">,</tt> <tt class="py-name">host2</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-311" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-311', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-312" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-312', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": iperftcp test failed for "</tt> <tt class="py-op">+</tt> <tt class="py-name">host1</tt> <tt class="py-op">+</tt> <tt class="py-string">" and "</tt> <tt class="py-op">+</tt> <tt class="py-name">host2</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.iperftcp"></a><div id="MininetCliDriver.iperftcp-def"><a name="L987"></a><tt class="py-lineno"> 987</tt> <a class="py-toggle" href="#" id="MininetCliDriver.iperftcp-toggle" onclick="return toggle('MininetCliDriver.iperftcp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperftcp">iperftcp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">host1</tt><tt class="py-op">=</tt><tt class="py-string">"h1"</tt><tt class="py-op">,</tt> <tt class="py-param">host2</tt><tt class="py-op">=</tt><tt class="py-string">"h2"</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">=</tt><tt class="py-number">6</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.iperftcp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.iperftcp-expanded"><a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line"><tt class="py-docstring">        Creates an iperf TCP test between two hosts. Returns main.TRUE if test results</tt> </tt>
+<a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line"><tt class="py-docstring">        are valid.</tt> </tt>
+<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line"><tt class="py-docstring">        @parm:</tt> </tt>
+<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line"><tt class="py-docstring">            timeout: The defualt timeout is 6 sec to allow enough time for a successful test to complete,</tt> </tt>
+<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line"><tt class="py-docstring">             and short enough to stop an unsuccessful test from quiting and cleaning up mininet.</tt> </tt>
+<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-313" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-313', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Simple iperf TCP test between two hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line">            <tt class="py-comment"># Setup the mininet command</tt> </tt>
+<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line">            <tt class="py-name">cmd1</tt> <tt class="py-op">=</tt> <tt class="py-string">'iperf '</tt> <tt class="py-op">+</tt> <tt class="py-name">host1</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">host2</tt> </tt>
+<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-314" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-314', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line">            <tt class="py-name">outcome</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line"> </tt>
+<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line">            <tt class="py-comment"># checks if there are results in the mininet response</tt> </tt>
+<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"Results:"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-315" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-315', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt>  <tt class="py-string">": iperf test completed"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line">                <tt class="py-comment"># parse the mn results</tt> </tt>
+<a name="L1008"></a><tt class="py-lineno">1008</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\r\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">response</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">": "</tt><tt class="py-op">)</tt> </tt>
+<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">response</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"["</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"]"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"\'"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line"> </tt>
+<a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line">                <tt class="py-comment"># this is the bandwith two and from the two hosts</tt> </tt>
+<a name="L1017"></a><tt class="py-lineno">1017</tt>  <tt class="py-line">                <tt class="py-name">bandwidth</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">", "</tt><tt class="py-op">)</tt> </tt>
+<a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line"> </tt>
+<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line">                <tt class="py-comment"># there should be two elements in the bandwidth list</tt> </tt>
+<a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line">                <tt class="py-comment"># ['host1 to host2', 'host2 to host1"]</tt> </tt>
+<a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">bandwidth</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L1022"></a><tt class="py-lineno">1022</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-316" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-316', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": iperf test successful"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1023"></a><tt class="py-lineno">1023</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1024"></a><tt class="py-lineno">1024</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-317" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-317', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-318" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-318', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": invalid iperf results"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-319" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-319', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-320" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-320', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": iperf test failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line"> </tt>
+<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">:</tt> </tt>
+<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-321" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-321', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-322', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": TIMEOUT exception found"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-323" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-323', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-324" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-324', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Exception: Cannot connect to iperf on port 5001"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1035"></a><tt class="py-lineno">1035</tt>  <tt class="py-line"> </tt>
+<a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-325" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-325', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-326" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-326', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-327" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-327', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-328" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-328', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-329" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-329', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-330" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-330', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.iperfudpAll"></a><div id="MininetCliDriver.iperfudpAll-def"><a name="L1042"></a><tt class="py-lineno">1042</tt> <a class="py-toggle" href="#" id="MininetCliDriver.iperfudpAll-toggle" onclick="return toggle('MininetCliDriver.iperfudpAll');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperfudpAll">iperfudpAll</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hosts</tt><tt class="py-op">,</tt> <tt class="py-param">bandwidth</tt><tt class="py-op">=</tt><tt class="py-string">"10M"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.iperfudpAll-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.iperfudpAll-expanded"><a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L1044"></a><tt class="py-lineno">1044</tt>  <tt class="py-line"><tt class="py-docstring">        Runs the iperfudp function with a given set of hosts and specified</tt> </tt>
+<a name="L1045"></a><tt class="py-lineno">1045</tt>  <tt class="py-line"><tt class="py-docstring">        bandwidth</tt> </tt>
+<a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line"><tt class="py-docstring">        @param:</tt> </tt>
+<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line"><tt class="py-docstring">            bandwidth: the targeted bandwidth, in megabits ('M')</tt> </tt>
+<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">host1</tt> <tt class="py-keyword">in</tt> <tt id="link-331" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-331', 'hosts', 'link-308');">hosts</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L1051"></a><tt class="py-lineno">1051</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">host2</tt> <tt class="py-keyword">in</tt> <tt id="link-332" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-332', 'hosts', 'link-308');">hosts</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">host1</tt> <tt class="py-op">!=</tt> <tt class="py-name">host2</tt><tt class="py-op">:</tt> </tt>
+<a name="L1053"></a><tt class="py-lineno">1053</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-333" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.iperfudp()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperfudp"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.iperfudp" class="py-name" href="#" onclick="return doclink('link-333', 'iperfudp', 'link-333');">iperfudp</a></tt><tt class="py-op">(</tt><tt class="py-name">host1</tt><tt class="py-op">,</tt> <tt class="py-name">host2</tt><tt class="py-op">,</tt> <tt class="py-name">bandwidth</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-334" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-334', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-335" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-335', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": iperfudp test failed for "</tt> <tt class="py-op">+</tt> <tt class="py-name">host1</tt> <tt class="py-op">+</tt> <tt class="py-string">" and "</tt> <tt class="py-op">+</tt> <tt class="py-name">host2</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.iperfudp"></a><div id="MininetCliDriver.iperfudp-def"><a name="L1056"></a><tt class="py-lineno">1056</tt> <a class="py-toggle" href="#" id="MininetCliDriver.iperfudp-toggle" onclick="return toggle('MininetCliDriver.iperfudp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperfudp">iperfudp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">bandwidth</tt><tt class="py-op">=</tt><tt class="py-string">"10M"</tt><tt class="py-op">,</tt> <tt class="py-param">host1</tt><tt class="py-op">=</tt><tt class="py-string">"h1"</tt><tt class="py-op">,</tt> <tt class="py-param">host2</tt><tt class="py-op">=</tt><tt class="py-string">"h2"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.iperfudp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.iperfudp-expanded"><a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line"> </tt>
+<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line"><tt class="py-docstring">        Creates an iperf UDP test with a specific bandwidth.</tt> </tt>
+<a name="L1060"></a><tt class="py-lineno">1060</tt>  <tt class="py-line"><tt class="py-docstring">        Returns true if results are valid.</tt> </tt>
+<a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1062"></a><tt class="py-lineno">1062</tt>  <tt class="py-line"><tt class="py-docstring">        @param:</tt> </tt>
+<a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line"><tt class="py-docstring">            bandwidth: the targeted bandwidth, in megabits ('M'), to run the test</tt> </tt>
+<a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L1065"></a><tt class="py-lineno">1065</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-336" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-336', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Simple iperf UDP test between two hosts"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1066"></a><tt class="py-lineno">1066</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1067"></a><tt class="py-lineno">1067</tt>  <tt class="py-line">            <tt class="py-comment"># setup the mininet command</tt> </tt>
+<a name="L1068"></a><tt class="py-lineno">1068</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">'iperfudp '</tt> <tt class="py-op">+</tt> <tt class="py-name">bandwidth</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">host1</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">host2</tt> </tt>
+<a name="L1069"></a><tt class="py-lineno">1069</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-337" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-337', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L1070"></a><tt class="py-lineno">1070</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1071"></a><tt class="py-lineno">1071</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L1072"></a><tt class="py-lineno">1072</tt>  <tt class="py-line"> </tt>
+<a name="L1073"></a><tt class="py-lineno">1073</tt>  <tt class="py-line">            <tt class="py-comment"># check if there are in results in the mininet response</tt> </tt>
+<a name="L1074"></a><tt class="py-lineno">1074</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"Results:"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-338" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-338', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt>  <tt class="py-string">": iperfudp test completed"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1076"></a><tt class="py-lineno">1076</tt>  <tt class="py-line">                <tt class="py-comment"># parse the results</tt> </tt>
+<a name="L1077"></a><tt class="py-lineno">1077</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\r\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">response</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">": "</tt><tt class="py-op">)</tt> </tt>
+<a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">response</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L1081"></a><tt class="py-lineno">1081</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"["</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"]"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"\'"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line"> </tt>
+<a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line">                <tt class="py-name">mnBandwidth</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">", "</tt><tt class="py-op">)</tt> </tt>
+<a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line"> </tt>
+<a name="L1087"></a><tt class="py-lineno">1087</tt>  <tt class="py-line">                <tt class="py-comment"># check to see if there are at least three entries</tt> </tt>
+<a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line">                <tt class="py-comment"># ['bandwidth', 'host1 to host2', 'host2 to host1']</tt> </tt>
+<a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">mnBandwidth</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L1090"></a><tt class="py-lineno">1090</tt>  <tt class="py-line">                    <tt class="py-comment"># if one entry is blank then something is wrong</tt> </tt>
+<a name="L1091"></a><tt class="py-lineno">1091</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mnBandwidth</tt><tt class="py-op">:</tt> </tt>
+<a name="L1092"></a><tt class="py-lineno">1092</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">==</tt> <tt class="py-string">""</tt><tt class="py-op">:</tt> </tt>
+<a name="L1093"></a><tt class="py-lineno">1093</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-339" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-339', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-340" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-340', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Could not parse iperf output"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1094"></a><tt class="py-lineno">1094</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-341" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-341', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-342" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-342', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": invalid iperfudp results"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1095"></a><tt class="py-lineno">1095</tt>  <tt class="py-line">                            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1096"></a><tt class="py-lineno">1096</tt>  <tt class="py-line">                    <tt class="py-comment"># otherwise results are vaild</tt> </tt>
+<a name="L1097"></a><tt class="py-lineno">1097</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-343" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-343', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": iperfudp test successful"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1098"></a><tt class="py-lineno">1098</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1099"></a><tt class="py-lineno">1099</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1100"></a><tt class="py-lineno">1100</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-344" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-344', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-345" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-345', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": invalid iperfudp results"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1101"></a><tt class="py-lineno">1101</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1102"></a><tt class="py-lineno">1102</tt>  <tt class="py-line"> </tt>
+<a name="L1103"></a><tt class="py-lineno">1103</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1104"></a><tt class="py-lineno">1104</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-346" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-346', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-347" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-347', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1105"></a><tt class="py-lineno">1105</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-348" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-348', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-349" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-349', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1106"></a><tt class="py-lineno">1106</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-350" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-350', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1107"></a><tt class="py-lineno">1107</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-351" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-351', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1108"></a><tt class="py-lineno">1108</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.nodes"></a><div id="MininetCliDriver.nodes-def"><a name="L1109"></a><tt class="py-lineno">1109</tt> <a class="py-toggle" href="#" id="MininetCliDriver.nodes-toggle" onclick="return toggle('MininetCliDriver.nodes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#nodes">nodes</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.nodes-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.nodes-expanded"><a name="L1110"></a><tt class="py-lineno">1110</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-352" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-352', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": List all nodes."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1111"></a><tt class="py-lineno">1111</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1112"></a><tt class="py-lineno">1112</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-353" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-353', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1113"></a><tt class="py-lineno">1113</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">'nodes'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1114"></a><tt class="py-lineno">1114</tt>  <tt class="py-line">                <tt id="link-354" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-354', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">'mininet&gt;'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1115"></a><tt class="py-lineno">1115</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1116"></a><tt class="py-lineno">1116</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1117"></a><tt class="py-lineno">1117</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-355" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-355', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-356" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-356', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1118"></a><tt class="py-lineno">1118</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-357" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-357', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-358" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-358', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1119"></a><tt class="py-lineno">1119</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-359" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-359', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1120"></a><tt class="py-lineno">1120</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-360" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-360', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1121"></a><tt class="py-lineno">1121</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+</div><a name="L1122"></a><tt class="py-lineno">1122</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.pingpair"></a><div id="MininetCliDriver.pingpair-def"><a name="L1123"></a><tt class="py-lineno">1123</tt> <a class="py-toggle" href="#" id="MininetCliDriver.pingpair-toggle" onclick="return toggle('MininetCliDriver.pingpair');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingpair">pingpair</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.pingpair-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.pingpair-expanded"><a name="L1124"></a><tt class="py-lineno">1124</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-361" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-361', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Ping between first two hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1125"></a><tt class="py-lineno">1125</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1126"></a><tt class="py-lineno">1126</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-362" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-362', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1127"></a><tt class="py-lineno">1127</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">'pingpair'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1128"></a><tt class="py-lineno">1128</tt>  <tt class="py-line">                <tt id="link-363" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-363', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">'mininet&gt;'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1129"></a><tt class="py-lineno">1129</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">20</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1130"></a><tt class="py-lineno">1130</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1131"></a><tt class="py-lineno">1131</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-364" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-364', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-365" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-365', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1132"></a><tt class="py-lineno">1132</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-366" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-366', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-367" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-367', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1133"></a><tt class="py-lineno">1133</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-368" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-368', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1134"></a><tt class="py-lineno">1134</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-369" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-369', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1135"></a><tt class="py-lineno">1135</tt>  <tt class="py-line"> </tt>
+<a name="L1136"></a><tt class="py-lineno">1136</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">',\s0\%\spacket\sloss'</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1137"></a><tt class="py-lineno">1137</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-370" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-370', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Ping between two hosts SUCCESSFUL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1138"></a><tt class="py-lineno">1138</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">lastResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1139"></a><tt class="py-lineno">1139</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1140"></a><tt class="py-lineno">1140</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1141"></a><tt class="py-lineno">1141</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-371" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-371', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-372" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-372', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": PACKET LOST, HOSTS NOT REACHABLE"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1142"></a><tt class="py-lineno">1142</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">lastResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1143"></a><tt class="py-lineno">1143</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L1144"></a><tt class="py-lineno">1144</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.link"></a><div id="MininetCliDriver.link-def"><a name="L1145"></a><tt class="py-lineno">1145</tt> <a class="py-toggle" href="#" id="MininetCliDriver.link-toggle" onclick="return toggle('MininetCliDriver.link');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#link">link</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">linkargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.link-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.link-expanded"><a name="L1146"></a><tt class="py-lineno">1146</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1147"></a><tt class="py-lineno">1147</tt>  <tt class="py-line"><tt class="py-docstring">           Bring link( s ) between two nodes up or down"""</tt> </tt>
+<a name="L1148"></a><tt class="py-lineno">1148</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-373" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-373', 'parse_args', 'link-91');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"END1"</tt><tt class="py-op">,</tt> <tt class="py-string">"END2"</tt><tt class="py-op">,</tt> <tt class="py-string">"OPTION"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">linkargs</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1149"></a><tt class="py-lineno">1149</tt>  <tt class="py-line">        <tt class="py-name">end1</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"END1"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"END1"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
+<a name="L1150"></a><tt class="py-lineno">1150</tt>  <tt class="py-line">        <tt class="py-name">end2</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"END2"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"END2"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
+<a name="L1151"></a><tt class="py-lineno">1151</tt>  <tt class="py-line">        <tt class="py-name">option</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"OPTION"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"OPTION"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
+<a name="L1152"></a><tt class="py-lineno">1152</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-374" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-374', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L1153"></a><tt class="py-lineno">1153</tt>  <tt class="py-line">            <tt class="py-string">"Bring link between '"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1154"></a><tt class="py-lineno">1154</tt>  <tt class="py-line">            <tt class="py-name">end1</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1155"></a><tt class="py-lineno">1155</tt>  <tt class="py-line">            <tt class="py-string">"' and '"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1156"></a><tt class="py-lineno">1156</tt>  <tt class="py-line">            <tt class="py-name">end2</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1157"></a><tt class="py-lineno">1157</tt>  <tt class="py-line">            <tt class="py-string">"' '"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1158"></a><tt class="py-lineno">1158</tt>  <tt class="py-line">            <tt class="py-name">option</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1159"></a><tt class="py-lineno">1159</tt>  <tt class="py-line">            <tt class="py-string">"'"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1160"></a><tt class="py-lineno">1160</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"link "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L1161"></a><tt class="py-lineno">1161</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">end1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">end2</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">option</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1162"></a><tt class="py-lineno">1162</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1163"></a><tt class="py-lineno">1163</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-375" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-375', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">command</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1164"></a><tt class="py-lineno">1164</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1165"></a><tt class="py-lineno">1165</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1166"></a><tt class="py-lineno">1166</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-376" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-376', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-377" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-377', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1167"></a><tt class="py-lineno">1167</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-378" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-378', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-379" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-379', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1168"></a><tt class="py-lineno">1168</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-380" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-380', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1169"></a><tt class="py-lineno">1169</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-381" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-381', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1170"></a><tt class="py-lineno">1170</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L1171"></a><tt class="py-lineno">1171</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.yank"></a><div id="MininetCliDriver.yank-def"><a name="L1172"></a><tt class="py-lineno">1172</tt> <a class="py-toggle" href="#" id="MininetCliDriver.yank-toggle" onclick="return toggle('MininetCliDriver.yank');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#yank">yank</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">yankargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.yank-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.yank-expanded"><a name="L1173"></a><tt class="py-lineno">1173</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1174"></a><tt class="py-lineno">1174</tt>  <tt class="py-line"><tt class="py-docstring">           yank a mininet switch interface to a host"""</tt> </tt>
+<a name="L1175"></a><tt class="py-lineno">1175</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-382" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-382', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">'Yank the switch interface attached to a host'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1176"></a><tt class="py-lineno">1176</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-383" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-383', 'parse_args', 'link-91');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"SW"</tt><tt class="py-op">,</tt> <tt class="py-string">"INTF"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">yankargs</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1177"></a><tt class="py-lineno">1177</tt>  <tt class="py-line">        <tt class="py-name">sw</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"SW"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"SW"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
+<a name="L1178"></a><tt class="py-lineno">1178</tt>  <tt class="py-line">        <tt class="py-name">intf</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"INTF"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"INTF"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
+<a name="L1179"></a><tt class="py-lineno">1179</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"py "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">'.detach("'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">intf</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">'")'</tt> </tt>
+<a name="L1180"></a><tt class="py-lineno">1180</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1181"></a><tt class="py-lineno">1181</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-384" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-384', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1182"></a><tt class="py-lineno">1182</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L1183"></a><tt class="py-lineno">1183</tt>  <tt class="py-line">                <tt id="link-385" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-385', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1184"></a><tt class="py-lineno">1184</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1185"></a><tt class="py-lineno">1185</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1186"></a><tt class="py-lineno">1186</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-386" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-386', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-387" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-387', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1187"></a><tt class="py-lineno">1187</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-388" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-388', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-389" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-389', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1188"></a><tt class="py-lineno">1188</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-390" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-390', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1189"></a><tt class="py-lineno">1189</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-391" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-391', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1190"></a><tt class="py-lineno">1190</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L1191"></a><tt class="py-lineno">1191</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.plug"></a><div id="MininetCliDriver.plug-def"><a name="L1192"></a><tt class="py-lineno">1192</tt> <a class="py-toggle" href="#" id="MininetCliDriver.plug-toggle" onclick="return toggle('MininetCliDriver.plug');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#plug">plug</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">plugargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.plug-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.plug-expanded"><a name="L1193"></a><tt class="py-lineno">1193</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1194"></a><tt class="py-lineno">1194</tt>  <tt class="py-line"><tt class="py-docstring">           plug the yanked mininet switch interface to a switch"""</tt> </tt>
+<a name="L1195"></a><tt class="py-lineno">1195</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-392" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-392', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">'Plug the switch interface attached to a switch'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1196"></a><tt class="py-lineno">1196</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-393" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-393', 'parse_args', 'link-91');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"SW"</tt><tt class="py-op">,</tt> <tt class="py-string">"INTF"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">plugargs</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1197"></a><tt class="py-lineno">1197</tt>  <tt class="py-line">        <tt class="py-name">sw</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"SW"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"SW"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
+<a name="L1198"></a><tt class="py-lineno">1198</tt>  <tt class="py-line">        <tt class="py-name">intf</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"INTF"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"INTF"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
+<a name="L1199"></a><tt class="py-lineno">1199</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"py "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">'.attach("'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">intf</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">'")'</tt> </tt>
+<a name="L1200"></a><tt class="py-lineno">1200</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1201"></a><tt class="py-lineno">1201</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-394" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-394', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1202"></a><tt class="py-lineno">1202</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L1203"></a><tt class="py-lineno">1203</tt>  <tt class="py-line">                <tt id="link-395" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-395', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1204"></a><tt class="py-lineno">1204</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1205"></a><tt class="py-lineno">1205</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1206"></a><tt class="py-lineno">1206</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-396" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-396', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-397" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-397', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1207"></a><tt class="py-lineno">1207</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-398" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-398', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-399" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-399', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1208"></a><tt class="py-lineno">1208</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-400" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-400', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1209"></a><tt class="py-lineno">1209</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-401" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-401', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1210"></a><tt class="py-lineno">1210</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L1211"></a><tt class="py-lineno">1211</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.dpctl"></a><div id="MininetCliDriver.dpctl-def"><a name="L1212"></a><tt class="py-lineno">1212</tt> <a class="py-toggle" href="#" id="MininetCliDriver.dpctl-toggle" onclick="return toggle('MininetCliDriver.dpctl');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#dpctl">dpctl</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">dpctlargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.dpctl-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.dpctl-expanded"><a name="L1213"></a><tt class="py-lineno">1213</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1214"></a><tt class="py-lineno">1214</tt>  <tt class="py-line"><tt class="py-docstring">           Run dpctl command on all switches."""</tt> </tt>
+<a name="L1215"></a><tt class="py-lineno">1215</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-402" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-402', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">'Run dpctl command on all switches'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1216"></a><tt class="py-lineno">1216</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-403" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-403', 'parse_args', 'link-91');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"CMD"</tt><tt class="py-op">,</tt> <tt class="py-string">"ARGS"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">dpctlargs</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1217"></a><tt class="py-lineno">1217</tt>  <tt class="py-line">        <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"CMD"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"CMD"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
+<a name="L1218"></a><tt class="py-lineno">1218</tt>  <tt class="py-line">        <tt class="py-name">cmdargs</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"ARGS"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"ARGS"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
+<a name="L1219"></a><tt class="py-lineno">1219</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl "</tt> <tt class="py-op">+</tt> <tt class="py-name">cmd</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">cmdargs</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1220"></a><tt class="py-lineno">1220</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1221"></a><tt class="py-lineno">1221</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-404" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-404', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1222"></a><tt class="py-lineno">1222</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L1223"></a><tt class="py-lineno">1223</tt>  <tt class="py-line">                <tt id="link-405" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-405', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1224"></a><tt class="py-lineno">1224</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1225"></a><tt class="py-lineno">1225</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1226"></a><tt class="py-lineno">1226</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-406" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-406', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-407" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-407', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1227"></a><tt class="py-lineno">1227</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-408" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-408', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-409" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-409', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1228"></a><tt class="py-lineno">1228</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-410" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-410', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1229"></a><tt class="py-lineno">1229</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-411" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-411', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1230"></a><tt class="py-lineno">1230</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L1231"></a><tt class="py-lineno">1231</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.getVersion"></a><div id="MininetCliDriver.getVersion-def"><a name="L1232"></a><tt class="py-lineno">1232</tt> <a class="py-toggle" href="#" id="MininetCliDriver.getVersion-toggle" onclick="return toggle('MininetCliDriver.getVersion');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getVersion">getVersion</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.getVersion-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.getVersion-expanded"><a name="L1233"></a><tt class="py-lineno">1233</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: What uses this? This should be refactored to get</tt> </tt>
+<a name="L1234"></a><tt class="py-lineno">1234</tt>  <tt class="py-line">        <tt class="py-comment">#       version from MN and not some other file</tt> </tt>
+<a name="L1235"></a><tt class="py-lineno">1235</tt>  <tt class="py-line">        <tt class="py-name">fileInput</tt> <tt class="py-op">=</tt> <tt id="link-412" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-412', 'path', 'link-412');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">'/lib/Mininet/INSTALL'</tt> </tt>
+<a name="L1236"></a><tt class="py-lineno">1236</tt>  <tt class="py-line">        <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt class="py-name">Mininet</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-413" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getVersion,Method TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getVersion"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion
+TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion" class="py-name" href="#" onclick="return doclink('link-413', 'getVersion', 'link-413');">getVersion</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1237"></a><tt class="py-lineno">1237</tt>  <tt class="py-line">        <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">'Mininet\s\w\.\w\.\w\w*'</tt> </tt>
+<a name="L1238"></a><tt class="py-lineno">1238</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt> <tt class="py-name">fileInput</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1239"></a><tt class="py-lineno">1239</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt> <tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1240"></a><tt class="py-lineno">1240</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">result</tt><tt class="py-op">:</tt> </tt>
+<a name="L1241"></a><tt class="py-lineno">1241</tt>  <tt class="py-line">                <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1242"></a><tt class="py-lineno">1242</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">version</tt> </tt>
+</div><a name="L1243"></a><tt class="py-lineno">1243</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.getSwController"></a><div id="MininetCliDriver.getSwController-def"><a name="L1244"></a><tt class="py-lineno">1244</tt> <a class="py-toggle" href="#" id="MininetCliDriver.getSwController-toggle" onclick="return toggle('MininetCliDriver.getSwController');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwController">getSwController</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sw</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.getSwController-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.getSwController-expanded"><a name="L1245"></a><tt class="py-lineno">1245</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1246"></a><tt class="py-lineno">1246</tt>  <tt class="py-line"><tt class="py-docstring">        Parameters:</tt> </tt>
+<a name="L1247"></a><tt class="py-lineno">1247</tt>  <tt class="py-line"><tt class="py-docstring">            sw: The name of an OVS switch. Example "s1"</tt> </tt>
+<a name="L1248"></a><tt class="py-lineno">1248</tt>  <tt class="py-line"><tt class="py-docstring">        Return:</tt> </tt>
+<a name="L1249"></a><tt class="py-lineno">1249</tt>  <tt class="py-line"><tt class="py-docstring">            The output of the command from the mininet cli</tt> </tt>
+<a name="L1250"></a><tt class="py-lineno">1250</tt>  <tt class="py-line"><tt class="py-docstring">            or main.FALSE on timeout"""</tt> </tt>
+<a name="L1251"></a><tt class="py-lineno">1251</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"sh ovs-vsctl get-controller "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1252"></a><tt class="py-lineno">1252</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1253"></a><tt class="py-lineno">1253</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-414" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-414', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1254"></a><tt class="py-lineno">1254</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L1255"></a><tt class="py-lineno">1255</tt>  <tt class="py-line">                <tt id="link-415" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-415', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1256"></a><tt class="py-lineno">1256</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1257"></a><tt class="py-lineno">1257</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L1258"></a><tt class="py-lineno">1258</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+<a name="L1259"></a><tt class="py-lineno">1259</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1260"></a><tt class="py-lineno">1260</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1261"></a><tt class="py-lineno">1261</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1262"></a><tt class="py-lineno">1262</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-416" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-416', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-417" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-417', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1263"></a><tt class="py-lineno">1263</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-418" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-418', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-419" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-419', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1264"></a><tt class="py-lineno">1264</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-420" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-420', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1265"></a><tt class="py-lineno">1265</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-421" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-421', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1266"></a><tt class="py-lineno">1266</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.assignSwController"></a><div id="MininetCliDriver.assignSwController-def"><a name="L1267"></a><tt class="py-lineno">1267</tt> <a class="py-toggle" href="#" id="MininetCliDriver.assignSwController-toggle" onclick="return toggle('MininetCliDriver.assignSwController');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignSwController">assignSwController</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sw</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"6633"</tt><tt class="py-op">,</tt> <tt class="py-param">ptcp</tt><tt class="py-op">=</tt><tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.assignSwController-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.assignSwController-expanded"><a name="L1268"></a><tt class="py-lineno">1268</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1269"></a><tt class="py-lineno">1269</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1270"></a><tt class="py-lineno">1270</tt>  <tt class="py-line"><tt class="py-docstring">            Assign switches to the controllers ( for ovs use only )</tt> </tt>
+<a name="L1271"></a><tt class="py-lineno">1271</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L1272"></a><tt class="py-lineno">1272</tt>  <tt class="py-line"><tt class="py-docstring">            sw - Name of the switch. This can be a list or a string.</tt> </tt>
+<a name="L1273"></a><tt class="py-lineno">1273</tt>  <tt class="py-line"><tt class="py-docstring">            ip - Ip addresses of controllers. This can be a list or a string.</tt> </tt>
+<a name="L1274"></a><tt class="py-lineno">1274</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L1275"></a><tt class="py-lineno">1275</tt>  <tt class="py-line"><tt class="py-docstring">            port - ONOS use port 6633, if no list of ports is passed, then</tt> </tt>
+<a name="L1276"></a><tt class="py-lineno">1276</tt>  <tt class="py-line"><tt class="py-docstring">                   the all the controller will use 6633 as their port number</tt> </tt>
+<a name="L1277"></a><tt class="py-lineno">1277</tt>  <tt class="py-line"><tt class="py-docstring">            ptcp - ptcp number, This can be a string or a list that has</tt> </tt>
+<a name="L1278"></a><tt class="py-lineno">1278</tt>  <tt class="py-line"><tt class="py-docstring">                   the same length as switch. This is optional and not required</tt> </tt>
+<a name="L1279"></a><tt class="py-lineno">1279</tt>  <tt class="py-line"><tt class="py-docstring">                   when using ovs switches.</tt> </tt>
+<a name="L1280"></a><tt class="py-lineno">1280</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: If switches and ptcp are given in a list type they should have the</tt> </tt>
+<a name="L1281"></a><tt class="py-lineno">1281</tt>  <tt class="py-line"><tt class="py-docstring">              same length and should be in the same order, Eg. sw=[ 's1' ... n ]</tt> </tt>
+<a name="L1282"></a><tt class="py-lineno">1282</tt>  <tt class="py-line"><tt class="py-docstring">              ptcp=[ '6637' ... n ], s1 has ptcp number 6637 and so on.</tt> </tt>
+<a name="L1283"></a><tt class="py-lineno">1283</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1284"></a><tt class="py-lineno">1284</tt>  <tt class="py-line"><tt class="py-docstring">        Return:</tt> </tt>
+<a name="L1285"></a><tt class="py-lineno">1285</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.TRUE if mininet correctly assigned switches to</tt> </tt>
+<a name="L1286"></a><tt class="py-lineno">1286</tt>  <tt class="py-line"><tt class="py-docstring">            controllers, otherwise it will return main.FALSE or an appropriate</tt> </tt>
+<a name="L1287"></a><tt class="py-lineno">1287</tt>  <tt class="py-line"><tt class="py-docstring">            exception(s)</tt> </tt>
+<a name="L1288"></a><tt class="py-lineno">1288</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1289"></a><tt class="py-lineno">1289</tt>  <tt class="py-line">        <tt class="py-name">assignResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1290"></a><tt class="py-lineno">1290</tt>  <tt class="py-line">        <tt class="py-comment"># Initial ovs command</tt> </tt>
+<a name="L1291"></a><tt class="py-lineno">1291</tt>  <tt class="py-line">        <tt class="py-name">commandList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1292"></a><tt class="py-lineno">1292</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"sh ovs-vsctl set-controller "</tt> </tt>
+<a name="L1293"></a><tt class="py-lineno">1293</tt>  <tt class="py-line">        <tt class="py-name">onosIp</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L1294"></a><tt class="py-lineno">1294</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1295"></a><tt class="py-lineno">1295</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1296"></a><tt class="py-lineno">1296</tt>  <tt class="py-line">                <tt class="py-name">onosIp</tt> <tt class="py-op">=</tt> <tt class="py-string">"tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> </tt>
+<a name="L1297"></a><tt class="py-lineno">1297</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
+<a name="L1298"></a><tt class="py-lineno">1298</tt>  <tt class="py-line">                   <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">IntType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1299"></a><tt class="py-lineno">1299</tt>  <tt class="py-line">                    <tt class="py-name">onosIp</tt> <tt class="py-op">+=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1300"></a><tt class="py-lineno">1300</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">ListType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1301"></a><tt class="py-lineno">1301</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-422" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-422', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-423" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-423', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Only one controller "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1302"></a><tt class="py-lineno">1302</tt>  <tt class="py-line">                                    <tt class="py-string">"assigned and a list of ports has"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1303"></a><tt class="py-lineno">1303</tt>  <tt class="py-line">                                    <tt class="py-string">" been passed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1304"></a><tt class="py-lineno">1304</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1305"></a><tt class="py-lineno">1305</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1306"></a><tt class="py-lineno">1306</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-424" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-424', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-425" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-425', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Invalid controller port "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1307"></a><tt class="py-lineno">1307</tt>  <tt class="py-line">                                    <tt class="py-string">"number. Please specify correct "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1308"></a><tt class="py-lineno">1308</tt>  <tt class="py-line">                                    <tt class="py-string">"controller port"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1309"></a><tt class="py-lineno">1309</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1310"></a><tt class="py-lineno">1310</tt>  <tt class="py-line"> </tt>
+<a name="L1311"></a><tt class="py-lineno">1311</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">ListType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1312"></a><tt class="py-lineno">1312</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-op">)</tt> <tt class="py-keyword">or</tt> \ </tt>
+<a name="L1313"></a><tt class="py-lineno">1313</tt>  <tt class="py-line">                   <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">IntType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1314"></a><tt class="py-lineno">1314</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">ipAddress</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ip</tt><tt class="py-op">:</tt> </tt>
+<a name="L1315"></a><tt class="py-lineno">1315</tt>  <tt class="py-line">                        <tt class="py-name">onosIp</tt> <tt class="py-op">+=</tt> <tt class="py-string">"tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ipAddress</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L1316"></a><tt class="py-lineno">1316</tt>  <tt class="py-line">                                  <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L1317"></a><tt class="py-lineno">1317</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">ListType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1318"></a><tt class="py-lineno">1318</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1319"></a><tt class="py-lineno">1319</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-426" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-426', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-427" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-427', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Port list = "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1320"></a><tt class="py-lineno">1320</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1321"></a><tt class="py-lineno">1321</tt>  <tt class="py-line">                                        <tt class="py-string">"should be the same as controller"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1322"></a><tt class="py-lineno">1322</tt>  <tt class="py-line">                                        <tt class="py-string">" ip list = "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1323"></a><tt class="py-lineno">1323</tt>  <tt class="py-line">                        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1324"></a><tt class="py-lineno">1324</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1325"></a><tt class="py-lineno">1325</tt>  <tt class="py-line">                        <tt class="py-name">onosIp</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L1326"></a><tt class="py-lineno">1326</tt>  <tt class="py-line">                        <tt class="py-keyword">for</tt> <tt class="py-name">ipAddress</tt><tt class="py-op">,</tt> <tt class="py-name">portNum</tt> <tt class="py-keyword">in</tt> <tt class="py-name">zip</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">port</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1327"></a><tt class="py-lineno">1327</tt>  <tt class="py-line">                            <tt class="py-name">onosIp</tt> <tt class="py-op">+=</tt> <tt class="py-string">"tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ipAddress</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L1328"></a><tt class="py-lineno">1328</tt>  <tt class="py-line">                                      <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">portNum</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L1329"></a><tt class="py-lineno">1329</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1330"></a><tt class="py-lineno">1330</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-428" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-428', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-429" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-429', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Invalid controller port "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1331"></a><tt class="py-lineno">1331</tt>  <tt class="py-line">                                    <tt class="py-string">"number. Please specify correct "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1332"></a><tt class="py-lineno">1332</tt>  <tt class="py-line">                                    <tt class="py-string">"controller port"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1333"></a><tt class="py-lineno">1333</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1334"></a><tt class="py-lineno">1334</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1335"></a><tt class="py-lineno">1335</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-430" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-430', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-431" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-431', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Invalid ip address"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1336"></a><tt class="py-lineno">1336</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1337"></a><tt class="py-lineno">1337</tt>  <tt class="py-line"> </tt>
+<a name="L1338"></a><tt class="py-lineno">1338</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1339"></a><tt class="py-lineno">1339</tt>  <tt class="py-line">                <tt class="py-name">command</tt> <tt class="py-op">+=</tt> <tt class="py-name">sw</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L1340"></a><tt class="py-lineno">1340</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ptcp</tt><tt class="py-op">:</tt> </tt>
+<a name="L1341"></a><tt class="py-lineno">1341</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">ptcp</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1342"></a><tt class="py-lineno">1342</tt>  <tt class="py-line">                        <tt class="py-name">command</tt> <tt class="py-op">+=</tt> <tt class="py-string">"ptcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ptcp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L1343"></a><tt class="py-lineno">1343</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">ptcp</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">ListType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1344"></a><tt class="py-lineno">1344</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-432" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-432', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-433" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-433', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Only one switch is "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1345"></a><tt class="py-lineno">1345</tt>  <tt class="py-line">                                        <tt class="py-string">"being set and multiple PTCP is "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1346"></a><tt class="py-lineno">1346</tt>  <tt class="py-line">                                        <tt class="py-string">"being passed "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1347"></a><tt class="py-lineno">1347</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1348"></a><tt class="py-lineno">1348</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-434" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-434', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-435" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-435', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Invalid PTCP"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1349"></a><tt class="py-lineno">1349</tt>  <tt class="py-line">                        <tt class="py-name">ptcp</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L1350"></a><tt class="py-lineno">1350</tt>  <tt class="py-line">                <tt class="py-name">command</tt> <tt class="py-op">+=</tt> <tt class="py-name">onosIp</tt> </tt>
+<a name="L1351"></a><tt class="py-lineno">1351</tt>  <tt class="py-line">                <tt class="py-name">commandList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">command</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1352"></a><tt class="py-lineno">1352</tt>  <tt class="py-line"> </tt>
+<a name="L1353"></a><tt class="py-lineno">1353</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">ListType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1354"></a><tt class="py-lineno">1354</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ptcp</tt><tt class="py-op">:</tt> </tt>
+<a name="L1355"></a><tt class="py-lineno">1355</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">ptcp</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">ListType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1356"></a><tt class="py-lineno">1356</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">ptcp</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1357"></a><tt class="py-lineno">1357</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-436" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-436', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-437" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-437', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": PTCP length = "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1358"></a><tt class="py-lineno">1358</tt>  <tt class="py-line">                                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">ptcp</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1359"></a><tt class="py-lineno">1359</tt>  <tt class="py-line">                                            <tt class="py-string">" is not the same as switch"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1360"></a><tt class="py-lineno">1360</tt>  <tt class="py-line">                                            <tt class="py-string">" length = "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1361"></a><tt class="py-lineno">1361</tt>  <tt class="py-line">                                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1362"></a><tt class="py-lineno">1362</tt>  <tt class="py-line">                            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1363"></a><tt class="py-lineno">1363</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1364"></a><tt class="py-lineno">1364</tt>  <tt class="py-line">                            <tt class="py-keyword">for</tt> <tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">ptcpNum</tt> <tt class="py-keyword">in</tt> <tt class="py-name">zip</tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt><tt class="py-op">,</tt> <tt class="py-name">ptcp</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1365"></a><tt class="py-lineno">1365</tt>  <tt class="py-line">                                <tt class="py-name">tempCmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"sh ovs-vsctl set-controller "</tt> </tt>
+<a name="L1366"></a><tt class="py-lineno">1366</tt>  <tt class="py-line">                                <tt class="py-name">tempCmd</tt> <tt class="py-op">+=</tt> <tt class="py-name">switch</tt> <tt class="py-op">+</tt> <tt class="py-string">" ptcp:"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L1367"></a><tt class="py-lineno">1367</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ptcpNum</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L1368"></a><tt class="py-lineno">1368</tt>  <tt class="py-line">                                <tt class="py-name">tempCmd</tt> <tt class="py-op">+=</tt> <tt class="py-name">onosIp</tt> </tt>
+<a name="L1369"></a><tt class="py-lineno">1369</tt>  <tt class="py-line">                                <tt class="py-name">commandList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">tempCmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1370"></a><tt class="py-lineno">1370</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1371"></a><tt class="py-lineno">1371</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-438" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-438', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-439" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-439', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Invalid PTCP"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1372"></a><tt class="py-lineno">1372</tt>  <tt class="py-line">                        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1373"></a><tt class="py-lineno">1373</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1374"></a><tt class="py-lineno">1374</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sw</tt><tt class="py-op">:</tt> </tt>
+<a name="L1375"></a><tt class="py-lineno">1375</tt>  <tt class="py-line">                        <tt class="py-name">tempCmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"sh ovs-vsctl set-controller "</tt> </tt>
+<a name="L1376"></a><tt class="py-lineno">1376</tt>  <tt class="py-line">                        <tt class="py-name">tempCmd</tt> <tt class="py-op">+=</tt> <tt class="py-name">switch</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosIp</tt> </tt>
+<a name="L1377"></a><tt class="py-lineno">1377</tt>  <tt class="py-line">                        <tt class="py-name">commandList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">tempCmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1378"></a><tt class="py-lineno">1378</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1379"></a><tt class="py-lineno">1379</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-440" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-440', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-441" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-441', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Invalid switch type "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1380"></a><tt class="py-lineno">1380</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1381"></a><tt class="py-lineno">1381</tt>  <tt class="py-line"> </tt>
+<a name="L1382"></a><tt class="py-lineno">1382</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">cmd</tt> <tt class="py-keyword">in</tt> <tt class="py-name">commandList</tt><tt class="py-op">:</tt> </tt>
+<a name="L1383"></a><tt class="py-lineno">1383</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1384"></a><tt class="py-lineno">1384</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-442" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-442', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">cmd</tt><tt class="py-op">,</tt> <tt id="link-443" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-443', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1385"></a><tt class="py-lineno">1385</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">:</tt> </tt>
+<a name="L1386"></a><tt class="py-lineno">1386</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-444" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-444', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-445" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-445', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": pexpect.TIMEOUT found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1387"></a><tt class="py-lineno">1387</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1388"></a><tt class="py-lineno">1388</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1389"></a><tt class="py-lineno">1389</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-446" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-446', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-447" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-447', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1390"></a><tt class="py-lineno">1390</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-448" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-448', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-449" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-449', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1391"></a><tt class="py-lineno">1391</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-450" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-450', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1392"></a><tt class="py-lineno">1392</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-451" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-451', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1393"></a><tt class="py-lineno">1393</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1394"></a><tt class="py-lineno">1394</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1395"></a><tt class="py-lineno">1395</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-452" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-452', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1396"></a><tt class="py-lineno">1396</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-453" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-453', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1397"></a><tt class="py-lineno">1397</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-454" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-454', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1398"></a><tt class="py-lineno">1398</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.deleteSwController"></a><div id="MininetCliDriver.deleteSwController-def"><a name="L1399"></a><tt class="py-lineno">1399</tt> <a class="py-toggle" href="#" id="MininetCliDriver.deleteSwController-toggle" onclick="return toggle('MininetCliDriver.deleteSwController');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#deleteSwController">deleteSwController</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sw</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.deleteSwController-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.deleteSwController-expanded"><a name="L1400"></a><tt class="py-lineno">1400</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1401"></a><tt class="py-lineno">1401</tt>  <tt class="py-line"><tt class="py-docstring">           Removes the controller target from sw"""</tt> </tt>
+<a name="L1402"></a><tt class="py-lineno">1402</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"sh ovs-vsctl del-controller "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1403"></a><tt class="py-lineno">1403</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1404"></a><tt class="py-lineno">1404</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-455" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-455', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1405"></a><tt class="py-lineno">1405</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L1406"></a><tt class="py-lineno">1406</tt>  <tt class="py-line">                <tt id="link-456" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-456', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1407"></a><tt class="py-lineno">1407</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1408"></a><tt class="py-lineno">1408</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1409"></a><tt class="py-lineno">1409</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-457" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-457', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-458" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-458', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1410"></a><tt class="py-lineno">1410</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-459" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-459', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-460" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-460', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1411"></a><tt class="py-lineno">1411</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-461" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-461', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1412"></a><tt class="py-lineno">1412</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-462" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-462', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1413"></a><tt class="py-lineno">1413</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1414"></a><tt class="py-lineno">1414</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-463" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-463', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1415"></a><tt class="py-lineno">1415</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.addSwitch"></a><div id="MininetCliDriver.addSwitch-def"><a name="L1416"></a><tt class="py-lineno">1416</tt> <a class="py-toggle" href="#" id="MininetCliDriver.addSwitch-toggle" onclick="return toggle('MininetCliDriver.addSwitch');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addSwitch">addSwitch</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sw</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.addSwitch-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.addSwitch-expanded"><a name="L1417"></a><tt class="py-lineno">1417</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1418"></a><tt class="py-lineno">1418</tt>  <tt class="py-line"><tt class="py-docstring">        adds a switch to the mininet topology</tt> </tt>
+<a name="L1419"></a><tt class="py-lineno">1419</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: This uses a custom mn function. MN repo should be on</tt> </tt>
+<a name="L1420"></a><tt class="py-lineno">1420</tt>  <tt class="py-line"><tt class="py-docstring">            dynamic_topo branch</tt> </tt>
+<a name="L1421"></a><tt class="py-lineno">1421</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: cannot currently specify what type of switch</tt> </tt>
+<a name="L1422"></a><tt class="py-lineno">1422</tt>  <tt class="py-line"><tt class="py-docstring">        required params:</tt> </tt>
+<a name="L1423"></a><tt class="py-lineno">1423</tt>  <tt class="py-line"><tt class="py-docstring">            sw = name of the new switch as a string</tt> </tt>
+<a name="L1424"></a><tt class="py-lineno">1424</tt>  <tt class="py-line"><tt class="py-docstring">        optional keywords:</tt> </tt>
+<a name="L1425"></a><tt class="py-lineno">1425</tt>  <tt class="py-line"><tt class="py-docstring">            dpid = "dpid"</tt> </tt>
+<a name="L1426"></a><tt class="py-lineno">1426</tt>  <tt class="py-line"><tt class="py-docstring">        returns: main.FALSE on an error, else main.TRUE</tt> </tt>
+<a name="L1427"></a><tt class="py-lineno">1427</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1428"></a><tt class="py-lineno">1428</tt>  <tt class="py-line">        <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'dpid'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1429"></a><tt class="py-lineno">1429</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"addswitch "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1430"></a><tt class="py-lineno">1430</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1431"></a><tt class="py-lineno">1431</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-464" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-464', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1432"></a><tt class="py-lineno">1432</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L1433"></a><tt class="py-lineno">1433</tt>  <tt class="py-line">                <tt id="link-465" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-465', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1434"></a><tt class="py-lineno">1434</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1435"></a><tt class="py-lineno">1435</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"already exists!"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1436"></a><tt class="py-lineno">1436</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-466" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-466', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1437"></a><tt class="py-lineno">1437</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1438"></a><tt class="py-lineno">1438</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1439"></a><tt class="py-lineno">1439</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-467" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-467', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1440"></a><tt class="py-lineno">1440</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1441"></a><tt class="py-lineno">1441</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"usage:"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1442"></a><tt class="py-lineno">1442</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-468" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-468', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1443"></a><tt class="py-lineno">1443</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1444"></a><tt class="py-lineno">1444</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1445"></a><tt class="py-lineno">1445</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1446"></a><tt class="py-lineno">1446</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1447"></a><tt class="py-lineno">1447</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-469" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-469', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-470" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-470', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1448"></a><tt class="py-lineno">1448</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-471" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-471', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-472" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-472', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1449"></a><tt class="py-lineno">1449</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-473" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-473', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1450"></a><tt class="py-lineno">1450</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-474" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-474', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1451"></a><tt class="py-lineno">1451</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.delSwitch"></a><div id="MininetCliDriver.delSwitch-def"><a name="L1452"></a><tt class="py-lineno">1452</tt> <a class="py-toggle" href="#" id="MininetCliDriver.delSwitch-toggle" onclick="return toggle('MininetCliDriver.delSwitch');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delSwitch">delSwitch</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sw</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.delSwitch-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.delSwitch-expanded"><a name="L1453"></a><tt class="py-lineno">1453</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1454"></a><tt class="py-lineno">1454</tt>  <tt class="py-line"><tt class="py-docstring">        delete a switch from the mininet topology</tt> </tt>
+<a name="L1455"></a><tt class="py-lineno">1455</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: This uses a custom mn function. MN repo should be on</tt> </tt>
+<a name="L1456"></a><tt class="py-lineno">1456</tt>  <tt class="py-line"><tt class="py-docstring">            dynamic_topo branch</tt> </tt>
+<a name="L1457"></a><tt class="py-lineno">1457</tt>  <tt class="py-line"><tt class="py-docstring">        required params:</tt> </tt>
+<a name="L1458"></a><tt class="py-lineno">1458</tt>  <tt class="py-line"><tt class="py-docstring">            sw = name of the switch as a string</tt> </tt>
+<a name="L1459"></a><tt class="py-lineno">1459</tt>  <tt class="py-line"><tt class="py-docstring">        returns: main.FALSE on an error, else main.TRUE"""</tt> </tt>
+<a name="L1460"></a><tt class="py-lineno">1460</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"delswitch "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1461"></a><tt class="py-lineno">1461</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1462"></a><tt class="py-lineno">1462</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-475" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-475', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1463"></a><tt class="py-lineno">1463</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L1464"></a><tt class="py-lineno">1464</tt>  <tt class="py-line">                <tt id="link-476" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-476', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1465"></a><tt class="py-lineno">1465</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1466"></a><tt class="py-lineno">1466</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"no switch named"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1467"></a><tt class="py-lineno">1467</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-477" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-477', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1468"></a><tt class="py-lineno">1468</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1469"></a><tt class="py-lineno">1469</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1470"></a><tt class="py-lineno">1470</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-478" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-478', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1471"></a><tt class="py-lineno">1471</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1472"></a><tt class="py-lineno">1472</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"usage:"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1473"></a><tt class="py-lineno">1473</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-479" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-479', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1474"></a><tt class="py-lineno">1474</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1475"></a><tt class="py-lineno">1475</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1476"></a><tt class="py-lineno">1476</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1477"></a><tt class="py-lineno">1477</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1478"></a><tt class="py-lineno">1478</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-480" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-480', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-481" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-481', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1479"></a><tt class="py-lineno">1479</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-482" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-482', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-483" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-483', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1480"></a><tt class="py-lineno">1480</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-484" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-484', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1481"></a><tt class="py-lineno">1481</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-485" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-485', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1482"></a><tt class="py-lineno">1482</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.addLink"></a><div id="MininetCliDriver.addLink-def"><a name="L1483"></a><tt class="py-lineno">1483</tt> <a class="py-toggle" href="#" id="MininetCliDriver.addLink-toggle" onclick="return toggle('MininetCliDriver.addLink');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addLink">addLink</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">node1</tt><tt class="py-op">,</tt> <tt class="py-param">node2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.addLink-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.addLink-expanded"><a name="L1484"></a><tt class="py-lineno">1484</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1485"></a><tt class="py-lineno">1485</tt>  <tt class="py-line"><tt class="py-docstring">           add a link to the mininet topology</tt> </tt>
+<a name="L1486"></a><tt class="py-lineno">1486</tt>  <tt class="py-line"><tt class="py-docstring">           NOTE: This uses a custom mn function. MN repo should be on</tt> </tt>
+<a name="L1487"></a><tt class="py-lineno">1487</tt>  <tt class="py-line"><tt class="py-docstring">                dynamic_topo branch</tt> </tt>
+<a name="L1488"></a><tt class="py-lineno">1488</tt>  <tt class="py-line"><tt class="py-docstring">           NOTE: cannot currently specify what type of link</tt> </tt>
+<a name="L1489"></a><tt class="py-lineno">1489</tt>  <tt class="py-line"><tt class="py-docstring">           required params:</tt> </tt>
+<a name="L1490"></a><tt class="py-lineno">1490</tt>  <tt class="py-line"><tt class="py-docstring">           node1 = the string node name of the first endpoint of the link</tt> </tt>
+<a name="L1491"></a><tt class="py-lineno">1491</tt>  <tt class="py-line"><tt class="py-docstring">           node2 = the string node name of the second endpoint of the link</tt> </tt>
+<a name="L1492"></a><tt class="py-lineno">1492</tt>  <tt class="py-line"><tt class="py-docstring">           returns: main.FALSE on an error, else main.TRUE"""</tt> </tt>
+<a name="L1493"></a><tt class="py-lineno">1493</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"addlink "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1494"></a><tt class="py-lineno">1494</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1495"></a><tt class="py-lineno">1495</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-486" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-486', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1496"></a><tt class="py-lineno">1496</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L1497"></a><tt class="py-lineno">1497</tt>  <tt class="py-line">                <tt id="link-487" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-487', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1498"></a><tt class="py-lineno">1498</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1499"></a><tt class="py-lineno">1499</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"doesnt exist!"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1500"></a><tt class="py-lineno">1500</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-488" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-488', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1501"></a><tt class="py-lineno">1501</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1502"></a><tt class="py-lineno">1502</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1503"></a><tt class="py-lineno">1503</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-489" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-489', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1504"></a><tt class="py-lineno">1504</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1505"></a><tt class="py-lineno">1505</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"usage:"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1506"></a><tt class="py-lineno">1506</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-490" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-490', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1507"></a><tt class="py-lineno">1507</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1508"></a><tt class="py-lineno">1508</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1509"></a><tt class="py-lineno">1509</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1510"></a><tt class="py-lineno">1510</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1511"></a><tt class="py-lineno">1511</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-491" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-491', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-492" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-492', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1512"></a><tt class="py-lineno">1512</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-493" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-493', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-494" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-494', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1513"></a><tt class="py-lineno">1513</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-495" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-495', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1514"></a><tt class="py-lineno">1514</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-496" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-496', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1515"></a><tt class="py-lineno">1515</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.delLink"></a><div id="MininetCliDriver.delLink-def"><a name="L1516"></a><tt class="py-lineno">1516</tt> <a class="py-toggle" href="#" id="MininetCliDriver.delLink-toggle" onclick="return toggle('MininetCliDriver.delLink');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delLink">delLink</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">node1</tt><tt class="py-op">,</tt> <tt class="py-param">node2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.delLink-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.delLink-expanded"><a name="L1517"></a><tt class="py-lineno">1517</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1518"></a><tt class="py-lineno">1518</tt>  <tt class="py-line"><tt class="py-docstring">           delete a link from the mininet topology</tt> </tt>
+<a name="L1519"></a><tt class="py-lineno">1519</tt>  <tt class="py-line"><tt class="py-docstring">           NOTE: This uses a custom mn function. MN repo should be on</tt> </tt>
+<a name="L1520"></a><tt class="py-lineno">1520</tt>  <tt class="py-line"><tt class="py-docstring">                dynamic_topo branch</tt> </tt>
+<a name="L1521"></a><tt class="py-lineno">1521</tt>  <tt class="py-line"><tt class="py-docstring">           required params:</tt> </tt>
+<a name="L1522"></a><tt class="py-lineno">1522</tt>  <tt class="py-line"><tt class="py-docstring">           node1 = the string node name of the first endpoint of the link</tt> </tt>
+<a name="L1523"></a><tt class="py-lineno">1523</tt>  <tt class="py-line"><tt class="py-docstring">           node2 = the string node name of the second endpoint of the link</tt> </tt>
+<a name="L1524"></a><tt class="py-lineno">1524</tt>  <tt class="py-line"><tt class="py-docstring">           returns: main.FALSE on an error, else main.TRUE"""</tt> </tt>
+<a name="L1525"></a><tt class="py-lineno">1525</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dellink "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1526"></a><tt class="py-lineno">1526</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1527"></a><tt class="py-lineno">1527</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-497" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-497', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1528"></a><tt class="py-lineno">1528</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L1529"></a><tt class="py-lineno">1529</tt>  <tt class="py-line">                <tt id="link-498" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-498', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1530"></a><tt class="py-lineno">1530</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1531"></a><tt class="py-lineno">1531</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"no node named"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1532"></a><tt class="py-lineno">1532</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-499" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-499', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1533"></a><tt class="py-lineno">1533</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1534"></a><tt class="py-lineno">1534</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1535"></a><tt class="py-lineno">1535</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-500" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-500', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1536"></a><tt class="py-lineno">1536</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1537"></a><tt class="py-lineno">1537</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"usage:"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1538"></a><tt class="py-lineno">1538</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-501" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-501', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1539"></a><tt class="py-lineno">1539</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1540"></a><tt class="py-lineno">1540</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1541"></a><tt class="py-lineno">1541</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1542"></a><tt class="py-lineno">1542</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1543"></a><tt class="py-lineno">1543</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-502" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-502', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-503" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-503', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1544"></a><tt class="py-lineno">1544</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-504" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-504', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-505" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-505', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1545"></a><tt class="py-lineno">1545</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-506" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-506', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1546"></a><tt class="py-lineno">1546</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-507" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-507', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1547"></a><tt class="py-lineno">1547</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.addHost"></a><div id="MininetCliDriver.addHost-def"><a name="L1548"></a><tt class="py-lineno">1548</tt> <a class="py-toggle" href="#" id="MininetCliDriver.addHost-toggle" onclick="return toggle('MininetCliDriver.addHost');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addHost">addHost</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hostname</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.addHost-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.addHost-expanded"><a name="L1549"></a><tt class="py-lineno">1549</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1550"></a><tt class="py-lineno">1550</tt>  <tt class="py-line"><tt class="py-docstring">        Add a host to the mininet topology</tt> </tt>
+<a name="L1551"></a><tt class="py-lineno">1551</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: This uses a custom mn function. MN repo should be on</tt> </tt>
+<a name="L1552"></a><tt class="py-lineno">1552</tt>  <tt class="py-line"><tt class="py-docstring">            dynamic_topo branch</tt> </tt>
+<a name="L1553"></a><tt class="py-lineno">1553</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: cannot currently specify what type of host</tt> </tt>
+<a name="L1554"></a><tt class="py-lineno">1554</tt>  <tt class="py-line"><tt class="py-docstring">        required params:</tt> </tt>
+<a name="L1555"></a><tt class="py-lineno">1555</tt>  <tt class="py-line"><tt class="py-docstring">            hostname = the string hostname</tt> </tt>
+<a name="L1556"></a><tt class="py-lineno">1556</tt>  <tt class="py-line"><tt class="py-docstring">        optional key-value params</tt> </tt>
+<a name="L1557"></a><tt class="py-lineno">1557</tt>  <tt class="py-line"><tt class="py-docstring">            switch = "switch name"</tt> </tt>
+<a name="L1558"></a><tt class="py-lineno">1558</tt>  <tt class="py-line"><tt class="py-docstring">            returns: main.FALSE on an error, else main.TRUE</tt> </tt>
+<a name="L1559"></a><tt class="py-lineno">1559</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1560"></a><tt class="py-lineno">1560</tt>  <tt class="py-line">        <tt class="py-name">switch</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'switch'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1561"></a><tt class="py-lineno">1561</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"addhost "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hostname</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">switch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1562"></a><tt class="py-lineno">1562</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1563"></a><tt class="py-lineno">1563</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-508" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-508', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1564"></a><tt class="py-lineno">1564</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L1565"></a><tt class="py-lineno">1565</tt>  <tt class="py-line">                <tt id="link-509" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-509', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1566"></a><tt class="py-lineno">1566</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1567"></a><tt class="py-lineno">1567</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"already exists!"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1568"></a><tt class="py-lineno">1568</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-510" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-510', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1569"></a><tt class="py-lineno">1569</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1570"></a><tt class="py-lineno">1570</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"doesnt exists!"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1571"></a><tt class="py-lineno">1571</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-511" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-511', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1572"></a><tt class="py-lineno">1572</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1573"></a><tt class="py-lineno">1573</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1574"></a><tt class="py-lineno">1574</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-512" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-512', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1575"></a><tt class="py-lineno">1575</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1576"></a><tt class="py-lineno">1576</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"usage:"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1577"></a><tt class="py-lineno">1577</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-513" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-513', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1578"></a><tt class="py-lineno">1578</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1579"></a><tt class="py-lineno">1579</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1580"></a><tt class="py-lineno">1580</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1581"></a><tt class="py-lineno">1581</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1582"></a><tt class="py-lineno">1582</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-514" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-514', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-515" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-515', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1583"></a><tt class="py-lineno">1583</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-516" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-516', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-517" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-517', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1584"></a><tt class="py-lineno">1584</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-518" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-518', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1585"></a><tt class="py-lineno">1585</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-519" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-519', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1586"></a><tt class="py-lineno">1586</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.delHost"></a><div id="MininetCliDriver.delHost-def"><a name="L1587"></a><tt class="py-lineno">1587</tt> <a class="py-toggle" href="#" id="MininetCliDriver.delHost-toggle" onclick="return toggle('MininetCliDriver.delHost');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delHost">delHost</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hostname</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.delHost-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.delHost-expanded"><a name="L1588"></a><tt class="py-lineno">1588</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1589"></a><tt class="py-lineno">1589</tt>  <tt class="py-line"><tt class="py-docstring">           delete a host from the mininet topology</tt> </tt>
+<a name="L1590"></a><tt class="py-lineno">1590</tt>  <tt class="py-line"><tt class="py-docstring">           NOTE: This uses a custom mn function. MN repo should be on</tt> </tt>
+<a name="L1591"></a><tt class="py-lineno">1591</tt>  <tt class="py-line"><tt class="py-docstring">               dynamic_topo branch</tt> </tt>
+<a name="L1592"></a><tt class="py-lineno">1592</tt>  <tt class="py-line"><tt class="py-docstring">           NOTE: this uses a custom mn function</tt> </tt>
+<a name="L1593"></a><tt class="py-lineno">1593</tt>  <tt class="py-line"><tt class="py-docstring">           required params:</tt> </tt>
+<a name="L1594"></a><tt class="py-lineno">1594</tt>  <tt class="py-line"><tt class="py-docstring">           hostname = the string hostname</tt> </tt>
+<a name="L1595"></a><tt class="py-lineno">1595</tt>  <tt class="py-line"><tt class="py-docstring">           returns: main.FALSE on an error, else main.TRUE"""</tt> </tt>
+<a name="L1596"></a><tt class="py-lineno">1596</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"delhost "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hostname</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1597"></a><tt class="py-lineno">1597</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1598"></a><tt class="py-lineno">1598</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-520" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-520', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1599"></a><tt class="py-lineno">1599</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L1600"></a><tt class="py-lineno">1600</tt>  <tt class="py-line">                <tt id="link-521" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-521', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1601"></a><tt class="py-lineno">1601</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1602"></a><tt class="py-lineno">1602</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"no host named"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1603"></a><tt class="py-lineno">1603</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-522" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-522', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1604"></a><tt class="py-lineno">1604</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1605"></a><tt class="py-lineno">1605</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1606"></a><tt class="py-lineno">1606</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-523" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-523', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1607"></a><tt class="py-lineno">1607</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1608"></a><tt class="py-lineno">1608</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"usage:"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1609"></a><tt class="py-lineno">1609</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-524" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-524', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1610"></a><tt class="py-lineno">1610</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1611"></a><tt class="py-lineno">1611</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1612"></a><tt class="py-lineno">1612</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1613"></a><tt class="py-lineno">1613</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1614"></a><tt class="py-lineno">1614</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-525" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-525', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-526" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-526', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1615"></a><tt class="py-lineno">1615</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-527" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-527', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-528" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-528', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1616"></a><tt class="py-lineno">1616</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-529" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-529', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1617"></a><tt class="py-lineno">1617</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-530" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-530', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1618"></a><tt class="py-lineno">1618</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.disconnect"></a><div id="MininetCliDriver.disconnect-def"><a name="L1619"></a><tt class="py-lineno">1619</tt> <a class="py-toggle" href="#" id="MininetCliDriver.disconnect-toggle" onclick="return toggle('MininetCliDriver.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#disconnect">disconnect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.disconnect-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.disconnect-expanded"><a name="L1620"></a><tt class="py-lineno">1620</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1621"></a><tt class="py-lineno">1621</tt>  <tt class="py-line"><tt class="py-docstring">        Called at the end of the test to stop the mininet and</tt> </tt>
+<a name="L1622"></a><tt class="py-lineno">1622</tt>  <tt class="py-line"><tt class="py-docstring">        disconnect the handle.</tt> </tt>
+<a name="L1623"></a><tt class="py-lineno">1623</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1624"></a><tt class="py-lineno">1624</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-531" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-531', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">''</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1625"></a><tt class="py-lineno">1625</tt>  <tt class="py-line">        <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">'mininet&gt;'</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1626"></a><tt class="py-lineno">1626</tt>  <tt class="py-line">                                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1627"></a><tt class="py-lineno">1627</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1628"></a><tt class="py-lineno">1628</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L1629"></a><tt class="py-lineno">1629</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-532" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet" class="py-name" href="#" onclick="return doclink('link-532', 'stopNet', 'link-532');">stopNet</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1630"></a><tt class="py-lineno">1630</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1631"></a><tt class="py-lineno">1631</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1632"></a><tt class="py-lineno">1632</tt>  <tt class="py-line">        <tt class="py-comment"># print "Disconnecting Mininet"</tt> </tt>
+<a name="L1633"></a><tt class="py-lineno">1633</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L1634"></a><tt class="py-lineno">1634</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-533" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-533', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"exit"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1635"></a><tt class="py-lineno">1635</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"exit"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1636"></a><tt class="py-lineno">1636</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"(.*)"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1637"></a><tt class="py-lineno">1637</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1638"></a><tt class="py-lineno">1638</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-534" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-534', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-535" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-535', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Connection failed to the host"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1639"></a><tt class="py-lineno">1639</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+</div><a name="L1640"></a><tt class="py-lineno">1640</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.stopNet"></a><div id="MininetCliDriver.stopNet-def"><a name="L1641"></a><tt class="py-lineno">1641</tt> <a class="py-toggle" href="#" id="MininetCliDriver.stopNet-toggle" onclick="return toggle('MininetCliDriver.stopNet');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopNet">stopNet</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fileName</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">=</tt><tt class="py-number">5</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.stopNet-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.stopNet-expanded"><a name="L1642"></a><tt class="py-lineno">1642</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1643"></a><tt class="py-lineno">1643</tt>  <tt class="py-line"><tt class="py-docstring">        Stops mininet.</tt> </tt>
+<a name="L1644"></a><tt class="py-lineno">1644</tt>  <tt class="py-line"><tt class="py-docstring">        Returns main.TRUE if the mininet successfully stops and</tt> </tt>
+<a name="L1645"></a><tt class="py-lineno">1645</tt>  <tt class="py-line"><tt class="py-docstring">                main.FALSE if the pexpect handle does not exist.</tt> </tt>
+<a name="L1646"></a><tt class="py-lineno">1646</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1647"></a><tt class="py-lineno">1647</tt>  <tt class="py-line"><tt class="py-docstring">        Will cleanup and exit the test if mininet fails to stop</tt> </tt>
+<a name="L1648"></a><tt class="py-lineno">1648</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1649"></a><tt class="py-lineno">1649</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-536" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-536', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Stopping mininet..."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1650"></a><tt class="py-lineno">1650</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L1651"></a><tt class="py-lineno">1651</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L1652"></a><tt class="py-lineno">1652</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1653"></a><tt class="py-lineno">1653</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-537" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-537', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1654"></a><tt class="py-lineno">1654</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">'mininet&gt;'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1655"></a><tt class="py-lineno">1655</tt>  <tt class="py-line">                                          <tt class="py-string">'\$'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1656"></a><tt class="py-lineno">1656</tt>  <tt class="py-line">                                          <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt> </tt>
+<a name="L1657"></a><tt class="py-lineno">1657</tt>  <tt class="py-line">                                          <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1658"></a><tt class="py-lineno">1658</tt>  <tt class="py-line">                                        <tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1659"></a><tt class="py-lineno">1659</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L1660"></a><tt class="py-lineno">1660</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-538" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-538', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Exiting mininet..."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1661"></a><tt class="py-lineno">1661</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-539" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-539', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1662"></a><tt class="py-lineno">1662</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"exit"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1663"></a><tt class="py-lineno">1663</tt>  <tt class="py-line">                    <tt id="link-540" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-540', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"(.*)"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1664"></a><tt class="py-lineno">1664</tt>  <tt class="py-line">                    <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1665"></a><tt class="py-lineno">1665</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-541" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-541', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Stopped"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1666"></a><tt class="py-lineno">1666</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-542" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-542', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"sudo mn -c"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1667"></a><tt class="py-lineno">1667</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1668"></a><tt class="py-lineno">1668</tt>  <tt class="py-line"> </tt>
+<a name="L1669"></a><tt class="py-lineno">1669</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1670"></a><tt class="py-lineno">1670</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-543" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-543', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">" Mininet trying to exit while not "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1671"></a><tt class="py-lineno">1671</tt>  <tt class="py-line">                                   <tt class="py-string">"in the mininet prompt"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1672"></a><tt class="py-lineno">1672</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L1673"></a><tt class="py-lineno">1673</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-544" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-544', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-545" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-545', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Something went wrong exiting mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1674"></a><tt class="py-lineno">1674</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt>  <tt class="py-comment"># timeout</tt> </tt>
+<a name="L1675"></a><tt class="py-lineno">1675</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-546" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-546', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-547" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-547', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Something went wrong exiting mininet "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1676"></a><tt class="py-lineno">1676</tt>  <tt class="py-line">                                    <tt class="py-string">"TIMEOUT"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1677"></a><tt class="py-lineno">1677</tt>  <tt class="py-line"> </tt>
+<a name="L1678"></a><tt class="py-lineno">1678</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">fileName</tt><tt class="py-op">:</tt> </tt>
+<a name="L1679"></a><tt class="py-lineno">1679</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-548" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-548', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1680"></a><tt class="py-lineno">1680</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">'\$'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1681"></a><tt class="py-lineno">1681</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-549" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-549', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1682"></a><tt class="py-lineno">1682</tt>  <tt class="py-line">                        <tt class="py-string">"sudo kill -9 \`ps -ef | grep \""</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1683"></a><tt class="py-lineno">1683</tt>  <tt class="py-line">                        <tt class="py-name">fileName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1684"></a><tt class="py-lineno">1684</tt>  <tt class="py-line">                        <tt class="py-string">"\" | grep -v grep | awk '{print $2}'\`"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1685"></a><tt class="py-lineno">1685</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1686"></a><tt class="py-lineno">1686</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-550" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-550', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-551" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-551', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1687"></a><tt class="py-lineno">1687</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-552" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-552', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-553" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-553', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1688"></a><tt class="py-lineno">1688</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-554" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-554', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1689"></a><tt class="py-lineno">1689</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-555" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-555', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1690"></a><tt class="py-lineno">1690</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1691"></a><tt class="py-lineno">1691</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-556" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-556', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-557" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-557', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Connection failed to the host"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1692"></a><tt class="py-lineno">1692</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1693"></a><tt class="py-lineno">1693</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+</div><a name="L1694"></a><tt class="py-lineno">1694</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.arping"></a><div id="MininetCliDriver.arping-def"><a name="L1695"></a><tt class="py-lineno">1695</tt> <a class="py-toggle" href="#" id="MininetCliDriver.arping-toggle" onclick="return toggle('MininetCliDriver.arping');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#arping">arping</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">host</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">=</tt><tt class="py-string">"10.128.20.211"</tt><tt class="py-op">,</tt> <tt class="py-param">ethDevice</tt><tt class="py-op">=</tt><tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.arping-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.arping-expanded"><a name="L1696"></a><tt class="py-lineno">1696</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1697"></a><tt class="py-lineno">1697</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1698"></a><tt class="py-lineno">1698</tt>  <tt class="py-line"><tt class="py-docstring">            Sends arp message from mininet host for hosts discovery</tt> </tt>
+<a name="L1699"></a><tt class="py-lineno">1699</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L1700"></a><tt class="py-lineno">1700</tt>  <tt class="py-line"><tt class="py-docstring">            host - hosts name</tt> </tt>
+<a name="L1701"></a><tt class="py-lineno">1701</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L1702"></a><tt class="py-lineno">1702</tt>  <tt class="py-line"><tt class="py-docstring">            ip - ip address that does not exist in the network so there would</tt> </tt>
+<a name="L1703"></a><tt class="py-lineno">1703</tt>  <tt class="py-line"><tt class="py-docstring">                 be no reply.</tt> </tt>
+<a name="L1704"></a><tt class="py-lineno">1704</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1705"></a><tt class="py-lineno">1705</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">ethDevice</tt><tt class="py-op">:</tt> </tt>
+<a name="L1706"></a><tt class="py-lineno">1706</tt>  <tt class="py-line">            <tt class="py-name">ethDevice</tt> <tt class="py-op">=</tt> <tt class="py-string">'-I '</tt> <tt class="py-op">+</tt> <tt class="py-name">ethDevice</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L1707"></a><tt class="py-lineno">1707</tt>  <tt class="py-line">        <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">" py "</tt> <tt class="py-op">+</tt> <tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-string">".cmd(\"arping -c 1 "</tt> <tt class="py-op">+</tt> <tt class="py-name">ethDevice</tt> <tt class="py-op">+</tt> <tt class="py-name">ip</tt> <tt class="py-op">+</tt> <tt class="py-string">"\")"</tt> </tt>
+<a name="L1708"></a><tt class="py-lineno">1708</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1709"></a><tt class="py-lineno">1709</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-558" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-558', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Sending: "</tt> <tt class="py-op">+</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1710"></a><tt class="py-lineno">1710</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-559" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-559', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1711"></a><tt class="py-lineno">1711</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L1712"></a><tt class="py-lineno">1712</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-560" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-560', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1713"></a><tt class="py-lineno">1713</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1714"></a><tt class="py-lineno">1714</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1715"></a><tt class="py-lineno">1715</tt>  <tt class="py-line"> </tt>
+<a name="L1716"></a><tt class="py-lineno">1716</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1717"></a><tt class="py-lineno">1717</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-561" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-561', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-562" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-562', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1718"></a><tt class="py-lineno">1718</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-563" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-563', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-564" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-564', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1719"></a><tt class="py-lineno">1719</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-565" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-565', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1720"></a><tt class="py-lineno">1720</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-566" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-566', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1721"></a><tt class="py-lineno">1721</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.decToHex"></a><div id="MininetCliDriver.decToHex-def"><a name="L1722"></a><tt class="py-lineno">1722</tt> <a class="py-toggle" href="#" id="MininetCliDriver.decToHex-toggle" onclick="return toggle('MininetCliDriver.decToHex');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#decToHex">decToHex</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">num</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.decToHex-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.decToHex-expanded"><a name="L1723"></a><tt class="py-lineno">1723</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">hex</tt><tt class="py-op">(</tt> <tt class="py-name">num</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">'x'</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+</div><a name="L1724"></a><tt class="py-lineno">1724</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.getSwitchFlowCount"></a><div id="MininetCliDriver.getSwitchFlowCount-def"><a name="L1725"></a><tt class="py-lineno">1725</tt> <a class="py-toggle" href="#" id="MininetCliDriver.getSwitchFlowCount-toggle" onclick="return toggle('MininetCliDriver.getSwitchFlowCount');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitchFlowCount">getSwitchFlowCount</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">switch</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.getSwitchFlowCount-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.getSwitchFlowCount-expanded"><a name="L1726"></a><tt class="py-lineno">1726</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1727"></a><tt class="py-lineno">1727</tt>  <tt class="py-line"><tt class="py-docstring">           return the Flow Count of the switch"""</tt> </tt>
+<a name="L1728"></a><tt class="py-lineno">1728</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L1729"></a><tt class="py-lineno">1729</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"sh ovs-ofctl dump-aggregate %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">switch</tt> </tt>
+<a name="L1730"></a><tt class="py-lineno">1730</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1731"></a><tt class="py-lineno">1731</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-567" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-567', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1732"></a><tt class="py-lineno">1732</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">cmd</tt><tt class="py-op">,</tt> </tt>
+<a name="L1733"></a><tt class="py-lineno">1733</tt>  <tt class="py-line">                    <tt id="link-568" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-568', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1734"></a><tt class="py-lineno">1734</tt>  <tt class="py-line">                    <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1735"></a><tt class="py-lineno">1735</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1736"></a><tt class="py-lineno">1736</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-569" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-569', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-570" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-570', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1737"></a><tt class="py-lineno">1737</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-571" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-571', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-572" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-572', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">"     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1738"></a><tt class="py-lineno">1738</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-573" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-573', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1739"></a><tt class="py-lineno">1739</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-574" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-574', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1740"></a><tt class="py-lineno">1740</tt>  <tt class="py-line">            <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"flow_count=(\d+)"</tt> </tt>
+<a name="L1741"></a><tt class="py-lineno">1741</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">MULTILINE</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1742"></a><tt class="py-lineno">1742</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1743"></a><tt class="py-lineno">1743</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-575" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-575', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L1744"></a><tt class="py-lineno">1744</tt>  <tt class="py-line">                    <tt class="py-string">"Couldn't find flows on switch %s, found: %s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L1745"></a><tt class="py-lineno">1745</tt>  <tt class="py-line">                    <tt class="py-op">(</tt> <tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1746"></a><tt class="py-lineno">1746</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1747"></a><tt class="py-lineno">1747</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1748"></a><tt class="py-lineno">1748</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1749"></a><tt class="py-lineno">1749</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-576" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-576', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-577" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-577', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Connection failed to the Mininet host"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1750"></a><tt class="py-lineno">1750</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.checkFlows"></a><div id="MininetCliDriver.checkFlows-def"><a name="L1751"></a><tt class="py-lineno">1751</tt> <a class="py-toggle" href="#" id="MininetCliDriver.checkFlows-toggle" onclick="return toggle('MininetCliDriver.checkFlows');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkFlows">checkFlows</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sw</tt><tt class="py-op">,</tt> <tt class="py-param">dumpFormat</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.checkFlows-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.checkFlows-expanded"><a name="L1752"></a><tt class="py-lineno">1752</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">dumpFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L1753"></a><tt class="py-lineno">1753</tt>  <tt class="py-line">            <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"sh ovs-ofctl -F "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L1754"></a><tt class="py-lineno">1754</tt>  <tt class="py-line">                <tt class="py-name">dumpFormat</tt> <tt class="py-op">+</tt> <tt class="py-string">" dump-flows "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1755"></a><tt class="py-lineno">1755</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1756"></a><tt class="py-lineno">1756</tt>  <tt class="py-line">            <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"sh ovs-ofctl dump-flows "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1757"></a><tt class="py-lineno">1757</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1758"></a><tt class="py-lineno">1758</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-578" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-578', 'execute', 'link-139');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1759"></a><tt class="py-lineno">1759</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L1760"></a><tt class="py-lineno">1760</tt>  <tt class="py-line">                <tt id="link-579" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-579', 'prompt', 'link-140');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1761"></a><tt class="py-lineno">1761</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1762"></a><tt class="py-lineno">1762</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+<a name="L1763"></a><tt class="py-lineno">1763</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1764"></a><tt class="py-lineno">1764</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-580" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-580', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-581" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-581', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1765"></a><tt class="py-lineno">1765</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-582" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-582', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-583" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-583', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1766"></a><tt class="py-lineno">1766</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-584" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-584', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1767"></a><tt class="py-lineno">1767</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-585" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-585', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1768"></a><tt class="py-lineno">1768</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.getFlowTable"></a><div id="MininetCliDriver.getFlowTable-def"><a name="L1769"></a><tt class="py-lineno">1769</tt> <a class="py-toggle" href="#" id="MininetCliDriver.getFlowTable-toggle" onclick="return toggle('MininetCliDriver.getFlowTable');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getFlowTable">getFlowTable</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">protoVersion</tt><tt class="py-op">,</tt> <tt class="py-param">sw</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.getFlowTable-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.getFlowTable-expanded"><a name="L1770"></a><tt class="py-lineno">1770</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1771"></a><tt class="py-lineno">1771</tt>  <tt class="py-line"><tt class="py-docstring">        Returns certain fields of an OVS flow table. Will force output to</tt> </tt>
+<a name="L1772"></a><tt class="py-lineno">1772</tt>  <tt class="py-line"><tt class="py-docstring">        either OF 1.0 or 1.3 format for consistency.</tt> </tt>
+<a name="L1773"></a><tt class="py-lineno">1773</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1774"></a><tt class="py-lineno">1774</tt>  <tt class="py-line"><tt class="py-docstring">        TODO add option to look at cookies. ignoring them for now</tt> </tt>
+<a name="L1775"></a><tt class="py-lineno">1775</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1776"></a><tt class="py-lineno">1776</tt>  <tt class="py-line"><tt class="py-docstring">         NOTE: Use format to force consistent flow table output across</tt> </tt>
+<a name="L1777"></a><tt class="py-lineno">1777</tt>  <tt class="py-line"><tt class="py-docstring">         versions</tt> </tt>
+<a name="L1778"></a><tt class="py-lineno">1778</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1779"></a><tt class="py-lineno">1779</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1780"></a><tt class="py-lineno">1780</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-586" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-586', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1781"></a><tt class="py-lineno">1781</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1782"></a><tt class="py-lineno">1782</tt>  <tt class="py-line">            <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"sh ovs-ofctl dump-flows "</tt> <tt class="py-op">+</tt> <tt class="py-name">sw</tt> </tt>
+<a name="L1783"></a><tt class="py-lineno">1783</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">protoVersion</tt> <tt class="py-op">==</tt> <tt class="py-number">1.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L1784"></a><tt class="py-lineno">1784</tt>  <tt class="py-line">                <tt class="py-name">command</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -F OpenFlow10-table_id | awk '{OFS=\",\" ;"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1785"></a><tt class="py-lineno">1785</tt>  <tt class="py-line">                           <tt class="py-string">" print $1  $3  $6  $7  $8}' | "</tt> </tt>
+<a name="L1786"></a><tt class="py-lineno">1786</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">protoVersion</tt> <tt class="py-op">==</tt> <tt class="py-number">1.3</tt><tt class="py-op">:</tt> </tt>
+<a name="L1787"></a><tt class="py-lineno">1787</tt>  <tt class="py-line">                <tt class="py-name">command</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -O OpenFlow13 | awk '{OFS=\",\" ;"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1788"></a><tt class="py-lineno">1788</tt>  <tt class="py-line">                           <tt class="py-string">" print $1  $3  $6  $7}' | "</tt> </tt>
+<a name="L1789"></a><tt class="py-lineno">1789</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1790"></a><tt class="py-lineno">1790</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-587" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-587', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-588" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-588', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1791"></a><tt class="py-lineno">1791</tt>  <tt class="py-line">                    <tt class="py-string">"Unknown protoVersion in getFlowTable(). given: ("</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1792"></a><tt class="py-lineno">1792</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt> <tt class="py-name">protoVersion</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1793"></a><tt class="py-lineno">1793</tt>  <tt class="py-line">                    <tt class="py-string">") '"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">protoVersion</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"'"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1794"></a><tt class="py-lineno">1794</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1795"></a><tt class="py-lineno">1795</tt>  <tt class="py-line">            <tt class="py-name">command</tt> <tt class="py-op">+=</tt> <tt class="py-string">"cut -d ',' -f 2- | sort -n -k1 -r"</tt> </tt>
+<a name="L1796"></a><tt class="py-lineno">1796</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-589" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-589', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">command</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1797"></a><tt class="py-lineno">1797</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"sort"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1798"></a><tt class="py-lineno">1798</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"OFPST_FLOW"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1799"></a><tt class="py-lineno">1799</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L1800"></a><tt class="py-lineno">1800</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+<a name="L1801"></a><tt class="py-lineno">1801</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1802"></a><tt class="py-lineno">1802</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-590" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-590', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-591" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-591', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1803"></a><tt class="py-lineno">1803</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-592" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-592', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-593" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-593', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1804"></a><tt class="py-lineno">1804</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-594" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-594', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1805"></a><tt class="py-lineno">1805</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-595" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-595', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1806"></a><tt class="py-lineno">1806</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">:</tt> </tt>
+<a name="L1807"></a><tt class="py-lineno">1807</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-596" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-596', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Timeout exception: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1808"></a><tt class="py-lineno">1808</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L1809"></a><tt class="py-lineno">1809</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.flowComp"></a><div id="MininetCliDriver.flowComp-def"><a name="L1810"></a><tt class="py-lineno">1810</tt> <a class="py-toggle" href="#" id="MininetCliDriver.flowComp-toggle" onclick="return toggle('MininetCliDriver.flowComp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#flowComp">flowComp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">flow1</tt><tt class="py-op">,</tt> <tt class="py-param">flow2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.flowComp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.flowComp-expanded"><a name="L1811"></a><tt class="py-lineno">1811</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">flow1</tt> <tt class="py-op">==</tt> <tt class="py-name">flow2</tt><tt class="py-op">:</tt> </tt>
+<a name="L1812"></a><tt class="py-lineno">1812</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1813"></a><tt class="py-lineno">1813</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1814"></a><tt class="py-lineno">1814</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-597" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-597', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Flow tables do not match, printing tables:"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1815"></a><tt class="py-lineno">1815</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-598" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-598', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Flow Table 1:"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1816"></a><tt class="py-lineno">1816</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-599" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-599', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">flow1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1817"></a><tt class="py-lineno">1817</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-600" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-600', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Flow Table 2:"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1818"></a><tt class="py-lineno">1818</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-601" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-601', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">flow2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1819"></a><tt class="py-lineno">1819</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L1820"></a><tt class="py-lineno">1820</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.startTcpdump"></a><div id="MininetCliDriver.startTcpdump-def"><a name="L1821"></a><tt class="py-lineno">1821</tt> <a class="py-toggle" href="#" id="MininetCliDriver.startTcpdump-toggle" onclick="return toggle('MininetCliDriver.startTcpdump');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startTcpdump">startTcpdump</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">intf</tt><tt class="py-op">=</tt><tt class="py-string">"eth0"</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"port 6633"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.startTcpdump-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.startTcpdump-expanded"><a name="L1822"></a><tt class="py-lineno">1822</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1823"></a><tt class="py-lineno">1823</tt>  <tt class="py-line"><tt class="py-docstring">           Runs tpdump on an interface and saves the file</tt> </tt>
+<a name="L1824"></a><tt class="py-lineno">1824</tt>  <tt class="py-line"><tt class="py-docstring">           intf can be specified, or the default eth0 is used"""</tt> </tt>
+<a name="L1825"></a><tt class="py-lineno">1825</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1826"></a><tt class="py-lineno">1826</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-602" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-602', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1827"></a><tt class="py-lineno">1827</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1828"></a><tt class="py-lineno">1828</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-603" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-603', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1829"></a><tt class="py-lineno">1829</tt>  <tt class="py-line">                <tt class="py-string">"sh sudo tcpdump -n -i "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1830"></a><tt class="py-lineno">1830</tt>  <tt class="py-line">                <tt class="py-name">intf</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1831"></a><tt class="py-lineno">1831</tt>  <tt class="py-line">                <tt class="py-string">" "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1832"></a><tt class="py-lineno">1832</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1833"></a><tt class="py-lineno">1833</tt>  <tt class="py-line">                <tt class="py-string">" -w "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1834"></a><tt class="py-lineno">1834</tt>  <tt class="py-line">                <tt class="py-name">filename</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1835"></a><tt class="py-lineno">1835</tt>  <tt class="py-line">                <tt class="py-string">"  &amp;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1836"></a><tt class="py-lineno">1836</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-604" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-604', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1837"></a><tt class="py-lineno">1837</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">'No\ssuch\device'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1838"></a><tt class="py-lineno">1838</tt>  <tt class="py-line">                                      <tt class="py-string">'listening\son'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1839"></a><tt class="py-lineno">1839</tt>  <tt class="py-line">                                      <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">,</tt> </tt>
+<a name="L1840"></a><tt class="py-lineno">1840</tt>  <tt class="py-line">                                      <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1841"></a><tt class="py-lineno">1841</tt>  <tt class="py-line">                                    <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1842"></a><tt class="py-lineno">1842</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-605" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-605', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">after</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1843"></a><tt class="py-lineno">1843</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-606" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-606', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1844"></a><tt class="py-lineno">1844</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1845"></a><tt class="py-lineno">1845</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L1846"></a><tt class="py-lineno">1846</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-607" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-607', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-608" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-608', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1847"></a><tt class="py-lineno">1847</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1848"></a><tt class="py-lineno">1848</tt>  <tt class="py-line">                    <tt class="py-string">": tcpdump - No such device exists. "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1849"></a><tt class="py-lineno">1849</tt>  <tt class="py-line">                    <tt class="py-string">"tcpdump attempted on: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1850"></a><tt class="py-lineno">1850</tt>  <tt class="py-line">                    <tt class="py-name">intf</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1851"></a><tt class="py-lineno">1851</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1852"></a><tt class="py-lineno">1852</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1853"></a><tt class="py-lineno">1853</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-609" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-609', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": tcpdump started on "</tt> <tt class="py-op">+</tt> <tt class="py-name">intf</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1854"></a><tt class="py-lineno">1854</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1855"></a><tt class="py-lineno">1855</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L1856"></a><tt class="py-lineno">1856</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-610" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-610', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-611" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-611', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1857"></a><tt class="py-lineno">1857</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1858"></a><tt class="py-lineno">1858</tt>  <tt class="py-line">                    <tt class="py-string">": tcpdump command timed out! Check interface name,"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1859"></a><tt class="py-lineno">1859</tt>  <tt class="py-line">                    <tt class="py-string">" given interface was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1860"></a><tt class="py-lineno">1860</tt>  <tt class="py-line">                    <tt class="py-name">intf</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1861"></a><tt class="py-lineno">1861</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1862"></a><tt class="py-lineno">1862</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L1863"></a><tt class="py-lineno">1863</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-612" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-612', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1864"></a><tt class="py-lineno">1864</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1865"></a><tt class="py-lineno">1865</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1866"></a><tt class="py-lineno">1866</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-613" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-613', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-614" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-614', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": tcpdump - unexpected response"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1867"></a><tt class="py-lineno">1867</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1868"></a><tt class="py-lineno">1868</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1869"></a><tt class="py-lineno">1869</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-615" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-615', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-616" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-616', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1870"></a><tt class="py-lineno">1870</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-617" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-617', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-618" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-618', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1871"></a><tt class="py-lineno">1871</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-619" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-619', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1872"></a><tt class="py-lineno">1872</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-620" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-620', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1873"></a><tt class="py-lineno">1873</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1874"></a><tt class="py-lineno">1874</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-621" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-621', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1875"></a><tt class="py-lineno">1875</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-622" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-622', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1876"></a><tt class="py-lineno">1876</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-623" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-623', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1877"></a><tt class="py-lineno">1877</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.stopTcpdump"></a><div id="MininetCliDriver.stopTcpdump-def"><a name="L1878"></a><tt class="py-lineno">1878</tt> <a class="py-toggle" href="#" id="MininetCliDriver.stopTcpdump-toggle" onclick="return toggle('MininetCliDriver.stopTcpdump');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopTcpdump">stopTcpdump</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.stopTcpdump-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.stopTcpdump-expanded"><a name="L1879"></a><tt class="py-lineno">1879</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1880"></a><tt class="py-lineno">1880</tt>  <tt class="py-line"><tt class="py-docstring">            pkills tcpdump"""</tt> </tt>
+<a name="L1881"></a><tt class="py-lineno">1881</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1882"></a><tt class="py-lineno">1882</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-624" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-624', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"sh sudo pkill tcpdump"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1883"></a><tt class="py-lineno">1883</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1884"></a><tt class="py-lineno">1884</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-625" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-625', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1885"></a><tt class="py-lineno">1885</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1886"></a><tt class="py-lineno">1886</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1887"></a><tt class="py-lineno">1887</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-626" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-626', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-627" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-627', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1888"></a><tt class="py-lineno">1888</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-628" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-628', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-629" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-629', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1889"></a><tt class="py-lineno">1889</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-630" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-630', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1890"></a><tt class="py-lineno">1890</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-631" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-631', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1891"></a><tt class="py-lineno">1891</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1892"></a><tt class="py-lineno">1892</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-632" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-632', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1893"></a><tt class="py-lineno">1893</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-633" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-633', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1894"></a><tt class="py-lineno">1894</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-634" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-634', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1895"></a><tt class="py-lineno">1895</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.getPorts"></a><div id="MininetCliDriver.getPorts-def"><a name="L1896"></a><tt class="py-lineno">1896</tt> <a class="py-toggle" href="#" id="MininetCliDriver.getPorts-toggle" onclick="return toggle('MininetCliDriver.getPorts');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getPorts">getPorts</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nodeName</tt><tt class="py-op">,</tt> <tt class="py-param">verbose</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.getPorts-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.getPorts-expanded"><a name="L1897"></a><tt class="py-lineno">1897</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1898"></a><tt class="py-lineno">1898</tt>  <tt class="py-line"><tt class="py-docstring">        Read ports from a Mininet switch.</tt> </tt>
+<a name="L1899"></a><tt class="py-lineno">1899</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1900"></a><tt class="py-lineno">1900</tt>  <tt class="py-line"><tt class="py-docstring">        Returns a json structure containing information about the</tt> </tt>
+<a name="L1901"></a><tt class="py-lineno">1901</tt>  <tt class="py-line"><tt class="py-docstring">        ports of the given switch.</tt> </tt>
+<a name="L1902"></a><tt class="py-lineno">1902</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1903"></a><tt class="py-lineno">1903</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-635" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getInterfaces()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getInterfaces"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getInterfaces" class="py-name" href="#" onclick="return doclink('link-635', 'getInterfaces', 'link-635');">getInterfaces</a></tt><tt class="py-op">(</tt> <tt class="py-name">nodeName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1904"></a><tt class="py-lineno">1904</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Sanity check on response. log if no such switch exists</tt> </tt>
+<a name="L1905"></a><tt class="py-lineno">1905</tt>  <tt class="py-line">        <tt id="link-636" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#ports"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-636', 'ports', 'link-636');">ports</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1906"></a><tt class="py-lineno">1906</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1907"></a><tt class="py-lineno">1907</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt> <tt class="py-string">"name="</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1908"></a><tt class="py-lineno">1908</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+<a name="L1909"></a><tt class="py-lineno">1909</tt>  <tt class="py-line">            <tt class="py-name">portVars</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1910"></a><tt class="py-lineno">1910</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">var</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">","</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1911"></a><tt class="py-lineno">1911</tt>  <tt class="py-line">                <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">var</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"="</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1912"></a><tt class="py-lineno">1912</tt>  <tt class="py-line">                <tt class="py-name">portVars</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
+<a name="L1913"></a><tt class="py-lineno">1913</tt>  <tt class="py-line">            <tt class="py-name">isUp</tt> <tt class="py-op">=</tt> <tt class="py-name">portVars</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt> <tt class="py-string">'enabled'</tt><tt class="py-op">,</tt> <tt class="py-string">"True"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1914"></a><tt class="py-lineno">1914</tt>  <tt class="py-line">            <tt class="py-name">isUp</tt> <tt class="py-op">=</tt> <tt class="py-string">"True"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">isUp</tt> </tt>
+<a name="L1915"></a><tt class="py-lineno">1915</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">verbose</tt><tt class="py-op">:</tt> </tt>
+<a name="L1916"></a><tt class="py-lineno">1916</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-637" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-637', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Reading switch port %s(%s)"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L1917"></a><tt class="py-lineno">1917</tt>  <tt class="py-line">                               <tt class="py-op">(</tt> <tt class="py-name">portVars</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">portVars</tt><tt class="py-op">[</tt> <tt class="py-string">'mac'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1918"></a><tt class="py-lineno">1918</tt>  <tt class="py-line">            <tt class="py-name">mac</tt> <tt class="py-op">=</tt> <tt class="py-name">portVars</tt><tt class="py-op">[</tt> <tt class="py-string">'mac'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1919"></a><tt class="py-lineno">1919</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">mac</tt> <tt class="py-op">==</tt> <tt class="py-string">'None'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1920"></a><tt class="py-lineno">1920</tt>  <tt class="py-line">                <tt class="py-name">mac</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1921"></a><tt class="py-lineno">1921</tt>  <tt class="py-line">            <tt class="py-name">ips</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1922"></a><tt class="py-lineno">1922</tt>  <tt class="py-line">            <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">portVars</tt><tt class="py-op">[</tt> <tt class="py-string">'ip'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1923"></a><tt class="py-lineno">1923</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">'None'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1924"></a><tt class="py-lineno">1924</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1925"></a><tt class="py-lineno">1925</tt>  <tt class="py-line">            <tt class="py-name">ips</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1926"></a><tt class="py-lineno">1926</tt>  <tt class="py-line">            <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">portVars</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1927"></a><tt class="py-lineno">1927</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-op">==</tt> <tt class="py-string">'None'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1928"></a><tt class="py-lineno">1928</tt>  <tt class="py-line">                <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1929"></a><tt class="py-lineno">1929</tt>  <tt class="py-line">            <tt class="py-name">portRe</tt> <tt class="py-op">=</tt> <tt class="py-string">r'[^\-]\d\-eth(?P&lt;port&gt;\d+)'</tt> </tt>
+<a name="L1930"></a><tt class="py-lineno">1930</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-op">==</tt> <tt class="py-string">'lo'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1931"></a><tt class="py-lineno">1931</tt>  <tt class="py-line">                <tt class="py-name">portNo</tt> <tt class="py-op">=</tt> <tt class="py-number">0xfffe</tt>  <tt class="py-comment"># TODO: 1.0 value - Should we just return lo?</tt> </tt>
+<a name="L1932"></a><tt class="py-lineno">1932</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1933"></a><tt class="py-lineno">1933</tt>  <tt class="py-line">                <tt class="py-name">portNo</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">portRe</tt><tt class="py-op">,</tt> <tt class="py-name">name</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-string">'port'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1934"></a><tt class="py-lineno">1934</tt>  <tt class="py-line">            <tt id="link-638" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-638', 'ports', 'link-636');">ports</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">{</tt> <tt class="py-string">'of_port'</tt><tt class="py-op">:</tt> <tt class="py-name">portNo</tt><tt class="py-op">,</tt> </tt>
+<a name="L1935"></a><tt class="py-lineno">1935</tt>  <tt class="py-line">                            <tt class="py-string">'mac'</tt><tt class="py-op">:</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">'\''</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1936"></a><tt class="py-lineno">1936</tt>  <tt class="py-line">                            <tt class="py-string">'name'</tt><tt class="py-op">:</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> </tt>
+<a name="L1937"></a><tt class="py-lineno">1937</tt>  <tt class="py-line">                            <tt class="py-string">'ips'</tt><tt class="py-op">:</tt> <tt class="py-name">ips</tt><tt class="py-op">,</tt> </tt>
+<a name="L1938"></a><tt class="py-lineno">1938</tt>  <tt class="py-line">                            <tt class="py-string">'enabled'</tt><tt class="py-op">:</tt> <tt class="py-name">isUp</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1939"></a><tt class="py-lineno">1939</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-639" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-639', 'ports', 'link-636');">ports</a></tt> </tt>
+</div><a name="L1940"></a><tt class="py-lineno">1940</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.getSwitches"></a><div id="MininetCliDriver.getSwitches-def"><a name="L1941"></a><tt class="py-lineno">1941</tt> <a class="py-toggle" href="#" id="MininetCliDriver.getSwitches-toggle" onclick="return toggle('MininetCliDriver.getSwitches');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitches">getSwitches</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">verbose</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.getSwitches-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.getSwitches-expanded"><a name="L1942"></a><tt class="py-lineno">1942</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1943"></a><tt class="py-lineno">1943</tt>  <tt class="py-line"><tt class="py-docstring">        Read switches from Mininet.</tt> </tt>
+<a name="L1944"></a><tt class="py-lineno">1944</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1945"></a><tt class="py-lineno">1945</tt>  <tt class="py-line"><tt class="py-docstring">        Returns a dictionary whose keys are the switch names and the value is</tt> </tt>
+<a name="L1946"></a><tt class="py-lineno">1946</tt>  <tt class="py-line"><tt class="py-docstring">        a dictionary containing information about the switch.</tt> </tt>
+<a name="L1947"></a><tt class="py-lineno">1947</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1948"></a><tt class="py-lineno">1948</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: To support new Mininet switch classes, just append the new</tt> </tt>
+<a name="L1949"></a><tt class="py-lineno">1949</tt>  <tt class="py-line">        <tt class="py-comment"># class to the switchClasses variable</tt> </tt>
+<a name="L1950"></a><tt class="py-lineno">1950</tt>  <tt class="py-line"> </tt>
+<a name="L1951"></a><tt class="py-lineno">1951</tt>  <tt class="py-line">        <tt class="py-comment"># Regex patterns to parse 'dump' output</tt> </tt>
+<a name="L1952"></a><tt class="py-lineno">1952</tt>  <tt class="py-line">        <tt class="py-comment"># Example Switches:</tt> </tt>
+<a name="L1953"></a><tt class="py-lineno">1953</tt>  <tt class="py-line">        <tt class="py-comment"># &lt;OVSSwitch s1: lo:127.0.0.1,s1-eth1:None,s1-eth2:None,s1-eth3:None pid=5238&gt;</tt> </tt>
+<a name="L1954"></a><tt class="py-lineno">1954</tt>  <tt class="py-line">        <tt class="py-comment"># &lt;OVSSwitch{ 'protocols': 'OpenFlow10' } s1: lo:127.0.0.1,s1-eth1:None,s1-eth2:None pid=25974&gt;</tt> </tt>
+<a name="L1955"></a><tt class="py-lineno">1955</tt>  <tt class="py-line">        <tt class="py-comment"># &lt;OVSSwitchNS s1: lo:127.0.0.1,s1-eth1:None,s1-eth2:None,s1-eth3:None pid=22550&gt;</tt> </tt>
+<a name="L1956"></a><tt class="py-lineno">1956</tt>  <tt class="py-line">        <tt class="py-comment"># &lt;OVSBridge s1: lo:127.0.0.1,s1-eth1:None,s1-eth2:None pid=26830&gt;</tt> </tt>
+<a name="L1957"></a><tt class="py-lineno">1957</tt>  <tt class="py-line">        <tt class="py-comment"># &lt;UserSwitch s1: lo:127.0.0.1,s1-eth1:None,s1-eth2:None pid=14737&gt;</tt> </tt>
+<a name="L1958"></a><tt class="py-lineno">1958</tt>  <tt class="py-line">        <tt class="py-name">switchClasses</tt> <tt class="py-op">=</tt> <tt class="py-string">r"(OVSSwitch)|(OVSBridge)|(OVSSwitchNS)|(IVSSwitch)|(LinuxBridge)|(UserSwitch)"</tt> </tt>
+<a name="L1959"></a><tt class="py-lineno">1959</tt>  <tt class="py-line">        <tt class="py-name">swRE</tt> <tt class="py-op">=</tt> <tt class="py-string">r"&lt;(?P&lt;class&gt;"</tt> <tt class="py-op">+</tt> <tt class="py-name">switchClasses</tt> <tt class="py-op">+</tt> <tt class="py-string">r")"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1960"></a><tt class="py-lineno">1960</tt>  <tt class="py-line">               <tt class="py-string">r"(?P&lt;options&gt;\{.*\})?\s"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1961"></a><tt class="py-lineno">1961</tt>  <tt class="py-line">               <tt class="py-string">r"(?P&lt;name&gt;[^:]+)\:\s"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1962"></a><tt class="py-lineno">1962</tt>  <tt class="py-line">               <tt class="py-string">r"(?P&lt;ports&gt;([^,]+,)*[^,\s]+)"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1963"></a><tt class="py-lineno">1963</tt>  <tt class="py-line">               <tt class="py-string">r"\spid=(?P&lt;pid&gt;(\d)+)"</tt> </tt>
+<a name="L1964"></a><tt class="py-lineno">1964</tt>  <tt class="py-line">        <tt class="py-comment"># Update mn port info</tt> </tt>
+<a name="L1965"></a><tt class="py-lineno">1965</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-640" class="py-name" targets="Method TestON.core.dicttoobject.DictToObject.update()=TestON.core.dicttoobject.DictToObject-class.html#update,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#update"><a title="TestON.core.dicttoobject.DictToObject.update
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update" class="py-name" href="#" onclick="return doclink('link-640', 'update', 'link-640');">update</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1966"></a><tt class="py-lineno">1966</tt>  <tt class="py-line">        <tt id="link-641" class="py-name" targets="Function TestON.bin.cli.output()=TestON.bin.cli-module.html#output"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-641', 'output', 'link-641');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1967"></a><tt class="py-lineno">1967</tt>  <tt class="py-line">        <tt id="link-642" class="py-name" targets="Variable TestON.bin.cli.dump=TestON.bin.cli-module.html#dump,Function TestON.core.ast.dump()=TestON.core.ast-module.html#dump,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dump()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#dump"><a title="TestON.bin.cli.dump
+TestON.core.ast.dump
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dump" class="py-name" href="#" onclick="return doclink('link-642', 'dump', 'link-642');">dump</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-643" class="py-name"><a title="TestON.bin.cli.dump
+TestON.core.ast.dump
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dump" class="py-name" href="#" onclick="return doclink('link-643', 'dump', 'link-642');">dump</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1968"></a><tt class="py-lineno">1968</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt id="link-644" class="py-name"><a title="TestON.bin.cli.dump
+TestON.core.ast.dump
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dump" class="py-name" href="#" onclick="return doclink('link-644', 'dump', 'link-642');">dump</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L1969"></a><tt class="py-lineno">1969</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">swRE</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">I</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1970"></a><tt class="py-lineno">1970</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">result</tt><tt class="py-op">:</tt> </tt>
+<a name="L1971"></a><tt class="py-lineno">1971</tt>  <tt class="py-line">                <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-string">'name'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1972"></a><tt class="py-lineno">1972</tt>  <tt class="py-line">                <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-645" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitchDPID()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitchDPID"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitchDPID" class="py-name" href="#" onclick="return doclink('link-645', 'getSwitchDPID', 'link-645');">getSwitchDPID</a></tt><tt class="py-op">(</tt> <tt class="py-name">name</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">16</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1973"></a><tt class="py-lineno">1973</tt>  <tt class="py-line">                <tt class="py-name">pid</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-string">'pid'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1974"></a><tt class="py-lineno">1974</tt>  <tt class="py-line">                <tt class="py-name">swClass</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-string">'class'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1975"></a><tt class="py-lineno">1975</tt>  <tt class="py-line">                <tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-string">'options'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1976"></a><tt class="py-lineno">1976</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">verbose</tt><tt class="py-op">:</tt> </tt>
+<a name="L1977"></a><tt class="py-lineno">1977</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-646" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-646', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Reading switch %s(%s)"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">dpid</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1978"></a><tt class="py-lineno">1978</tt>  <tt class="py-line">                <tt id="link-647" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-647', 'ports', 'link-636');">ports</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-648" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getPorts()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getPorts"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getPorts" class="py-name" href="#" onclick="return doclink('link-648', 'getPorts', 'link-648');">getPorts</a></tt><tt class="py-op">(</tt> <tt class="py-name">name</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1979"></a><tt class="py-lineno">1979</tt>  <tt class="py-line">                <tt id="link-649" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-649', 'output', 'link-641');">output</a></tt><tt class="py-op">[</tt> <tt class="py-name">name</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">"dpid"</tt><tt class="py-op">:</tt> <tt class="py-name">dpid</tt><tt class="py-op">,</tt> </tt>
+<a name="L1980"></a><tt class="py-lineno">1980</tt>  <tt class="py-line">                                   <tt class="py-string">"ports"</tt><tt class="py-op">:</tt> <tt id="link-650" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-650', 'ports', 'link-636');">ports</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1981"></a><tt class="py-lineno">1981</tt>  <tt class="py-line">                                   <tt class="py-string">"swClass"</tt><tt class="py-op">:</tt> <tt class="py-name">swClass</tt><tt class="py-op">,</tt> </tt>
+<a name="L1982"></a><tt class="py-lineno">1982</tt>  <tt class="py-line">                                   <tt class="py-string">"pid"</tt><tt class="py-op">:</tt> <tt class="py-name">pid</tt><tt class="py-op">,</tt> </tt>
+<a name="L1983"></a><tt class="py-lineno">1983</tt>  <tt class="py-line">                                   <tt class="py-string">"options"</tt><tt class="py-op">:</tt> <tt class="py-name">options</tt> <tt class="py-op">}</tt> </tt>
+<a name="L1984"></a><tt class="py-lineno">1984</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-651" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-651', 'output', 'link-641');">output</a></tt> </tt>
+</div><a name="L1985"></a><tt class="py-lineno">1985</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.getHosts"></a><div id="MininetCliDriver.getHosts-def"><a name="L1986"></a><tt class="py-lineno">1986</tt> <a class="py-toggle" href="#" id="MininetCliDriver.getHosts-toggle" onclick="return toggle('MininetCliDriver.getHosts');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getHosts">getHosts</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">verbose</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.getHosts-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.getHosts-expanded"><a name="L1987"></a><tt class="py-lineno">1987</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1988"></a><tt class="py-lineno">1988</tt>  <tt class="py-line"><tt class="py-docstring">        Read hosts from Mininet.</tt> </tt>
+<a name="L1989"></a><tt class="py-lineno">1989</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1990"></a><tt class="py-lineno">1990</tt>  <tt class="py-line"><tt class="py-docstring">        Returns a dictionary whose keys are the host names and the value is</tt> </tt>
+<a name="L1991"></a><tt class="py-lineno">1991</tt>  <tt class="py-line"><tt class="py-docstring">        a dictionary containing information about the host.</tt> </tt>
+<a name="L1992"></a><tt class="py-lineno">1992</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1993"></a><tt class="py-lineno">1993</tt>  <tt class="py-line">        <tt class="py-comment"># Regex patterns to parse dump output</tt> </tt>
+<a name="L1994"></a><tt class="py-lineno">1994</tt>  <tt class="py-line">        <tt class="py-comment"># Example host: &lt;Host h1: h1-eth0:10.0.0.1 pid=5227&gt;</tt> </tt>
+<a name="L1995"></a><tt class="py-lineno">1995</tt>  <tt class="py-line">        <tt class="py-comment">#               &lt;Host h1:  pid=12725&gt;</tt> </tt>
+<a name="L1996"></a><tt class="py-lineno">1996</tt>  <tt class="py-line">        <tt class="py-comment">#               &lt;VLANHost h12: h12-eth0.100.100.100:100.1.0.3 pid=30186&gt;</tt> </tt>
+<a name="L1997"></a><tt class="py-lineno">1997</tt>  <tt class="py-line">        <tt class="py-comment">#               &lt;dualStackHost h19: h19-eth0:10.1.0.9 pid=30200&gt;</tt> </tt>
+<a name="L1998"></a><tt class="py-lineno">1998</tt>  <tt class="py-line">        <tt class="py-comment">#               &lt;IPv6Host h18: h18-eth0:10.0.0.18 pid=30198&gt;</tt> </tt>
+<a name="L1999"></a><tt class="py-lineno">1999</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: Does not correctly match hosts with multi-links</tt> </tt>
+<a name="L2000"></a><tt class="py-lineno">2000</tt>  <tt class="py-line">        <tt class="py-comment">#       &lt;Host h2: h2-eth0:10.0.0.2,h2-eth1:10.0.1.2 pid=14386&gt;</tt> </tt>
+<a name="L2001"></a><tt class="py-lineno">2001</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: Fix that</tt> </tt>
+<a name="L2002"></a><tt class="py-lineno">2002</tt>  <tt class="py-line">        <tt class="py-name">hostRE</tt> <tt class="py-op">=</tt> <tt class="py-string">r"Host\s(?P&lt;name&gt;[^:]+)\:((\s(?P&lt;ifname&gt;[^:]+)\:"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2003"></a><tt class="py-lineno">2003</tt>  <tt class="py-line">            <tt class="py-string">"(?P&lt;ip&gt;[^\s]+))|(\s)\spid=(?P&lt;pid&gt;[^&gt;]+))"</tt> </tt>
+<a name="L2004"></a><tt class="py-lineno">2004</tt>  <tt class="py-line">        <tt class="py-comment"># update mn port info</tt> </tt>
+<a name="L2005"></a><tt class="py-lineno">2005</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-652" class="py-name"><a title="TestON.core.dicttoobject.DictToObject.update
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update" class="py-name" href="#" onclick="return doclink('link-652', 'update', 'link-640');">update</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2006"></a><tt class="py-lineno">2006</tt>  <tt class="py-line">        <tt class="py-comment"># Get mininet dump</tt> </tt>
+<a name="L2007"></a><tt class="py-lineno">2007</tt>  <tt class="py-line">        <tt id="link-653" class="py-name"><a title="TestON.bin.cli.dump
+TestON.core.ast.dump
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dump" class="py-name" href="#" onclick="return doclink('link-653', 'dump', 'link-642');">dump</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-654" class="py-name"><a title="TestON.bin.cli.dump
+TestON.core.ast.dump
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dump" class="py-name" href="#" onclick="return doclink('link-654', 'dump', 'link-642');">dump</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2008"></a><tt class="py-lineno">2008</tt>  <tt class="py-line">        <tt id="link-655" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-655', 'hosts', 'link-308');">hosts</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L2009"></a><tt class="py-lineno">2009</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt id="link-656" class="py-name"><a title="TestON.bin.cli.dump
+TestON.core.ast.dump
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dump" class="py-name" href="#" onclick="return doclink('link-656', 'dump', 'link-642');">dump</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2010"></a><tt class="py-lineno">2010</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"Host"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt> <tt class="py-op">:</tt> </tt>
+<a name="L2011"></a><tt class="py-lineno">2011</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">hostRE</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2012"></a><tt class="py-lineno">2012</tt>  <tt class="py-line">                <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-string">'name'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2013"></a><tt class="py-lineno">2013</tt>  <tt class="py-line">                <tt class="py-name">interfaces</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2014"></a><tt class="py-lineno">2014</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-657" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getInterfaces" class="py-name" href="#" onclick="return doclink('link-657', 'getInterfaces', 'link-635');">getInterfaces</a></tt><tt class="py-op">(</tt> <tt class="py-name">name</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2015"></a><tt class="py-lineno">2015</tt>  <tt class="py-line">                <tt class="py-comment"># Populate interface info</tt> </tt>
+<a name="L2016"></a><tt class="py-lineno">2016</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2017"></a><tt class="py-lineno">2017</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt> <tt class="py-string">"name="</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2018"></a><tt class="py-lineno">2018</tt>  <tt class="py-line">                        <tt class="py-name">portVars</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L2019"></a><tt class="py-lineno">2019</tt>  <tt class="py-line">                        <tt class="py-keyword">for</tt> <tt class="py-name">var</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">","</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2020"></a><tt class="py-lineno">2020</tt>  <tt class="py-line">                            <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">var</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"="</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2021"></a><tt class="py-lineno">2021</tt>  <tt class="py-line">                            <tt class="py-name">portVars</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
+<a name="L2022"></a><tt class="py-lineno">2022</tt>  <tt class="py-line">                        <tt class="py-name">isUp</tt> <tt class="py-op">=</tt> <tt class="py-name">portVars</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt> <tt class="py-string">'enabled'</tt><tt class="py-op">,</tt> <tt class="py-string">"True"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2023"></a><tt class="py-lineno">2023</tt>  <tt class="py-line">                        <tt class="py-name">isUp</tt> <tt class="py-op">=</tt> <tt class="py-string">"True"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">isUp</tt> </tt>
+<a name="L2024"></a><tt class="py-lineno">2024</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">verbose</tt><tt class="py-op">:</tt> </tt>
+<a name="L2025"></a><tt class="py-lineno">2025</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-658" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-658', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Reading host port %s(%s)"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L2026"></a><tt class="py-lineno">2026</tt>  <tt class="py-line">                                           <tt class="py-op">(</tt> <tt class="py-name">portVars</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2027"></a><tt class="py-lineno">2027</tt>  <tt class="py-line">                                             <tt class="py-name">portVars</tt><tt class="py-op">[</tt> <tt class="py-string">'mac'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2028"></a><tt class="py-lineno">2028</tt>  <tt class="py-line">                        <tt class="py-name">mac</tt> <tt class="py-op">=</tt> <tt class="py-name">portVars</tt><tt class="py-op">[</tt> <tt class="py-string">'mac'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2029"></a><tt class="py-lineno">2029</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">mac</tt> <tt class="py-op">==</tt> <tt class="py-string">'None'</tt><tt class="py-op">:</tt> </tt>
+<a name="L2030"></a><tt class="py-lineno">2030</tt>  <tt class="py-line">                            <tt class="py-name">mac</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2031"></a><tt class="py-lineno">2031</tt>  <tt class="py-line">                        <tt class="py-name">ips</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2032"></a><tt class="py-lineno">2032</tt>  <tt class="py-line">                        <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">portVars</tt><tt class="py-op">[</tt> <tt class="py-string">'ip'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2033"></a><tt class="py-lineno">2033</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-op">==</tt> <tt class="py-string">'None'</tt><tt class="py-op">:</tt> </tt>
+<a name="L2034"></a><tt class="py-lineno">2034</tt>  <tt class="py-line">                            <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2035"></a><tt class="py-lineno">2035</tt>  <tt class="py-line">                        <tt class="py-name">ips</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2036"></a><tt class="py-lineno">2036</tt>  <tt class="py-line">                        <tt class="py-name">intfName</tt> <tt class="py-op">=</tt> <tt class="py-name">portVars</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2037"></a><tt class="py-lineno">2037</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-op">==</tt> <tt class="py-string">'None'</tt><tt class="py-op">:</tt> </tt>
+<a name="L2038"></a><tt class="py-lineno">2038</tt>  <tt class="py-line">                            <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2039"></a><tt class="py-lineno">2039</tt>  <tt class="py-line">                        <tt class="py-name">interfaces</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">{</tt> </tt>
+<a name="L2040"></a><tt class="py-lineno">2040</tt>  <tt class="py-line">                            <tt class="py-string">"name"</tt><tt class="py-op">:</tt> <tt class="py-name">intfName</tt><tt class="py-op">,</tt> </tt>
+<a name="L2041"></a><tt class="py-lineno">2041</tt>  <tt class="py-line">                            <tt class="py-string">"ips"</tt><tt class="py-op">:</tt> <tt class="py-name">ips</tt><tt class="py-op">,</tt> </tt>
+<a name="L2042"></a><tt class="py-lineno">2042</tt>  <tt class="py-line">                            <tt class="py-string">"mac"</tt><tt class="py-op">:</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2043"></a><tt class="py-lineno">2043</tt>  <tt class="py-line">                            <tt class="py-string">"isUp"</tt><tt class="py-op">:</tt> <tt class="py-name">isUp</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2044"></a><tt class="py-lineno">2044</tt>  <tt class="py-line">                <tt id="link-659" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-659', 'hosts', 'link-308');">hosts</a></tt><tt class="py-op">[</tt> <tt class="py-name">name</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">"interfaces"</tt><tt class="py-op">:</tt> <tt class="py-name">interfaces</tt> <tt class="py-op">}</tt> </tt>
+<a name="L2045"></a><tt class="py-lineno">2045</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-660" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-660', 'hosts', 'link-308');">hosts</a></tt> </tt>
+</div><a name="L2046"></a><tt class="py-lineno">2046</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.getLinks"></a><div id="MininetCliDriver.getLinks-def"><a name="L2047"></a><tt class="py-lineno">2047</tt> <a class="py-toggle" href="#" id="MininetCliDriver.getLinks-toggle" onclick="return toggle('MininetCliDriver.getLinks');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getLinks">getLinks</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.getLinks-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.getLinks-expanded"><a name="L2048"></a><tt class="py-lineno">2048</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2049"></a><tt class="py-lineno">2049</tt>  <tt class="py-line"><tt class="py-docstring">        Gathers information about current Mininet links. These links may not</tt> </tt>
+<a name="L2050"></a><tt class="py-lineno">2050</tt>  <tt class="py-line"><tt class="py-docstring">        be up if one of the ports is down.</tt> </tt>
+<a name="L2051"></a><tt class="py-lineno">2051</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2052"></a><tt class="py-lineno">2052</tt>  <tt class="py-line"><tt class="py-docstring">        Returns a list of dictionaries with link endpoints.</tt> </tt>
+<a name="L2053"></a><tt class="py-lineno">2053</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2054"></a><tt class="py-lineno">2054</tt>  <tt class="py-line"><tt class="py-docstring">        The dictionary structure is:</tt> </tt>
+<a name="L2055"></a><tt class="py-lineno">2055</tt>  <tt class="py-line"><tt class="py-docstring">            { 'node1': str( node1 name )</tt> </tt>
+<a name="L2056"></a><tt class="py-lineno">2056</tt>  <tt class="py-line"><tt class="py-docstring">              'node2': str( node2 name )</tt> </tt>
+<a name="L2057"></a><tt class="py-lineno">2057</tt>  <tt class="py-line"><tt class="py-docstring">              'port1': str( port1 of_port )</tt> </tt>
+<a name="L2058"></a><tt class="py-lineno">2058</tt>  <tt class="py-line"><tt class="py-docstring">              'port2': str( port2 of_port ) }</tt> </tt>
+<a name="L2059"></a><tt class="py-lineno">2059</tt>  <tt class="py-line"><tt class="py-docstring">        Note: The port number returned is the eth#, not necessarily the of_port</tt> </tt>
+<a name="L2060"></a><tt class="py-lineno">2060</tt>  <tt class="py-line"><tt class="py-docstring">              number. In Mininet, for OVS switch, these should be the same. For</tt> </tt>
+<a name="L2061"></a><tt class="py-lineno">2061</tt>  <tt class="py-line"><tt class="py-docstring">              hosts, this is just the eth#.</tt> </tt>
+<a name="L2062"></a><tt class="py-lineno">2062</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2063"></a><tt class="py-lineno">2063</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-661" class="py-name"><a title="TestON.core.dicttoobject.DictToObject.update
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update" class="py-name" href="#" onclick="return doclink('link-661', 'update', 'link-640');">update</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2064"></a><tt class="py-lineno">2064</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-662" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#links,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#links"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-662', 'links', 'link-662');">links</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">'\n'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2065"></a><tt class="py-lineno">2065</tt>  <tt class="py-line"> </tt>
+<a name="L2066"></a><tt class="py-lineno">2066</tt>  <tt class="py-line">        <tt class="py-comment"># Examples:</tt> </tt>
+<a name="L2067"></a><tt class="py-lineno">2067</tt>  <tt class="py-line">        <tt class="py-comment"># s1-eth3&lt;-&gt;s2-eth1 (OK OK)</tt> </tt>
+<a name="L2068"></a><tt class="py-lineno">2068</tt>  <tt class="py-line">        <tt class="py-comment"># s13-eth3&lt;-&gt;h27-eth0 (OK OK)</tt> </tt>
+<a name="L2069"></a><tt class="py-lineno">2069</tt>  <tt class="py-line">        <tt class="py-name">linkRE</tt> <tt class="py-op">=</tt> <tt class="py-string">"(?P&lt;node1&gt;[\w]+)\-eth(?P&lt;port1&gt;[\d]+)\&lt;\-\&gt;"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2070"></a><tt class="py-lineno">2070</tt>  <tt class="py-line">                 <tt class="py-string">"(?P&lt;node2&gt;[\w]+)\-eth(?P&lt;port2&gt;[\d]+)"</tt> </tt>
+<a name="L2071"></a><tt class="py-lineno">2071</tt>  <tt class="py-line">        <tt id="link-663" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-663', 'links', 'link-662');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2072"></a><tt class="py-lineno">2072</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">response</tt><tt class="py-op">:</tt> </tt>
+<a name="L2073"></a><tt class="py-lineno">2073</tt>  <tt class="py-line">            <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">linkRE</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2074"></a><tt class="py-lineno">2074</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">match</tt><tt class="py-op">:</tt> </tt>
+<a name="L2075"></a><tt class="py-lineno">2075</tt>  <tt class="py-line">                <tt class="py-name">node1</tt> <tt class="py-op">=</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-string">'node1'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2076"></a><tt class="py-lineno">2076</tt>  <tt class="py-line">                <tt class="py-name">node2</tt> <tt class="py-op">=</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-string">'node2'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2077"></a><tt class="py-lineno">2077</tt>  <tt class="py-line">                <tt class="py-name">port1</tt> <tt class="py-op">=</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-string">'port1'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2078"></a><tt class="py-lineno">2078</tt>  <tt class="py-line">                <tt class="py-name">port2</tt> <tt class="py-op">=</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-string">'port2'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2079"></a><tt class="py-lineno">2079</tt>  <tt class="py-line">                <tt id="link-664" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-664', 'links', 'link-662');">links</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">{</tt> <tt class="py-string">'node1'</tt><tt class="py-op">:</tt> <tt class="py-name">node1</tt><tt class="py-op">,</tt> </tt>
+<a name="L2080"></a><tt class="py-lineno">2080</tt>  <tt class="py-line">                                <tt class="py-string">'node2'</tt><tt class="py-op">:</tt> <tt class="py-name">node2</tt><tt class="py-op">,</tt> </tt>
+<a name="L2081"></a><tt class="py-lineno">2081</tt>  <tt class="py-line">                                <tt class="py-string">'port1'</tt><tt class="py-op">:</tt> <tt class="py-name">port1</tt><tt class="py-op">,</tt> </tt>
+<a name="L2082"></a><tt class="py-lineno">2082</tt>  <tt class="py-line">                                <tt class="py-string">'port2'</tt><tt class="py-op">:</tt> <tt class="py-name">port2</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2083"></a><tt class="py-lineno">2083</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-665" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-665', 'links', 'link-662');">links</a></tt> </tt>
+</div><a name="L2084"></a><tt class="py-lineno">2084</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.compareSwitches"></a><div id="MininetCliDriver.compareSwitches-def"><a name="L2085"></a><tt class="py-lineno">2085</tt> <a class="py-toggle" href="#" id="MininetCliDriver.compareSwitches-toggle" onclick="return toggle('MininetCliDriver.compareSwitches');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareSwitches">compareSwitches</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">switches</tt><tt class="py-op">,</tt> <tt class="py-param">switchesJson</tt><tt class="py-op">,</tt> <tt class="py-param">portsJson</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.compareSwitches-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.compareSwitches-expanded"><a name="L2086"></a><tt class="py-lineno">2086</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2087"></a><tt class="py-lineno">2087</tt>  <tt class="py-line"><tt class="py-docstring">           Compare mn and onos switches</tt> </tt>
+<a name="L2088"></a><tt class="py-lineno">2088</tt>  <tt class="py-line"><tt class="py-docstring">           switchesJson: parsed json object from the onos devices api</tt> </tt>
+<a name="L2089"></a><tt class="py-lineno">2089</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2090"></a><tt class="py-lineno">2090</tt>  <tt class="py-line"><tt class="py-docstring">        Dependencies:</tt> </tt>
+<a name="L2091"></a><tt class="py-lineno">2091</tt>  <tt class="py-line"><tt class="py-docstring">            1. numpy - "sudo pip install numpy"</tt> </tt>
+<a name="L2092"></a><tt class="py-lineno">2092</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2093"></a><tt class="py-lineno">2093</tt>  <tt class="py-line">        <tt class="py-keyword">from</tt> <tt class="py-name">numpy</tt> <tt class="py-keyword">import</tt> <tt class="py-name">uint64</tt> </tt>
+<a name="L2094"></a><tt class="py-lineno">2094</tt>  <tt class="py-line">        <tt class="py-comment"># created sorted list of dpid's in MN and ONOS for comparison</tt> </tt>
+<a name="L2095"></a><tt class="py-lineno">2095</tt>  <tt class="py-line">        <tt class="py-name">mnDPIDs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2096"></a><tt class="py-lineno">2096</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">swName</tt><tt class="py-op">,</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">switches</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2097"></a><tt class="py-lineno">2097</tt>  <tt class="py-line">            <tt class="py-name">mnDPIDs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">switch</tt><tt class="py-op">[</tt> <tt class="py-string">'dpid'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2098"></a><tt class="py-lineno">2098</tt>  <tt class="py-line">        <tt class="py-name">mnDPIDs</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2099"></a><tt class="py-lineno">2099</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">switchesJson</tt> <tt class="py-op">==</tt> <tt class="py-string">""</tt><tt class="py-op">:</tt>  <tt class="py-comment"># if rest call fails</tt> </tt>
+<a name="L2100"></a><tt class="py-lineno">2100</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-666" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-666', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-667" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-667', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2101"></a><tt class="py-lineno">2101</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2102"></a><tt class="py-lineno">2102</tt>  <tt class="py-line">                <tt class="py-string">".compareSwitches(): Empty JSON object given from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2103"></a><tt class="py-lineno">2103</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2104"></a><tt class="py-lineno">2104</tt>  <tt class="py-line">        <tt class="py-name">onos</tt> <tt class="py-op">=</tt> <tt class="py-name">switchesJson</tt> </tt>
+<a name="L2105"></a><tt class="py-lineno">2105</tt>  <tt class="py-line">        <tt class="py-name">onosDPIDs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2106"></a><tt class="py-lineno">2106</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onos</tt><tt class="py-op">:</tt> </tt>
+<a name="L2107"></a><tt class="py-lineno">2107</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">switch</tt><tt class="py-op">[</tt> <tt class="py-string">'available'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2108"></a><tt class="py-lineno">2108</tt>  <tt class="py-line">                <tt class="py-name">onosDPIDs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L2109"></a><tt class="py-lineno">2109</tt>  <tt class="py-line">                    <tt class="py-name">switch</tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> </tt>
+<a name="L2110"></a><tt class="py-lineno">2110</tt>  <tt class="py-line">                        <tt class="py-string">":"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2111"></a><tt class="py-lineno">2111</tt>  <tt class="py-line">                        <tt class="py-string">''</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> </tt>
+<a name="L2112"></a><tt class="py-lineno">2112</tt>  <tt class="py-line">                        <tt class="py-string">"of"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2113"></a><tt class="py-lineno">2113</tt>  <tt class="py-line">                        <tt class="py-string">''</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2114"></a><tt class="py-lineno">2114</tt>  <tt class="py-line">        <tt class="py-name">onosDPIDs</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2115"></a><tt class="py-lineno">2115</tt>  <tt class="py-line"> </tt>
+<a name="L2116"></a><tt class="py-lineno">2116</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">mnDPIDs</tt> <tt class="py-op">!=</tt> <tt class="py-name">onosDPIDs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2117"></a><tt class="py-lineno">2117</tt>  <tt class="py-line">            <tt class="py-name">switchResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2118"></a><tt class="py-lineno">2118</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-668" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-668', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-669" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-669', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Switches in MN but not in ONOS:"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2119"></a><tt class="py-lineno">2119</tt>  <tt class="py-line">            <tt class="py-name">list1</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">for</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mnDPIDs</tt> <tt class="py-keyword">if</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosDPIDs</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2120"></a><tt class="py-lineno">2120</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-670" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-670', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-671" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-671', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">list1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2121"></a><tt class="py-lineno">2121</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-672" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-672', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-673" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-673', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Switches in ONOS but not in MN:"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2122"></a><tt class="py-lineno">2122</tt>  <tt class="py-line">            <tt class="py-name">list2</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">for</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosDPIDs</tt> <tt class="py-keyword">if</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mnDPIDs</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2123"></a><tt class="py-lineno">2123</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-674" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-674', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-675" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-675', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">list2</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2124"></a><tt class="py-lineno">2124</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># list of dpid's match in onos and mn</tt> </tt>
+<a name="L2125"></a><tt class="py-lineno">2125</tt>  <tt class="py-line">            <tt class="py-name">switchResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2126"></a><tt class="py-lineno">2126</tt>  <tt class="py-line">        <tt class="py-name">finalResults</tt> <tt class="py-op">=</tt> <tt class="py-name">switchResults</tt> </tt>
+<a name="L2127"></a><tt class="py-lineno">2127</tt>  <tt class="py-line"> </tt>
+<a name="L2128"></a><tt class="py-lineno">2128</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: this does not look for extra ports in ONOS, only checks that</tt> </tt>
+<a name="L2129"></a><tt class="py-lineno">2129</tt>  <tt class="py-line">        <tt class="py-comment"># ONOS has what is in MN</tt> </tt>
+<a name="L2130"></a><tt class="py-lineno">2130</tt>  <tt class="py-line">        <tt class="py-name">portsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2131"></a><tt class="py-lineno">2131</tt>  <tt class="py-line"> </tt>
+<a name="L2132"></a><tt class="py-lineno">2132</tt>  <tt class="py-line">        <tt class="py-comment"># PORTS</tt> </tt>
+<a name="L2133"></a><tt class="py-lineno">2133</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">mnSwitch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">switches</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2134"></a><tt class="py-lineno">2134</tt>  <tt class="py-line">            <tt class="py-name">mnPorts</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2135"></a><tt class="py-lineno">2135</tt>  <tt class="py-line">            <tt class="py-name">onosPorts</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2136"></a><tt class="py-lineno">2136</tt>  <tt class="py-line">            <tt class="py-name">switchResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2137"></a><tt class="py-lineno">2137</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">port</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mnSwitch</tt><tt class="py-op">[</tt> <tt class="py-string">'ports'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2138"></a><tt class="py-lineno">2138</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">port</tt><tt class="py-op">[</tt> <tt class="py-string">'enabled'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2139"></a><tt class="py-lineno">2139</tt>  <tt class="py-line">                    <tt class="py-name">mnPorts</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt><tt class="py-op">[</tt> <tt class="py-string">'of_port'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2140"></a><tt class="py-lineno">2140</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">onosSwitch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">portsJson</tt><tt class="py-op">:</tt> </tt>
+<a name="L2141"></a><tt class="py-lineno">2141</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">onosSwitch</tt><tt class="py-op">[</tt> <tt class="py-string">'device'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'available'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2142"></a><tt class="py-lineno">2142</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSwitch</tt><tt class="py-op">[</tt> <tt class="py-string">'device'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> </tt>
+<a name="L2143"></a><tt class="py-lineno">2143</tt>  <tt class="py-line">                            <tt class="py-string">':'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2144"></a><tt class="py-lineno">2144</tt>  <tt class="py-line">                            <tt class="py-string">''</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> </tt>
+<a name="L2145"></a><tt class="py-lineno">2145</tt>  <tt class="py-line">                            <tt class="py-string">"of"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2146"></a><tt class="py-lineno">2146</tt>  <tt class="py-line">                            <tt class="py-string">''</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">mnSwitch</tt><tt class="py-op">[</tt> <tt class="py-string">'dpid'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2147"></a><tt class="py-lineno">2147</tt>  <tt class="py-line">                        <tt class="py-keyword">for</tt> <tt class="py-name">port</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosSwitch</tt><tt class="py-op">[</tt> <tt class="py-string">'ports'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2148"></a><tt class="py-lineno">2148</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt><tt class="py-op">[</tt> <tt class="py-string">'isEnabled'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2149"></a><tt class="py-lineno">2149</tt>  <tt class="py-line">                                <tt class="py-keyword">if</tt> <tt class="py-name">port</tt><tt class="py-op">[</tt> <tt class="py-string">'port'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'local'</tt><tt class="py-op">:</tt> </tt>
+<a name="L2150"></a><tt class="py-lineno">2150</tt>  <tt class="py-line">                                    <tt class="py-comment"># onosPorts.append( 'local' )</tt> </tt>
+<a name="L2151"></a><tt class="py-lineno">2151</tt>  <tt class="py-line">                                    <tt class="py-name">onosPorts</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt> <tt class="py-name">uint64</tt><tt class="py-op">(</tt> <tt class="py-op">-</tt><tt class="py-number">2</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2152"></a><tt class="py-lineno">2152</tt>  <tt class="py-line">                                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2153"></a><tt class="py-lineno">2153</tt>  <tt class="py-line">                                    <tt class="py-name">onosPorts</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt><tt class="py-op">[</tt> <tt class="py-string">'port'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2154"></a><tt class="py-lineno">2154</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L2155"></a><tt class="py-lineno">2155</tt>  <tt class="py-line">            <tt class="py-name">mnPorts</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt> <tt class="py-name">key</tt><tt class="py-op">=</tt><tt class="py-name">float</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2156"></a><tt class="py-lineno">2156</tt>  <tt class="py-line">            <tt class="py-name">onosPorts</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt> <tt class="py-name">key</tt><tt class="py-op">=</tt><tt class="py-name">float</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2157"></a><tt class="py-lineno">2157</tt>  <tt class="py-line"> </tt>
+<a name="L2158"></a><tt class="py-lineno">2158</tt>  <tt class="py-line">            <tt class="py-name">mnPortsLog</tt> <tt class="py-op">=</tt> <tt class="py-name">mnPorts</tt> </tt>
+<a name="L2159"></a><tt class="py-lineno">2159</tt>  <tt class="py-line">            <tt class="py-name">onosPortsLog</tt> <tt class="py-op">=</tt> <tt class="py-name">onosPorts</tt> </tt>
+<a name="L2160"></a><tt class="py-lineno">2160</tt>  <tt class="py-line">            <tt class="py-name">mnPorts</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">x</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mnPorts</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2161"></a><tt class="py-lineno">2161</tt>  <tt class="py-line">            <tt class="py-name">onosPorts</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">x</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosPorts</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2162"></a><tt class="py-lineno">2162</tt>  <tt class="py-line"> </tt>
+<a name="L2163"></a><tt class="py-lineno">2163</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: handle other reserved port numbers besides LOCAL</tt> </tt>
+<a name="L2164"></a><tt class="py-lineno">2164</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: Reserved ports</tt> </tt>
+<a name="L2165"></a><tt class="py-lineno">2165</tt>  <tt class="py-line">            <tt class="py-comment"># Local port: -2 in Openflow, ONOS shows 'local', we store as</tt> </tt>
+<a name="L2166"></a><tt class="py-lineno">2166</tt>  <tt class="py-line">            <tt class="py-comment"># long( uint64( -2 ) )</tt> </tt>
+<a name="L2167"></a><tt class="py-lineno">2167</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">mnPort</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mnPortsLog</tt><tt class="py-op">:</tt> </tt>
+<a name="L2168"></a><tt class="py-lineno">2168</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">mnPort</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosPorts</tt><tt class="py-op">:</tt> </tt>
+<a name="L2169"></a><tt class="py-lineno">2169</tt>  <tt class="py-line">                    <tt class="py-comment"># don't set results to true here as this is just one of</tt> </tt>
+<a name="L2170"></a><tt class="py-lineno">2170</tt>  <tt class="py-line">                    <tt class="py-comment"># many checks and it might override a failure</tt> </tt>
+<a name="L2171"></a><tt class="py-lineno">2171</tt>  <tt class="py-line">                    <tt class="py-name">mnPorts</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt> <tt class="py-name">mnPort</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2172"></a><tt class="py-lineno">2172</tt>  <tt class="py-line">                    <tt class="py-name">onosPorts</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt> <tt class="py-name">mnPort</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2173"></a><tt class="py-lineno">2173</tt>  <tt class="py-line"> </tt>
+<a name="L2174"></a><tt class="py-lineno">2174</tt>  <tt class="py-line">                <tt class="py-comment"># NOTE: OVS reports this as down since there is no link</tt> </tt>
+<a name="L2175"></a><tt class="py-lineno">2175</tt>  <tt class="py-line">                <tt class="py-comment">#      So ignoring these for now</tt> </tt>
+<a name="L2176"></a><tt class="py-lineno">2176</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: Come up with a better way of handling these</tt> </tt>
+<a name="L2177"></a><tt class="py-lineno">2177</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-number">65534</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mnPorts</tt><tt class="py-op">:</tt> </tt>
+<a name="L2178"></a><tt class="py-lineno">2178</tt>  <tt class="py-line">                    <tt class="py-name">mnPorts</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt> <tt class="py-number">65534</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2179"></a><tt class="py-lineno">2179</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt> <tt class="py-name">uint64</tt><tt class="py-op">(</tt> <tt class="py-op">-</tt><tt class="py-number">2</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosPorts</tt><tt class="py-op">:</tt> </tt>
+<a name="L2180"></a><tt class="py-lineno">2180</tt>  <tt class="py-line">                    <tt class="py-name">onosPorts</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt> <tt class="py-name">uint64</tt><tt class="py-op">(</tt> <tt class="py-op">-</tt><tt class="py-number">2</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2181"></a><tt class="py-lineno">2181</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">mnPorts</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># the ports of this switch don't match</tt> </tt>
+<a name="L2182"></a><tt class="py-lineno">2182</tt>  <tt class="py-line">                <tt class="py-name">switchResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2183"></a><tt class="py-lineno">2183</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-676" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-676', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Ports in MN but not ONOS: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mnPorts</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2184"></a><tt class="py-lineno">2184</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosPorts</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># the ports of this switch don't match</tt> </tt>
+<a name="L2185"></a><tt class="py-lineno">2185</tt>  <tt class="py-line">                <tt class="py-name">switchResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2186"></a><tt class="py-lineno">2186</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-677" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-677', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L2187"></a><tt class="py-lineno">2187</tt>  <tt class="py-line">                    <tt class="py-string">"Ports in ONOS but not MN: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2188"></a><tt class="py-lineno">2188</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosPorts</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2189"></a><tt class="py-lineno">2189</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">switchResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2190"></a><tt class="py-lineno">2190</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-678" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-678', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-679" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-679', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2191"></a><tt class="py-lineno">2191</tt>  <tt class="py-line">                    <tt class="py-string">"The list of ports for switch %s(%s) does not match:"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L2192"></a><tt class="py-lineno">2192</tt>  <tt class="py-line">                    <tt class="py-op">(</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">mnSwitch</tt><tt class="py-op">[</tt> <tt class="py-string">'dpid'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2193"></a><tt class="py-lineno">2193</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-680" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-680', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"mn_ports[]  =  "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mnPortsLog</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2194"></a><tt class="py-lineno">2194</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-681" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-681', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"onos_ports[] = "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosPortsLog</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2195"></a><tt class="py-lineno">2195</tt>  <tt class="py-line">            <tt class="py-name">portsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">portsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">switchResult</tt> </tt>
+<a name="L2196"></a><tt class="py-lineno">2196</tt>  <tt class="py-line">        <tt class="py-name">finalResults</tt> <tt class="py-op">=</tt> <tt class="py-name">finalResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">portsResults</tt> </tt>
+<a name="L2197"></a><tt class="py-lineno">2197</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">finalResults</tt> </tt>
+</div><a name="L2198"></a><tt class="py-lineno">2198</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.compareLinks"></a><div id="MininetCliDriver.compareLinks-def"><a name="L2199"></a><tt class="py-lineno">2199</tt> <a class="py-toggle" href="#" id="MininetCliDriver.compareLinks-toggle" onclick="return toggle('MininetCliDriver.compareLinks');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareLinks">compareLinks</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">switches</tt><tt class="py-op">,</tt> <tt class="py-param">links</tt><tt class="py-op">,</tt> <tt class="py-param">linksJson</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.compareLinks-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.compareLinks-expanded"><a name="L2200"></a><tt class="py-lineno">2200</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2201"></a><tt class="py-lineno">2201</tt>  <tt class="py-line"><tt class="py-docstring">           Compare mn and onos links</tt> </tt>
+<a name="L2202"></a><tt class="py-lineno">2202</tt>  <tt class="py-line"><tt class="py-docstring">           linksJson: parsed json object from the onos links api</tt> </tt>
+<a name="L2203"></a><tt class="py-lineno">2203</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2204"></a><tt class="py-lineno">2204</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2205"></a><tt class="py-lineno">2205</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: this does not look for extra links in ONOS, only checks that</tt> </tt>
+<a name="L2206"></a><tt class="py-lineno">2206</tt>  <tt class="py-line">        <tt class="py-comment">#        ONOS has what is in MN</tt> </tt>
+<a name="L2207"></a><tt class="py-lineno">2207</tt>  <tt class="py-line">        <tt class="py-name">onos</tt> <tt class="py-op">=</tt> <tt class="py-name">linksJson</tt> </tt>
+<a name="L2208"></a><tt class="py-lineno">2208</tt>  <tt class="py-line"> </tt>
+<a name="L2209"></a><tt class="py-lineno">2209</tt>  <tt class="py-line">        <tt class="py-name">mnLinks</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2210"></a><tt class="py-lineno">2210</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">l</tt> <tt class="py-keyword">in</tt> <tt id="link-682" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-682', 'links', 'link-662');">links</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2211"></a><tt class="py-lineno">2211</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2212"></a><tt class="py-lineno">2212</tt>  <tt class="py-line">                <tt class="py-name">node1</tt> <tt class="py-op">=</tt> <tt class="py-name">switches</tt><tt class="py-op">[</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt> <tt class="py-string">'node1'</tt> <tt class="py-op">]</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2213"></a><tt class="py-lineno">2213</tt>  <tt class="py-line">                <tt class="py-name">node2</tt> <tt class="py-op">=</tt> <tt class="py-name">switches</tt><tt class="py-op">[</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt> <tt class="py-string">'node2'</tt> <tt class="py-op">]</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2214"></a><tt class="py-lineno">2214</tt>  <tt class="py-line">                <tt class="py-name">enabled</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2215"></a><tt class="py-lineno">2215</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">port</tt> <tt class="py-keyword">in</tt> <tt class="py-name">node1</tt><tt class="py-op">[</tt> <tt class="py-string">'ports'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2216"></a><tt class="py-lineno">2216</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">port</tt><tt class="py-op">[</tt> <tt class="py-string">'of_port'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt> <tt class="py-string">'port1'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2217"></a><tt class="py-lineno">2217</tt>  <tt class="py-line">                        <tt class="py-name">enabled</tt> <tt class="py-op">=</tt> <tt class="py-name">enabled</tt> <tt class="py-keyword">and</tt> <tt class="py-name">port</tt><tt class="py-op">[</tt> <tt class="py-string">'enabled'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2218"></a><tt class="py-lineno">2218</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">port</tt> <tt class="py-keyword">in</tt> <tt class="py-name">node2</tt><tt class="py-op">[</tt> <tt class="py-string">'ports'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2219"></a><tt class="py-lineno">2219</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">port</tt><tt class="py-op">[</tt> <tt class="py-string">'of_port'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt> <tt class="py-string">'port2'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2220"></a><tt class="py-lineno">2220</tt>  <tt class="py-line">                        <tt class="py-name">enabled</tt> <tt class="py-op">=</tt> <tt class="py-name">enabled</tt> <tt class="py-keyword">and</tt> <tt class="py-name">port</tt><tt class="py-op">[</tt> <tt class="py-string">'enabled'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2221"></a><tt class="py-lineno">2221</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">enabled</tt><tt class="py-op">:</tt> </tt>
+<a name="L2222"></a><tt class="py-lineno">2222</tt>  <tt class="py-line">                    <tt class="py-name">mnLinks</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">l</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2223"></a><tt class="py-lineno">2223</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2224"></a><tt class="py-lineno">2224</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L2225"></a><tt class="py-lineno">2225</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-number">2</tt> <tt class="py-op">*</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">mnLinks</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onos</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2226"></a><tt class="py-lineno">2226</tt>  <tt class="py-line">            <tt class="py-name">linkResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2227"></a><tt class="py-lineno">2227</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2228"></a><tt class="py-lineno">2228</tt>  <tt class="py-line">            <tt class="py-name">linkResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2229"></a><tt class="py-lineno">2229</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-683" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-683', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-684" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-684', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2230"></a><tt class="py-lineno">2230</tt>  <tt class="py-line">                <tt class="py-string">"Mininet has "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">mnLinks</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2231"></a><tt class="py-lineno">2231</tt>  <tt class="py-line">                <tt class="py-string">" bidirectional links and ONOS has "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2232"></a><tt class="py-lineno">2232</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onos</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" unidirectional links"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2233"></a><tt class="py-lineno">2233</tt>  <tt class="py-line"> </tt>
+<a name="L2234"></a><tt class="py-lineno">2234</tt>  <tt class="py-line">        <tt class="py-comment"># iterate through MN links and check if an ONOS link exists in</tt> </tt>
+<a name="L2235"></a><tt class="py-lineno">2235</tt>  <tt class="py-line">        <tt class="py-comment"># both directions</tt> </tt>
+<a name="L2236"></a><tt class="py-lineno">2236</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-685" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#link"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-685', 'link', 'link-685');">link</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">mnLinks</tt><tt class="py-op">:</tt> </tt>
+<a name="L2237"></a><tt class="py-lineno">2237</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: Find a more efficient search method</tt> </tt>
+<a name="L2238"></a><tt class="py-lineno">2238</tt>  <tt class="py-line">            <tt class="py-name">node1</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2239"></a><tt class="py-lineno">2239</tt>  <tt class="py-line">            <tt class="py-name">port1</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2240"></a><tt class="py-lineno">2240</tt>  <tt class="py-line">            <tt class="py-name">node2</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2241"></a><tt class="py-lineno">2241</tt>  <tt class="py-line">            <tt class="py-name">port2</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2242"></a><tt class="py-lineno">2242</tt>  <tt class="py-line">            <tt class="py-name">firstDir</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2243"></a><tt class="py-lineno">2243</tt>  <tt class="py-line">            <tt class="py-name">secondDir</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2244"></a><tt class="py-lineno">2244</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">swName</tt><tt class="py-op">,</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">switches</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2245"></a><tt class="py-lineno">2245</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">swName</tt> <tt class="py-op">==</tt> <tt id="link-686" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-686', 'link', 'link-685');">link</a></tt><tt class="py-op">[</tt> <tt class="py-string">'node1'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2246"></a><tt class="py-lineno">2246</tt>  <tt class="py-line">                    <tt class="py-name">node1</tt> <tt class="py-op">=</tt> <tt class="py-name">switch</tt><tt class="py-op">[</tt> <tt class="py-string">'dpid'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2247"></a><tt class="py-lineno">2247</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">port</tt> <tt class="py-keyword">in</tt> <tt class="py-name">switch</tt><tt class="py-op">[</tt> <tt class="py-string">'ports'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2248"></a><tt class="py-lineno">2248</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt><tt class="py-op">[</tt> <tt class="py-string">'of_port'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-687" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-687', 'link', 'link-685');">link</a></tt><tt class="py-op">[</tt> <tt class="py-string">'port1'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2249"></a><tt class="py-lineno">2249</tt>  <tt class="py-line">                            <tt class="py-name">port1</tt> <tt class="py-op">=</tt> <tt class="py-name">port</tt><tt class="py-op">[</tt> <tt class="py-string">'of_port'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2250"></a><tt class="py-lineno">2250</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">node1</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">node2</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L2251"></a><tt class="py-lineno">2251</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L2252"></a><tt class="py-lineno">2252</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">swName</tt> <tt class="py-op">==</tt> <tt id="link-688" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-688', 'link', 'link-685');">link</a></tt><tt class="py-op">[</tt> <tt class="py-string">'node2'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2253"></a><tt class="py-lineno">2253</tt>  <tt class="py-line">                    <tt class="py-name">node2</tt> <tt class="py-op">=</tt> <tt class="py-name">switch</tt><tt class="py-op">[</tt> <tt class="py-string">'dpid'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2254"></a><tt class="py-lineno">2254</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">port</tt> <tt class="py-keyword">in</tt> <tt class="py-name">switch</tt><tt class="py-op">[</tt> <tt class="py-string">'ports'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2255"></a><tt class="py-lineno">2255</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt><tt class="py-op">[</tt> <tt class="py-string">'of_port'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-689" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-689', 'link', 'link-685');">link</a></tt><tt class="py-op">[</tt> <tt class="py-string">'port2'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2256"></a><tt class="py-lineno">2256</tt>  <tt class="py-line">                            <tt class="py-name">port2</tt> <tt class="py-op">=</tt> <tt class="py-name">port</tt><tt class="py-op">[</tt> <tt class="py-string">'of_port'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2257"></a><tt class="py-lineno">2257</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">node1</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">node2</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L2258"></a><tt class="py-lineno">2258</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L2259"></a><tt class="py-lineno">2259</tt>  <tt class="py-line"> </tt>
+<a name="L2260"></a><tt class="py-lineno">2260</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">onosLink</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onos</tt><tt class="py-op">:</tt> </tt>
+<a name="L2261"></a><tt class="py-lineno">2261</tt>  <tt class="py-line">                <tt class="py-name">onosNode1</tt> <tt class="py-op">=</tt> <tt class="py-name">onosLink</tt><tt class="py-op">[</tt> <tt class="py-string">'src'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'device'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> </tt>
+<a name="L2262"></a><tt class="py-lineno">2262</tt>  <tt class="py-line">                    <tt class="py-string">":"</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"of"</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2263"></a><tt class="py-lineno">2263</tt>  <tt class="py-line">                <tt class="py-name">onosNode2</tt> <tt class="py-op">=</tt> <tt class="py-name">onosLink</tt><tt class="py-op">[</tt> <tt class="py-string">'dst'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'device'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> </tt>
+<a name="L2264"></a><tt class="py-lineno">2264</tt>  <tt class="py-line">                    <tt class="py-string">":"</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"of"</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2265"></a><tt class="py-lineno">2265</tt>  <tt class="py-line">                <tt class="py-name">onosPort1</tt> <tt class="py-op">=</tt> <tt class="py-name">onosLink</tt><tt class="py-op">[</tt> <tt class="py-string">'src'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2266"></a><tt class="py-lineno">2266</tt>  <tt class="py-line">                <tt class="py-name">onosPort2</tt> <tt class="py-op">=</tt> <tt class="py-name">onosLink</tt><tt class="py-op">[</tt> <tt class="py-string">'dst'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2267"></a><tt class="py-lineno">2267</tt>  <tt class="py-line"> </tt>
+<a name="L2268"></a><tt class="py-lineno">2268</tt>  <tt class="py-line">                <tt class="py-comment"># check onos link from node1 to node2</tt> </tt>
+<a name="L2269"></a><tt class="py-lineno">2269</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosNode1</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node1</tt> <tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L2270"></a><tt class="py-lineno">2270</tt>  <tt class="py-line">                        <tt class="py-name">onosNode2</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2271"></a><tt class="py-lineno">2271</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">onosPort1</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">port1</tt> <tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> </tt>
+<a name="L2272"></a><tt class="py-lineno">2272</tt>  <tt class="py-line">                            <tt class="py-name">onosPort2</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">port2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2273"></a><tt class="py-lineno">2273</tt>  <tt class="py-line">                        <tt class="py-name">firstDir</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2274"></a><tt class="py-lineno">2274</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2275"></a><tt class="py-lineno">2275</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-690" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-690', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L2276"></a><tt class="py-lineno">2276</tt>  <tt class="py-line">                            <tt class="py-string">'The port numbers do not match for '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2277"></a><tt class="py-lineno">2277</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-691" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-691', 'link', 'link-685');">link</a></tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2278"></a><tt class="py-lineno">2278</tt>  <tt class="py-line">                            <tt class="py-string">' between ONOS and MN. When checking ONOS for '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2279"></a><tt class="py-lineno">2279</tt>  <tt class="py-line">                            <tt class="py-string">'link %s/%s -&gt; %s/%s'</tt> <tt class="py-op">%</tt> </tt>
+<a name="L2280"></a><tt class="py-lineno">2280</tt>  <tt class="py-line">                            <tt class="py-op">(</tt> <tt class="py-name">node1</tt><tt class="py-op">,</tt> <tt class="py-name">port1</tt><tt class="py-op">,</tt> <tt class="py-name">node2</tt><tt class="py-op">,</tt> <tt class="py-name">port2</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2281"></a><tt class="py-lineno">2281</tt>  <tt class="py-line">                            <tt class="py-string">' ONOS has the values %s/%s -&gt; %s/%s'</tt> <tt class="py-op">%</tt> </tt>
+<a name="L2282"></a><tt class="py-lineno">2282</tt>  <tt class="py-line">                            <tt class="py-op">(</tt> <tt class="py-name">onosNode1</tt><tt class="py-op">,</tt> <tt class="py-name">onosPort1</tt><tt class="py-op">,</tt> <tt class="py-name">onosNode2</tt><tt class="py-op">,</tt> <tt class="py-name">onosPort2</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2283"></a><tt class="py-lineno">2283</tt>  <tt class="py-line"> </tt>
+<a name="L2284"></a><tt class="py-lineno">2284</tt>  <tt class="py-line">                <tt class="py-comment"># check onos link from node2 to node1</tt> </tt>
+<a name="L2285"></a><tt class="py-lineno">2285</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosNode1</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node2</tt> <tt class="py-op">)</tt> <tt class="py-keyword">and</tt> </tt>
+<a name="L2286"></a><tt class="py-lineno">2286</tt>  <tt class="py-line">                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosNode2</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2287"></a><tt class="py-lineno">2287</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">onosPort1</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">port2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2288"></a><tt class="py-lineno">2288</tt>  <tt class="py-line">                            <tt class="py-keyword">and</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">onosPort2</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">port1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2289"></a><tt class="py-lineno">2289</tt>  <tt class="py-line">                        <tt class="py-name">secondDir</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2290"></a><tt class="py-lineno">2290</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2291"></a><tt class="py-lineno">2291</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-692" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-692', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L2292"></a><tt class="py-lineno">2292</tt>  <tt class="py-line">                            <tt class="py-string">'The port numbers do not match for '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2293"></a><tt class="py-lineno">2293</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-693" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-693', 'link', 'link-685');">link</a></tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2294"></a><tt class="py-lineno">2294</tt>  <tt class="py-line">                            <tt class="py-string">' between ONOS and MN. When checking ONOS for '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2295"></a><tt class="py-lineno">2295</tt>  <tt class="py-line">                            <tt class="py-string">'link %s/%s -&gt; %s/%s'</tt> <tt class="py-op">%</tt> </tt>
+<a name="L2296"></a><tt class="py-lineno">2296</tt>  <tt class="py-line">                            <tt class="py-op">(</tt> <tt class="py-name">node1</tt><tt class="py-op">,</tt> <tt class="py-name">port1</tt><tt class="py-op">,</tt> <tt class="py-name">node2</tt><tt class="py-op">,</tt> <tt class="py-name">port2</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2297"></a><tt class="py-lineno">2297</tt>  <tt class="py-line">                            <tt class="py-string">' ONOS has the values %s/%s -&gt; %s/%s'</tt> <tt class="py-op">%</tt> </tt>
+<a name="L2298"></a><tt class="py-lineno">2298</tt>  <tt class="py-line">                            <tt class="py-op">(</tt> <tt class="py-name">onosNode2</tt><tt class="py-op">,</tt> <tt class="py-name">onosPort2</tt><tt class="py-op">,</tt> <tt class="py-name">onosNode1</tt><tt class="py-op">,</tt> <tt class="py-name">onosPort1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2299"></a><tt class="py-lineno">2299</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># this is not the link you're looking for</tt> </tt>
+<a name="L2300"></a><tt class="py-lineno">2300</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
+<a name="L2301"></a><tt class="py-lineno">2301</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">firstDir</tt><tt class="py-op">:</tt> </tt>
+<a name="L2302"></a><tt class="py-lineno">2302</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-694" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-694', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-695" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-695', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2303"></a><tt class="py-lineno">2303</tt>  <tt class="py-line">                    <tt class="py-string">'ONOS does not have the link %s/%s -&gt; %s/%s'</tt> <tt class="py-op">%</tt> </tt>
+<a name="L2304"></a><tt class="py-lineno">2304</tt>  <tt class="py-line">                    <tt class="py-op">(</tt> <tt class="py-name">node1</tt><tt class="py-op">,</tt> <tt class="py-name">port1</tt><tt class="py-op">,</tt> <tt class="py-name">node2</tt><tt class="py-op">,</tt> <tt class="py-name">port2</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2305"></a><tt class="py-lineno">2305</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">secondDir</tt><tt class="py-op">:</tt> </tt>
+<a name="L2306"></a><tt class="py-lineno">2306</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-696" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-696', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-697" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-697', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2307"></a><tt class="py-lineno">2307</tt>  <tt class="py-line">                    <tt class="py-string">'ONOS does not have the link %s/%s -&gt; %s/%s'</tt> <tt class="py-op">%</tt> </tt>
+<a name="L2308"></a><tt class="py-lineno">2308</tt>  <tt class="py-line">                    <tt class="py-op">(</tt> <tt class="py-name">node2</tt><tt class="py-op">,</tt> <tt class="py-name">port2</tt><tt class="py-op">,</tt> <tt class="py-name">node1</tt><tt class="py-op">,</tt> <tt class="py-name">port1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2309"></a><tt class="py-lineno">2309</tt>  <tt class="py-line">            <tt class="py-name">linkResults</tt> <tt class="py-op">=</tt> <tt class="py-name">linkResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">firstDir</tt> <tt class="py-keyword">and</tt> <tt class="py-name">secondDir</tt> </tt>
+<a name="L2310"></a><tt class="py-lineno">2310</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">linkResults</tt> </tt>
+</div><a name="L2311"></a><tt class="py-lineno">2311</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.compareHosts"></a><div id="MininetCliDriver.compareHosts-def"><a name="L2312"></a><tt class="py-lineno">2312</tt> <a class="py-toggle" href="#" id="MininetCliDriver.compareHosts-toggle" onclick="return toggle('MininetCliDriver.compareHosts');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareHosts">compareHosts</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hosts</tt><tt class="py-op">,</tt> <tt class="py-param">hostsJson</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.compareHosts-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.compareHosts-expanded"><a name="L2313"></a><tt class="py-lineno">2313</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2314"></a><tt class="py-lineno">2314</tt>  <tt class="py-line"><tt class="py-docstring">        Compare mn and onos Hosts.</tt> </tt>
+<a name="L2315"></a><tt class="py-lineno">2315</tt>  <tt class="py-line"><tt class="py-docstring">        Since Mininet hosts are quiet, ONOS will only know of them when they</tt> </tt>
+<a name="L2316"></a><tt class="py-lineno">2316</tt>  <tt class="py-line"><tt class="py-docstring">        speak. For this reason, we will only check that the hosts in ONOS</tt> </tt>
+<a name="L2317"></a><tt class="py-lineno">2317</tt>  <tt class="py-line"><tt class="py-docstring">        stores are in Mininet, and not vice versa.</tt> </tt>
+<a name="L2318"></a><tt class="py-lineno">2318</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2319"></a><tt class="py-lineno">2319</tt>  <tt class="py-line"><tt class="py-docstring">        Arguments:</tt> </tt>
+<a name="L2320"></a><tt class="py-lineno">2320</tt>  <tt class="py-line"><tt class="py-docstring">            hostsJson: parsed json object from the onos hosts api</tt> </tt>
+<a name="L2321"></a><tt class="py-lineno">2321</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L2322"></a><tt class="py-lineno">2322</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2323"></a><tt class="py-lineno">2323</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L2324"></a><tt class="py-lineno">2324</tt>  <tt class="py-line">        <tt class="py-name">hostResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2325"></a><tt class="py-lineno">2325</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">onosHost</tt> <tt class="py-keyword">in</tt> <tt class="py-name">hostsJson</tt><tt class="py-op">:</tt> </tt>
+<a name="L2326"></a><tt class="py-lineno">2326</tt>  <tt class="py-line">            <tt class="py-name">onosMAC</tt> <tt class="py-op">=</tt> <tt class="py-name">onosHost</tt><tt class="py-op">[</tt> <tt class="py-string">'mac'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2327"></a><tt class="py-lineno">2327</tt>  <tt class="py-line">            <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2328"></a><tt class="py-lineno">2328</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">mnHost</tt><tt class="py-op">,</tt> <tt class="py-name">info</tt> <tt class="py-keyword">in</tt> <tt id="link-698" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-698', 'hosts', 'link-308');">hosts</a></tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2329"></a><tt class="py-lineno">2329</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">mnIntf</tt> <tt class="py-keyword">in</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt> <tt class="py-string">'interfaces'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2330"></a><tt class="py-lineno">2330</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosMAC</tt> <tt class="py-op">==</tt> <tt class="py-name">mnIntf</tt><tt class="py-op">[</tt> <tt class="py-string">'mac'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2331"></a><tt class="py-lineno">2331</tt>  <tt class="py-line">                        <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2332"></a><tt class="py-lineno">2332</tt>  <tt class="py-line">                        <tt class="py-keyword">for</tt> <tt class="py-name">ip</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mnIntf</tt><tt class="py-op">[</tt> <tt class="py-string">'ips'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2333"></a><tt class="py-lineno">2333</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosHost</tt><tt class="py-op">[</tt> <tt class="py-string">'ipAddresses'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2334"></a><tt class="py-lineno">2334</tt>  <tt class="py-line">                                <tt class="py-keyword">pass</tt>  <tt class="py-comment"># all is well</tt> </tt>
+<a name="L2335"></a><tt class="py-lineno">2335</tt>  <tt class="py-line">                            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2336"></a><tt class="py-lineno">2336</tt>  <tt class="py-line">                                <tt class="py-comment"># misssing ip</tt> </tt>
+<a name="L2337"></a><tt class="py-lineno">2337</tt>  <tt class="py-line">                                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-699" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-699', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-700" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-700', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2338"></a><tt class="py-lineno">2338</tt>  <tt class="py-line">                                                <tt class="py-name">onosHost</tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2339"></a><tt class="py-lineno">2339</tt>  <tt class="py-line">                                                <tt class="py-string">" has a different IP("</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2340"></a><tt class="py-lineno">2340</tt>  <tt class="py-line">                                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosHost</tt><tt class="py-op">[</tt> <tt class="py-string">'ipAddresses'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2341"></a><tt class="py-lineno">2341</tt>  <tt class="py-line">                                                <tt class="py-string">") than the Mininet host("</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2342"></a><tt class="py-lineno">2342</tt>  <tt class="py-line">                                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2343"></a><tt class="py-lineno">2343</tt>  <tt class="py-line">                                                <tt class="py-string">")."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2344"></a><tt class="py-lineno">2344</tt>  <tt class="py-line">                                <tt id="link-701" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-701', 'output', 'link-641');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> </tt>
+<a name="L2345"></a><tt class="py-lineno">2345</tt>  <tt class="py-line">                                    <tt class="py-name">onosHost</tt><tt class="py-op">,</tt> </tt>
+<a name="L2346"></a><tt class="py-lineno">2346</tt>  <tt class="py-line">                                    <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2347"></a><tt class="py-lineno">2347</tt>  <tt class="py-line">                                    <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L2348"></a><tt class="py-lineno">2348</tt>  <tt class="py-line">                                    <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2349"></a><tt class="py-lineno">2349</tt>  <tt class="py-line">                                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-702" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-702', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt id="link-703" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-703', 'output', 'link-641');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L2350"></a><tt class="py-lineno">2350</tt>  <tt class="py-line">                                <tt class="py-name">hostResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2351"></a><tt class="py-lineno">2351</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">match</tt><tt class="py-op">:</tt> </tt>
+<a name="L2352"></a><tt class="py-lineno">2352</tt>  <tt class="py-line">                <tt class="py-name">hostResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2353"></a><tt class="py-lineno">2353</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-704" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-704', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-705" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-705', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS host "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosHost</tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" has no "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2354"></a><tt class="py-lineno">2354</tt>  <tt class="py-line">                                <tt class="py-string">"corresponding Mininet host."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2355"></a><tt class="py-lineno">2355</tt>  <tt class="py-line">                <tt id="link-706" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-706', 'output', 'link-641');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">onosHost</tt><tt class="py-op">,</tt> </tt>
+<a name="L2356"></a><tt class="py-lineno">2356</tt>  <tt class="py-line">                                     <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2357"></a><tt class="py-lineno">2357</tt>  <tt class="py-line">                                     <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L2358"></a><tt class="py-lineno">2358</tt>  <tt class="py-line">                                     <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2359"></a><tt class="py-lineno">2359</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-707" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-707', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt id="link-708" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-708', 'output', 'link-641');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L2360"></a><tt class="py-lineno">2360</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">hostResults</tt> </tt>
+</div><a name="L2361"></a><tt class="py-lineno">2361</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.getHostsOld"></a><div id="MininetCliDriver.getHostsOld-def"><a name="L2362"></a><tt class="py-lineno">2362</tt> <a class="py-toggle" href="#" id="MininetCliDriver.getHostsOld-toggle" onclick="return toggle('MininetCliDriver.getHostsOld');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getHostsOld">getHostsOld</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.getHostsOld-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.getHostsOld-expanded"><a name="L2363"></a><tt class="py-lineno">2363</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2364"></a><tt class="py-lineno">2364</tt>  <tt class="py-line"><tt class="py-docstring">           Returns a list of all hosts</tt> </tt>
+<a name="L2365"></a><tt class="py-lineno">2365</tt>  <tt class="py-line"><tt class="py-docstring">           Don't ask questions just use it"""</tt> </tt>
+<a name="L2366"></a><tt class="py-lineno">2366</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-709" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-709', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2367"></a><tt class="py-lineno">2367</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2368"></a><tt class="py-lineno">2368</tt>  <tt class="py-line"> </tt>
+<a name="L2369"></a><tt class="py-lineno">2369</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-710" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-710', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"py [ host.name for host in net.hosts ]"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2370"></a><tt class="py-lineno">2370</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2371"></a><tt class="py-lineno">2371</tt>  <tt class="py-line"> </tt>
+<a name="L2372"></a><tt class="py-lineno">2372</tt>  <tt class="py-line">        <tt class="py-name">handlePy</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L2373"></a><tt class="py-lineno">2373</tt>  <tt class="py-line">        <tt class="py-name">handlePy</tt> <tt class="py-op">=</tt> <tt class="py-name">handlePy</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"]\r\n"</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2374"></a><tt class="py-lineno">2374</tt>  <tt class="py-line">        <tt class="py-name">handlePy</tt> <tt class="py-op">=</tt> <tt class="py-name">handlePy</tt><tt class="py-op">.</tt><tt class="py-name">rstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2375"></a><tt class="py-lineno">2375</tt>  <tt class="py-line"> </tt>
+<a name="L2376"></a><tt class="py-lineno">2376</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-711" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-711', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2377"></a><tt class="py-lineno">2377</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2378"></a><tt class="py-lineno">2378</tt>  <tt class="py-line"> </tt>
+<a name="L2379"></a><tt class="py-lineno">2379</tt>  <tt class="py-line">        <tt class="py-name">hostStr</tt> <tt class="py-op">=</tt> <tt class="py-name">handlePy</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"]"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2380"></a><tt class="py-lineno">2380</tt>  <tt class="py-line">        <tt class="py-name">hostStr</tt> <tt class="py-op">=</tt> <tt class="py-name">hostStr</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"'"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2381"></a><tt class="py-lineno">2381</tt>  <tt class="py-line">        <tt class="py-name">hostStr</tt> <tt class="py-op">=</tt> <tt class="py-name">hostStr</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"["</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2382"></a><tt class="py-lineno">2382</tt>  <tt class="py-line">        <tt class="py-name">hostStr</tt> <tt class="py-op">=</tt> <tt class="py-name">hostStr</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">" "</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2383"></a><tt class="py-lineno">2383</tt>  <tt class="py-line">        <tt class="py-name">hostList</tt> <tt class="py-op">=</tt> <tt class="py-name">hostStr</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">","</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2384"></a><tt class="py-lineno">2384</tt>  <tt class="py-line"> </tt>
+<a name="L2385"></a><tt class="py-lineno">2385</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">hostList</tt> </tt>
+</div><a name="L2386"></a><tt class="py-lineno">2386</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.getSwitch"></a><div id="MininetCliDriver.getSwitch-def"><a name="L2387"></a><tt class="py-lineno">2387</tt> <a class="py-toggle" href="#" id="MininetCliDriver.getSwitch-toggle" onclick="return toggle('MininetCliDriver.getSwitch');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitch">getSwitch</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.getSwitch-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.getSwitch-expanded"><a name="L2388"></a><tt class="py-lineno">2388</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2389"></a><tt class="py-lineno">2389</tt>  <tt class="py-line"><tt class="py-docstring">            Returns a list of all switches</tt> </tt>
+<a name="L2390"></a><tt class="py-lineno">2390</tt>  <tt class="py-line"><tt class="py-docstring">            Again, don't ask question just use it...</tt> </tt>
+<a name="L2391"></a><tt class="py-lineno">2391</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2392"></a><tt class="py-lineno">2392</tt>  <tt class="py-line">        <tt class="py-comment"># get host list...</tt> </tt>
+<a name="L2393"></a><tt class="py-lineno">2393</tt>  <tt class="py-line">        <tt class="py-name">hostList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-712" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHosts()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getHosts"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHosts" class="py-name" href="#" onclick="return doclink('link-712', 'getHosts', 'link-712');">getHosts</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2394"></a><tt class="py-lineno">2394</tt>  <tt class="py-line">        <tt class="py-comment"># Make host set</tt> </tt>
+<a name="L2395"></a><tt class="py-lineno">2395</tt>  <tt class="py-line">        <tt class="py-name">hostSet</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">hostList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2396"></a><tt class="py-lineno">2396</tt>  <tt class="py-line"> </tt>
+<a name="L2397"></a><tt class="py-lineno">2397</tt>  <tt class="py-line">        <tt class="py-comment"># Getting all the nodes in mininet</tt> </tt>
+<a name="L2398"></a><tt class="py-lineno">2398</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-713" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-713', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2399"></a><tt class="py-lineno">2399</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2400"></a><tt class="py-lineno">2400</tt>  <tt class="py-line"> </tt>
+<a name="L2401"></a><tt class="py-lineno">2401</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-714" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-714', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"py [ node.name for node in net.values() ]"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2402"></a><tt class="py-lineno">2402</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2403"></a><tt class="py-lineno">2403</tt>  <tt class="py-line"> </tt>
+<a name="L2404"></a><tt class="py-lineno">2404</tt>  <tt class="py-line">        <tt class="py-name">handlePy</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L2405"></a><tt class="py-lineno">2405</tt>  <tt class="py-line">        <tt class="py-name">handlePy</tt> <tt class="py-op">=</tt> <tt class="py-name">handlePy</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"]\r\n"</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2406"></a><tt class="py-lineno">2406</tt>  <tt class="py-line">        <tt class="py-name">handlePy</tt> <tt class="py-op">=</tt> <tt class="py-name">handlePy</tt><tt class="py-op">.</tt><tt class="py-name">rstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2407"></a><tt class="py-lineno">2407</tt>  <tt class="py-line"> </tt>
+<a name="L2408"></a><tt class="py-lineno">2408</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-715" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-715', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2409"></a><tt class="py-lineno">2409</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2410"></a><tt class="py-lineno">2410</tt>  <tt class="py-line"> </tt>
+<a name="L2411"></a><tt class="py-lineno">2411</tt>  <tt class="py-line">        <tt class="py-name">nodesStr</tt> <tt class="py-op">=</tt> <tt class="py-name">handlePy</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"]"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2412"></a><tt class="py-lineno">2412</tt>  <tt class="py-line">        <tt class="py-name">nodesStr</tt> <tt class="py-op">=</tt> <tt class="py-name">nodesStr</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"'"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2413"></a><tt class="py-lineno">2413</tt>  <tt class="py-line">        <tt class="py-name">nodesStr</tt> <tt class="py-op">=</tt> <tt class="py-name">nodesStr</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"["</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2414"></a><tt class="py-lineno">2414</tt>  <tt class="py-line">        <tt class="py-name">nodesStr</tt> <tt class="py-op">=</tt> <tt class="py-name">nodesStr</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">" "</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2415"></a><tt class="py-lineno">2415</tt>  <tt class="py-line">        <tt class="py-name">nodesList</tt> <tt class="py-op">=</tt> <tt class="py-name">nodesStr</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">","</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2416"></a><tt class="py-lineno">2416</tt>  <tt class="py-line"> </tt>
+<a name="L2417"></a><tt class="py-lineno">2417</tt>  <tt class="py-line">        <tt class="py-name">nodesSet</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">nodesList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2418"></a><tt class="py-lineno">2418</tt>  <tt class="py-line">        <tt class="py-comment"># discarding default controller(s) node</tt> </tt>
+<a name="L2419"></a><tt class="py-lineno">2419</tt>  <tt class="py-line">        <tt class="py-name">nodesSet</tt><tt class="py-op">.</tt><tt class="py-name">discard</tt><tt class="py-op">(</tt> <tt class="py-string">'c0'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2420"></a><tt class="py-lineno">2420</tt>  <tt class="py-line">        <tt class="py-name">nodesSet</tt><tt class="py-op">.</tt><tt class="py-name">discard</tt><tt class="py-op">(</tt> <tt class="py-string">'c1'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2421"></a><tt class="py-lineno">2421</tt>  <tt class="py-line">        <tt class="py-name">nodesSet</tt><tt class="py-op">.</tt><tt class="py-name">discard</tt><tt class="py-op">(</tt> <tt class="py-string">'c2'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2422"></a><tt class="py-lineno">2422</tt>  <tt class="py-line"> </tt>
+<a name="L2423"></a><tt class="py-lineno">2423</tt>  <tt class="py-line">        <tt class="py-name">switchSet</tt> <tt class="py-op">=</tt> <tt class="py-name">nodesSet</tt> <tt class="py-op">-</tt> <tt class="py-name">hostSet</tt> </tt>
+<a name="L2424"></a><tt class="py-lineno">2424</tt>  <tt class="py-line">        <tt class="py-name">switchList</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt> <tt class="py-name">switchSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2425"></a><tt class="py-lineno">2425</tt>  <tt class="py-line"> </tt>
+<a name="L2426"></a><tt class="py-lineno">2426</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">switchList</tt> </tt>
+</div><a name="L2427"></a><tt class="py-lineno">2427</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.update"></a><div id="MininetCliDriver.update-def"><a name="L2428"></a><tt class="py-lineno">2428</tt> <a class="py-toggle" href="#" id="MininetCliDriver.update-toggle" onclick="return toggle('MininetCliDriver.update');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#update">update</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.update-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.update-expanded"><a name="L2429"></a><tt class="py-lineno">2429</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2430"></a><tt class="py-lineno">2430</tt>  <tt class="py-line"><tt class="py-docstring">           updates the port address and status information for</tt> </tt>
+<a name="L2431"></a><tt class="py-lineno">2431</tt>  <tt class="py-line"><tt class="py-docstring">           each port in mn"""</tt> </tt>
+<a name="L2432"></a><tt class="py-lineno">2432</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Add error checking. currently the mininet command has no output</tt> </tt>
+<a name="L2433"></a><tt class="py-lineno">2433</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-716" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-716', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Updating MN port information"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2434"></a><tt class="py-lineno">2434</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2435"></a><tt class="py-lineno">2435</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-717" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-717', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2436"></a><tt class="py-lineno">2436</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2437"></a><tt class="py-lineno">2437</tt>  <tt class="py-line"> </tt>
+<a name="L2438"></a><tt class="py-lineno">2438</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-718" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-718', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"update"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2439"></a><tt class="py-lineno">2439</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"update"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2440"></a><tt class="py-lineno">2440</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2441"></a><tt class="py-lineno">2441</tt>  <tt class="py-line"> </tt>
+<a name="L2442"></a><tt class="py-lineno">2442</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-719" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-719', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2443"></a><tt class="py-lineno">2443</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2444"></a><tt class="py-lineno">2444</tt>  <tt class="py-line"> </tt>
+<a name="L2445"></a><tt class="py-lineno">2445</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2446"></a><tt class="py-lineno">2446</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2447"></a><tt class="py-lineno">2447</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-720" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-720', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-721" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-721', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2448"></a><tt class="py-lineno">2448</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-722" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-722', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-723" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-723', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2449"></a><tt class="py-lineno">2449</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-724" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-724', 'cleanup', 'link-22');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2450"></a><tt class="py-lineno">2450</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-725" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-725', 'exit', 'link-23');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2451"></a><tt class="py-lineno">2451</tt>  <tt class="py-line"> </tt>
+<a name="MininetCliDriver.assignVLAN"></a><div id="MininetCliDriver.assignVLAN-def"><a name="L2452"></a><tt class="py-lineno">2452</tt> <a class="py-toggle" href="#" id="MininetCliDriver.assignVLAN-toggle" onclick="return toggle('MininetCliDriver.assignVLAN');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignVLAN">assignVLAN</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">host</tt><tt class="py-op">,</tt> <tt class="py-param">intf</tt><tt class="py-op">,</tt> <tt class="py-param">vlan</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MininetCliDriver.assignVLAN-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="MininetCliDriver.assignVLAN-expanded"><a name="L2453"></a><tt class="py-lineno">2453</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2454"></a><tt class="py-lineno">2454</tt>  <tt class="py-line"><tt class="py-docstring">           Add vlan tag to a host.</tt> </tt>
+<a name="L2455"></a><tt class="py-lineno">2455</tt>  <tt class="py-line"><tt class="py-docstring">           Dependencies:</tt> </tt>
+<a name="L2456"></a><tt class="py-lineno">2456</tt>  <tt class="py-line"><tt class="py-docstring">               This class depends on the "vlan" package</tt> </tt>
+<a name="L2457"></a><tt class="py-lineno">2457</tt>  <tt class="py-line"><tt class="py-docstring">               $ sudo apt-get install vlan</tt> </tt>
+<a name="L2458"></a><tt class="py-lineno">2458</tt>  <tt class="py-line"><tt class="py-docstring">           Configuration:</tt> </tt>
+<a name="L2459"></a><tt class="py-lineno">2459</tt>  <tt class="py-line"><tt class="py-docstring">               Load the 8021q module into the kernel</tt> </tt>
+<a name="L2460"></a><tt class="py-lineno">2460</tt>  <tt class="py-line"><tt class="py-docstring">               $sudo modprobe 8021q</tt> </tt>
+<a name="L2461"></a><tt class="py-lineno">2461</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2462"></a><tt class="py-lineno">2462</tt>  <tt class="py-line"><tt class="py-docstring">               To make this setup permanent:</tt> </tt>
+<a name="L2463"></a><tt class="py-lineno">2463</tt>  <tt class="py-line"><tt class="py-docstring">               $ sudo su -c 'echo "8021q" &gt;&gt; /etc/modules'</tt> </tt>
+<a name="L2464"></a><tt class="py-lineno">2464</tt>  <tt class="py-line"><tt class="py-docstring">           """</tt> </tt>
+<a name="L2465"></a><tt class="py-lineno">2465</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L2466"></a><tt class="py-lineno">2466</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2467"></a><tt class="py-lineno">2467</tt>  <tt class="py-line">                <tt class="py-comment"># get the ip address of the host</tt> </tt>
+<a name="L2468"></a><tt class="py-lineno">2468</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-726" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-726', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Get the ip address of the host"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2469"></a><tt class="py-lineno">2469</tt>  <tt class="py-line">                <tt class="py-name">ipaddr</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-727" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getIPAddress()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getIPAddress"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getIPAddress" class="py-name" href="#" onclick="return doclink('link-727', 'getIPAddress', 'link-727');">getIPAddress</a></tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2470"></a><tt class="py-lineno">2470</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ipaddr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2471"></a><tt class="py-lineno">2471</tt>  <tt class="py-line"> </tt>
+<a name="L2472"></a><tt class="py-lineno">2472</tt>  <tt class="py-line">                <tt class="py-comment"># remove IP from interface intf</tt> </tt>
+<a name="L2473"></a><tt class="py-lineno">2473</tt>  <tt class="py-line">                <tt class="py-comment"># Ex: h1 ifconfig h1-eth0 inet 0</tt> </tt>
+<a name="L2474"></a><tt class="py-lineno">2474</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-728" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-728', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Remove IP from interface "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2475"></a><tt class="py-lineno">2475</tt>  <tt class="py-line">                <tt class="py-name">cmd2</tt> <tt class="py-op">=</tt> <tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-string">" ifconfig "</tt> <tt class="py-op">+</tt> <tt class="py-name">intf</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-string">" inet 0 "</tt> </tt>
+<a name="L2476"></a><tt class="py-lineno">2476</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-729" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-729', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2477"></a><tt class="py-lineno">2477</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2478"></a><tt class="py-lineno">2478</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L2479"></a><tt class="py-lineno">2479</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-730" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-730', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"====&gt; %s "</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2480"></a><tt class="py-lineno">2480</tt>  <tt class="py-line"> </tt>
+<a name="L2481"></a><tt class="py-lineno">2481</tt>  <tt class="py-line">                <tt class="py-comment"># create VLAN interface</tt> </tt>
+<a name="L2482"></a><tt class="py-lineno">2482</tt>  <tt class="py-line">                <tt class="py-comment"># Ex: h1 vconfig add h1-eth0 100</tt> </tt>
+<a name="L2483"></a><tt class="py-lineno">2483</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-731" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-731', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Create Vlan"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2484"></a><tt class="py-lineno">2484</tt>  <tt class="py-line">                <tt class="py-name">cmd3</tt> <tt class="py-op">=</tt> <tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-string">" vconfig add "</tt> <tt class="py-op">+</tt> <tt class="py-name">intf</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">vlan</tt> </tt>
+<a name="L2485"></a><tt class="py-lineno">2485</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-732" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-732', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2486"></a><tt class="py-lineno">2486</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2487"></a><tt class="py-lineno">2487</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L2488"></a><tt class="py-lineno">2488</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-733" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-733', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"====&gt; %s "</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2489"></a><tt class="py-lineno">2489</tt>  <tt class="py-line"> </tt>
+<a name="L2490"></a><tt class="py-lineno">2490</tt>  <tt class="py-line">                <tt class="py-comment"># assign the host's IP to the VLAN interface</tt> </tt>
+<a name="L2491"></a><tt class="py-lineno">2491</tt>  <tt class="py-line">                <tt class="py-comment"># Ex: h1 ifconfig h1-eth0.100 inet 10.0.0.1</tt> </tt>
+<a name="L2492"></a><tt class="py-lineno">2492</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-734" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-734', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Assign the host IP to the vlan interface"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2493"></a><tt class="py-lineno">2493</tt>  <tt class="py-line">                <tt class="py-name">vintf</tt> <tt class="py-op">=</tt> <tt class="py-name">intf</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">vlan</tt> </tt>
+<a name="L2494"></a><tt class="py-lineno">2494</tt>  <tt class="py-line">                <tt class="py-name">cmd4</tt> <tt class="py-op">=</tt> <tt class="py-name">host</tt> <tt class="py-op">+</tt> <tt class="py-string">" ifconfig "</tt> <tt class="py-op">+</tt> <tt class="py-name">vintf</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-string">" inet "</tt> <tt class="py-op">+</tt> <tt class="py-name">ipaddr</tt> </tt>
+<a name="L2495"></a><tt class="py-lineno">2495</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-735" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-735', 'sendline', 'link-28');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd4</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2496"></a><tt class="py-lineno">2496</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2497"></a><tt class="py-lineno">2497</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L2498"></a><tt class="py-lineno">2498</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-736" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-736', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"====&gt; %s "</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2499"></a><tt class="py-lineno">2499</tt>  <tt class="py-line"> </tt>
+<a name="L2500"></a><tt class="py-lineno">2500</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2501"></a><tt class="py-lineno">2501</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2502"></a><tt class="py-lineno">2502</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-737" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-737', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-738" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-738', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2503"></a><tt class="py-lineno">2503</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-739" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-739', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-740" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-740', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2504"></a><tt class="py-lineno">2504</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div></div><a name="L2505"></a><tt class="py-lineno">2505</tt>  <tt class="py-line"> </tt>
+<a name="L2506"></a><tt class="py-lineno">2506</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">!=</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2507"></a><tt class="py-lineno">2507</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L2508"></a><tt class="py-lineno">2508</tt>  <tt class="py-line">    <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt> <tt class="py-name">__name__</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-741" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver" class="py-name" href="#" onclick="return doclink('link-741', 'MininetCliDriver', 'link-11');">MininetCliDriver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2509"></a><tt class="py-lineno">2509</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -386,13 +2746,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html
index 3955b60..9b08309 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -61,18 +66,16 @@
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
 <h1 class="epydoc">Class MininetCliDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-         object --+            
-                  |            
-<a href="TestON.drivers.component.Component-class.html">component.Component</a> --+        
-                      |        
-          <a href="TestON.drivers.common.clidriver.CLI-class.html">clidriver.CLI</a> --+    
-                          |    
-    <a href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html">emulatordriver.Emulator</a> --+
-                              |
-                             <strong class="uidshort">MininetCliDriver</strong>
-</pre>
-
+<center>
+<center>  <map id="class_hierarchy_for_mininetcli" name="class_hierarchy_for_mininetcli">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html" title="MininetCliDriver" alt="" coords="5,6,120,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html" title="emulatordriver.Emulator" alt="" coords="144,6,303,31"/>
+<area shape="rect" id="node3" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="329,6,420,31"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="component.Component" alt="" coords="445,6,603,31"/>
+</map>
+  <img src="class_hierarchy_for_mininetcli.gif" alt='' usemap="#class_hierarchy_for_mininetcli" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
 <hr />
 <p>MininetCliDriver is the basic driver which will handle the Mininet 
   functions</p>
@@ -101,7 +104,7 @@
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.__init__">source&nbsp;code</a></span>
             
@@ -119,7 +122,8 @@
         <tr>
           <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">**connectargs</span>)</span><br />
-      Connection will establish to the remote host using ssh.</td>
+      Here the main is the TestON instance after creating all the log 
+      handles.</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.connect">source&nbsp;code</a></span>
             
@@ -135,7 +139,69 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="pingall"></a><span class="summary-sig-name">pingall</span>(<span class="summary-sig-arg">self</span>)</span><br />
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startNet" class="summary-sig-name">startNet</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">topoFile</span>=<span class="summary-sig-default">''</span>,
+        <span class="summary-sig-arg">args</span>=<span class="summary-sig-default">''</span>,
+        <span class="summary-sig-arg">mnCmd</span>=<span class="summary-sig-default">''</span>,
+        <span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">120</span>)</span><br />
+      Description:
+    Starts Mininet accepts a topology(.py) file and/or an optional
+    argument, to start the mininet, as a parameter.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.startNet">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="numSwitchesNlinks"></a><span class="summary-sig-name">numSwitchesNlinks</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">topoType</span>,
+        <span class="summary-sig-arg">depth</span>,
+        <span class="summary-sig-arg">fanout</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.numSwitchesNlinks">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="calculateSwAndLinks"></a><span class="summary-sig-name">calculateSwAndLinks</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Calculate the number of switches and links in a topo.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.calculateSwAndLinks">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingall" class="summary-sig-name">pingall</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">300</span>,
+        <span class="summary-sig-arg">shortCircuit</span>=<span class="summary-sig-default">False</span>,
+        <span class="summary-sig-arg">acceptableFailed</span>=<span class="summary-sig-default">0</span>)</span><br />
       Verifies the reachability of the hosts using pingall command.</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.pingall">source&nbsp;code</a></span>
@@ -152,8 +218,65 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#fpingHost" class="summary-sig-name">fpingHost</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**pingParams</span>)</span><br />
+      Uses the fping package for faster pinging...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.fpingHost">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingallHosts" class="summary-sig-name">pingallHosts</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">hostList</span>)</span><br />
+      Ping all specified IPv4 hosts</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.pingallHosts">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingIpv6Hosts" class="summary-sig-name">pingIpv6Hosts</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">hostList</span>,
+        <span class="summary-sig-arg">prefix</span>=<span class="summary-sig-default">'1000::'</span>)</span><br />
+      IPv6 ping all hosts in hostList.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.pingIpv6Hosts">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
           <td><span class="summary-sig"><a name="pingHost"></a><span class="summary-sig-name">pingHost</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">**pingParams</span>)</span></td>
+        <span class="summary-sig-arg">**pingParams</span>)</span><br />
+      Ping from one mininet host to another Currently the only supported 
+      Params: SRC and TARGET</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.pingHost">source&nbsp;code</a></span>
             
@@ -187,6 +310,236 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
+          <td><span class="summary-sig"><a name="verifySSH"></a><span class="summary-sig-name">verifySSH</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**connectargs</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.verifySSH">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="moveHost"></a><span class="summary-sig-name">moveHost</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">host</span>,
+        <span class="summary-sig-arg">oldSw</span>,
+        <span class="summary-sig-arg">newSw</span>)</span><br />
+      Moves a host from one switch to another on the fly
+Note: The intf between host and oldSw when detached
+     using detach(), will still show up in the 'net'
+     cmd, because switch.detach() doesn't affect switch.intfs[]
+     ( which is correct behavior since the interfaces
+     haven't moved ).</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.moveHost">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="changeIP"></a><span class="summary-sig-name">changeIP</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">host</span>,
+        <span class="summary-sig-arg">intf</span>,
+        <span class="summary-sig-arg">newIP</span>,
+        <span class="summary-sig-arg">newNetmask</span>)</span><br />
+      Changes the ip address of a host on the fly Ex: h2 ifconfig h2-eth0 
+      10.0.1.2 netmask 255.255.255.0</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.changeIP">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="changeDefaultGateway"></a><span class="summary-sig-name">changeDefaultGateway</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">host</span>,
+        <span class="summary-sig-arg">newGW</span>)</span><br />
+      Changes the default gateway of a host Ex: h1 route add default gw 
+      10.0.1.2</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.changeDefaultGateway">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="addStaticMACAddress"></a><span class="summary-sig-name">addStaticMACAddress</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">host</span>,
+        <span class="summary-sig-arg">GW</span>,
+        <span class="summary-sig-arg">macaddr</span>)</span><br />
+      Changes the mac address of a gateway host</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.addStaticMACAddress">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="verifyStaticGWandMAC"></a><span class="summary-sig-name">verifyStaticGWandMAC</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">host</span>)</span><br />
+      Verify if the static gateway and mac address assignment</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.verifyStaticGWandMAC">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getMacAddress"></a><span class="summary-sig-name">getMacAddress</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">host</span>)</span><br />
+      Verifies the host's ip configured or not.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getMacAddress">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getInterfaceMACAddress"></a><span class="summary-sig-name">getInterfaceMACAddress</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">host</span>,
+        <span class="summary-sig-arg">interface</span>)</span><br />
+      Return the IP address of the interface on the given host</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getInterfaceMACAddress">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getIPAddress"></a><span class="summary-sig-name">getIPAddress</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">host</span>)</span><br />
+      Verifies the host's ip configured or not.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getIPAddress">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getSwitchDPID"></a><span class="summary-sig-name">getSwitchDPID</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">switch</span>)</span><br />
+      return the datapath ID of the switch</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getSwitchDPID">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getDPID"></a><span class="summary-sig-name">getDPID</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">switch</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getDPID">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getInterfaces"></a><span class="summary-sig-name">getInterfaces</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">node</span>)</span><br />
+      return information dict about interfaces connected to the node</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getInterfaces">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
           <td><span class="summary-sig"><a name="dump"></a><span class="summary-sig-name">dump</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.dump">source&nbsp;code</a></span>
@@ -235,9 +588,9 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="iperf"></a><span class="summary-sig-name">iperf</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td><span class="summary-sig"><a name="links"></a><span class="summary-sig-name">links</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.iperf">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.links">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -251,7 +604,70 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="iperfudp"></a><span class="summary-sig-name">iperfudp</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperftcpAll" class="summary-sig-name">iperftcpAll</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">hosts</span>,
+        <span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">6</span>)</span><br />
+      Runs the iperftcp function with a given set of hosts and specified timeout.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.iperftcpAll">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperftcp" class="summary-sig-name">iperftcp</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">host1</span>=<span class="summary-sig-default">&quot;h1&quot;</span>,
+        <span class="summary-sig-arg">host2</span>=<span class="summary-sig-default">&quot;h2&quot;</span>,
+        <span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">6</span>)</span><br />
+      Creates an iperf TCP test between two hosts.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.iperftcp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="iperfudpAll"></a><span class="summary-sig-name">iperfudpAll</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">hosts</span>,
+        <span class="summary-sig-arg">bandwidth</span>=<span class="summary-sig-default">&quot;10M&quot;</span>)</span><br />
+      Runs the iperfudp function with a given set of hosts and specified 
+      bandwidth</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.iperfudpAll">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperfudp" class="summary-sig-name">iperfudp</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">bandwidth</span>=<span class="summary-sig-default">&quot;10M&quot;</span>,
+        <span class="summary-sig-arg">host1</span>=<span class="summary-sig-default">&quot;h1&quot;</span>,
+        <span class="summary-sig-arg">host2</span>=<span class="summary-sig-default">&quot;h2&quot;</span>)</span><br />
+      Creates an iperf UDP test with a specific bandwidth.</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.iperfudp">source&nbsp;code</a></span>
             
@@ -301,7 +717,7 @@
         <tr>
           <td><span class="summary-sig"><a name="link"></a><span class="summary-sig-name">link</span>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">**linkargs</span>)</span><br />
-      Bring link(s) between two nodes up or down</td>
+      Bring link( s ) between two nodes up or down</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.link">source&nbsp;code</a></span>
             
@@ -317,6 +733,42 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
+          <td><span class="summary-sig"><a name="yank"></a><span class="summary-sig-name">yank</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**yankargs</span>)</span><br />
+      yank a mininet switch interface to a host</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.yank">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="plug"></a><span class="summary-sig-name">plug</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**plugargs</span>)</span><br />
+      plug the yanked mininet switch interface to a switch</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.plug">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
           <td><span class="summary-sig"><a name="dpctl"></a><span class="summary-sig-name">dpctl</span>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">**dpctlargs</span>)</span><br />
       Run dpctl command on all switches.</td>
@@ -335,9 +787,9 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#get_version" class="summary-sig-name">get_version</a>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td><span class="summary-sig"><a name="getVersion"></a><span class="summary-sig-name">getVersion</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.get_version">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getVersion">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -351,8 +803,188 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">handle</span>)</span></td>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwController" class="summary-sig-name">getSwController</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">sw</span>)</span><br />
+      Parameters:
+    sw: The name of an OVS switch.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getSwController">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignSwController" class="summary-sig-name">assignSwController</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">sw</span>,
+        <span class="summary-sig-arg">ip</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;6633&quot;</span>,
+        <span class="summary-sig-arg">ptcp</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
+      Description:
+    Assign switches to the controllers ( for ovs use only )
+Required:
+    sw - Name of the switch.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.assignSwController">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="deleteSwController"></a><span class="summary-sig-name">deleteSwController</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">sw</span>)</span><br />
+      Removes the controller target from sw</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.deleteSwController">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addSwitch" class="summary-sig-name">addSwitch</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">sw</span>,
+        <span class="summary-sig-arg">**kwargs</span>)</span><br />
+      adds a switch to the mininet topology
+NOTE: This uses a custom mn function.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.addSwitch">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delSwitch" class="summary-sig-name">delSwitch</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">sw</span>)</span><br />
+      delete a switch from the mininet topology
+NOTE: This uses a custom mn function.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.delSwitch">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addLink" class="summary-sig-name">addLink</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">node1</span>,
+        <span class="summary-sig-arg">node2</span>)</span><br />
+      add a link to the mininet topology
+NOTE: This uses a custom mn function.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.addLink">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delLink" class="summary-sig-name">delLink</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">node1</span>,
+        <span class="summary-sig-arg">node2</span>)</span><br />
+      delete a link from the mininet topology
+NOTE: This uses a custom mn function.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.delLink">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addHost" class="summary-sig-name">addHost</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">hostname</span>,
+        <span class="summary-sig-arg">**kwargs</span>)</span><br />
+      Add a host to the mininet topology
+NOTE: This uses a custom mn function.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.addHost">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delHost" class="summary-sig-name">delHost</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">hostname</span>)</span><br />
+      delete a host from the mininet topology
+NOTE: This uses a custom mn function.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.delHost">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Called at the end of the test to stop the mininet and disconnect the 
+      handle.</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.disconnect">source&nbsp;code</a></span>
             
@@ -362,21 +994,491 @@
       
     </td>
   </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopNet" class="summary-sig-name">stopNet</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fileName</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">5</span>)</span><br />
+      Stops mininet.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.stopNet">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="arping"></a><span class="summary-sig-name">arping</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">host</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">&quot;10.128.20.211&quot;</span>,
+        <span class="summary-sig-arg">ethDevice</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
+      Description:
+    Sends arp message from mininet host for hosts discovery
+Required:
+    host - hosts name
+Optional:
+    ip - ip address that does not exist in the network so there would
+         be no reply.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.arping">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="decToHex"></a><span class="summary-sig-name">decToHex</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">num</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.decToHex">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getSwitchFlowCount"></a><span class="summary-sig-name">getSwitchFlowCount</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">switch</span>)</span><br />
+      return the Flow Count of the switch</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getSwitchFlowCount">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="checkFlows"></a><span class="summary-sig-name">checkFlows</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">sw</span>,
+        <span class="summary-sig-arg">dumpFormat</span>=<span class="summary-sig-default">None</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.checkFlows">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getFlowTable" class="summary-sig-name">getFlowTable</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">protoVersion</span>,
+        <span class="summary-sig-arg">sw</span>)</span><br />
+      Returns certain fields of an OVS flow table.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getFlowTable">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="flowComp"></a><span class="summary-sig-name">flowComp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">flow1</span>,
+        <span class="summary-sig-arg">flow2</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.flowComp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="startTcpdump"></a><span class="summary-sig-name">startTcpdump</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">filename</span>,
+        <span class="summary-sig-arg">intf</span>=<span class="summary-sig-default">&quot;eth0&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;port 6633&quot;</span>)</span><br />
+      Runs tpdump on an interface and saves the file intf can be specified,
+      or the default eth0 is used</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.startTcpdump">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="stopTcpdump"></a><span class="summary-sig-name">stopTcpdump</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      pkills tcpdump</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.stopTcpdump">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getPorts" class="summary-sig-name">getPorts</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">nodeName</span>,
+        <span class="summary-sig-arg">verbose</span>=<span class="summary-sig-default">False</span>)</span><br />
+      Read ports from a Mininet switch.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getPorts">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitches" class="summary-sig-name">getSwitches</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">verbose</span>=<span class="summary-sig-default">False</span>)</span><br />
+      Read switches from Mininet.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getSwitches">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getHosts" class="summary-sig-name">getHosts</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">verbose</span>=<span class="summary-sig-default">False</span>)</span><br />
+      Read hosts from Mininet.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getHosts">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getLinks" class="summary-sig-name">getLinks</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Gathers information about current Mininet links.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getLinks">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareSwitches" class="summary-sig-name">compareSwitches</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">switches</span>,
+        <span class="summary-sig-arg">switchesJson</span>,
+        <span class="summary-sig-arg">portsJson</span>)</span><br />
+      Compare mn and onos switches
+   switchesJson: parsed json object from the onos devices api</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.compareSwitches">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="compareLinks"></a><span class="summary-sig-name">compareLinks</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">switches</span>,
+        <span class="summary-sig-arg">links</span>,
+        <span class="summary-sig-arg">linksJson</span>)</span><br />
+      Compare mn and onos links linksJson: parsed json object from the onos
+      links api</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.compareLinks">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareHosts" class="summary-sig-name">compareHosts</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">hosts</span>,
+        <span class="summary-sig-arg">hostsJson</span>)</span><br />
+      Compare mn and onos Hosts.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.compareHosts">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getHostsOld"></a><span class="summary-sig-name">getHostsOld</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Returns a list of all hosts Don't ask questions just use it</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getHostsOld">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getSwitch"></a><span class="summary-sig-name">getSwitch</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Returns a list of all switches Again, don't ask question just use 
+      it...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getSwitch">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="update"></a><span class="summary-sig-name">update</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      updates the port address and status information for each port in mn</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.update">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignVLAN" class="summary-sig-name">assignVLAN</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">host</span>,
+        <span class="summary-sig-arg">intf</span>,
+        <span class="summary-sig-arg">vlan</span>)</span><br />
+      Add vlan tag to a host.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.assignVLAN">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**execparams</span>)</span><br />
+      It facilitates the command line execution of a given command.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">default</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">user_name</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">filepath</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">dst_path</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
   <tr>
     <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="TestON.drivers.common.clidriver.CLI-class.html">clidriver.CLI</a></code></b>:
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#execute">execute</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#onfail">onfail</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser">runAsSudoUser</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy">secureCopy</a></code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="TestON.drivers.component.Component-class.html">component.Component</a></code></b>:
-      <code><a href="TestON.drivers.component.Component-class.html#__getattr__">__getattr__</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#cleanup">cleanup</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#close_log_handles">close_log_handles</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#config">config</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#experimentRun">experimentRun</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#log">log</a></code>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
       </p>
     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
       <code>__delattr__</code>,
@@ -453,8 +1555,7 @@
     </td>
   </tr></table>
   
-  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
-  signature</p>
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
   <dl class="fields">
     <dt>Overrides:
         object.__init__
@@ -478,35 +1579,509 @@
     </td>
   </tr></table>
   
-  <p>Connection will establish to the remote host using ssh. It will take 
-  user_name ,ip_address and password as arguments&lt;br&gt; and will return
-  the handle.</p>
+  <p>Here the main is the TestON instance after creating all the log 
+  handles.</p>
   <dl class="fields">
     <dt>Overrides:
-        <a href="TestON.drivers.component.Component-class.html#connect">component.Component.connect</a>
+        component.Component.connect
     </dt>
   </dl>
 </td></tr></table>
 </div>
-<a name="get_version"></a>
+<a name="startNet"></a>
 <div>
 <table class="details" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
 <tr><td>
   <table width="100%" cellpadding="0" cellspacing="0" border="0">
   <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_version</span>(<span class="sig-arg">self</span>)</span>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">startNet</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">topoFile</span>=<span class="sig-default">''</span>,
+        <span class="sig-arg">args</span>=<span class="sig-default">''</span>,
+        <span class="sig-arg">mnCmd</span>=<span class="sig-default">''</span>,
+        <span class="sig-arg">timeout</span>=<span class="sig-default">120</span>)</span>
   </h3>
   </td><td align="right" valign="top"
-    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.get_version">source&nbsp;code</a></span>&nbsp;
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.startNet">source&nbsp;code</a></span>&nbsp;
     </td>
   </tr></table>
   
-  
+  <pre class="literalblock">
+
+Description:
+    Starts Mininet accepts a topology(.py) file and/or an optional
+    argument, to start the mininet, as a parameter.
+    Can also send regular mininet command to load up desired topology.
+    Eg. Pass in a string 'sudo mn --topo=tree,3,3' to mnCmd
+Options:
+    topoFile = file path for topology file (.py)
+    args = extra option added when starting the topology from the file
+    mnCmd = Mininet command use to start topology
+Returns:
+        main.TRUE if the mininet starts successfully, main.FALSE
+        otherwise
+
+</pre>
   <dl class="fields">
-    <dt>Overrides:
-        <a href="TestON.drivers.component.Component-class.html#get_version">component.Component.get_version</a>
-    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="pingall"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">pingall</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">timeout</span>=<span class="sig-default">300</span>,
+        <span class="sig-arg">shortCircuit</span>=<span class="sig-default">False</span>,
+        <span class="sig-arg">acceptableFailed</span>=<span class="sig-default">0</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.pingall">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Verifies the reachability of the hosts using pingall command.
+Optional parameter timeout allows you to specify how long to
+wait for pingall to complete
+Optional:
+timeout( seconds ) - How long to wait before breaking the pingall
+shortCircuit - Break the pingall based on the number of failed hosts
+               ping
+acceptableFailed - Set the number of acceptable failed pings for the
+                   function to still return main.TRUE
+Returns:
+main.TRUE if pingall completes with no pings dropped
+otherwise main.FALSE
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="fpingHost"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">fpingHost</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">**pingParams</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.fpingHost">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Uses the fping package for faster pinging... *requires fping to be 
+  installed on machine running mininet</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="pingallHosts"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">pingallHosts</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">hostList</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.pingallHosts">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Ping all specified IPv4 hosts</p>
+  <p>Acceptable hostList:</p>
+  <ul>
+    <li>
+      [ 'h1','h2','h3','h4' ]
+    </li>
+  </ul>
+  <p>Returns main.TRUE if all hosts specified can reach each other</p>
+  <p>Returns main.FALSE if one or more of hosts specified cannot reach each
+  other</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="pingIpv6Hosts"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">pingIpv6Hosts</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">hostList</span>,
+        <span class="sig-arg">prefix</span>=<span class="sig-default">'1000::'</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.pingIpv6Hosts">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>IPv6 ping all hosts in hostList. If no prefix passed this will use 
+  default prefix of 1000:</p>
+<pre class="literalblock">
+
+</pre>
+  <p>Returns main.TRUE if all hosts specified can reach each other</p>
+  <p>Returns main.FALSE if one or more of hosts specified cannot reach each
+  other</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="iperftcpAll"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">iperftcpAll</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">hosts</span>,
+        <span class="sig-arg">timeout</span>=<span class="sig-default">6</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.iperftcpAll">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Runs the iperftcp function with a given set of hosts and specified timeout.
+
+@parm:
+    timeout: The defualt timeout is 6 sec to allow enough time for a successful test to complete,
+     and short enough to stop an unsuccessful test from quiting and cleaning up mininet.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="iperftcp"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">iperftcp</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">host1</span>=<span class="sig-default">&quot;h1&quot;</span>,
+        <span class="sig-arg">host2</span>=<span class="sig-default">&quot;h2&quot;</span>,
+        <span class="sig-arg">timeout</span>=<span class="sig-default">6</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.iperftcp">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Creates an iperf TCP test between two hosts. Returns main.TRUE if test results
+are valid.
+
+@parm:
+    timeout: The defualt timeout is 6 sec to allow enough time for a successful test to complete,
+     and short enough to stop an unsuccessful test from quiting and cleaning up mininet.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="iperfudp"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">iperfudp</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">bandwidth</span>=<span class="sig-default">&quot;10M&quot;</span>,
+        <span class="sig-arg">host1</span>=<span class="sig-default">&quot;h1&quot;</span>,
+        <span class="sig-arg">host2</span>=<span class="sig-default">&quot;h2&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.iperfudp">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Creates an iperf UDP test with a specific bandwidth. Returns true if 
+  results are valid.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getSwController"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getSwController</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">sw</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getSwController">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Parameters:
+    sw: The name of an OVS switch. Example &quot;s1&quot;
+Return:
+    The output of the command from the mininet cli
+    or main.FALSE on timeout
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="assignSwController"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">assignSwController</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">sw</span>,
+        <span class="sig-arg">ip</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">&quot;6633&quot;</span>,
+        <span class="sig-arg">ptcp</span>=<span class="sig-default">&quot;&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.assignSwController">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Assign switches to the controllers ( for ovs use only )
+Required:
+    sw - Name of the switch. This can be a list or a string.
+    ip - Ip addresses of controllers. This can be a list or a string.
+Optional:
+    port - ONOS use port 6633, if no list of ports is passed, then
+           the all the controller will use 6633 as their port number
+    ptcp - ptcp number, This can be a string or a list that has
+           the same length as switch. This is optional and not required
+           when using ovs switches.
+NOTE: If switches and ptcp are given in a list type they should have the
+      same length and should be in the same order, Eg. sw=[ 's1' ... n ]
+      ptcp=[ '6637' ... n ], s1 has ptcp number 6637 and so on.
+
+Return:
+    Returns main.TRUE if mininet correctly assigned switches to
+    controllers, otherwise it will return main.FALSE or an appropriate
+    exception(s)
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="addSwitch"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">addSwitch</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">sw</span>,
+        <span class="sig-arg">**kwargs</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.addSwitch">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+adds a switch to the mininet topology
+NOTE: This uses a custom mn function. MN repo should be on
+    dynamic_topo branch
+NOTE: cannot currently specify what type of switch
+required params:
+    sw = name of the new switch as a string
+optional keywords:
+    dpid = &quot;dpid&quot;
+returns: main.FALSE on an error, else main.TRUE
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="delSwitch"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">delSwitch</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">sw</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.delSwitch">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+delete a switch from the mininet topology
+NOTE: This uses a custom mn function. MN repo should be on
+    dynamic_topo branch
+required params:
+    sw = name of the switch as a string
+returns: main.FALSE on an error, else main.TRUE
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="addLink"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">addLink</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">node1</span>,
+        <span class="sig-arg">node2</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.addLink">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+add a link to the mininet topology
+NOTE: This uses a custom mn function. MN repo should be on
+     dynamic_topo branch
+NOTE: cannot currently specify what type of link
+required params:
+node1 = the string node name of the first endpoint of the link
+node2 = the string node name of the second endpoint of the link
+returns: main.FALSE on an error, else main.TRUE
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="delLink"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">delLink</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">node1</span>,
+        <span class="sig-arg">node2</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.delLink">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+delete a link from the mininet topology
+NOTE: This uses a custom mn function. MN repo should be on
+     dynamic_topo branch
+required params:
+node1 = the string node name of the first endpoint of the link
+node2 = the string node name of the second endpoint of the link
+returns: main.FALSE on an error, else main.TRUE
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="addHost"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">addHost</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">hostname</span>,
+        <span class="sig-arg">**kwargs</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.addHost">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Add a host to the mininet topology
+NOTE: This uses a custom mn function. MN repo should be on
+    dynamic_topo branch
+NOTE: cannot currently specify what type of host
+required params:
+    hostname = the string hostname
+optional key-value params
+    switch = &quot;switch name&quot;
+    returns: main.FALSE on an error, else main.TRUE
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="delHost"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">delHost</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">hostname</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.delHost">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+delete a host from the mininet topology
+NOTE: This uses a custom mn function. MN repo should be on
+    dynamic_topo branch
+NOTE: this uses a custom mn function
+required params:
+hostname = the string hostname
+returns: main.FALSE on an error, else main.TRUE
+
+</pre>
+  <dl class="fields">
   </dl>
 </td></tr></table>
 </div>
@@ -517,22 +2092,281 @@
 <tr><td>
   <table width="100%" cellpadding="0" cellspacing="0" border="0">
   <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">disconnect</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">handle</span>)</span>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">disconnect</span>(<span class="sig-arg">self</span>)</span>
   </h3>
   </td><td align="right" valign="top"
     ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.disconnect">source&nbsp;code</a></span>&nbsp;
     </td>
   </tr></table>
   
-  
+  <p>Called at the end of the test to stop the mininet and disconnect the 
+  handle.</p>
   <dl class="fields">
     <dt>Overrides:
-        <a href="TestON.drivers.component.Component-class.html#disconnect">component.Component.disconnect</a>
+        component.Component.disconnect
     </dt>
   </dl>
 </td></tr></table>
 </div>
+<a name="stopNet"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">stopNet</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fileName</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">timeout</span>=<span class="sig-default">5</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.stopNet">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Stops mininet.
+Returns main.TRUE if the mininet successfully stops and
+        main.FALSE if the pexpect handle does not exist.
+
+Will cleanup and exit the test if mininet fails to stop
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getFlowTable"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getFlowTable</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">protoVersion</span>,
+        <span class="sig-arg">sw</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getFlowTable">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Returns certain fields of an OVS flow table. Will force output to
+either OF 1.0 or 1.3 format for consistency.
+
+TODO add option to look at cookies. ignoring them for now
+
+ NOTE: Use format to force consistent flow table output across
+ versions
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getPorts"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getPorts</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">nodeName</span>,
+        <span class="sig-arg">verbose</span>=<span class="sig-default">False</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getPorts">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Read ports from a Mininet switch.</p>
+  <p>Returns a json structure containing information about the ports of the
+  given switch.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getSwitches"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getSwitches</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">verbose</span>=<span class="sig-default">False</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getSwitches">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Read switches from Mininet.</p>
+  <p>Returns a dictionary whose keys are the switch names and the value is 
+  a dictionary containing information about the switch.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getHosts"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getHosts</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">verbose</span>=<span class="sig-default">False</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getHosts">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Read hosts from Mininet.</p>
+  <p>Returns a dictionary whose keys are the host names and the value is a 
+  dictionary containing information about the host.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getLinks"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getLinks</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.getLinks">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Gathers information about current Mininet links. These links may not
+be up if one of the ports is down.
+
+Returns a list of dictionaries with link endpoints.
+
+The dictionary structure is:
+    { 'node1': str( node1 name )
+      'node2': str( node2 name )
+      'port1': str( port1 of_port )
+      'port2': str( port2 of_port ) }
+Note: The port number returned is the eth#, not necessarily the of_port
+      number. In Mininet, for OVS switch, these should be the same. For
+      hosts, this is just the eth#.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="compareSwitches"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">compareSwitches</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">switches</span>,
+        <span class="sig-arg">switchesJson</span>,
+        <span class="sig-arg">portsJson</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.compareSwitches">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+   Compare mn and onos switches
+   switchesJson: parsed json object from the onos devices api
+
+Dependencies:
+    1. numpy - &quot;sudo pip install numpy&quot;
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="compareHosts"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">compareHosts</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">hosts</span>,
+        <span class="sig-arg">hostsJson</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.compareHosts">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Compare mn and onos Hosts.
+Since Mininet hosts are quiet, ONOS will only know of them when they
+speak. For this reason, we will only check that the hosts in ONOS
+stores are in Mininet, and not vice versa.
+
+Arguments:
+    hostsJson: parsed json object from the onos hosts api
+Returns:
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="assignVLAN"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">assignVLAN</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">host</span>,
+        <span class="sig-arg">intf</span>,
+        <span class="sig-arg">vlan</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-pysrc.html#MininetCliDriver.assignVLAN">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Add vlan tag to a host.
+Dependencies:
+    This class depends on the &quot;vlan&quot; package
+    $ sudo apt-get install vlan
+Configuration:
+    Load the 8021q module into the kernel
+    $sudo modprobe 8021q
+
+    To make this setup permanent:
+    $ sudo su -c 'echo &quot;8021q&quot; &gt;&gt; /etc/modules'
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
 <br />
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
@@ -554,13 +2388,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.poxclidriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.poxclidriver-module.html
index 2e4db24..7ec7026 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.poxclidriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.poxclidriver-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,14 +65,32 @@
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
 <h1 class="epydoc">Module poxclidriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.emulator.poxclidriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 26-Oct-2012</p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Raghav Kashyap(raghavkashyap@paxterrasolutions.com)
-        <p>pox driver provides the basic functions of POX controller</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 26-Oct-2012
+
+author:: Raghav Kashyap( raghavkashyap@paxterrasolutions.com )
+
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    ( at your option ) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+
+pox driver provides the basic functions of POX controller
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -113,13 +136,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.poxclidriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.poxclidriver-pysrc.html
index 02df3cf..c6c301c 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.poxclidriver-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.poxclidriver-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -61,173 +66,251 @@
 <h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.emulator.poxclidriver-module.html">Module TestON.drivers.common.cli.emulator.poxclidriver</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
 <a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 26-Oct-2012</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">       </tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Raghav Kashyap(raghavkashyap@paxterrasolutions.com)</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">author:: Raghav Kashyap( raghavkashyap@paxterrasolutions.com )</tt> </tt>
 <a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">pox driver provides the basic functions of POX controller</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt><tt class="py-op">,</tt> <tt class="py-name">fcntl</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">signal</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">    ( at your option ) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">pox driver provides the basic functions of POX controller</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">fcntl</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">signal</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
 TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-2', 'cli', 'link-2');">cli</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module TestON.drivers.common.cli.emulatordriver=TestON.drivers.common.cli.emulatordriver-module.html"><a title="TestON.drivers.common.cli.emulatordriver" class="py-name" href="#" onclick="return doclink('link-3', 'emulatordriver', 'link-3');">emulatordriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class TestON.drivers.common.cli.emulatordriver.Emulator=TestON.drivers.common.cli.emulatordriver.Emulator-class.html"><a title="TestON.drivers.common.cli.emulatordriver.Emulator" class="py-name" href="#" onclick="return doclink('link-4', 'Emulator', 'link-4');">Emulator</a></tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"> </tt>
-<a name="PoxCliDriver"></a><div id="PoxCliDriver-def"><a name="L14"></a><tt class="py-lineno"> 14</tt> <a class="py-toggle" href="#" id="PoxCliDriver-toggle" onclick="return toggle('PoxCliDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html">PoxCliDriver</a><tt class="py-op">(</tt><tt class="py-base-class">Emulator</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PoxCliDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="PoxCliDriver-expanded"><a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">        PoxCliDriver driver provides the basic functions of POX controller</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="PoxCliDriver.__init__"></a><div id="PoxCliDriver.__init__-def"><a name="L18"></a><tt class="py-lineno"> 18</tt> <a class="py-toggle" href="#" id="PoxCliDriver.__init__-toggle" onclick="return toggle('PoxCliDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PoxCliDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PoxCliDriver.__init__-expanded"><a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.emulatordriver.Emulator" class="py-name" href="#" onclick="return doclink('link-5', 'Emulator', 'link-4');">Emulator</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.drivers.common.webdriver.WebDriver.__init__()=TestON.drivers.common.webdriver.WebDriver-class.html#__init__,Method TestON.drivers.component.Component.__init__()=TestON.drivers.component.Component-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__()=TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#__init__,Method TestON.tests.FvtTest.FvtTest.FvtTest.__init__()=TestON.tests.FvtTest.FvtTest.FvtTest-class.html#__init__,Method TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__()=TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#__init__,Method TestON.tests.MininetTest.MininetTest.MininetTest.__init__()=TestON.tests.MininetTest.MininetTest.MininetTest-class.html#__init__,Method TestON.tests.PoxTest.PoxTest.PoxTest.__init__()=TestON.tests.PoxTest.PoxTest.PoxTest-class.html#__init__,Method TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__()=TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#__init__,Method TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__()=TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"> </tt>
+<a name="PoxCliDriver"></a><div id="PoxCliDriver-def"><a name="L33"></a><tt class="py-lineno"> 33</tt> <a class="py-toggle" href="#" id="PoxCliDriver-toggle" onclick="return toggle('PoxCliDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html">PoxCliDriver</a><tt class="py-op">(</tt> <tt class="py-base-class">Emulator</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="PoxCliDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="PoxCliDriver-expanded"><a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring">        PoxCliDriver driver provides the basic functions of POX controller</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="PoxCliDriver.__init__"></a><div id="PoxCliDriver.__init__-def"><a name="L38"></a><tt class="py-lineno"> 38</tt> <a class="py-toggle" href="#" id="PoxCliDriver.__init__-toggle" onclick="return toggle('PoxCliDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="PoxCliDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PoxCliDriver.__init__-expanded"><a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.emulatordriver.Emulator" class="py-name" href="#" onclick="return doclink('link-5', 'Emulator', 'link-4');">Emulator</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
 TestON.bin.cli.TestThread.__init__
 TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
 TestON.bin.updatedriver.UpdateDriver.__init__
 TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
 TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
 TestON.core.openspeak.OpenSpeak.__init__
 TestON.core.teston.TestON.__init__
 TestON.core.testparser.TestParser.__init__
 TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
 TestON.drivers.common.api.controllerdriver.Controller.__init__
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
 TestON.drivers.common.cli.emulatordriver.Emulator.__init__
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
 TestON.drivers.common.cli.toolsdriver.Tools.__init__
 TestON.drivers.common.clidriver.CLI.__init__
-TestON.drivers.common.webdriver.WebDriver.__init__
-TestON.drivers.component.Component.__init__
 TestON.examples.Assert.Assert.Assert.__init__
 TestON.examples.CaseParams.CaseParams.CaseParams.__init__
 TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
 TestON.examples.StepParams.StepParams.StepParams.__init__
 TestON.examples.Topology.Topology.Topology.__init__
-TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__
-TestON.tests.FvtTest.FvtTest.FvtTest.__init__
-TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__
-TestON.tests.MininetTest.MininetTest.MininetTest.__init__
-TestON.tests.PoxTest.PoxTest.PoxTest.__init__
-TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__
-TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__" class="py-name" href="#" onclick="return doclink('link-6', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wrapped</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt><tt class="py-name">__name__</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
-<a name="PoxCliDriver.connect"></a><div id="PoxCliDriver.connect-def"><a name="L23"></a><tt class="py-lineno"> 23</tt> <a class="py-toggle" href="#" id="PoxCliDriver.connect-toggle" onclick="return toggle('PoxCliDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect">connect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PoxCliDriver.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PoxCliDriver.connect-expanded"><a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">        <tt class="py-comment">#,user_name, ip_address, pwd,options):</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring">          this subroutine is to launch pox controller . It must have arguments as : </tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">          user_name  = host name ,</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-docstring">          ip_address = ip address of the host ,</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-docstring">          pwd = password of host ,</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-docstring">          options = it is a topology hash which will consists the component's details for the test run</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring">          *** host is here a virtual mahine or system where pox framework hierarchy exists</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">         </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt>        </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">         </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">         </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">poxLibPath</tt> <tt class="py-op">=</tt> <tt class="py-string">'default'</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">copy</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-7" class="py-name" targets="Class TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html"><a title="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver" class="py-name" href="#" onclick="return doclink('link-7', 'PoxCliDriver', 'link-7');">PoxCliDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.drivers.common.clidriver.CLI.secureCopy()=TestON.drivers.common.clidriver.CLI-class.html#secureCopy"><a title="TestON.drivers.common.clidriver.CLI.secureCopy" class="py-name" href="#" onclick="return doclink('link-8', 'secureCopy', 'link-8');">secureCopy</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt><tt class="py-string">'/home/openflow/pox/pox/core.py'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt><tt class="py-op">,</tt><tt id="link-9" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-9', 'path', 'link-9');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">'/lib/pox/'</tt><tt class="py-op">)</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver" class="py-name" href="#" onclick="return doclink('link-10', 'PoxCliDriver', 'link-7');">PoxCliDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect,Method TestON.drivers.common.webdriver.WebDriver.connect()=TestON.drivers.common.webdriver.WebDriver-class.html#connect,Method TestON.drivers.component.Component.connect()=TestON.drivers.component.Component-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-6', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wrapped</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt> <tt class="py-name">__name__</tt> <tt class="py-op">]</tt> </tt>
+</div><a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"> </tt>
+<a name="PoxCliDriver.connect"></a><div id="PoxCliDriver.connect-def"><a name="L43"></a><tt class="py-lineno"> 43</tt> <a class="py-toggle" href="#" id="PoxCliDriver.connect-toggle" onclick="return toggle('PoxCliDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="PoxCliDriver.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PoxCliDriver.connect-expanded"><a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-comment">#,user_name, ip_address, pwd,options ):</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">          this subroutine is to launch pox controller . It must have arguments as :</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring">          user_name  = host name ,</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">          ip_address = ip address of the host ,</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-docstring">          pwd = password of host ,</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring">          options = it is a topology hash which will consists the component's details for the test run</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring">          *** host is here a virtual mahine or system where pox framework hierarchy exists</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">poxLibPath</tt> <tt class="py-op">=</tt> <tt class="py-string">'default'</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-name">copy</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">            <tt id="link-7" class="py-name" targets="Class TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html"><a title="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver" class="py-name" href="#" onclick="return doclink('link-7', 'PoxCliDriver', 'link-7');">PoxCliDriver</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">            <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.drivers.common.clidriver.CLI.secureCopy()=TestON.drivers.common.clidriver.CLI-class.html#secureCopy"><a title="TestON.drivers.common.clidriver.CLI.secureCopy" class="py-name" href="#" onclick="return doclink('link-8', 'secureCopy', 'link-8');">secureCopy</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt class="py-string">'/home/openflow/pox/pox/core.py'</tt><tt class="py-op">,</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt><tt class="py-op">,</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">            <tt id="link-9" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-9', 'path', 'link-9');">path</a></tt> <tt class="py-op">+</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">            <tt class="py-string">'/lib/pox/'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">            <tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver" class="py-name" href="#" onclick="return doclink('link-10', 'PoxCliDriver', 'link-7');">PoxCliDriver</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">            <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
-TestON.drivers.common.clidriver.CLI.connect
-TestON.drivers.common.webdriver.WebDriver.connect
-TestON.drivers.component.Component.connect" class="py-name" href="#" onclick="return doclink('link-11', 'connect', 'link-11');">connect</a></tt><tt class="py-op">(</tt><tt class="py-name">user_name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> <tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt><tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">pwd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt><tt class="py-op">)</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">         </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">"openflow"</tt><tt class="py-op">)</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">            <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.getcmd()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#getcmd"><a title="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.getcmd" class="py-name" href="#" onclick="return doclink('link-12', 'getcmd', 'link-12');">getcmd</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-comment">#print command       </tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.drivers.component.Component.log()=TestON.drivers.component.Component-class.html#log"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Entering into POX hierarchy"</tt><tt class="py-op">)</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'pox_lib_location'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'default'</tt><tt class="py-op">:</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute,Method TestON.drivers.component.Component.execute()=TestON.drivers.component.Component-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-14', 'execute', 'link-14');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"cd "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'pox_lib_location'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt id="link-15" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-15', 'prompt', 'link-15');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"/pox\$"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt><tt class="py-op">)</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt>     </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-16', 'execute', 'link-14');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"cd ~/TestON/lib/pox/"</tt><tt class="py-op">,</tt><tt id="link-17" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-17', 'prompt', 'link-15');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"/pox\$"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt><tt class="py-op">)</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-comment">### launching pox with components    </tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-18', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"launching POX controller with given components"</tt><tt class="py-op">)</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-19', 'execute', 'link-14');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt><tt id="link-20" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-20', 'prompt', 'link-15');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"DEBUG:"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt><tt class="py-op">)</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-21', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-22', 'error', 'link-22');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Connection failed to the host "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">+</tt><tt class="py-string">"@"</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-23', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-24', 'error', 'link-22');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Failed to connect to the POX controller"</tt><tt class="py-op">)</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">     </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">         </tt>
-<a name="PoxCliDriver.disconnect"></a><div id="PoxCliDriver.disconnect-def"><a name="L63"></a><tt class="py-lineno"> 63</tt> <a class="py-toggle" href="#" id="PoxCliDriver.disconnect-toggle" onclick="return toggle('PoxCliDriver.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#disconnect">disconnect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">handle</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PoxCliDriver.disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PoxCliDriver.disconnect-expanded"><a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-25', 'execute', 'link-14');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"exit()"</tt><tt class="py-op">,</tt><tt id="link-26" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-26', 'prompt', 'link-15');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"/pox\$"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt><tt class="py-op">)</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-27', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-28', 'error', 'link-22');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Connection failed to the host"</tt><tt class="py-op">)</tt>  </tt>
-</div><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
-<a name="PoxCliDriver.get_version"></a><div id="PoxCliDriver.get_version-def"><a name="L70"></a><tt class="py-lineno"> 70</tt> <a class="py-toggle" href="#" id="PoxCliDriver.get_version-toggle" onclick="return toggle('PoxCliDriver.get_version');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#get_version">get_version</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PoxCliDriver.get_version-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PoxCliDriver.get_version-expanded"><a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-name">file_input</tt> <tt class="py-op">=</tt> <tt id="link-29" class="py-name"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-29', 'path', 'link-9');">path</a></tt><tt class="py-op">+</tt><tt class="py-string">'/lib/pox/core.py'</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-30" class="py-name"><a title="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver" class="py-name" href="#" onclick="return doclink('link-30', 'PoxCliDriver', 'link-7');">PoxCliDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.get_version()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#get_version,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.get_version()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#get_version,Method TestON.drivers.component.Component.get_version()=TestON.drivers.component.Component-class.html#get_version"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.get_version
-TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.get_version
-TestON.drivers.component.Component.get_version" class="py-name" href="#" onclick="return doclink('link-31', 'get_version', 'link-31');">get_version</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">'\s*self\.version(.*)'</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">file_input</tt><tt class="py-op">,</tt><tt class="py-string">'r'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">result</tt><tt class="py-op">:</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">                <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">                <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">"\s*self\.version\s*=\s*|\(|\)"</tt><tt class="py-op">,</tt><tt class="py-string">''</tt><tt class="py-op">,</tt><tt class="py-name">version</tt><tt class="py-op">)</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">                <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">,</tt><tt class="py-string">'.'</tt><tt class="py-op">,</tt><tt class="py-name">version</tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">                <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-string">"POX "</tt><tt class="py-op">+</tt><tt class="py-name">version</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">             </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">             </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">version</tt> </tt>
-</div><a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">             </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"> </tt>
-<a name="PoxCliDriver.getcmd"></a><div id="PoxCliDriver.getcmd-def"><a name="L87"></a><tt class="py-lineno"> 87</tt> <a class="py-toggle" href="#" id="PoxCliDriver.getcmd-toggle" onclick="return toggle('PoxCliDriver.getcmd');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#getcmd">getcmd</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="PoxCliDriver.getcmd-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PoxCliDriver.getcmd-expanded"><a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"./pox.py "</tt>  </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">                <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">command</tt> <tt class="py-op">+</tt> <tt class="py-name">item</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">items</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">items</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"None"</tt><tt class="py-op">:</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">                        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">command</tt> <tt class="py-op">+</tt> <tt class="py-string">" --"</tt> <tt class="py-op">+</tt> <tt class="py-name">items</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">                        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">command</tt> <tt class="py-op">+</tt> <tt class="py-string">" --"</tt> <tt class="py-op">+</tt> <tt class="py-name">items</tt> <tt class="py-op">+</tt> <tt class="py-string">"="</tt> <tt class="py-op">+</tt> <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">items</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">==</tt> <tt class="py-string">'pox_lib_location'</tt><tt class="py-op">:</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">                    <tt class="py-name">poxLibPath</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">item</tt> <tt class="py-op">==</tt> <tt class="py-string">'type'</tt> <tt class="py-keyword">or</tt> <tt class="py-name">item</tt> <tt class="py-op">==</tt> <tt class="py-string">'name'</tt><tt class="py-op">:</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">                    <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">command</tt> <tt class="py-op">+</tt> <tt class="py-name">item</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">command</tt>  </tt>
-</div></div><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">             </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">!=</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">    <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt><tt class="py-name">__name__</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-32" class="py-name"><a title="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver" class="py-name" href="#" onclick="return doclink('link-32', 'PoxCliDriver', 'link-7');">PoxCliDriver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-11', 'connect', 'link-11');">connect</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">            <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">            <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"openflow"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">            <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.getcmd()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#getcmd"><a title="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.getcmd" class="py-name" href="#" onclick="return doclink('link-12', 'getcmd', 'link-12');">getcmd</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt> <tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">            <tt class="py-comment"># print command</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Entering into POX hierarchy"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'pox_lib_location'</tt> <tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'default'</tt><tt class="py-op">:</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-14', 'execute', 'link-14');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"cd "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'pox_lib_location'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">                    <tt id="link-15" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-15', 'prompt', 'link-15');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"/pox\$"</tt><tt class="py-op">,</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">                    <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-16', 'execute', 'link-14');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"cd ~/TestON/lib/pox/"</tt><tt class="py-op">,</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">                    <tt id="link-17" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-17', 'prompt', 'link-15');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"/pox\$"</tt><tt class="py-op">,</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">                    <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">            <tt class="py-comment"># launching pox with components</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-18', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"launching POX controller with given components"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-19', 'execute', 'link-14');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> <tt id="link-20" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-20', 'prompt', 'link-15');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"DEBUG:"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-21', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-22', 'error', 'link-22');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">                <tt class="py-string">"Connection failed to the host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-23', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-24', 'error', 'link-22');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to connect to the POX controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"> </tt>
+<a name="PoxCliDriver.disconnect"></a><div id="PoxCliDriver.disconnect-def"><a name="L106"></a><tt class="py-lineno">106</tt> <a class="py-toggle" href="#" id="PoxCliDriver.disconnect-toggle" onclick="return toggle('PoxCliDriver.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#disconnect">disconnect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="PoxCliDriver.disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PoxCliDriver.disconnect-expanded"><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-25', 'execute', 'link-14');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"exit()"</tt><tt class="py-op">,</tt> <tt id="link-26" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-26', 'prompt', 'link-15');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"/pox\$"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-27', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-28', 'error', 'link-22');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Connection failed to the host"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
+<a name="PoxCliDriver.get_version"></a><div id="PoxCliDriver.get_version-def"><a name="L112"></a><tt class="py-lineno">112</tt> <a class="py-toggle" href="#" id="PoxCliDriver.get_version-toggle" onclick="return toggle('PoxCliDriver.get_version');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#get_version">get_version</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="PoxCliDriver.get_version-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PoxCliDriver.get_version-expanded"><a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-name">file_input</tt> <tt class="py-op">=</tt> <tt id="link-29" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-29', 'path', 'link-9');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-string">'/lib/pox/core.py'</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-30" class="py-name"><a title="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver" class="py-name" href="#" onclick="return doclink('link-30', 'PoxCliDriver', 'link-7');">PoxCliDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.get_version()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#get_version"><a title="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.get_version" class="py-name" href="#" onclick="return doclink('link-31', 'get_version', 'link-31');">get_version</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">'\s*self\.version(.*)'</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt> <tt class="py-name">file_input</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt> <tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">result</tt><tt class="py-op">:</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">                <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt> <tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">                <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">                    <tt class="py-string">"\s*self\.version\s*=\s*|\(|\)"</tt><tt class="py-op">,</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">                    <tt class="py-string">''</tt><tt class="py-op">,</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">                    <tt class="py-name">version</tt> <tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">                <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">","</tt><tt class="py-op">,</tt> <tt class="py-string">'.'</tt><tt class="py-op">,</tt> <tt class="py-name">version</tt> <tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">                <tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-string">"POX "</tt> <tt class="py-op">+</tt> <tt class="py-name">version</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">version</tt> </tt>
+</div><a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"> </tt>
+<a name="PoxCliDriver.getcmd"></a><div id="PoxCliDriver.getcmd-def"><a name="L130"></a><tt class="py-lineno">130</tt> <a class="py-toggle" href="#" id="PoxCliDriver.getcmd-toggle" onclick="return toggle('PoxCliDriver.getcmd');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#getcmd">getcmd</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="PoxCliDriver.getcmd-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="PoxCliDriver.getcmd-expanded"><a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"./pox.py "</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-name">item</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">                <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">command</tt> <tt class="py-op">+</tt> <tt class="py-name">item</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">items</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-name">item</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-name">item</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-name">items</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"None"</tt><tt class="py-op">:</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">                        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">command</tt> <tt class="py-op">+</tt> <tt class="py-string">" --"</tt> <tt class="py-op">+</tt> <tt class="py-name">items</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">                        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">command</tt> <tt class="py-op">+</tt> <tt class="py-string">" --"</tt> <tt class="py-op">+</tt> <tt class="py-name">items</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">                            <tt class="py-string">"="</tt> <tt class="py-op">+</tt> <tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-name">item</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-name">items</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">==</tt> <tt class="py-string">'pox_lib_location'</tt><tt class="py-op">:</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">                    <tt class="py-name">poxLibPath</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-name">item</tt> <tt class="py-op">]</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">item</tt> <tt class="py-op">==</tt> <tt class="py-string">'type'</tt> <tt class="py-keyword">or</tt> <tt class="py-name">item</tt> <tt class="py-op">==</tt> <tt class="py-string">'name'</tt><tt class="py-op">:</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">                    <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">command</tt> <tt class="py-op">+</tt> <tt class="py-name">item</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">command</tt> </tt>
+</div></div><a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">!=</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">    <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt> <tt class="py-name">__name__</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-32" class="py-name"><a title="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver" class="py-name" href="#" onclick="return doclink('link-32', 'PoxCliDriver', 'link-7');">PoxCliDriver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -254,13 +337,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html
index 673e8a0..3a1086e 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -61,18 +66,16 @@
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
 <h1 class="epydoc">Class PoxCliDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.emulator.poxclidriver-pysrc.html#PoxCliDriver">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-         object --+            
-                  |            
-<a href="TestON.drivers.component.Component-class.html">component.Component</a> --+        
-                      |        
-          <a href="TestON.drivers.common.clidriver.CLI-class.html">clidriver.CLI</a> --+    
-                          |    
-    <a href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html">emulatordriver.Emulator</a> --+
-                              |
-                             <strong class="uidshort">PoxCliDriver</strong>
-</pre>
-
+<center>
+<center>  <map id="class_hierarchy_for_poxclidriv" name="class_hierarchy_for_poxclidriv">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html" title="PoxCliDriver" alt="" coords="5,6,101,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html" title="emulatordriver.Emulator" alt="" coords="125,6,284,31"/>
+<area shape="rect" id="node3" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="310,6,401,31"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="component.Component" alt="" coords="427,6,584,31"/>
+</map>
+  <img src="class_hierarchy_for_poxclidriv.gif" alt='' usemap="#class_hierarchy_for_poxclidriv" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
 <hr />
 <p>PoxCliDriver driver provides the basic functions of POX controller</p>
 
@@ -100,7 +103,7 @@
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.cli.emulator.poxclidriver-pysrc.html#PoxCliDriver.__init__">source&nbsp;code</a></span>
             
@@ -178,21 +181,112 @@
       
     </td>
   </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**execparams</span>)</span><br />
+      It facilitates the command line execution of a given command.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">default</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">user_name</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">filepath</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">dst_path</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
   <tr>
     <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="TestON.drivers.common.clidriver.CLI-class.html">clidriver.CLI</a></code></b>:
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#execute">execute</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#onfail">onfail</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser">runAsSudoUser</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy">secureCopy</a></code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="TestON.drivers.component.Component-class.html">component.Component</a></code></b>:
-      <code><a href="TestON.drivers.component.Component-class.html#__getattr__">__getattr__</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#cleanup">cleanup</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#close_log_handles">close_log_handles</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#config">config</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#experimentRun">experimentRun</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#log">log</a></code>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>log</code>
       </p>
     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
       <code>__delattr__</code>,
@@ -269,8 +363,7 @@
     </td>
   </tr></table>
   
-  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
-  signature</p>
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
   <dl class="fields">
     <dt>Overrides:
         object.__init__
@@ -302,7 +395,7 @@
   hierarchy exists</p>
   <dl class="fields">
     <dt>Overrides:
-        <a href="TestON.drivers.component.Component-class.html#connect">component.Component.connect</a>
+        component.Component.connect
     </dt>
   </dl>
 </td></tr></table>
@@ -325,7 +418,7 @@
   
   <dl class="fields">
     <dt>Overrides:
-        <a href="TestON.drivers.component.Component-class.html#disconnect">component.Component.disconnect</a>
+        component.Component.disconnect
     </dt>
   </dl>
 </td></tr></table>
@@ -347,7 +440,7 @@
   
   <dl class="fields">
     <dt>Overrides:
-        <a href="TestON.drivers.component.Component-class.html#get_version">component.Component.get_version</a>
+        component.Component.get_version
     </dt>
   </dl>
 </td></tr></table>
@@ -373,13 +466,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.remotemininetdriver-module.html
similarity index 65%
copy from TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
copy to TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.remotemininetdriver-module.html
index 053b957..c738650 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.remotemininetdriver-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.drivers.common.cli.remotesys.hpswitchdriver</title>
+  <title>TestON.drivers.common.cli.emulator.remotemininetdriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -41,8 +46,8 @@
         <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
         <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
         <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
-        <a href="TestON.drivers.common.cli.remotesys-module.html">Package&nbsp;remotesys</a> ::
-        Module&nbsp;hpswitchdriver
+        <a href="TestON.drivers.common.cli.emulator-module.html">Package&nbsp;emulator</a> ::
+        Module&nbsp;remotemininetdriver
       </span>
     </td>
     <td>
@@ -52,23 +57,40 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module hpswitchdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 12-Feb-2013</p>
+<h1 class="epydoc">Module remotemininetdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-        <p>HPSwitchDriver is the basic driver which will handle the Mininet
-        functions</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 26-Oct-2012
+
+author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )
+
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    ( at your option ) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+
+MininetCliDriver is the basic driver which will handle the Mininet functions
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -89,9 +111,9 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html" class="summary-name">HPSwitchDriver</a><br />
-      HPSwitchDriver is the basic driver which will handle the Mininet 
-      functions
+        <a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html" class="summary-name">RemoteMininetDriver</a><br />
+      RemoteMininetCliDriver is the basic driver which will handle the 
+      Mininet functions.
     </td>
   </tr>
 </table>
@@ -115,13 +137,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html
new file mode 100644
index 0000000..b8782f1
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html
@@ -0,0 +1,874 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.emulator.remotemininetdriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.emulator-module.html">Package&nbsp;emulator</a> ::
+        Module&nbsp;remotemininetdriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.emulator.remotemininetdriver-module.html">Module TestON.drivers.common.cli.emulator.remotemininetdriver</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 26-Oct-2012</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">    ( at your option ) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">MininetCliDriver is the basic driver which will handle the Mininet functions</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-2', 'cli', 'link-2');">cli</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module TestON.drivers.common.cli.emulatordriver=TestON.drivers.common.cli.emulatordriver-module.html"><a title="TestON.drivers.common.cli.emulatordriver" class="py-name" href="#" onclick="return doclink('link-3', 'emulatordriver', 'link-3');">emulatordriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class TestON.drivers.common.cli.emulatordriver.Emulator=TestON.drivers.common.cli.emulatordriver.Emulator-class.html"><a title="TestON.drivers.common.cli.emulatordriver.Emulator" class="py-name" href="#" onclick="return doclink('link-4', 'Emulator', 'link-4');">Emulator</a></tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
+<a name="RemoteMininetDriver"></a><div id="RemoteMininetDriver-def"><a name="L31"></a><tt class="py-lineno"> 31</tt> <a class="py-toggle" href="#" id="RemoteMininetDriver-toggle" onclick="return toggle('RemoteMininetDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a><tt class="py-op">(</tt> <tt class="py-base-class">Emulator</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteMininetDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="RemoteMininetDriver-expanded"><a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring">    RemoteMininetCliDriver is the basic driver which will handle the Mininet</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-docstring">    functions. The main different between this and the MininetCliDriver is that</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring">    this one does not build the mininet. It assumes that there is already a</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">    mininet running on the target.</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="RemoteMininetDriver.__init__"></a><div id="RemoteMininetDriver.__init__-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="RemoteMininetDriver.__init__-toggle" onclick="return toggle('RemoteMininetDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteMininetDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteMininetDriver.__init__-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.emulatordriver.Emulator" class="py-name" href="#" onclick="return doclink('link-5', 'Emulator', 'link-4');">Emulator</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-6', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wrapped</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt> <tt class="py-name">__name__</tt> <tt class="py-op">]</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+</div><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
+<a name="RemoteMininetDriver.connect"></a><div id="RemoteMininetDriver.connect-def"><a name="L46"></a><tt class="py-lineno"> 46</tt> <a class="py-toggle" href="#" id="RemoteMininetDriver.connect-toggle" onclick="return toggle('RemoteMininetDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteMininetDriver.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteMininetDriver.connect-expanded"><a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-docstring">""",user_name, ip_address, pwd,options ):</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">         Here the main is the TestON instance after creating all the log</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-docstring">         handles."""</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getenv</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getenv</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-7', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">                               <tt class="py-string">": Trying to connect to "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">                               <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-8', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Invalid host name,"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">                           <tt class="py-string">" connecting to local host instead"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-string">'localhost'</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">inst</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-10', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Uncaught exception: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">inst</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">            <tt id="link-11" class="py-name" targets="Class TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver" class="py-name" href="#" onclick="return doclink('link-11', 'RemoteMininetDriver', 'link-11');">RemoteMininetDriver</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">            <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-12', 'connect', 'link-12');">connect</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">            <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-comment"># Copying the readme file to process the</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-14', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">                <tt class="py-string">"Connection failed to the host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">                <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-15', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-16', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to connect to the Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"> </tt>
+<a name="RemoteMininetDriver.checkForLoss"></a><div id="RemoteMininetDriver.checkForLoss-def"><a name="L91"></a><tt class="py-lineno"> 91</tt> <a class="py-toggle" href="#" id="RemoteMininetDriver.checkForLoss-toggle" onclick="return toggle('RemoteMininetDriver.checkForLoss');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#checkForLoss">checkForLoss</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">pingList</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteMininetDriver.checkForLoss-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteMininetDriver.checkForLoss-expanded"><a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring">        Returns main.FALSE for 0% packet loss and</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring">        Returns main.ERROR if "found multiple mininet" is found and</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring">        Returns main.TRUE else</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-17', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-18', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-19', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"cat "</tt> <tt class="py-op">+</tt> <tt class="py-name">pingList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-name">pingList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-name">outputs</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">after</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">" 0% packet loss"</tt><tt class="py-op">,</tt> <tt class="py-name">outputs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"found multiple mininet"</tt><tt class="py-op">,</tt> <tt class="py-name">outputs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: Parse for failed pings, give some truncated output</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-20', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-21', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, unexpected output in the ping file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-22', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">outputs</tt> <tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"> </tt>
+<a name="RemoteMininetDriver.pingLong"></a><div id="RemoteMininetDriver.pingLong-def"><a name="L115"></a><tt class="py-lineno">115</tt> <a class="py-toggle" href="#" id="RemoteMininetDriver.pingLong-toggle" onclick="return toggle('RemoteMininetDriver.pingLong');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingLong">pingLong</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">pingParams</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteMininetDriver.pingLong-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteMininetDriver.pingLong-expanded"><a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">        Starts a continuous ping on the mininet host outputting</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-docstring">        to a file in the /tmp dir.</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-23', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.parse_args()=TestON.core.openspeak.OpenSpeak-class.html#parse_args"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-24', 'parse_args', 'link-24');">parse_args</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            <tt class="py-op">[</tt> <tt class="py-string">"SRC"</tt><tt class="py-op">,</tt> <tt class="py-string">"TARGET"</tt><tt class="py-op">,</tt> <tt class="py-string">"PINGTIME"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">pingParams</tt> <tt class="py-op">)</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-name">precmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"sudo rm /tmp/ping."</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"SRC"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-25', 'execute', 'link-25');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">precmd</tt><tt class="py-op">,</tt> <tt id="link-26" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-26', 'prompt', 'link-26');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"(.*)"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"sudo mininet/util/m "</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"SRC"</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" ping "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">                  <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TARGET"</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" -i .2 -w "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">                  <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">'PINGTIME'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" -D &gt; /tmp/ping."</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">                  <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"SRC"</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" &amp;"</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-27', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">command</tt> <tt class="py-op">)</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-28', 'execute', 'link-25');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> <tt id="link-29" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-29', 'prompt', 'link-26');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"(.*)"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-30', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"> </tt>
+<a name="RemoteMininetDriver.pingstatus"></a><div id="RemoteMininetDriver.pingstatus-def"><a name="L136"></a><tt class="py-lineno">136</tt> <a class="py-toggle" href="#" id="RemoteMininetDriver.pingstatus-toggle" onclick="return toggle('RemoteMininetDriver.pingstatus');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingstatus">pingstatus</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">pingParams</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteMininetDriver.pingstatus-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteMininetDriver.pingstatus-expanded"><a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-docstring">        Tails the respective ping output file and check that</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring">        there is a moving "64 bytes"</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-31', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-32', 'parse_args', 'link-24');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"SRC"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">pingParams</tt> <tt class="py-op">)</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-33', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"tail /tmp/ping."</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"SRC"</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"tail"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">after</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-34', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">'Unreachable'</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-35', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Unreachable found in ping logs..."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">'64\sbytes'</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-36', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Pings look good"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-37', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"No, or faulty ping data..."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"> </tt>
+<a name="RemoteMininetDriver.pingKill"></a><div id="RemoteMininetDriver.pingKill-def"><a name="L160"></a><tt class="py-lineno">160</tt> <a class="py-toggle" href="#" id="RemoteMininetDriver.pingKill-toggle" onclick="return toggle('RemoteMininetDriver.pingKill');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingKill">pingKill</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">testONUser</tt><tt class="py-op">,</tt> <tt class="py-param">testONIP</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteMininetDriver.pingKill-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteMininetDriver.pingKill-expanded"><a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">        Kills all continuous ping processes.</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring">        Then copies all the ping files to the TestStation.</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-38', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"sudo kill -SIGINT `pgrep ping`"</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-39', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">command</tt> <tt class="py-op">)</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-40', 'execute', 'link-25');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> <tt id="link-41" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-41', 'prompt', 'link-26');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"(.*)"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-42', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Transferring ping files to TestStation"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"scp /tmp/ping.* "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">testONUser</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">testONIP</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":/tmp/"</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-43', 'execute', 'link-25');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> <tt id="link-44" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-44', 'prompt', 'link-26');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"100%"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">20</tt> <tt class="py-op">)</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-comment"># Make sure the output is cleared</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-45', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-46', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-47', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"password"</tt><tt class="py-op">,</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-48', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-49', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, sudo asking for password"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-50', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-51', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"> </tt>
+<a name="RemoteMininetDriver.pingLongKill"></a><div id="RemoteMininetDriver.pingLongKill-def"><a name="L189"></a><tt class="py-lineno">189</tt> <a class="py-toggle" href="#" id="RemoteMininetDriver.pingLongKill-toggle" onclick="return toggle('RemoteMininetDriver.pingLongKill');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingLongKill">pingLongKill</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteMininetDriver.pingLongKill-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteMininetDriver.pingLongKill-expanded"><a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-52', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"sudo kill -SIGING `pgrep ping`"</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-53', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">command</tt> <tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-54', 'execute', 'link-25');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> <tt id="link-55" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-55', 'prompt', 'link-26');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"(.*)"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-56', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"> </tt>
+<a name="RemoteMininetDriver.pingHostOptical"></a><div id="RemoteMininetDriver.pingHostOptical-def"><a name="L199"></a><tt class="py-lineno">199</tt> <a class="py-toggle" href="#" id="RemoteMininetDriver.pingHostOptical-toggle" onclick="return toggle('RemoteMininetDriver.pingHostOptical');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingHostOptical">pingHostOptical</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">pingParams</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteMininetDriver.pingHostOptical-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteMininetDriver.pingHostOptical-expanded"><a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line"><tt class="py-docstring">        This function is only for Packet Optical related ping</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"><tt class="py-docstring">        Use the next pingHost() function for all normal scenarios )</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"><tt class="py-docstring">        Ping from one mininet host to another</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line"><tt class="py-docstring">        Currently the only supported Params: SRC and TARGET</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-57', 'parse_args', 'link-24');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"SRC"</tt><tt class="py-op">,</tt> <tt class="py-string">"TARGET"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">pingParams</tt> <tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"SRC"</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" ping "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">            <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TARGET"</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" -c 1 -i 1 -W 8"</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-58', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Sending: "</tt> <tt class="py-op">+</tt> <tt class="py-name">command</tt> <tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-59', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">command</tt> <tt class="py-op">)</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-name">command</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-60', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-61', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">                    <tt class="py-string">": timeout when waiting for response from mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-62', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-63', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"response: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"mininet&gt;"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-64', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-65', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">                    <tt class="py-string">": timeout when waiting for response from mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-66', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-67', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"response: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-68', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-69', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-70', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-71', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-72', 'cleanup', 'link-72');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-73', 'exit', 'link-73');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-74', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Ping Response: "</tt> <tt class="py-op">+</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">',\s0\%\spacket\sloss'</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-75', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": no packets lost, host is reachable"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">lastResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-76', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-77', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">                <tt class="py-string">": PACKET LOST, HOST IS NOT REACHABLE"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">lastResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"> </tt>
+<a name="RemoteMininetDriver.pingHost"></a><div id="RemoteMininetDriver.pingHost-def"><a name="L242"></a><tt class="py-lineno">242</tt> <a class="py-toggle" href="#" id="RemoteMininetDriver.pingHost-toggle" onclick="return toggle('RemoteMininetDriver.pingHost');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingHost">pingHost</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">pingParams</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteMininetDriver.pingHost-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteMininetDriver.pingHost-expanded"><a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"><tt class="py-docstring">        Pings between two hosts on remote mininet</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-78', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-79', 'parse_args', 'link-24');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"SRC"</tt><tt class="py-op">,</tt> <tt class="py-string">"TARGET"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">pingParams</tt> <tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"mininet/util/m "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">            <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"SRC"</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" ping "</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TARGET"</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" -c 4 -W 1 -i .2"</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-80', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">command</tt> <tt class="py-op">)</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-81', 'execute', 'link-25');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> <tt id="link-82" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-82', 'prompt', 'link-26');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"rtt"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">                <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">',\s0\%\spacket\sloss'</tt><tt class="py-op">,</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">                <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">                <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No Packet loss"</tt><tt class="py-op">,</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">                <tt id="link-83" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-83', 'onfail', 'link-83');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host is not reachable"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-84', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"NO PACKET LOSS, HOST IS REACHABLE"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">lastResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-85', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-86', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"PACKET LOST, HOST IS NOT REACHABLE"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">lastResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"> </tt>
+<a name="RemoteMininetDriver.checknum"></a><div id="RemoteMininetDriver.checknum-def"><a name="L266"></a><tt class="py-lineno">266</tt> <a class="py-toggle" href="#" id="RemoteMininetDriver.checknum-toggle" onclick="return toggle('RemoteMininetDriver.checknum');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#checknum">checknum</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">num</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteMininetDriver.checknum-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteMininetDriver.checknum-expanded"><a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"><tt class="py-docstring">        Verifies the correct number of switches are running</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-87', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-88', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">'ifconfig -a | grep "sw.. " | wc -l'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"wc"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-89', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">                <tt class="py-string">'ps -ef | grep "bash -ms mininet:sw" | grep -v color | wc -l'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"color"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">            <tt class="py-name">response2</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line"> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">num</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">num</tt><tt class="py-op">,</tt> <tt class="py-name">response2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-90', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-91', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Connection failed to the host"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line"> </tt>
+<a name="RemoteMininetDriver.startTcpdump"></a><div id="RemoteMininetDriver.startTcpdump-def"><a name="L293"></a><tt class="py-lineno">293</tt> <a class="py-toggle" href="#" id="RemoteMininetDriver.startTcpdump-toggle" onclick="return toggle('RemoteMininetDriver.startTcpdump');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#startTcpdump">startTcpdump</a><tt class="py-op">(</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">            <tt class="py-param">self</tt><tt class="py-op">,</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">            <tt class="py-param">filename</tt><tt class="py-op">,</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">            <tt class="py-param">intf</tt><tt class="py-op">=</tt><tt class="py-string">"eth0"</tt><tt class="py-op">,</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">            <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">"port 6633"</tt><tt class="py-op">,</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">            <tt class="py-param">user</tt><tt class="py-op">=</tt><tt class="py-string">"admin"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteMininetDriver.startTcpdump-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteMininetDriver.startTcpdump-expanded"><a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line"><tt class="py-docstring">        Runs tcpdump on an interface and saves the file</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line"><tt class="py-docstring">        intf can be specified, or the default eth0 is used</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-92', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-93', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">                <tt class="py-string">"sudo tcpdump -n -i "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">                <tt class="py-name">intf</tt> <tt class="py-op">+</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">                <tt class="py-string">" "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">                <tt class="py-name">port</tt> <tt class="py-op">+</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">                <tt class="py-string">" -w "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">                <tt class="py-name">filename</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">                <tt class="py-string">" -Z "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">                <tt class="py-name">user</tt> <tt class="py-op">+</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">                <tt class="py-string">"  &amp;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-94', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-95', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">'No\ssuch\device'</tt><tt class="py-op">,</tt> <tt class="py-string">'listening\son'</tt><tt class="py-op">,</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">                                    <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">,</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-96', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">after</tt> <tt class="py-op">)</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-97', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-98', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": tcpdump - No such device exists.\</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line"><tt class="py-string">                        tcpdump attempted on: "</tt> <tt class="py-op">+</tt> <tt class="py-name">intf</tt> <tt class="py-op">)</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-99', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": tcpdump started on "</tt> <tt class="py-op">+</tt> <tt class="py-name">intf</tt> <tt class="py-op">)</tt> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-100', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-101', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": tcpdump command timed out!\</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line"><tt class="py-string">                        Check interface name, given interface was: "</tt> <tt class="py-op">+</tt> <tt class="py-name">intf</tt> <tt class="py-op">)</tt> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-102', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-103', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-104', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": tcpdump - unexpected response"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-105', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-106', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-107', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-108', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-109', 'cleanup', 'link-72');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-110', 'exit', 'link-73');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-111', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-112', 'cleanup', 'link-72');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-113', 'exit', 'link-73');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"> </tt>
+<a name="RemoteMininetDriver.stopTcpdump"></a><div id="RemoteMininetDriver.stopTcpdump-def"><a name="L347"></a><tt class="py-lineno">347</tt> <a class="py-toggle" href="#" id="RemoteMininetDriver.stopTcpdump-toggle" onclick="return toggle('RemoteMininetDriver.stopTcpdump');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#stopTcpdump">stopTcpdump</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteMininetDriver.stopTcpdump-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteMininetDriver.stopTcpdump-expanded"><a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"><tt class="py-docstring">            pkills tcpdump"""</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-114', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"sudo pkill tcpdump"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-115', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-116', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-117', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-118', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-119', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-120', 'cleanup', 'link-72');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-121', 'exit', 'link-73');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-122', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-123', 'cleanup', 'link-72');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-124', 'exit', 'link-73');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line"> </tt>
+<a name="RemoteMininetDriver.runOpticalMnScript"></a><div id="RemoteMininetDriver.runOpticalMnScript-def"><a name="L364"></a><tt class="py-lineno">364</tt> <a class="py-toggle" href="#" id="RemoteMininetDriver.runOpticalMnScript-toggle" onclick="return toggle('RemoteMininetDriver.runOpticalMnScript');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#runOpticalMnScript">runOpticalMnScript</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">name</tt> <tt class="py-op">=</tt> <tt class="py-string">'onos'</tt><tt class="py-op">,</tt> <tt class="py-param">ctrllerIP</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteMininetDriver.runOpticalMnScript-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteMininetDriver.runOpticalMnScript-expanded"><a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">types</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">        <tt class="py-string">"""</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line"><tt class="py-string">            Description:</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line"><tt class="py-string">                This function is only meant for Packet Optical.</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line"><tt class="py-string">                It runs python script "opticalTest.py" to create the</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line"><tt class="py-string">                packet layer( mn ) and optical topology</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line"><tt class="py-string">            Optional:</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line"><tt class="py-string">                name - Name of onos directory. (ONOS | onos)</tt> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line"><tt class="py-string">            Required:</tt> </tt>
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line"><tt class="py-string">                ctrllerIP = Controller(s) IP address</tt> </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line"><tt class="py-string">            TODO: If no ctrllerIP is provided, a default</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line"><tt class="py-string">                $OC1 can be accepted</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line"><tt class="py-string">        """</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-125', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-126', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"cd ~/"</tt> <tt class="py-op">+</tt> <tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">"/tools/test/topos"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"topos\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ctrllerIP</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-127', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"You need to specify the IP"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">                <tt id="link-128" class="py-name" targets="Package TestON.drivers.common.api.controller=TestON.drivers.common.api.controller-module.html"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-128', 'controller', 'link-128');">controller</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">ctrllerIP</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">ListType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">ctrllerIP</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">                        <tt id="link-129" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-129', 'controller', 'link-128');">controller</a></tt> <tt class="py-op">+=</tt> <tt class="py-name">ctrllerIP</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-130', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Mininet topology is being loaded with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">                                   <tt class="py-string">"controllers: "</tt> <tt class="py-op">+</tt> <tt id="link-131" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-131', 'controller', 'link-128');">controller</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">ctrllerIP</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line">                    <tt id="link-132" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-132', 'controller', 'link-128');">controller</a></tt> <tt class="py-op">=</tt> <tt class="py-name">ctrllerIP</tt> </tt>
+<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-133', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Mininet topology is being loaded with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line">                                   <tt class="py-string">"controller: "</tt> <tt class="py-op">+</tt> <tt id="link-134" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-134', 'controller', 'link-128');">controller</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-135', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"You need to specify a valid IP"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"sudo -E python opticalTest.py "</tt> <tt class="py-op">+</tt> <tt id="link-136" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-136', 'controller', 'link-128');">controller</a></tt> </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-137', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": cmd = "</tt> <tt class="py-op">+</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-138', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">30</tt><tt class="py-op">)</tt> </tt>
+<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-139', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-140', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">"mininet&gt;"</tt><tt class="py-op">)</tt> </tt>
+<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-141', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-142', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-143', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-144', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line"> </tt>
+<a name="RemoteMininetDriver.attachLincOESession"></a><div id="RemoteMininetDriver.attachLincOESession-def"><a name="L414"></a><tt class="py-lineno">414</tt> <a class="py-toggle" href="#" id="RemoteMininetDriver.attachLincOESession-toggle" onclick="return toggle('RemoteMininetDriver.attachLincOESession');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#attachLincOESession">attachLincOESession</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteMininetDriver.attachLincOESession-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteMininetDriver.attachLincOESession-expanded"><a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line"><tt class="py-docstring">            Since executing opticalTest.py will give you mininet</tt> </tt>
+<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line"><tt class="py-docstring">            prompt, you would at some point require to get onto</tt> </tt>
+<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line"><tt class="py-docstring">            console of LincOE ((linc@onosTestBench)1&gt;) to execute</tt> </tt>
+<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line"><tt class="py-docstring">            commands like bring a optical port up or down on a ROADM</tt> </tt>
+<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line"><tt class="py-docstring">            You can attach to console of Linc-OE session by a cmd:</tt> </tt>
+<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line"><tt class="py-docstring">            sudo ~/linc-oe/rel/linc/bin/linc attach</tt> </tt>
+<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-145', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-146', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"sudo ~/linc-oe/rel/linc/bin/linc attach"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-147', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-148', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-149', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-150', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line"> </tt>
+<a name="RemoteMininetDriver.disconnect"></a><div id="RemoteMininetDriver.disconnect-def"><a name="L434"></a><tt class="py-lineno">434</tt> <a class="py-toggle" href="#" id="RemoteMininetDriver.disconnect-toggle" onclick="return toggle('RemoteMininetDriver.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#disconnect">disconnect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteMininetDriver.disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteMininetDriver.disconnect-expanded"><a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line"><tt class="py-docstring">        Called at the end of the test to disconnect the handle.</tt> </tt>
+<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">            <tt class="py-comment"># Close the ssh connection</tt> </tt>
+<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-151', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "\$" )</tt> </tt>
+<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">'\$'</tt><tt class="py-op">,</tt> <tt class="py-string">'mininet&gt;'</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">,</tt> </tt>
+<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line">                                      <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-152', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"exit"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"closed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-153', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"exit"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"exit"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">'\$'</tt><tt class="py-op">)</tt> </tt>
+<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-154', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"exit"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"exit"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"closed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-155', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-156', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Connection failed to the host"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line"> </tt>
+<a name="RemoteMininetDriver.setIpTablesOUTPUT"></a><div id="RemoteMininetDriver.setIpTablesOUTPUT-def"><a name="L458"></a><tt class="py-lineno">458</tt> <a class="py-toggle" href="#" id="RemoteMininetDriver.setIpTablesOUTPUT-toggle" onclick="return toggle('RemoteMininetDriver.setIpTablesOUTPUT');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#setIpTablesOUTPUT">setIpTablesOUTPUT</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">dstIp</tt><tt class="py-op">,</tt> <tt class="py-param">dstPort</tt><tt class="py-op">,</tt> <tt class="py-param">action</tt><tt class="py-op">=</tt><tt class="py-string">'add'</tt><tt class="py-op">,</tt> </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">                           <tt class="py-param">packetType</tt><tt class="py-op">=</tt><tt class="py-string">'tcp'</tt><tt class="py-op">,</tt> <tt class="py-param">rule</tt><tt class="py-op">=</tt><tt class="py-string">'DROP'</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteMininetDriver.setIpTablesOUTPUT-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteMininetDriver.setIpTablesOUTPUT-expanded"><a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line"><tt class="py-docstring">            add or remove iptables rule to DROP ( default )</tt> </tt>
+<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line"><tt class="py-docstring">            packets from specific IP and PORT</tt> </tt>
+<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line"><tt class="py-docstring">        Usage:</tt> </tt>
+<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line"><tt class="py-docstring">        * specify action ( 'add' or 'remove' )</tt> </tt>
+<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line"><tt class="py-docstring">          when removing, pass in the same argument as you would add. It will</tt> </tt>
+<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line"><tt class="py-docstring">          delete that specific rule.</tt> </tt>
+<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line"><tt class="py-docstring">        * specify the destination ip to block with dstIp</tt> </tt>
+<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line"><tt class="py-docstring">        * specify destination port to block to dstPort</tt> </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line"><tt class="py-docstring">        * optional packet type to block ( default tcp )</tt> </tt>
+<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line"><tt class="py-docstring">        * optional iptables rule ( default DROP )</tt> </tt>
+<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line"><tt class="py-docstring">        WARNING:</tt> </tt>
+<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line"><tt class="py-docstring">        * This function uses root privilege iptables command which may result</tt> </tt>
+<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line"><tt class="py-docstring">        in unwanted network errors. USE WITH CAUTION</tt> </tt>
+<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line"> </tt>
+<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE*********</tt> </tt>
+<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">        <tt class="py-comment">#   The strict checking methods of this driver function is intentional</tt> </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">        <tt class="py-comment">#   to discourage any misuse or error of iptables, which can cause</tt> </tt>
+<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">        <tt class="py-comment">#   severe network errors</tt> </tt>
+<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line">        <tt class="py-comment"># *************</tt> </tt>
+<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line"> </tt>
+<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: Sleep needed to give some time</tt> </tt>
+<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line">        <tt class="py-comment"># for rule to be added and registered</tt> </tt>
+<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line">        <tt class="py-comment">#      to the instance</tt> </tt>
+<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line"> </tt>
+<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">        <tt class="py-name">actionType</tt> <tt class="py-op">=</tt> <tt class="py-name">action</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">actionType</tt> <tt class="py-op">!=</tt> <tt class="py-string">'add'</tt> <tt class="py-keyword">and</tt> <tt class="py-name">actionType</tt> <tt class="py-op">!=</tt> <tt class="py-string">'remove'</tt><tt class="py-op">:</tt> </tt>
+<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-157', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-158', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">                <tt class="py-string">"Invalid action type. 'add' or 'remove' table rule"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">rule</tt> <tt class="py-op">!=</tt> <tt class="py-string">'DROP'</tt> <tt class="py-keyword">and</tt> <tt class="py-name">rule</tt> <tt class="py-op">!=</tt> <tt class="py-string">'ACCEPT'</tt> <tt class="py-keyword">and</tt> <tt class="py-name">rule</tt> <tt class="py-op">!=</tt> <tt class="py-string">'LOG'</tt><tt class="py-op">:</tt> </tt>
+<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line">                <tt class="py-comment"># NOTE: Currently only supports rules DROP, ACCEPT, and LOG</tt> </tt>
+<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-159', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-160', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line">                    <tt class="py-string">"Invalid rule. 'DROP' or 'ACCEPT' or 'LOG' only."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> </tt>
+<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line"> </tt>
+<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line">            <tt class="py-comment"># If there is no existing rule in the iptables, we will see an</tt> </tt>
+<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line">            <tt class="py-comment"># 'iptables:'... message. We expect to see this message.</tt> </tt>
+<a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line">            <tt class="py-comment"># Otherwise, if there IS an existing rule, we will get the prompt</tt> </tt>
+<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line">            <tt class="py-comment"># back, hence why we expect $ for remove type. We want to remove</tt> </tt>
+<a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line">            <tt class="py-comment"># an already existing rule</tt> </tt>
+<a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line"> </tt>
+<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">actionType</tt> <tt class="py-op">==</tt> <tt class="py-string">'add'</tt><tt class="py-op">:</tt> </tt>
+<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line">                <tt class="py-comment"># NOTE: "iptables:" expect is a result of</tt> </tt>
+<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line">                <tt class="py-comment"># return from the command</tt> </tt>
+<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line">                <tt class="py-comment"># iptables -C ...</tt> </tt>
+<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line">                <tt class="py-comment"># Any changes by the iptables command return string</tt> </tt>
+<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line">                <tt class="py-comment"># will result in failure of the function. ( deemed unlikely</tt> </tt>
+<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line">                <tt class="py-comment"># at the time of writing this function )</tt> </tt>
+<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line">                <tt class="py-comment"># Check for existing rules on current input</tt> </tt>
+<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-161', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-162', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">                    <tt class="py-string">"sudo iptables -C OUTPUT -p "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">packetType</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line">                    <tt class="py-string">" -d "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dstIp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line">                    <tt class="py-string">" --dport "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dstPort</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line">                    <tt class="py-string">" -j "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">rule</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"iptables:"</tt><tt class="py-op">,</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-name">i</tt> </tt>
+<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"after: "</tt> </tt>
+<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">after</tt> </tt>
+<a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line"> </tt>
+<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">actionType</tt> <tt class="py-op">==</tt> <tt class="py-string">'remove'</tt><tt class="py-op">:</tt> </tt>
+<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line">                <tt class="py-comment"># Check for existing rules on current input</tt> </tt>
+<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-163', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-164', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line">                    <tt class="py-string">"sudo iptables -C OUTPUT -p "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">packetType</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line">                    <tt class="py-string">" -d "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dstIp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line">                    <tt class="py-string">" --dport "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dstPort</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">                    <tt class="py-string">" -j "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">rule</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"before: "</tt> </tt>
+<a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line">            <tt class="py-name">actualString</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">after</tt> </tt>
+<a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line">            <tt class="py-name">expectString</tt> <tt class="py-op">=</tt> <tt class="py-string">"iptables:"</tt> </tt>
+<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Actual String:"</tt> </tt>
+<a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">actualString</tt> </tt>
+<a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line"> </tt>
+<a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">expectString</tt><tt class="py-op">,</tt> <tt class="py-name">actualString</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line">                <tt class="py-name">matchResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line">                <tt class="py-name">matchResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line">            <tt class="py-comment"># If matchResult is main.TRUE, it means there is no matching rule.</tt> </tt>
+<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line"> </tt>
+<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line">            <tt class="py-comment"># If tables does not exist and expected prompt is returned,</tt> </tt>
+<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line">            <tt class="py-comment"># go ahead and add iptables rule</tt> </tt>
+<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">matchResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line">                <tt class="py-comment"># Ensure action type is add</tt> </tt>
+<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">actionType</tt> <tt class="py-op">==</tt> <tt class="py-string">'add'</tt><tt class="py-op">:</tt> </tt>
+<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line">                    <tt class="py-comment"># -A is the 'append' action of iptables</tt> </tt>
+<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line">                    <tt class="py-name">actionAdd</tt> <tt class="py-op">=</tt> <tt class="py-string">'-A'</tt> </tt>
+<a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line">                    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-165', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-166', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line">                            <tt class="py-string">"sudo iptables "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line">                            <tt class="py-name">actionAdd</tt> <tt class="py-op">+</tt> </tt>
+<a name="L572"></a><tt class="py-lineno">572</tt>  <tt class="py-line">                            <tt class="py-string">" OUTPUT -p "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L573"></a><tt class="py-lineno">573</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">packetType</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line">                            <tt class="py-string">" -d "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dstIp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line">                            <tt class="py-string">" --dport "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dstPort</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L578"></a><tt class="py-lineno">578</tt>  <tt class="py-line">                            <tt class="py-string">" -j "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">rule</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line"> </tt>
+<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line">                        <tt class="py-name">infoString</tt> <tt class="py-op">=</tt> <tt class="py-string">"Rules added to "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> </tt>
+<a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line">                        <tt class="py-name">infoString</tt> <tt class="py-op">+=</tt> <tt class="py-string">"iptables rule added to block IP: "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L583"></a><tt class="py-lineno">583</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dstIp</tt> <tt class="py-op">)</tt> </tt>
+<a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line">                        <tt class="py-name">infoString</tt> <tt class="py-op">+=</tt> <tt class="py-string">"Port: "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dstPort</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" Rule: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">rule</tt> <tt class="py-op">)</tt> </tt>
+<a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line"> </tt>
+<a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-167', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">infoString</tt> <tt class="py-op">)</tt> </tt>
+<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line"> </tt>
+<a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> </tt>
+<a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line">                            <tt class="py-op">[</tt> <tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L591"></a><tt class="py-lineno">591</tt>  <tt class="py-line">                    <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">:</tt> </tt>
+<a name="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-168', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-169', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L593"></a><tt class="py-lineno">593</tt>  <tt class="py-line">                            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line">                            <tt class="py-string">": Timeout exception in setIpTables function"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line">                    <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L596"></a><tt class="py-lineno">596</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-170', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line">                                            <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-171', 'cleanup', 'link-72');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-172', 'exit', 'link-73');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-173', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-174', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line">                        <tt class="py-string">"Given rule already exists, but attempted to add it"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L603"></a><tt class="py-lineno">603</tt>  <tt class="py-line">            <tt class="py-comment"># If matchResult is 0, it means there IS a matching rule provided</tt> </tt>
+<a name="L604"></a><tt class="py-lineno">604</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">matchResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L605"></a><tt class="py-lineno">605</tt>  <tt class="py-line">                <tt class="py-comment"># Ensure action type is remove</tt> </tt>
+<a name="L606"></a><tt class="py-lineno">606</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">actionType</tt> <tt class="py-op">==</tt> <tt class="py-string">'remove'</tt><tt class="py-op">:</tt> </tt>
+<a name="L607"></a><tt class="py-lineno">607</tt>  <tt class="py-line">                    <tt class="py-comment"># -D is the 'delete' rule of iptables</tt> </tt>
+<a name="L608"></a><tt class="py-lineno">608</tt>  <tt class="py-line">                    <tt class="py-name">actionRemove</tt> <tt class="py-op">=</tt> <tt class="py-string">'-D'</tt> </tt>
+<a name="L609"></a><tt class="py-lineno">609</tt>  <tt class="py-line">                    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L610"></a><tt class="py-lineno">610</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-175', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L611"></a><tt class="py-lineno">611</tt>  <tt class="py-line">                        <tt class="py-comment"># Delete a specific rule specified into the function</tt> </tt>
+<a name="L612"></a><tt class="py-lineno">612</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-176', 'sendline', 'link-17');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L613"></a><tt class="py-lineno">613</tt>  <tt class="py-line">                            <tt class="py-string">"sudo iptables "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L614"></a><tt class="py-lineno">614</tt>  <tt class="py-line">                            <tt class="py-name">actionRemove</tt> <tt class="py-op">+</tt> </tt>
+<a name="L615"></a><tt class="py-lineno">615</tt>  <tt class="py-line">                            <tt class="py-string">" OUTPUT -p "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L616"></a><tt class="py-lineno">616</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">packetType</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L617"></a><tt class="py-lineno">617</tt>  <tt class="py-line">                            <tt class="py-string">" -d "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L618"></a><tt class="py-lineno">618</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dstIp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L619"></a><tt class="py-lineno">619</tt>  <tt class="py-line">                            <tt class="py-string">" --dport "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L620"></a><tt class="py-lineno">620</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dstPort</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L621"></a><tt class="py-lineno">621</tt>  <tt class="py-line">                            <tt class="py-string">" -j "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L622"></a><tt class="py-lineno">622</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">rule</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L623"></a><tt class="py-lineno">623</tt>  <tt class="py-line"> </tt>
+<a name="L624"></a><tt class="py-lineno">624</tt>  <tt class="py-line">                        <tt class="py-name">infoString</tt> <tt class="py-op">=</tt> <tt class="py-string">"Rules removed from "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> </tt>
+<a name="L625"></a><tt class="py-lineno">625</tt>  <tt class="py-line">                        <tt class="py-name">infoString</tt> <tt class="py-op">+=</tt> <tt class="py-string">" iptables rule removed \</tt> </tt>
+<a name="L626"></a><tt class="py-lineno">626</tt>  <tt class="py-line"><tt class="py-string">                                      from blocking IP: "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L627"></a><tt class="py-lineno">627</tt>  <tt class="py-line">                                      <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dstIp</tt> <tt class="py-op">)</tt> </tt>
+<a name="L628"></a><tt class="py-lineno">628</tt>  <tt class="py-line">                        <tt class="py-name">infoString</tt> <tt class="py-op">+=</tt> <tt class="py-string">" Port: "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L629"></a><tt class="py-lineno">629</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dstPort</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" Rule: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">rule</tt> <tt class="py-op">)</tt> </tt>
+<a name="L630"></a><tt class="py-lineno">630</tt>  <tt class="py-line"> </tt>
+<a name="L631"></a><tt class="py-lineno">631</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-177', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">infoString</tt> <tt class="py-op">)</tt> </tt>
+<a name="L632"></a><tt class="py-lineno">632</tt>  <tt class="py-line"> </tt>
+<a name="L633"></a><tt class="py-lineno">633</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> </tt>
+<a name="L634"></a><tt class="py-lineno">634</tt>  <tt class="py-line">                            <tt class="py-op">[</tt> <tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L635"></a><tt class="py-lineno">635</tt>  <tt class="py-line">                    <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">:</tt> </tt>
+<a name="L636"></a><tt class="py-lineno">636</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-178', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-179', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L637"></a><tt class="py-lineno">637</tt>  <tt class="py-line">                            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L638"></a><tt class="py-lineno">638</tt>  <tt class="py-line">                            <tt class="py-string">": Timeout exception in setIpTables function"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L639"></a><tt class="py-lineno">639</tt>  <tt class="py-line">                    <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L640"></a><tt class="py-lineno">640</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-180', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L641"></a><tt class="py-lineno">641</tt>  <tt class="py-line">                                            <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L642"></a><tt class="py-lineno">642</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-181', 'cleanup', 'link-72');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L643"></a><tt class="py-lineno">643</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-182', 'exit', 'link-73');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L644"></a><tt class="py-lineno">644</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L645"></a><tt class="py-lineno">645</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-183', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-184', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L646"></a><tt class="py-lineno">646</tt>  <tt class="py-line">                        <tt class="py-string">"Given rule does not exist,\</tt> </tt>
+<a name="L647"></a><tt class="py-lineno">647</tt>  <tt class="py-line"><tt class="py-string">                                but attempted to remove it"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L648"></a><tt class="py-lineno">648</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L649"></a><tt class="py-lineno">649</tt>  <tt class="py-line">                <tt class="py-comment"># NOTE: If a bad usage of this function occurs, exit the entire</tt> </tt>
+<a name="L650"></a><tt class="py-lineno">650</tt>  <tt class="py-line">                <tt class="py-comment"># test</tt> </tt>
+<a name="L651"></a><tt class="py-lineno">651</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-185', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-186', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Bad rule given for iptables. Exiting..."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L652"></a><tt class="py-lineno">652</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-187', 'cleanup', 'link-72');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L653"></a><tt class="py-lineno">653</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-188', 'exit', 'link-73');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L654"></a><tt class="py-lineno">654</tt>  <tt class="py-line"> </tt>
+<a name="L655"></a><tt class="py-lineno">655</tt>  <tt class="py-line"> </tt>
+<a name="L656"></a><tt class="py-lineno">656</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">!=</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
+<a name="L657"></a><tt class="py-lineno">657</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L658"></a><tt class="py-lineno">658</tt>  <tt class="py-line">    <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt> <tt class="py-name">__name__</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-189" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver" class="py-name" href="#" onclick="return doclink('link-189', 'RemoteMininetDriver', 'link-11');">RemoteMininetDriver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L659"></a><tt class="py-lineno">659</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html
new file mode 100644
index 0000000..edabdd8
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html
@@ -0,0 +1,761 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.emulator-module.html">Package&nbsp;emulator</a> ::
+        <a href="TestON.drivers.common.cli.emulator.remotemininetdriver-module.html">Module&nbsp;remotemininetdriver</a> ::
+        Class&nbsp;RemoteMininetDriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class RemoteMininetDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_remotemini" name="class_hierarchy_for_remotemini">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html" title="RemoteMininetDriver" alt="" coords="5,6,149,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html" title="emulatordriver.Emulator" alt="" coords="175,6,333,31"/>
+<area shape="rect" id="node3" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="359,6,451,31"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="component.Component" alt="" coords="476,6,633,31"/>
+</map>
+  <img src="class_hierarchy_for_remotemini.gif" alt='' usemap="#class_hierarchy_for_remotemini" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<p>RemoteMininetCliDriver is the basic driver which will handle the 
+  Mininet functions. The main different between this and the 
+  MininetCliDriver is that this one does not build the mininet. It assumes 
+  that there is already a mininet running on the target.</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**connectargs</span>)</span><br />
+      ,user_name, ip_address, pwd,options ): Here the main is the TestON 
+      instance after creating all the log handles.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.connect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="checkForLoss"></a><span class="summary-sig-name">checkForLoss</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">pingList</span>)</span><br />
+      Returns main.FALSE for 0% packet loss and Returns main.ERROR if 
+      &quot;found multiple mininet&quot; is found and Returns main.TRUE 
+      else</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.checkForLoss">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="pingLong"></a><span class="summary-sig-name">pingLong</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**pingParams</span>)</span><br />
+      Starts a continuous ping on the mininet host outputting to a file in 
+      the /tmp dir.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.pingLong">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="pingstatus"></a><span class="summary-sig-name">pingstatus</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**pingParams</span>)</span><br />
+      Tails the respective ping output file and check that there is a 
+      moving &quot;64 bytes&quot;</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.pingstatus">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingKill" class="summary-sig-name">pingKill</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">testONUser</span>,
+        <span class="summary-sig-arg">testONIP</span>)</span><br />
+      Kills all continuous ping processes.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.pingKill">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="pingLongKill"></a><span class="summary-sig-name">pingLongKill</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.pingLongKill">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="pingHostOptical"></a><span class="summary-sig-name">pingHostOptical</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**pingParams</span>)</span><br />
+      This function is only for Packet Optical related ping Use the next 
+      pingHost() function for all normal scenarios ) Ping from one mininet 
+      host to another Currently the only supported Params: SRC and TARGET</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.pingHostOptical">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="pingHost"></a><span class="summary-sig-name">pingHost</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**pingParams</span>)</span><br />
+      Pings between two hosts on remote mininet</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.pingHost">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="checknum"></a><span class="summary-sig-name">checknum</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">num</span>)</span><br />
+      Verifies the correct number of switches are running</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.checknum">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="startTcpdump"></a><span class="summary-sig-name">startTcpdump</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">filename</span>,
+        <span class="summary-sig-arg">intf</span>=<span class="summary-sig-default">&quot;eth0&quot;</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">&quot;port 6633&quot;</span>,
+        <span class="summary-sig-arg">user</span>=<span class="summary-sig-default">&quot;admin&quot;</span>)</span><br />
+      Runs tcpdump on an interface and saves the file intf can be 
+      specified, or the default eth0 is used</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.startTcpdump">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="stopTcpdump"></a><span class="summary-sig-name">stopTcpdump</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      pkills tcpdump</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.stopTcpdump">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runOpticalMnScript"></a><span class="summary-sig-name">runOpticalMnScript</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">name</span>=<span class="summary-sig-default">'onos'</span>,
+        <span class="summary-sig-arg">ctrllerIP</span>=<span class="summary-sig-default">None</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.runOpticalMnScript">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="attachLincOESession"></a><span class="summary-sig-name">attachLincOESession</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Since executing opticalTest.py will give you mininet prompt, you 
+      would at some point require to get onto console of LincOE 
+      ((linc@onosTestBench)1&gt;) to execute commands like bring a optical 
+      port up or down on a ROADM You can attach to console of Linc-OE 
+      session by a cmd: sudo ~/linc-oe/rel/linc/bin/linc attach</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.attachLincOESession">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Called at the end of the test to disconnect the handle.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.disconnect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#setIpTablesOUTPUT" class="summary-sig-name">setIpTablesOUTPUT</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">dstIp</span>,
+        <span class="summary-sig-arg">dstPort</span>,
+        <span class="summary-sig-arg">action</span>=<span class="summary-sig-default">'add'</span>,
+        <span class="summary-sig-arg">packetType</span>=<span class="summary-sig-default">'tcp'</span>,
+        <span class="summary-sig-arg">rule</span>=<span class="summary-sig-default">'DROP'</span>)</span><br />
+      Description:
+    add or remove iptables rule to DROP ( default )
+    packets from specific IP and PORT
+Usage:
+* specify action ( 'add' or 'remove' )
+  when removing, pass in the same argument as you would add.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.setIpTablesOUTPUT">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**execparams</span>)</span><br />
+      It facilitates the command line execution of a given command.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">default</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">user_name</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">filepath</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">dst_path</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="connect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">**connectargs</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.connect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>,user_name, ip_address, pwd,options ): Here the main is the TestON 
+  instance after creating all the log handles.</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.connect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="pingKill"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">pingKill</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">testONUser</span>,
+        <span class="sig-arg">testONIP</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.pingKill">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Kills all continuous ping processes. Then copies all the ping files to
+  the TestStation.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="disconnect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">disconnect</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.disconnect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Called at the end of the test to disconnect the handle.</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.disconnect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="setIpTablesOUTPUT"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">setIpTablesOUTPUT</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">dstIp</span>,
+        <span class="sig-arg">dstPort</span>,
+        <span class="sig-arg">action</span>=<span class="sig-default">'add'</span>,
+        <span class="sig-arg">packetType</span>=<span class="sig-default">'tcp'</span>,
+        <span class="sig-arg">rule</span>=<span class="sig-default">'DROP'</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-pysrc.html#RemoteMininetDriver.setIpTablesOUTPUT">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    add or remove iptables rule to DROP ( default )
+    packets from specific IP and PORT
+Usage:
+* specify action ( 'add' or 'remove' )
+  when removing, pass in the same argument as you would add. It will
+  delete that specific rule.
+* specify the destination ip to block with dstIp
+* specify destination port to block to dstPort
+* optional packet type to block ( default tcp )
+* optional iptables rule ( default DROP )
+WARNING:
+* This function uses root privilege iptables command which may result
+in unwanted network errors. USE WITH CAUTION
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulatordriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulatordriver-module.html
index 6f6ca33..c3e26c9 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulatordriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulatordriver-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -59,13 +64,28 @@
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
 <h1 class="epydoc">Module emulatordriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.emulatordriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 26-Oct-2012</p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 26-Oct-2012
+
+author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    ( at your option ) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -110,13 +130,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulatordriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulatordriver-pysrc.html
index 95c3ddf..5a2cc39 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulatordriver-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulatordriver-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,58 +65,101 @@
 <h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.emulatordriver-module.html">Module TestON.drivers.common.cli.emulatordriver</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 26-Oct-2012 </tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 26-Oct-2012</tt> </tt>
 <a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)      </tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt>  </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt><tt class="py-op">,</tt> <tt class="py-name">fcntl</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">signal</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-0', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"../"</tt><tt class="py-op">)</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-1', 'drivers', 'link-1');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-2', 'common', 'link-2');">common</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module TestON.drivers.common.clidriver=TestON.drivers.common.clidriver-module.html"><a title="TestON.drivers.common.clidriver" class="py-name" href="#" onclick="return doclink('link-3', 'clidriver', 'link-3');">clidriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
-TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-4', 'CLI', 'link-4');">CLI</a></tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"> </tt>
-<a name="Emulator"></a><div id="Emulator-def"><a name="L13"></a><tt class="py-lineno">13</tt> <a class="py-toggle" href="#" id="Emulator-toggle" onclick="return toggle('Emulator');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html">Emulator</a><tt class="py-op">(</tt><tt class="py-base-class">CLI</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Emulator-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Emulator-expanded"><a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">    <tt class="py-comment"># The common functions for emulator included in emulatordriver</tt> </tt>
-<a name="Emulator.__init__"></a><div id="Emulator.__init__-def"><a name="L15"></a><tt class="py-lineno">15</tt> <a class="py-toggle" href="#" id="Emulator.__init__-toggle" onclick="return toggle('Emulator.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Emulator.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Emulator.__init__-expanded"><a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-5" class="py-name"><a title="TestON.bin.cli.CLI
-TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-5', 'CLI', 'link-4');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.drivers.common.webdriver.WebDriver.__init__()=TestON.drivers.common.webdriver.WebDriver-class.html#__init__,Method TestON.drivers.component.Component.__init__()=TestON.drivers.component.Component-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__()=TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#__init__,Method TestON.tests.FvtTest.FvtTest.FvtTest.__init__()=TestON.tests.FvtTest.FvtTest.FvtTest-class.html#__init__,Method TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__()=TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#__init__,Method TestON.tests.MininetTest.MininetTest.MininetTest.__init__()=TestON.tests.MininetTest.MininetTest.MininetTest-class.html#__init__,Method TestON.tests.PoxTest.PoxTest.PoxTest.__init__()=TestON.tests.PoxTest.PoxTest.PoxTest-class.html#__init__,Method TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__()=TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#__init__,Method TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__()=TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    ( at your option ) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.drivers.common.clidriver=TestON.drivers.common.clidriver-module.html"><a title="TestON.drivers.common.clidriver" class="py-name" href="#" onclick="return doclink('link-2', 'clidriver', 'link-2');">clidriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-3', 'CLI', 'link-3');">CLI</a></tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"> </tt>
+<a name="Emulator"></a><div id="Emulator-def"><a name="L25"></a><tt class="py-lineno">25</tt> <a class="py-toggle" href="#" id="Emulator-toggle" onclick="return toggle('Emulator');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html">Emulator</a><tt class="py-op">(</tt> <tt class="py-base-class">CLI</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Emulator-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Emulator-expanded"><a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">    <tt class="py-comment"># The common functions for emulator included in emulatordriver</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"> </tt>
+<a name="Emulator.__init__"></a><div id="Emulator.__init__-def"><a name="L28"></a><tt class="py-lineno">28</tt> <a class="py-toggle" href="#" id="Emulator.__init__-toggle" onclick="return toggle('Emulator.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Emulator.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Emulator.__init__-expanded"><a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-4" class="py-name"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-4', 'CLI', 'link-3');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
 TestON.bin.cli.TestThread.__init__
 TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
 TestON.bin.updatedriver.UpdateDriver.__init__
 TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
 TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
 TestON.core.openspeak.OpenSpeak.__init__
 TestON.core.teston.TestON.__init__
 TestON.core.testparser.TestParser.__init__
 TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
 TestON.drivers.common.api.controllerdriver.Controller.__init__
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
 TestON.drivers.common.cli.emulatordriver.Emulator.__init__
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
 TestON.drivers.common.cli.toolsdriver.Tools.__init__
 TestON.drivers.common.clidriver.CLI.__init__
-TestON.drivers.common.webdriver.WebDriver.__init__
-TestON.drivers.component.Component.__init__
 TestON.examples.Assert.Assert.Assert.__init__
 TestON.examples.CaseParams.CaseParams.CaseParams.__init__
 TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
 TestON.examples.StepParams.StepParams.StepParams.__init__
 TestON.examples.Topology.Topology.Topology.__init__
-TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__
-TestON.tests.FvtTest.FvtTest.FvtTest.__init__
-TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__
-TestON.tests.MininetTest.MininetTest.MininetTest.__init__
-TestON.tests.PoxTest.PoxTest.PoxTest.__init__
-TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__
-TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__" class="py-name" href="#" onclick="return doclink('link-6', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-5', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -138,13 +186,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulatordriver.Emulator-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulatordriver.Emulator-class.html
index 743a0a8..63f0046 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulatordriver.Emulator-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.emulatordriver.Emulator-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,16 +65,15 @@
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
 <h1 class="epydoc">Class Emulator</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.emulatordriver-pysrc.html#Emulator">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-         object --+        
-                  |        
-<a href="TestON.drivers.component.Component-class.html">component.Component</a> --+    
-                      |    
-          <a href="TestON.drivers.common.clidriver.CLI-class.html">clidriver.CLI</a> --+
-                          |
-                         <strong class="uidshort">Emulator</strong>
-</pre>
-
+<center>
+<center>  <map id="class_hierarchy_for_emulator" name="class_hierarchy_for_emulator">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html" title="Emulator" alt="" coords="4,6,77,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="103,6,195,31"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="component.Component" alt="" coords="220,6,377,31"/>
+</map>
+  <img src="class_hierarchy_for_emulator.gif" alt='' usemap="#class_hierarchy_for_emulator" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
 <hr />
 <!-- ==================== INSTANCE METHODS ==================== -->
 <a name="section-InstanceMethods"></a>
@@ -95,7 +99,7 @@
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td><span class="summary-sig"><a href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.cli.emulatordriver-pysrc.html#Emulator.__init__">source&nbsp;code</a></span>
             
@@ -105,24 +109,149 @@
       
     </td>
   </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**connectargs</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.connect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.disconnect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**execparams</span>)</span><br />
+      It facilitates the command line execution of a given command.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">default</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">user_name</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">filepath</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">dst_path</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
   <tr>
     <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="TestON.drivers.common.clidriver.CLI-class.html">clidriver.CLI</a></code></b>:
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#connect">connect</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#disconnect">disconnect</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#execute">execute</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#onfail">onfail</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser">runAsSudoUser</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy">secureCopy</a></code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="TestON.drivers.component.Component-class.html">component.Component</a></code></b>:
-      <code><a href="TestON.drivers.component.Component-class.html#__getattr__">__getattr__</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#cleanup">cleanup</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#close_log_handles">close_log_handles</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#config">config</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#experimentRun">experimentRun</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#get_version">get_version</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#log">log</a></code>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
       </p>
     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
       <code>__delattr__</code>,
@@ -199,8 +328,7 @@
     </td>
   </tr></table>
   
-  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
-  signature</p>
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
   <dl class="fields">
     <dt>Overrides:
         object.__init__
@@ -230,13 +358,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosclidriver-module.html
similarity index 74%
copy from TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
copy to TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosclidriver-module.html
index 053b957..176d615 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosclidriver-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.drivers.common.cli.remotesys.hpswitchdriver</title>
+  <title>TestON.drivers.common.cli.onosclidriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -41,8 +46,7 @@
         <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
         <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
         <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
-        <a href="TestON.drivers.common.cli.remotesys-module.html">Package&nbsp;remotesys</a> ::
-        Module&nbsp;hpswitchdriver
+        Module&nbsp;onosclidriver
       </span>
     </td>
     <td>
@@ -52,23 +56,23 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.onosclidriver-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module hpswitchdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 12-Feb-2013</p>
+<h1 class="epydoc">Module onosclidriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html">source&nbsp;code</a></span></p>
+<p>This driver enters the onos&gt; prompt to issue commands.</p>
+  <p>Please follow the coding style demonstrated by existing functions and 
+  document properly.</p>
+  <p>If you are a contributor to the driver, please list your email here 
+  for future contact:</p>
+  <p>jhall@onlab.us andrew@onlab.us shreya@onlab.us</p>
+  <p>OCT 13 2014</p>
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-        <p>HPSwitchDriver is the basic driver which will handle the Mininet
-        functions</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -89,9 +93,7 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html" class="summary-name">HPSwitchDriver</a><br />
-      HPSwitchDriver is the basic driver which will handle the Mininet 
-      functions
+        <a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html" class="summary-name">OnosCliDriver</a>
     </td>
   </tr>
 </table>
@@ -115,13 +117,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosclidriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosclidriver-pysrc.html
new file mode 100644
index 0000000..91c9e4a
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosclidriver-pysrc.html
@@ -0,0 +1,4086 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.onosclidriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        Module&nbsp;onosclidriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.onosclidriver-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.onosclidriver-module.html">Module TestON.drivers.common.cli.onosclidriver</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"> </tt>
+<a name="L3"></a><tt class="py-lineno">   3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"><tt class="py-docstring">This driver enters the onos&gt; prompt to issue commands.</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">   5</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line"><tt class="py-docstring">Please follow the coding style demonstrated by existing</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"><tt class="py-docstring">functions and document properly.</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">   8</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L9"></a><tt class="py-lineno">   9</tt>  <tt class="py-line"><tt class="py-docstring">If you are a contributor to the driver, please</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line"><tt class="py-docstring">list your email here for future contact:</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">  11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line"><tt class="py-docstring">jhall@onlab.us</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"><tt class="py-docstring">andrew@onlab.us</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line"><tt class="py-docstring">shreya@onlab.us</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt class="py-docstring">OCT 13 2014</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">  22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">types</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.drivers.common.clidriver=TestON.drivers.common.clidriver-module.html"><a title="TestON.drivers.common.clidriver" class="py-name" href="#" onclick="return doclink('link-2', 'clidriver', 'link-2');">clidriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-3', 'CLI', 'link-3');">CLI</a></tt> </tt>
+<a name="L26"></a><tt class="py-lineno">  26</tt>  <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno">  27</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver"></a><div id="OnosCliDriver-def"><a name="L28"></a><tt class="py-lineno">  28</tt> <a class="py-toggle" href="#" id="OnosCliDriver-toggle" onclick="return toggle('OnosCliDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a><tt class="py-op">(</tt> <tt class="py-base-class">CLI</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="OnosCliDriver-expanded"><a name="L29"></a><tt class="py-lineno">  29</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.__init__"></a><div id="OnosCliDriver.__init__-def"><a name="L30"></a><tt class="py-lineno">  30</tt> <a class="py-toggle" href="#" id="OnosCliDriver.__init__-toggle" onclick="return toggle('OnosCliDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.__init__-expanded"><a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">  32</tt>  <tt class="py-line"><tt class="py-docstring">        Initialize client</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">  33</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">  36</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-4" class="py-name"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-4', 'CLI', 'link-3');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-5', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L38"></a><tt class="py-lineno">  38</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.connect"></a><div id="OnosCliDriver.connect-def"><a name="L39"></a><tt class="py-lineno">  39</tt> <a class="py-toggle" href="#" id="OnosCliDriver.connect-toggle" onclick="return toggle('OnosCliDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.connect-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.connect-expanded"><a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line"><tt class="py-docstring">        Creates ssh handle for ONOS cli.</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">  43</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line">                <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">=</tt> <tt class="py-string">"~/onos"</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">  47</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">  48</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-op">==</tt> <tt class="py-string">"home"</tt><tt class="py-op">:</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'home'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">  51</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">==</tt> <tt class="py-string">""</tt><tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">  52</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">=</tt> <tt class="py-string">"~/onos"</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line"> </tt>
+<a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">  55</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-op">==</tt> <tt class="py-string">'onosIp'</tt><tt class="py-op">:</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">  56</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">onosIp</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'onosIp'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">  58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">  60</tt>  <tt class="py-line"> </tt>
+<a name="L61"></a><tt class="py-lineno">  61</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">  62</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getenv</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">  63</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getenv</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-6', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line">                                   <tt class="py-string">": Trying to connect to "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line">                                   <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line"> </tt>
+<a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">  70</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-7', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Invalid host name,"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line">                               <tt class="py-string">" connecting to local host instead"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-string">'localhost'</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">inst</tt><tt class="py-op">:</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">  74</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-8', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-9', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Uncaught exception: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">inst</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line"> </tt>
+<a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-10" class="py-name" targets="Class TestON.drivers.common.cli.onosclidriver.OnosCliDriver=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver" class="py-name" href="#" onclick="return doclink('link-10', 'OnosCliDriver', 'link-10');">OnosCliDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-11', 'connect', 'link-11');">connect</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line">                <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">  78</tt>  <tt class="py-line">                <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line">                <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">,</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line">                <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt><tt class="py-op">,</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">  81</tt>  <tt class="py-line">                <tt class="py-name">home</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">)</tt> </tt>
+<a name="L82"></a><tt class="py-lineno">  82</tt>  <tt class="py-line"> </tt>
+<a name="L83"></a><tt class="py-lineno">  83</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-12', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"cd "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L86"></a><tt class="py-lineno">  86</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+<a name="L87"></a><tt class="py-lineno">  87</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"NO ONOS HANDLE"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L90"></a><tt class="py-lineno">  90</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-14', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L92"></a><tt class="py-lineno">  92</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L94"></a><tt class="py-lineno">  94</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-15', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-16', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno">  95</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-17', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-18', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-19', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-20', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno">  98</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-21', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno"> 100</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-22', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-23', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L102"></a><tt class="py-lineno"> 102</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.disconnect"></a><div id="OnosCliDriver.disconnect-def"><a name="L103"></a><tt class="py-lineno"> 103</tt> <a class="py-toggle" href="#" id="OnosCliDriver.disconnect-toggle" onclick="return toggle('OnosCliDriver.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#disconnect">disconnect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.disconnect-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.disconnect-expanded"><a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line"><tt class="py-docstring">        Called when Test is complete to disconnect the ONOS handle.</tt> </tt>
+<a name="L106"></a><tt class="py-lineno"> 106</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L107"></a><tt class="py-lineno"> 107</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno"> 109</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.logout()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#logout"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.logout" class="py-name" href="#" onclick="return doclink('link-24', 'logout', 'link-24');">logout</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno"> 111</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L112"></a><tt class="py-lineno"> 112</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-25', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno"> 113</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-26', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"exit"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno"> 115</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"closed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L117"></a><tt class="py-lineno"> 117</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-27', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno"> 118</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-28', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-29', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno"> 121</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-30', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-31', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno"> 122</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-32', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Exception in disconnect of "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> </tt>
+<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L125"></a><tt class="py-lineno"> 125</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-33', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Connection failed to the host"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno"> 127</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+</div><a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.logout"></a><div id="OnosCliDriver.logout-def"><a name="L130"></a><tt class="py-lineno"> 130</tt> <a class="py-toggle" href="#" id="OnosCliDriver.logout-toggle" onclick="return toggle('OnosCliDriver.logout');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#logout">logout</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.logout-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.logout-expanded"><a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line"><tt class="py-docstring">        Sends 'logout' command to ONOS cli</tt> </tt>
+<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line"><tt class="py-docstring">        Returns main.TRUE if exited CLI and</tt> </tt>
+<a name="L134"></a><tt class="py-lineno"> 134</tt>  <tt class="py-line"><tt class="py-docstring">                main.FALSE on timeout (not guranteed you are disconnected)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line"><tt class="py-docstring">                None on TypeError</tt> </tt>
+<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line"><tt class="py-docstring">                Exits test on unknown error or pexpect exits unexpectedly</tt> </tt>
+<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L140"></a><tt class="py-lineno"> 140</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-34', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"onos&gt;"</tt><tt class="py-op">,</tt> <tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line">                                        <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno"> 143</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt>  <tt class="py-comment"># In ONOS CLI</tt> </tt>
+<a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-35', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"logout"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno"> 146</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L147"></a><tt class="py-lineno"> 147</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt>  <tt class="py-comment"># not in CLI</tt> </tt>
+<a name="L148"></a><tt class="py-lineno"> 148</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt>  <tt class="py-comment"># Timeout</tt> </tt>
+<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L153"></a><tt class="py-lineno"> 153</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-36', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L156"></a><tt class="py-lineno"> 156</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-37', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-38', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": eof exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-39', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-40', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-41', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-42', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L161"></a><tt class="py-lineno"> 161</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L162"></a><tt class="py-lineno"> 162</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-43', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-44', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line">                            <tt class="py-string">"ValueError exception in logout method"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno"> 164</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L165"></a><tt class="py-lineno"> 165</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-45', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-46', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-47', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.setCell"></a><div id="OnosCliDriver.setCell-def"><a name="L169"></a><tt class="py-lineno"> 169</tt> <a class="py-toggle" href="#" id="OnosCliDriver.setCell-toggle" onclick="return toggle('OnosCliDriver.setCell');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell">setCell</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">cellname</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.setCell-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.setCell-expanded"><a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line"><tt class="py-docstring">        Calls 'cell &lt;name&gt;' to set the environment variables on ONOSbench</tt> </tt>
+<a name="L172"></a><tt class="py-lineno"> 172</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L173"></a><tt class="py-lineno"> 173</tt>  <tt class="py-line"><tt class="py-docstring">        Before issuing any cli commands, set the environment variable first.</tt> </tt>
+<a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L176"></a><tt class="py-lineno"> 176</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">cellname</tt><tt class="py-op">:</tt> </tt>
+<a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-48', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-49', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Must define cellname"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-50', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-51', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno"> 180</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-52', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"cell "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">cellname</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line">                <tt class="py-comment"># Expect the cellname in the ONOSCELL variable.</tt> </tt>
+<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line">                <tt class="py-comment"># Note that this variable name is subject to change</tt> </tt>
+<a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line">                <tt class="py-comment">#   and that this driver will have to change accordingly</tt> </tt>
+<a name="L185"></a><tt class="py-lineno"> 185</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">cellname</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L186"></a><tt class="py-lineno"> 186</tt>  <tt class="py-line">                <tt class="py-name">handleBefore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line">                <tt class="py-name">handleAfter</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">after</tt> </tt>
+<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line">                <tt class="py-comment"># Get the rest of the handle</tt> </tt>
+<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-53', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">"\$"</tt><tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno"> 191</tt>  <tt class="py-line">                <tt class="py-name">handleMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line"> </tt>
+<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-54', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Cell call returned: "</tt> <tt class="py-op">+</tt> <tt class="py-name">handleBefore</tt> <tt class="py-op">+</tt> </tt>
+<a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line">                               <tt class="py-name">handleAfter</tt> <tt class="py-op">+</tt> <tt class="py-name">handleMore</tt> <tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno"> 195</tt>  <tt class="py-line"> </tt>
+<a name="L196"></a><tt class="py-lineno"> 196</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L197"></a><tt class="py-lineno"> 197</tt>  <tt class="py-line"> </tt>
+<a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-55', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-56', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-57', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": eof exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-58', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-59', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L204"></a><tt class="py-lineno"> 204</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-60', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno"> 205</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-61', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L207"></a><tt class="py-lineno"> 207</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-62', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-63', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-64', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.startOnosCli"></a><div id="OnosCliDriver.startOnosCli-def"><a name="L211"></a><tt class="py-lineno"> 211</tt> <a class="py-toggle" href="#" id="OnosCliDriver.startOnosCli-toggle" onclick="return toggle('OnosCliDriver.startOnosCli');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#startOnosCli">startOnosCli</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ONOSIp</tt><tt class="py-op">,</tt> <tt class="py-param">karafTimeout</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line">            <tt class="py-param">commandlineTimeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt><tt class="py-op">,</tt> <tt class="py-param">onosStartTimeout</tt><tt class="py-op">=</tt><tt class="py-number">60</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.startOnosCli-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.startOnosCli-expanded"><a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line"><tt class="py-docstring">        karafTimeout is an optional argument. karafTimeout value passed</tt> </tt>
+<a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line"><tt class="py-docstring">        by user would be used to set the current karaf shell idle timeout.</tt> </tt>
+<a name="L216"></a><tt class="py-lineno"> 216</tt>  <tt class="py-line"><tt class="py-docstring">        Note that when ever this property is modified the shell will exit and</tt> </tt>
+<a name="L217"></a><tt class="py-lineno"> 217</tt>  <tt class="py-line"><tt class="py-docstring">        the subsequent login would reflect new idle timeout.</tt> </tt>
+<a name="L218"></a><tt class="py-lineno"> 218</tt>  <tt class="py-line"><tt class="py-docstring">        Below is an example to start a session with 60 seconds idle timeout</tt> </tt>
+<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line"><tt class="py-docstring">        ( input value is in milliseconds ):</tt> </tt>
+<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line"><tt class="py-docstring">        tValue = "60000"</tt> </tt>
+<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line"><tt class="py-docstring">        main.ONOScli1.startOnosCli( ONOSIp, karafTimeout=tValue )</tt> </tt>
+<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line"><tt class="py-docstring">        Note: karafTimeout is left as str so that this could be read</tt> </tt>
+<a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line"><tt class="py-docstring">        and passed to startOnosCli from PARAMS file as str.</tt> </tt>
+<a name="L226"></a><tt class="py-lineno"> 226</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L228"></a><tt class="py-lineno"> 228</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-65', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L229"></a><tt class="py-lineno"> 229</tt>  <tt class="py-line">            <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line">                <tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-string">"onos&gt;"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">commandlineTimeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line"> </tt>
+<a name="L232"></a><tt class="py-lineno"> 232</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">x</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-66', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS cli is already running"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L234"></a><tt class="py-lineno"> 234</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line"> </tt>
+<a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line">            <tt class="py-comment"># Wait for onos start ( -w ) and enter onos cli</tt> </tt>
+<a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-67', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onos -w "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line">                <tt class="py-string">"onos&gt;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line">                <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">onosStartTimeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line"> </tt>
+<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-68', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" CLI Started successfully"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">karafTimeout</tt><tt class="py-op">:</tt> </tt>
+<a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-69', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line">                        <tt class="py-string">"config:property-set -p org.apache.karaf.shell\</tt> </tt>
+<a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line"><tt class="py-string">                                 sshIdleTimeout "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line">                        <tt class="py-name">karafTimeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-70', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onos -w "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"onos&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line">                <tt class="py-comment"># If failed, send ctrl+c to process and try again</tt> </tt>
+<a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-71', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Starting CLI failed. Retrying..."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#send"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-72', 'send', 'link-72');">send</a></tt><tt class="py-op">(</tt> <tt class="py-string">"\x03"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-73', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onos -w "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"onos&gt;"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line">                                        <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">30</tt> <tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-74', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" CLI Started "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line">                                   <tt class="py-string">"successfully after retry attempt"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">karafTimeout</tt><tt class="py-op">:</tt> </tt>
+<a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-75', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L265"></a><tt class="py-lineno"> 265</tt>  <tt class="py-line">                            <tt class="py-string">"config:property-set -p org.apache.karaf.shell\</tt> </tt>
+<a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line"><tt class="py-string">                                    sshIdleTimeout "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line">                            <tt class="py-name">karafTimeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-76', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onos -w "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"onos&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L272"></a><tt class="py-lineno"> 272</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-77', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-78', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Connection to CLI "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L274"></a><tt class="py-lineno"> 274</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" timeout"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L276"></a><tt class="py-lineno"> 276</tt>  <tt class="py-line"> </tt>
+<a name="L277"></a><tt class="py-lineno"> 277</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-79', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L280"></a><tt class="py-lineno"> 280</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-80', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-81', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-82', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-83', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-84', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-85', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-86', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-87', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-88', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.log"></a><div id="OnosCliDriver.log-def"><a name="L290"></a><tt class="py-lineno"> 290</tt> <a class="py-toggle" href="#" id="OnosCliDriver.log-toggle" onclick="return toggle('OnosCliDriver.log');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log">log</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">cmdStr</tt><tt class="py-op">,</tt> <tt class="py-param">level</tt><tt class="py-op">=</tt><tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.log-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.log-expanded"><a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line"><tt class="py-docstring">            log  the commands in the onos CLI.</tt> </tt>
+<a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line"><tt class="py-docstring">            returns main.TRUE on success</tt> </tt>
+<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line"><tt class="py-docstring">            returns main.FALSE if Error occurred</tt> </tt>
+<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line"><tt class="py-docstring">            Available level: DEBUG, TRACE, INFO, WARN, ERROR</tt> </tt>
+<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line"><tt class="py-docstring">            Level defaults to INFO</tt> </tt>
+<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line">            <tt class="py-name">lvlStr</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">level</tt><tt class="py-op">:</tt> </tt>
+<a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line">                <tt class="py-name">lvlStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"--level="</tt> <tt class="py-op">+</tt> <tt class="py-name">level</tt> </tt>
+<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line"> </tt>
+<a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-89', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"onos&gt;"</tt><tt class="py-op">,</tt><tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-90', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-91', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": onos cli session closed."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-92', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-93', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L309"></a><tt class="py-lineno"> 309</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L310"></a><tt class="py-lineno"> 310</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-94', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"onos&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-95', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"log:log "</tt> <tt class="py-op">+</tt> <tt class="py-name">lvlStr</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"log:log"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L314"></a><tt class="py-lineno"> 314</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"onos&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L315"></a><tt class="py-lineno"> 315</tt>  <tt class="py-line"> </tt>
+<a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L317"></a><tt class="py-lineno"> 317</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L318"></a><tt class="py-lineno"> 318</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L319"></a><tt class="py-lineno"> 319</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L320"></a><tt class="py-lineno"> 320</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">:</tt> </tt>
+<a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-96', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": TIMEOUT exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L322"></a><tt class="py-lineno"> 322</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-97', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-98', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L324"></a><tt class="py-lineno"> 324</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L325"></a><tt class="py-lineno"> 325</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-99', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-100', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-101', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-102', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L327"></a><tt class="py-lineno"> 327</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-103', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-104', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L329"></a><tt class="py-lineno"> 329</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L330"></a><tt class="py-lineno"> 330</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-105', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-106', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L332"></a><tt class="py-lineno"> 332</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-107', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L333"></a><tt class="py-lineno"> 333</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.sendline"></a><div id="OnosCliDriver.sendline-def"><a name="L334"></a><tt class="py-lineno"> 334</tt> <a class="py-toggle" href="#" id="OnosCliDriver.sendline-toggle" onclick="return toggle('OnosCliDriver.sendline');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline">sendline</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">cmdStr</tt><tt class="py-op">,</tt> <tt class="py-param">debug</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.sendline-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.sendline-expanded"><a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line"><tt class="py-docstring">        Send a completely user specified string to</tt> </tt>
+<a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line"><tt class="py-docstring">        the onos&gt; prompt. Use this function if you have</tt> </tt>
+<a name="L338"></a><tt class="py-lineno"> 338</tt>  <tt class="py-line"><tt class="py-docstring">        a very specific command to send.</tt> </tt>
+<a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L340"></a><tt class="py-lineno"> 340</tt>  <tt class="py-line"><tt class="py-docstring">        Warning: There are no sanity checking to commands</tt> </tt>
+<a name="L341"></a><tt class="py-lineno"> 341</tt>  <tt class="py-line"><tt class="py-docstring">        sent using this method.</tt> </tt>
+<a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line">            <tt class="py-name">logStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"\"Sending CLI command: '"</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">+</tt> <tt class="py-string">"'\""</tt> </tt>
+<a name="L345"></a><tt class="py-lineno"> 345</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-108', 'log', 'link-6');">log</a></tt><tt class="py-op">(</tt> <tt class="py-name">logStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-109', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">"onos&gt;"</tt><tt class="py-op">,</tt> <tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L349"></a><tt class="py-lineno"> 349</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L350"></a><tt class="py-lineno"> 350</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-110', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt><tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L353"></a><tt class="py-lineno"> 353</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-name">response</tt> </tt>
+<a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L355"></a><tt class="py-lineno"> 355</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">after</tt> </tt>
+<a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L357"></a><tt class="py-lineno"> 357</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
+<a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: do something with i</tt> </tt>
+<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-111', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Command '"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"' sent to "</tt> </tt>
+<a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line">                           <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> </tt>
+<a name="L362"></a><tt class="py-lineno"> 362</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-112', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Raw output"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-113', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L364"></a><tt class="py-lineno"> 364</tt>  <tt class="py-line"> </tt>
+<a name="L365"></a><tt class="py-lineno"> 365</tt>  <tt class="py-line">            <tt class="py-comment"># Remove ANSI color control strings from output</tt> </tt>
+<a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line">            <tt class="py-name">ansiEscape</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt> <tt class="py-string">r'\x1b[^m]*m'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L367"></a><tt class="py-lineno"> 367</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">ansiEscape</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> </tt>
+<a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-114', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": ansiEscape output"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-115', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line"> </tt>
+<a name="L372"></a><tt class="py-lineno"> 372</tt>  <tt class="py-line">            <tt class="py-comment"># Remove extra return chars that get added</tt> </tt>
+<a name="L373"></a><tt class="py-lineno"> 373</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt>  <tt class="py-string">r"\s\r"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> </tt>
+<a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-116', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Removed extra returns "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L376"></a><tt class="py-lineno"> 376</tt>  <tt class="py-line">                                <tt class="py-string">"from output"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-117', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line"> </tt>
+<a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line">            <tt class="py-comment"># Strip excess whitespace</tt> </tt>
+<a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L381"></a><tt class="py-lineno"> 381</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> </tt>
+<a name="L382"></a><tt class="py-lineno"> 382</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-118', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": parsed and stripped output"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L383"></a><tt class="py-lineno"> 383</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-119', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L384"></a><tt class="py-lineno"> 384</tt>  <tt class="py-line"> </tt>
+<a name="L385"></a><tt class="py-lineno"> 385</tt>  <tt class="py-line">            <tt class="py-comment"># parse for just the output, remove the cmd from response</tt> </tt>
+<a name="L386"></a><tt class="py-lineno"> 386</tt>  <tt class="py-line">            <tt id="link-120" class="py-name" targets="Function TestON.bin.cli.output()=TestON.bin.cli-module.html#output"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-120', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> </tt>
+<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-121', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": split output"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">r</tt> <tt class="py-keyword">in</tt> <tt id="link-122" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-122', 'output', 'link-120');">output</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-123', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">r</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L391"></a><tt class="py-lineno"> 391</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-124" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-124', 'output', 'link-120');">output</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L392"></a><tt class="py-lineno"> 392</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt>
+<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-125', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L394"></a><tt class="py-lineno"> 394</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L395"></a><tt class="py-lineno"> 395</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L396"></a><tt class="py-lineno"> 396</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-126', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L398"></a><tt class="py-lineno"> 398</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L399"></a><tt class="py-lineno"> 399</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-127', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-128', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-129', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-130', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L401"></a><tt class="py-lineno"> 401</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-131', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L402"></a><tt class="py-lineno"> 402</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-132', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L404"></a><tt class="py-lineno"> 404</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-133', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L405"></a><tt class="py-lineno"> 405</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-134', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L406"></a><tt class="py-lineno"> 406</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-135', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line"> </tt>
+<a name="L408"></a><tt class="py-lineno"> 408</tt>  <tt class="py-line">    <tt class="py-comment"># IMPORTANT NOTE:</tt> </tt>
+<a name="L409"></a><tt class="py-lineno"> 409</tt>  <tt class="py-line">    <tt class="py-comment"># For all cli commands, naming convention should match</tt> </tt>
+<a name="L410"></a><tt class="py-lineno"> 410</tt>  <tt class="py-line">    <tt class="py-comment"># the cli command changing 'a:b' with 'aB'.</tt> </tt>
+<a name="L411"></a><tt class="py-lineno"> 411</tt>  <tt class="py-line">    <tt class="py-comment"># Ex ) onos:topology &gt; onosTopology</tt> </tt>
+<a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line">    <tt class="py-comment">#    onos:links    &gt; onosLinks</tt> </tt>
+<a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line">    <tt class="py-comment">#    feature:list  &gt; featureList</tt> </tt>
+<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.addNode"></a><div id="OnosCliDriver.addNode-def"><a name="L415"></a><tt class="py-lineno"> 415</tt> <a class="py-toggle" href="#" id="OnosCliDriver.addNode-toggle" onclick="return toggle('OnosCliDriver.addNode');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addNode">addNode</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nodeId</tt><tt class="py-op">,</tt> <tt class="py-param">ONOSIp</tt><tt class="py-op">,</tt> <tt class="py-param">tcpPort</tt><tt class="py-op">=</tt><tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.addNode-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.addNode-expanded"><a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line"><tt class="py-docstring">        Adds a new cluster node by ID and address information.</tt> </tt>
+<a name="L418"></a><tt class="py-lineno"> 418</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line"><tt class="py-docstring">            * nodeId</tt> </tt>
+<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line"><tt class="py-docstring">            * ONOSIp</tt> </tt>
+<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L422"></a><tt class="py-lineno"> 422</tt>  <tt class="py-line"><tt class="py-docstring">            * tcpPort</tt> </tt>
+<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L425"></a><tt class="py-lineno"> 425</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"add-node "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">nodeId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpPort</tt> <tt class="py-op">)</tt> </tt>
+<a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-136', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L428"></a><tt class="py-lineno"> 428</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-137', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-138', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in adding node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-139', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-140', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt> </tt>
+<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-141', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Node "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" added"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L436"></a><tt class="py-lineno"> 436</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-142', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L438"></a><tt class="py-lineno"> 438</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L439"></a><tt class="py-lineno"> 439</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-143', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-144', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-145', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-146', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-147', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-148', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L444"></a><tt class="py-lineno"> 444</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-149', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-150', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L446"></a><tt class="py-lineno"> 446</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-151', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L447"></a><tt class="py-lineno"> 447</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.removeNode"></a><div id="OnosCliDriver.removeNode-def"><a name="L448"></a><tt class="py-lineno"> 448</tt> <a class="py-toggle" href="#" id="OnosCliDriver.removeNode-toggle" onclick="return toggle('OnosCliDriver.removeNode');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#removeNode">removeNode</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nodeId</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.removeNode-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.removeNode-expanded"><a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line"><tt class="py-docstring">        Removes a cluster by ID</tt> </tt>
+<a name="L451"></a><tt class="py-lineno"> 451</tt>  <tt class="py-line"><tt class="py-docstring">        Issues command: 'remove-node [&lt;node-id&gt;]'</tt> </tt>
+<a name="L452"></a><tt class="py-lineno"> 452</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L453"></a><tt class="py-lineno"> 453</tt>  <tt class="py-line"><tt class="py-docstring">            * nodeId</tt> </tt>
+<a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L456"></a><tt class="py-lineno"> 456</tt>  <tt class="py-line"> </tt>
+<a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"remove-node "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">nodeId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-152', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-153', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-154', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in removing node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L461"></a><tt class="py-lineno"> 461</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-155', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-156', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt> </tt>
+<a name="L462"></a><tt class="py-lineno"> 462</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L463"></a><tt class="py-lineno"> 463</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L464"></a><tt class="py-lineno"> 464</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L466"></a><tt class="py-lineno"> 466</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-157', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-158', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-159', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-160', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-161', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L471"></a><tt class="py-lineno"> 471</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-162', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L472"></a><tt class="py-lineno"> 472</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-163', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L473"></a><tt class="py-lineno"> 473</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-164', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-165', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L476"></a><tt class="py-lineno"> 476</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-166', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.nodes"></a><div id="OnosCliDriver.nodes-def"><a name="L478"></a><tt class="py-lineno"> 478</tt> <a class="py-toggle" href="#" id="OnosCliDriver.nodes-toggle" onclick="return toggle('OnosCliDriver.nodes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#nodes">nodes</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.nodes-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.nodes-expanded"><a name="L479"></a><tt class="py-lineno"> 479</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line"><tt class="py-docstring">        List the nodes currently visible</tt> </tt>
+<a name="L481"></a><tt class="py-lineno"> 481</tt>  <tt class="py-line"><tt class="py-docstring">        Issues command: 'nodes'</tt> </tt>
+<a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line"><tt class="py-docstring">        Optional argument:</tt> </tt>
+<a name="L483"></a><tt class="py-lineno"> 483</tt>  <tt class="py-line"><tt class="py-docstring">            * jsonFormat - boolean indicating if you want output in json</tt> </tt>
+<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L485"></a><tt class="py-lineno"> 485</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"nodes"</tt> </tt>
+<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line">            <tt id="link-167" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-167', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-168', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L490"></a><tt class="py-lineno"> 490</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-169" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-169', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-170', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L494"></a><tt class="py-lineno"> 494</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-171', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-172', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-173', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-174', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L497"></a><tt class="py-lineno"> 497</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-175', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-176', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-177', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-178', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-179', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.topology"></a><div id="OnosCliDriver.topology-def"><a name="L504"></a><tt class="py-lineno"> 504</tt> <a class="py-toggle" href="#" id="OnosCliDriver.topology-toggle" onclick="return toggle('OnosCliDriver.topology');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topology">topology</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.topology-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.topology-expanded"><a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line"><tt class="py-docstring">        Definition:</tt> </tt>
+<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line"><tt class="py-docstring">            Returns the output of topology command.</tt> </tt>
+<a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line"><tt class="py-docstring">        Return:</tt> </tt>
+<a name="L509"></a><tt class="py-lineno"> 509</tt>  <tt class="py-line"><tt class="py-docstring">            topology = current ONOS topology</tt> </tt>
+<a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L512"></a><tt class="py-lineno"> 512</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"topology -j"</tt> </tt>
+<a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-180', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-181', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">+</tt> <tt class="py-string">" returned: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L517"></a><tt class="py-lineno"> 517</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-182', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L519"></a><tt class="py-lineno"> 519</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L520"></a><tt class="py-lineno"> 520</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-183', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-184', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L521"></a><tt class="py-lineno"> 521</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-185', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-186', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L522"></a><tt class="py-lineno"> 522</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-187', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-188', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-189', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-190', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L527"></a><tt class="py-lineno"> 527</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-191', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.featureInstall"></a><div id="OnosCliDriver.featureInstall-def"><a name="L529"></a><tt class="py-lineno"> 529</tt> <a class="py-toggle" href="#" id="OnosCliDriver.featureInstall-toggle" onclick="return toggle('OnosCliDriver.featureInstall');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#featureInstall">featureInstall</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">featureStr</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.featureInstall-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.featureInstall-expanded"><a name="L530"></a><tt class="py-lineno"> 530</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line"><tt class="py-docstring">        Installs a specified feature by issuing command:</tt> </tt>
+<a name="L532"></a><tt class="py-lineno"> 532</tt>  <tt class="py-line"><tt class="py-docstring">            'feature:install &lt;feature_str&gt;'</tt> </tt>
+<a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: This is now deprecated, you should use the activateApp method</tt> </tt>
+<a name="L534"></a><tt class="py-lineno"> 534</tt>  <tt class="py-line"><tt class="py-docstring">              instead</tt> </tt>
+<a name="L535"></a><tt class="py-lineno"> 535</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L537"></a><tt class="py-lineno"> 537</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"feature:install "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">featureStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-192', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-193', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-194', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in installing feature"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-195', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-196', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt> </tt>
+<a name="L542"></a><tt class="py-lineno"> 542</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-197', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-198', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-199', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-200', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-201', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-202', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to install feature"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-203', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Exiting test"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-204" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-204', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-205" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-205', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-206', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-207', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to install feature"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-208', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Exiting test"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-209', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-210" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-210', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.featureUninstall"></a><div id="OnosCliDriver.featureUninstall-def"><a name="L562"></a><tt class="py-lineno"> 562</tt> <a class="py-toggle" href="#" id="OnosCliDriver.featureUninstall-toggle" onclick="return toggle('OnosCliDriver.featureUninstall');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#featureUninstall">featureUninstall</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">featureStr</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.featureUninstall-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.featureUninstall-expanded"><a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line"><tt class="py-docstring">        Uninstalls a specified feature by issuing command:</tt> </tt>
+<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line"><tt class="py-docstring">            'feature:uninstall &lt;feature_str&gt;'</tt> </tt>
+<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: This is now deprecated, you should use the deactivateApp method</tt> </tt>
+<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line"><tt class="py-docstring">              instead</tt> </tt>
+<a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L570"></a><tt class="py-lineno"> 570</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">'feature:list -i | grep "'</tt> <tt class="py-op">+</tt> <tt class="py-name">featureStr</tt> <tt class="py-op">+</tt> <tt class="py-string">'"'</tt> </tt>
+<a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-211" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-211', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">handle</tt> <tt class="py-op">!=</tt> <tt class="py-string">''</tt><tt class="py-op">:</tt> </tt>
+<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"feature:uninstall "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">featureStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line">                <tt id="link-212" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-212', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-213', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: Check for possible error responses from karaf</tt> </tt>
+<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-214', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Feature needs to be installed before "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line">                               <tt class="py-string">"uninstalling it"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L580"></a><tt class="py-lineno"> 580</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt id="link-215" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-215', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-216', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-217', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in uninstalling feature"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-218', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-219', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt id="link-220" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-220', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-221', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-222', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-223" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-223', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-224" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-224', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-225" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-225', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-226', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L593"></a><tt class="py-lineno"> 593</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-227', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-228', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-229', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-230" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-230', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.deviceRemove"></a><div id="OnosCliDriver.deviceRemove-def"><a name="L599"></a><tt class="py-lineno"> 599</tt> <a class="py-toggle" href="#" id="OnosCliDriver.deviceRemove-toggle" onclick="return toggle('OnosCliDriver.deviceRemove');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deviceRemove">deviceRemove</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">deviceId</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.deviceRemove-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.deviceRemove-expanded"><a name="L600"></a><tt class="py-lineno"> 600</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line"><tt class="py-docstring">        Removes particular device from storage</tt> </tt>
+<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line"><tt class="py-docstring">        TODO: refactor this function</tt> </tt>
+<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"device-remove "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-231" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-231', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-232" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-232', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-233', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in removing device"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L610"></a><tt class="py-lineno"> 610</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-234" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-234', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-235', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt> </tt>
+<a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L612"></a><tt class="py-lineno"> 612</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L614"></a><tt class="py-lineno"> 614</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-236" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-236', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L616"></a><tt class="py-lineno"> 616</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-237', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-238', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-239" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-239', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-240" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-240', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-241" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-241', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-242', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-243', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-244', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-245" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-245', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.devices"></a><div id="OnosCliDriver.devices-def"><a name="L627"></a><tt class="py-lineno"> 627</tt> <a class="py-toggle" href="#" id="OnosCliDriver.devices-toggle" onclick="return toggle('OnosCliDriver.devices');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#devices">devices</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.devices-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.devices-expanded"><a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line"><tt class="py-docstring">        Lists all infrastructure devices or switches</tt> </tt>
+<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line"><tt class="py-docstring">        Optional argument:</tt> </tt>
+<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line"><tt class="py-docstring">            * jsonFormat - boolean indicating if you want output in json</tt> </tt>
+<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L634"></a><tt class="py-lineno"> 634</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"devices"</tt> </tt>
+<a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-246" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-246', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L638"></a><tt class="py-lineno"> 638</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-247" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-247', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-248', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-249" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-249', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-250" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-250', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-251" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-251', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-252" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-252', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-253" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-253', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-254" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-254', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-255" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-255', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-256" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-256', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.balanceMasters"></a><div id="OnosCliDriver.balanceMasters-def"><a name="L652"></a><tt class="py-lineno"> 652</tt> <a class="py-toggle" href="#" id="OnosCliDriver.balanceMasters-toggle" onclick="return toggle('OnosCliDriver.balanceMasters');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#balanceMasters">balanceMasters</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.balanceMasters-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.balanceMasters-expanded"><a name="L653"></a><tt class="py-lineno"> 653</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line"><tt class="py-docstring">        This balances the devices across all controllers</tt> </tt>
+<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line"><tt class="py-docstring">        by issuing command: 'onos&gt; onos:balance-masters'</tt> </tt>
+<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line"><tt class="py-docstring">        If required this could be extended to return devices balanced output.</tt> </tt>
+<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos:balance-masters"</tt> </tt>
+<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-257" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-257', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-258" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-258', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-259" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-259', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in balancing masters"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L663"></a><tt class="py-lineno"> 663</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-260" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-260', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-261" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-261', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt> </tt>
+<a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-262', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-263" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-263', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-264" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-264', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-265" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-265', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-266" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-266', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-267" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-267', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-268" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-268', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-269" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-269', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-270" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-270', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-271" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-271', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.checkMasters"></a><div id="OnosCliDriver.checkMasters-def"><a name="L680"></a><tt class="py-lineno"> 680</tt> <a class="py-toggle" href="#" id="OnosCliDriver.checkMasters-toggle" onclick="return toggle('OnosCliDriver.checkMasters');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkMasters">checkMasters</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt>  <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.checkMasters-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.checkMasters-expanded"><a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line"><tt class="py-docstring">            Returns the output of the masters command.</tt> </tt>
+<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line"><tt class="py-docstring">            Optional argument:</tt> </tt>
+<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line"><tt class="py-docstring">                * jsonFormat - boolean indicating if you want output in json</tt> </tt>
+<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos:masters"</tt> </tt>
+<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line">            <tt id="link-272" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-272', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-273" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-273', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-274" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-274', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L692"></a><tt class="py-lineno"> 692</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-275" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-275', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-276" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-276', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-277" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-277', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-278" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-278', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-279" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-279', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-280" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-280', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-281" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-281', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-282', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-283" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-283', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-284" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-284', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.checkBalanceMasters"></a><div id="OnosCliDriver.checkBalanceMasters-def"><a name="L705"></a><tt class="py-lineno"> 705</tt> <a class="py-toggle" href="#" id="OnosCliDriver.checkBalanceMasters-toggle" onclick="return toggle('OnosCliDriver.checkBalanceMasters');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkBalanceMasters">checkBalanceMasters</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.checkBalanceMasters-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.checkBalanceMasters-expanded"><a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line"><tt class="py-docstring">            Uses the master command to check that the devices' leadership</tt> </tt>
+<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line"><tt class="py-docstring">            is evenly divided</tt> </tt>
+<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line"><tt class="py-docstring">            Dependencies: checkMasters() and summary()</tt> </tt>
+<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.True if the devices are balanced</tt> </tt>
+<a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.False if the devices are unbalanced</tt> </tt>
+<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line"><tt class="py-docstring">            Exits on Exception</tt> </tt>
+<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line"><tt class="py-docstring">            Returns None on TypeError</tt> </tt>
+<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line">            <tt class="py-name">totalDevices</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-285" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.summary()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#summary"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.summary" class="py-name" href="#" onclick="return doclink('link-285', 'summary', 'link-285');">summary</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-string">"devices"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line">            <tt class="py-name">totalOwnedDevices</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line">            <tt class="py-name">masters</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-286" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkMasters()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkMasters"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkMasters" class="py-name" href="#" onclick="return doclink('link-286', 'checkMasters', 'link-286');">checkMasters</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line">            <tt class="py-name">first</tt> <tt class="py-op">=</tt> <tt class="py-name">masters</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">"size"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">master</tt> <tt class="py-keyword">in</tt> <tt class="py-name">masters</tt><tt class="py-op">:</tt> </tt>
+<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line">                <tt class="py-name">totalOwnedDevices</tt> <tt class="py-op">+=</tt> <tt class="py-name">master</tt><tt class="py-op">[</tt> <tt class="py-string">"size"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">master</tt><tt class="py-op">[</tt> <tt class="py-string">"size"</tt> <tt class="py-op">]</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">first</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-keyword">or</tt> <tt class="py-name">master</tt><tt class="py-op">[</tt> <tt class="py-string">"size"</tt> <tt class="py-op">]</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">first</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-287" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-287', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-288', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Mastership not balanced"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-289" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-289', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-290" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkMasters" class="py-name" href="#" onclick="return doclink('link-290', 'checkMasters', 'link-286');">checkMasters</a></tt><tt class="py-op">(</tt> <tt class="py-name">False</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L727"></a><tt class="py-lineno"> 727</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-291" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-291', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Mastership balanced between "</tt> \ </tt>
+<a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line">                            <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">masters</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" masters"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-292', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-293" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-293', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-294" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-294', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-295" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-295', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-296" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-296', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-297" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-297', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-298" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-298', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L739"></a><tt class="py-lineno"> 739</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-299" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-299', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-300" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-300', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-301" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-301', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.links"></a><div id="OnosCliDriver.links-def"><a name="L744"></a><tt class="py-lineno"> 744</tt> <a class="py-toggle" href="#" id="OnosCliDriver.links-toggle" onclick="return toggle('OnosCliDriver.links');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#links">links</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.links-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.links-expanded"><a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line"><tt class="py-docstring">        Lists all core links</tt> </tt>
+<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line"><tt class="py-docstring">        Optional argument:</tt> </tt>
+<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line"><tt class="py-docstring">            * jsonFormat - boolean indicating if you want output in json</tt> </tt>
+<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"links"</tt> </tt>
+<a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-302" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-302', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-303" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-303', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-304" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-304', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-305" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-305', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-306" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-306', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-307', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-308" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-308', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-309" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-309', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-310" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-310', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-311" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-311', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-312" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-312', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.ports"></a><div id="OnosCliDriver.ports-def"><a name="L769"></a><tt class="py-lineno"> 769</tt> <a class="py-toggle" href="#" id="OnosCliDriver.ports-toggle" onclick="return toggle('OnosCliDriver.ports');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#ports">ports</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.ports-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.ports-expanded"><a name="L770"></a><tt class="py-lineno"> 770</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line"><tt class="py-docstring">        Lists all ports</tt> </tt>
+<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line"><tt class="py-docstring">        Optional argument:</tt> </tt>
+<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line"><tt class="py-docstring">            * jsonFormat - boolean indicating if you want output in json</tt> </tt>
+<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"ports"</tt> </tt>
+<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-313" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-313', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L781"></a><tt class="py-lineno"> 781</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-314" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-314', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-315" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-315', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-316" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-316', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-317" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-317', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-318" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-318', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-319" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-319', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-320" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-320', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-321" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-321', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-322', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-323" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-323', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.roles"></a><div id="OnosCliDriver.roles-def"><a name="L794"></a><tt class="py-lineno"> 794</tt> <a class="py-toggle" href="#" id="OnosCliDriver.roles-toggle" onclick="return toggle('OnosCliDriver.roles');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#roles">roles</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.roles-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.roles-expanded"><a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line"><tt class="py-docstring">        Lists all devices and the controllers with roles assigned to them</tt> </tt>
+<a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line"><tt class="py-docstring">        Optional argument:</tt> </tt>
+<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line"><tt class="py-docstring">            * jsonFormat - boolean indicating if you want output in json</tt> </tt>
+<a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"roles"</tt> </tt>
+<a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-324" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-324', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-325" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-325', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-326" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-326', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-327" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-327', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-328" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-328', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-329" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-329', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-330" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-330', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-331" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-331', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-332" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-332', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-333" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-333', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-334" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-334', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.getRole"></a><div id="OnosCliDriver.getRole-def"><a name="L819"></a><tt class="py-lineno"> 819</tt> <a class="py-toggle" href="#" id="OnosCliDriver.getRole-toggle" onclick="return toggle('OnosCliDriver.getRole');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getRole">getRole</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">deviceId</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.getRole-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.getRole-expanded"><a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line"><tt class="py-docstring">        Given the a string containing the json representation of the "roles"</tt> </tt>
+<a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line"><tt class="py-docstring">        cli command and a partial or whole device id, returns a json object</tt> </tt>
+<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line"><tt class="py-docstring">        containing the roles output for the first device whose id contains</tt> </tt>
+<a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line"><tt class="py-docstring">        "device_id"</tt> </tt>
+<a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line"><tt class="py-docstring">        A dict of the role assignments for the given device or</tt> </tt>
+<a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line"><tt class="py-docstring">        None if no match</tt> </tt>
+<a name="L829"></a><tt class="py-lineno"> 829</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">deviceId</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line">                <tt class="py-name">rawRoles</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-335" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.roles()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#roles"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.roles" class="py-name" href="#" onclick="return doclink('link-335', 'roles', 'link-335');">roles</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line">                <tt class="py-name">rolesJson</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">rawRoles</tt> <tt class="py-op">)</tt> </tt>
+<a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line">                <tt class="py-comment"># search json for the device with id then return the device</tt> </tt>
+<a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">device</tt> <tt class="py-keyword">in</tt> <tt class="py-name">rolesJson</tt><tt class="py-op">:</tt> </tt>
+<a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line">                    <tt class="py-comment"># print device</tt> </tt>
+<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt> <tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">device</tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line">                        <tt class="py-keyword">return</tt> <tt class="py-name">device</tt> </tt>
+<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-336" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-336', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-337" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-337', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-338" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-338', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-339" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-339', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-340" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-340', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-341" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-341', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-342" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-342', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-343" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-343', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-344" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-344', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-345" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-345', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.rolesNotNull"></a><div id="OnosCliDriver.rolesNotNull-def"><a name="L855"></a><tt class="py-lineno"> 855</tt> <a class="py-toggle" href="#" id="OnosCliDriver.rolesNotNull-toggle" onclick="return toggle('OnosCliDriver.rolesNotNull');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#rolesNotNull">rolesNotNull</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.rolesNotNull-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.rolesNotNull-expanded"><a name="L856"></a><tt class="py-lineno"> 856</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line"><tt class="py-docstring">        Iterates through each device and checks if there is a master assigned</tt> </tt>
+<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line"><tt class="py-docstring">        Returns: main.TRUE if each device has a master</tt> </tt>
+<a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line"><tt class="py-docstring">                 main.FALSE any device has no master</tt> </tt>
+<a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line">            <tt class="py-name">rawRoles</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-346" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.roles" class="py-name" href="#" onclick="return doclink('link-346', 'roles', 'link-335');">roles</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line">            <tt class="py-name">rolesJson</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">rawRoles</tt> <tt class="py-op">)</tt> </tt>
+<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">            <tt class="py-comment"># search json for the device with id then return the device</tt> </tt>
+<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">device</tt> <tt class="py-keyword">in</tt> <tt class="py-name">rolesJson</tt><tt class="py-op">:</tt> </tt>
+<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line">                <tt class="py-comment"># print device</tt> </tt>
+<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">device</tt><tt class="py-op">[</tt> <tt class="py-string">'master'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"none"</tt><tt class="py-op">:</tt> </tt>
+<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-347" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-347', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Device has no master: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">device</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line"> </tt>
+<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-348" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-348', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L874"></a><tt class="py-lineno"> 874</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L876"></a><tt class="py-lineno"> 876</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-349" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-349', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-350" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-350', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-351" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-351', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-352" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-352', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-353" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-353', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-354" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-354', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-355" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-355', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-356" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-356', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-357" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-357', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.paths"></a><div id="OnosCliDriver.paths-def"><a name="L885"></a><tt class="py-lineno"> 885</tt> <a class="py-toggle" href="#" id="OnosCliDriver.paths-toggle" onclick="return toggle('OnosCliDriver.paths');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#paths">paths</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">srcId</tt><tt class="py-op">,</tt> <tt class="py-param">dstId</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.paths-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.paths-expanded"><a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line"><tt class="py-docstring">        Returns string of paths, and the cost.</tt> </tt>
+<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line"><tt class="py-docstring">        Issues command: onos:paths &lt;src&gt; &lt;dst&gt;</tt> </tt>
+<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos:paths "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">srcId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dstId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-358" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-358', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-359" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-359', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-360" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-360', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting paths"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-op">(</tt> <tt class="py-name">handle</tt><tt class="py-op">,</tt> <tt class="py-string">"Error"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line">                <tt id="link-361" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-361', 'path', 'link-361');">path</a></tt> <tt class="py-op">=</tt> <tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">";"</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line">                <tt class="py-name">cost</tt> <tt class="py-op">=</tt> <tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">";"</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-op">(</tt> <tt id="link-362" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-362', 'path', 'link-361');">path</a></tt><tt class="py-op">,</tt> <tt class="py-name">cost</tt> <tt class="py-op">)</tt> </tt>
+<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-363" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-363', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-op">(</tt> <tt class="py-name">handle</tt><tt class="py-op">,</tt> <tt class="py-string">"Error"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-364" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-364', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-365" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-365', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-366" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-366', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-367" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-367', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L906"></a><tt class="py-lineno"> 906</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-368" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-368', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-369" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-369', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-370" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-370', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-371" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-371', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-372" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-372', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.hosts"></a><div id="OnosCliDriver.hosts-def"><a name="L913"></a><tt class="py-lineno"> 913</tt> <a class="py-toggle" href="#" id="OnosCliDriver.hosts-toggle" onclick="return toggle('OnosCliDriver.hosts');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#hosts">hosts</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.hosts-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.hosts-expanded"><a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line"><tt class="py-docstring">        Lists all discovered hosts</tt> </tt>
+<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line"><tt class="py-docstring">        Optional argument:</tt> </tt>
+<a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line"><tt class="py-docstring">            * jsonFormat - boolean indicating if you want output in json</tt> </tt>
+<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L919"></a><tt class="py-lineno"> 919</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"hosts"</tt> </tt>
+<a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-373" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-373', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-374" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-374', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-375" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-375', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-376" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-376', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-377" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-377', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-378" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-378', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-379" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-379', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-380" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-380', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-381" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-381', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L935"></a><tt class="py-lineno"> 935</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-382" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-382', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-383" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-383', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.getHost"></a><div id="OnosCliDriver.getHost-def"><a name="L938"></a><tt class="py-lineno"> 938</tt> <a class="py-toggle" href="#" id="OnosCliDriver.getHost-toggle" onclick="return toggle('OnosCliDriver.getHost');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getHost">getHost</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">mac</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.getHost-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.getHost-expanded"><a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line"><tt class="py-docstring">        Return the first host from the hosts api whose 'id' contains 'mac'</tt> </tt>
+<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line"><tt class="py-docstring">        Note: mac must be a colon separated mac address, but could be a</tt> </tt>
+<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line"><tt class="py-docstring">              partial mac address</tt> </tt>
+<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line"><tt class="py-docstring">        Return None if there is no match</tt> </tt>
+<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L947"></a><tt class="py-lineno"> 947</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">mac</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line">                <tt class="py-name">mac</tt> <tt class="py-op">=</tt> <tt class="py-name">mac</tt> </tt>
+<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line">                <tt class="py-name">rawHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-384" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#hosts,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#hosts"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-384', 'hosts', 'link-384');">hosts</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line">                <tt class="py-name">hostsJson</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">rawHosts</tt> <tt class="py-op">)</tt> </tt>
+<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line">                <tt class="py-comment"># search json for the host with mac then return the device</tt> </tt>
+<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">host</tt> <tt class="py-keyword">in</tt> <tt class="py-name">hostsJson</tt><tt class="py-op">:</tt> </tt>
+<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line">                    <tt class="py-comment"># print "%s in  %s?" % ( mac, host[ 'id' ] )</tt> </tt>
+<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">host</tt><tt class="py-op">:</tt> </tt>
+<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line">                        <tt class="py-keyword">pass</tt> </tt>
+<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">mac</tt> <tt class="py-keyword">in</tt> <tt class="py-name">host</tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line">                        <tt class="py-keyword">return</tt> <tt class="py-name">host</tt> </tt>
+<a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L963"></a><tt class="py-lineno"> 963</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-385" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-385', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-386" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-386', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-387" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-387', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-388" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-388', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-389" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-389', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-390" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-390', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L969"></a><tt class="py-lineno"> 969</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-391" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-391', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-392" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-392', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-393" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-393', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-394" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-394', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.getHostsId"></a><div id="OnosCliDriver.getHostsId-def"><a name="L975"></a><tt class="py-lineno"> 975</tt> <a class="py-toggle" href="#" id="OnosCliDriver.getHostsId-toggle" onclick="return toggle('OnosCliDriver.getHostsId');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getHostsId">getHostsId</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hostList</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.getHostsId-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.getHostsId-expanded"><a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line"><tt class="py-docstring">        Obtain list of hosts</tt> </tt>
+<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line"><tt class="py-docstring">        Issues command: 'onos&gt; hosts'</tt> </tt>
+<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line"><tt class="py-docstring">            * hostList: List of hosts obtained by Mininet</tt> </tt>
+<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line"><tt class="py-docstring">        IMPORTANT:</tt> </tt>
+<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line"><tt class="py-docstring">            This function assumes that you started your</tt> </tt>
+<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line"><tt class="py-docstring">            topology with the option '--mac'.</tt> </tt>
+<a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line"><tt class="py-docstring">            Furthermore, it assumes that value of VLAN is '-1'</tt> </tt>
+<a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line"><tt class="py-docstring">            Converts mininet hosts ( h1, h2, h3... ) into</tt> </tt>
+<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line"><tt class="py-docstring">            ONOS format ( 00:00:00:00:00:01/-1 , ... )</tt> </tt>
+<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line">            <tt class="py-name">onosHostList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line"> </tt>
+<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">host</tt> <tt class="py-keyword">in</tt> <tt class="py-name">hostList</tt><tt class="py-op">:</tt> </tt>
+<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line">                <tt class="py-name">host</tt> <tt class="py-op">=</tt> <tt class="py-name">host</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"h"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line">                <tt class="py-name">hostHex</tt> <tt class="py-op">=</tt> <tt class="py-name">hex</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">12</tt> <tt class="py-op">)</tt> </tt>
+<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line">                <tt class="py-name">hostHex</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hostHex</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'0'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">iter</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hostHex</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line">                <tt class="py-name">hostHex</tt> <tt class="py-op">=</tt> <tt class="py-string">":"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt> <tt class="py-name">a</tt> <tt class="py-op">+</tt> <tt class="py-name">b</tt> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt> <tt class="py-keyword">in</tt> <tt class="py-name">zip</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line">                <tt class="py-name">hostHex</tt> <tt class="py-op">=</tt> <tt class="py-name">hostHex</tt> <tt class="py-op">+</tt> <tt class="py-string">"/-1"</tt> </tt>
+<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line">                <tt class="py-name">onosHostList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">hostHex</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line"> </tt>
+<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">onosHostList</tt> </tt>
+<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line"> </tt>
+<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-395" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-395', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1008"></a><tt class="py-lineno">1008</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-396" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-396', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-397" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-397', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-398" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-398', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-399" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-399', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-400" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-400', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-401" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-401', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-402" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-402', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-403" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-403', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-404" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-404', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.addHostIntent"></a><div id="OnosCliDriver.addHostIntent-def"><a name="L1017"></a><tt class="py-lineno">1017</tt> <a class="py-toggle" href="#" id="OnosCliDriver.addHostIntent-toggle" onclick="return toggle('OnosCliDriver.addHostIntent');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addHostIntent">addHostIntent</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">hostIdOne</tt><tt class="py-op">,</tt> <tt class="py-param">hostIdTwo</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.addHostIntent-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.addHostIntent-expanded"><a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line"><tt class="py-docstring">            * hostIdOne: ONOS host id for host1</tt> </tt>
+<a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line"><tt class="py-docstring">            * hostIdTwo: ONOS host id for host2</tt> </tt>
+<a name="L1022"></a><tt class="py-lineno">1022</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1023"></a><tt class="py-lineno">1023</tt>  <tt class="py-line"><tt class="py-docstring">            Adds a host-to-host intent ( bidirectional ) by</tt> </tt>
+<a name="L1024"></a><tt class="py-lineno">1024</tt>  <tt class="py-line"><tt class="py-docstring">            specifying the two hosts.</tt> </tt>
+<a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line"><tt class="py-docstring">            A string of the intent id or None on Error</tt> </tt>
+<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"add-host-intent "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hostIdOne</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line">                <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hostIdTwo</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-405" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-405', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-406" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-406', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-407" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-407', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in adding Host intent"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-408" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-408', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Response from ONOS was: "</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1035"></a><tt class="py-lineno">1035</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-409" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-409', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Host intent installed between "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hostIdOne</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" and "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hostIdTwo</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line">                <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">'id=0x([\da-f]+),'</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt><tt class="py-op">)</tt> </tt>
+<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">match</tt><tt class="py-op">:</tt> </tt>
+<a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-410" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-410', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-411" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-411', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, intent ID not found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1044"></a><tt class="py-lineno">1044</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-412" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-412', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Response from ONOS was: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1045"></a><tt class="py-lineno">1045</tt>  <tt class="py-line">                                    <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-413" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-413', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1051"></a><tt class="py-lineno">1051</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-414" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-414', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-415" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-415', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-416" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-416', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-417" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-417', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1053"></a><tt class="py-lineno">1053</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-418" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-418', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-419" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-419', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-420" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-420', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-421" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-421', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-422" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-422', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.addOpticalIntent"></a><div id="OnosCliDriver.addOpticalIntent-def"><a name="L1060"></a><tt class="py-lineno">1060</tt> <a class="py-toggle" href="#" id="OnosCliDriver.addOpticalIntent-toggle" onclick="return toggle('OnosCliDriver.addOpticalIntent');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addOpticalIntent">addOpticalIntent</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ingressDevice</tt><tt class="py-op">,</tt> <tt class="py-param">egressDevice</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.addOpticalIntent-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.addOpticalIntent-expanded"><a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1062"></a><tt class="py-lineno">1062</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line"><tt class="py-docstring">            * ingressDevice: device id of ingress device</tt> </tt>
+<a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line"><tt class="py-docstring">            * egressDevice: device id of egress device</tt> </tt>
+<a name="L1065"></a><tt class="py-lineno">1065</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L1066"></a><tt class="py-lineno">1066</tt>  <tt class="py-line"><tt class="py-docstring">            TODO: Still needs to be implemented via dev side</tt> </tt>
+<a name="L1067"></a><tt class="py-lineno">1067</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1068"></a><tt class="py-lineno">1068</tt>  <tt class="py-line"><tt class="py-docstring">            Adds an optical intent by specifying an ingress and egress device</tt> </tt>
+<a name="L1069"></a><tt class="py-lineno">1069</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L1070"></a><tt class="py-lineno">1070</tt>  <tt class="py-line"><tt class="py-docstring">            A string of the intent id or None on error</tt> </tt>
+<a name="L1071"></a><tt class="py-lineno">1071</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1072"></a><tt class="py-lineno">1072</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1073"></a><tt class="py-lineno">1073</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"add-optical-intent "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ingressDevice</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1074"></a><tt class="py-lineno">1074</tt>  <tt class="py-line">                <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">egressDevice</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-423" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-423', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1076"></a><tt class="py-lineno">1076</tt>  <tt class="py-line">            <tt class="py-comment"># If error, return error message</tt> </tt>
+<a name="L1077"></a><tt class="py-lineno">1077</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-424" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-424', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-425" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-425', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in adding Optical intent"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1081"></a><tt class="py-lineno">1081</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-426" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-426', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Optical intent installed between "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ingressDevice</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" and "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">egressDevice</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line">                <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">'id=0x([\da-f]+),'</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt><tt class="py-op">)</tt> </tt>
+<a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">match</tt><tt class="py-op">:</tt> </tt>
+<a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L1087"></a><tt class="py-lineno">1087</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-427" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-427', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-428" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-428', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, intent ID not found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1090"></a><tt class="py-lineno">1090</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1091"></a><tt class="py-lineno">1091</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-429" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-429', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1092"></a><tt class="py-lineno">1092</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1093"></a><tt class="py-lineno">1093</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1094"></a><tt class="py-lineno">1094</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-430" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-430', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-431" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-431', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1095"></a><tt class="py-lineno">1095</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-432" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-432', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-433" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-433', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1096"></a><tt class="py-lineno">1096</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-434" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-434', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1097"></a><tt class="py-lineno">1097</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-435" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-435', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1098"></a><tt class="py-lineno">1098</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1099"></a><tt class="py-lineno">1099</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-436" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-436', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1100"></a><tt class="py-lineno">1100</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-437" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-437', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1101"></a><tt class="py-lineno">1101</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-438" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-438', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1102"></a><tt class="py-lineno">1102</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.addPointIntent"></a><div id="OnosCliDriver.addPointIntent-def"><a name="L1103"></a><tt class="py-lineno">1103</tt> <a class="py-toggle" href="#" id="OnosCliDriver.addPointIntent-toggle" onclick="return toggle('OnosCliDriver.addPointIntent');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addPointIntent">addPointIntent</a><tt class="py-op">(</tt> </tt>
+<a name="L1104"></a><tt class="py-lineno">1104</tt>  <tt class="py-line">            <tt class="py-param">self</tt><tt class="py-op">,</tt> </tt>
+<a name="L1105"></a><tt class="py-lineno">1105</tt>  <tt class="py-line">            <tt class="py-param">ingressDevice</tt><tt class="py-op">,</tt> </tt>
+<a name="L1106"></a><tt class="py-lineno">1106</tt>  <tt class="py-line">            <tt class="py-param">egressDevice</tt><tt class="py-op">,</tt> </tt>
+<a name="L1107"></a><tt class="py-lineno">1107</tt>  <tt class="py-line">            <tt class="py-param">portIngress</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1108"></a><tt class="py-lineno">1108</tt>  <tt class="py-line">            <tt class="py-param">portEgress</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1109"></a><tt class="py-lineno">1109</tt>  <tt class="py-line">            <tt class="py-param">ethType</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1110"></a><tt class="py-lineno">1110</tt>  <tt class="py-line">            <tt class="py-param">ethSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1111"></a><tt class="py-lineno">1111</tt>  <tt class="py-line">            <tt class="py-param">ethDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1112"></a><tt class="py-lineno">1112</tt>  <tt class="py-line">            <tt class="py-param">bandwidth</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1113"></a><tt class="py-lineno">1113</tt>  <tt class="py-line">            <tt class="py-param">lambdaAlloc</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L1114"></a><tt class="py-lineno">1114</tt>  <tt class="py-line">            <tt class="py-param">ipProto</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1115"></a><tt class="py-lineno">1115</tt>  <tt class="py-line">            <tt class="py-param">ipSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1116"></a><tt class="py-lineno">1116</tt>  <tt class="py-line">            <tt class="py-param">ipDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1117"></a><tt class="py-lineno">1117</tt>  <tt class="py-line">            <tt class="py-param">tcpSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1118"></a><tt class="py-lineno">1118</tt>  <tt class="py-line">            <tt class="py-param">tcpDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.addPointIntent-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.addPointIntent-expanded"><a name="L1119"></a><tt class="py-lineno">1119</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1120"></a><tt class="py-lineno">1120</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L1121"></a><tt class="py-lineno">1121</tt>  <tt class="py-line"><tt class="py-docstring">            * ingressDevice: device id of ingress device</tt> </tt>
+<a name="L1122"></a><tt class="py-lineno">1122</tt>  <tt class="py-line"><tt class="py-docstring">            * egressDevice: device id of egress device</tt> </tt>
+<a name="L1123"></a><tt class="py-lineno">1123</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L1124"></a><tt class="py-lineno">1124</tt>  <tt class="py-line"><tt class="py-docstring">            * ethType: specify ethType</tt> </tt>
+<a name="L1125"></a><tt class="py-lineno">1125</tt>  <tt class="py-line"><tt class="py-docstring">            * ethSrc: specify ethSrc ( i.e. src mac addr )</tt> </tt>
+<a name="L1126"></a><tt class="py-lineno">1126</tt>  <tt class="py-line"><tt class="py-docstring">            * ethDst: specify ethDst ( i.e. dst mac addr )</tt> </tt>
+<a name="L1127"></a><tt class="py-lineno">1127</tt>  <tt class="py-line"><tt class="py-docstring">            * bandwidth: specify bandwidth capacity of link</tt> </tt>
+<a name="L1128"></a><tt class="py-lineno">1128</tt>  <tt class="py-line"><tt class="py-docstring">            * lambdaAlloc: if True, intent will allocate lambda</tt> </tt>
+<a name="L1129"></a><tt class="py-lineno">1129</tt>  <tt class="py-line"><tt class="py-docstring">              for the specified intent</tt> </tt>
+<a name="L1130"></a><tt class="py-lineno">1130</tt>  <tt class="py-line"><tt class="py-docstring">            * ipProto: specify ip protocol</tt> </tt>
+<a name="L1131"></a><tt class="py-lineno">1131</tt>  <tt class="py-line"><tt class="py-docstring">            * ipSrc: specify ip source address</tt> </tt>
+<a name="L1132"></a><tt class="py-lineno">1132</tt>  <tt class="py-line"><tt class="py-docstring">            * ipDst: specify ip destination address</tt> </tt>
+<a name="L1133"></a><tt class="py-lineno">1133</tt>  <tt class="py-line"><tt class="py-docstring">            * tcpSrc: specify tcp source port</tt> </tt>
+<a name="L1134"></a><tt class="py-lineno">1134</tt>  <tt class="py-line"><tt class="py-docstring">            * tcpDst: specify tcp destination port</tt> </tt>
+<a name="L1135"></a><tt class="py-lineno">1135</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1136"></a><tt class="py-lineno">1136</tt>  <tt class="py-line"><tt class="py-docstring">            Adds a point-to-point intent ( uni-directional ) by</tt> </tt>
+<a name="L1137"></a><tt class="py-lineno">1137</tt>  <tt class="py-line"><tt class="py-docstring">            specifying device id's and optional fields</tt> </tt>
+<a name="L1138"></a><tt class="py-lineno">1138</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L1139"></a><tt class="py-lineno">1139</tt>  <tt class="py-line"><tt class="py-docstring">            A string of the intent id or None on error</tt> </tt>
+<a name="L1140"></a><tt class="py-lineno">1140</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1141"></a><tt class="py-lineno">1141</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: This function may change depending on the</tt> </tt>
+<a name="L1142"></a><tt class="py-lineno">1142</tt>  <tt class="py-line"><tt class="py-docstring">              options developers provide for point-to-point</tt> </tt>
+<a name="L1143"></a><tt class="py-lineno">1143</tt>  <tt class="py-line"><tt class="py-docstring">              intent via cli</tt> </tt>
+<a name="L1144"></a><tt class="py-lineno">1144</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1145"></a><tt class="py-lineno">1145</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1146"></a><tt class="py-lineno">1146</tt>  <tt class="py-line">            <tt class="py-comment"># If there are no optional arguments</tt> </tt>
+<a name="L1147"></a><tt class="py-lineno">1147</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ethType</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ethSrc</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ethDst</tt>\ </tt>
+<a name="L1148"></a><tt class="py-lineno">1148</tt>  <tt class="py-line">                    <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">bandwidth</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">lambdaAlloc</tt> \ </tt>
+<a name="L1149"></a><tt class="py-lineno">1149</tt>  <tt class="py-line">                    <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ipProto</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ipSrc</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ipDst</tt> \ </tt>
+<a name="L1150"></a><tt class="py-lineno">1150</tt>  <tt class="py-line">                    <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tcpSrc</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tcpDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1151"></a><tt class="py-lineno">1151</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"add-point-intent"</tt> </tt>
+<a name="L1152"></a><tt class="py-lineno">1152</tt>  <tt class="py-line"> </tt>
+<a name="L1153"></a><tt class="py-lineno">1153</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1154"></a><tt class="py-lineno">1154</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"add-point-intent"</tt> </tt>
+<a name="L1155"></a><tt class="py-lineno">1155</tt>  <tt class="py-line"> </tt>
+<a name="L1156"></a><tt class="py-lineno">1156</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ethType</tt><tt class="py-op">:</tt> </tt>
+<a name="L1157"></a><tt class="py-lineno">1157</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ethType "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ethType</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1158"></a><tt class="py-lineno">1158</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ethSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1159"></a><tt class="py-lineno">1159</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ethSrc "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ethSrc</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1160"></a><tt class="py-lineno">1160</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ethDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1161"></a><tt class="py-lineno">1161</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ethDst "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ethDst</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1162"></a><tt class="py-lineno">1162</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">bandwidth</tt><tt class="py-op">:</tt> </tt>
+<a name="L1163"></a><tt class="py-lineno">1163</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --bandwidth "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">bandwidth</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1164"></a><tt class="py-lineno">1164</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">lambdaAlloc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1165"></a><tt class="py-lineno">1165</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --lambda "</tt> </tt>
+<a name="L1166"></a><tt class="py-lineno">1166</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ipProto</tt><tt class="py-op">:</tt> </tt>
+<a name="L1167"></a><tt class="py-lineno">1167</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ipProto "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ipProto</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1168"></a><tt class="py-lineno">1168</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ipSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1169"></a><tt class="py-lineno">1169</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ipSrc "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ipSrc</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1170"></a><tt class="py-lineno">1170</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ipDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1171"></a><tt class="py-lineno">1171</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ipDst "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ipDst</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1172"></a><tt class="py-lineno">1172</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">tcpSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1173"></a><tt class="py-lineno">1173</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --tcpSrc "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpSrc</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1174"></a><tt class="py-lineno">1174</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">tcpDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1175"></a><tt class="py-lineno">1175</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --tcpDst "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpDst</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1176"></a><tt class="py-lineno">1176</tt>  <tt class="py-line"> </tt>
+<a name="L1177"></a><tt class="py-lineno">1177</tt>  <tt class="py-line">            <tt class="py-comment"># Check whether the user appended the port</tt> </tt>
+<a name="L1178"></a><tt class="py-lineno">1178</tt>  <tt class="py-line">            <tt class="py-comment"># or provided it as an input</tt> </tt>
+<a name="L1179"></a><tt class="py-lineno">1179</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"/"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ingressDevice</tt><tt class="py-op">:</tt> </tt>
+<a name="L1180"></a><tt class="py-lineno">1180</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ingressDevice</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1181"></a><tt class="py-lineno">1181</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1182"></a><tt class="py-lineno">1182</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">portIngress</tt><tt class="py-op">:</tt> </tt>
+<a name="L1183"></a><tt class="py-lineno">1183</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-439" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-439', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-440" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-440', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"You must specify the ingress port"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1184"></a><tt class="py-lineno">1184</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO: perhaps more meaningful return</tt> </tt>
+<a name="L1185"></a><tt class="py-lineno">1185</tt>  <tt class="py-line">                    <tt class="py-comment">#       Would it make sense to throw an exception and exit</tt> </tt>
+<a name="L1186"></a><tt class="py-lineno">1186</tt>  <tt class="py-line">                    <tt class="py-comment">#       the test?</tt> </tt>
+<a name="L1187"></a><tt class="py-lineno">1187</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1188"></a><tt class="py-lineno">1188</tt>  <tt class="py-line"> </tt>
+<a name="L1189"></a><tt class="py-lineno">1189</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L1190"></a><tt class="py-lineno">1190</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ingressDevice</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1191"></a><tt class="py-lineno">1191</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">portIngress</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L1192"></a><tt class="py-lineno">1192</tt>  <tt class="py-line"> </tt>
+<a name="L1193"></a><tt class="py-lineno">1193</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"/"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">egressDevice</tt><tt class="py-op">:</tt> </tt>
+<a name="L1194"></a><tt class="py-lineno">1194</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">egressDevice</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1195"></a><tt class="py-lineno">1195</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1196"></a><tt class="py-lineno">1196</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">portEgress</tt><tt class="py-op">:</tt> </tt>
+<a name="L1197"></a><tt class="py-lineno">1197</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-441" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-441', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-442" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-442', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"You must specify the egress port"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1198"></a><tt class="py-lineno">1198</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1199"></a><tt class="py-lineno">1199</tt>  <tt class="py-line"> </tt>
+<a name="L1200"></a><tt class="py-lineno">1200</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1201"></a><tt class="py-lineno">1201</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">egressDevice</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1202"></a><tt class="py-lineno">1202</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">portEgress</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1203"></a><tt class="py-lineno">1203</tt>  <tt class="py-line"> </tt>
+<a name="L1204"></a><tt class="py-lineno">1204</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-443" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-443', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1205"></a><tt class="py-lineno">1205</tt>  <tt class="py-line">            <tt class="py-comment"># If error, return error message</tt> </tt>
+<a name="L1206"></a><tt class="py-lineno">1206</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1207"></a><tt class="py-lineno">1207</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-444" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-444', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-445" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-445', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in adding point-to-point intent"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1208"></a><tt class="py-lineno">1208</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1209"></a><tt class="py-lineno">1209</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1210"></a><tt class="py-lineno">1210</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: print out all the options in this message?</tt> </tt>
+<a name="L1211"></a><tt class="py-lineno">1211</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-446" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-446', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Point-to-point intent installed between "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1212"></a><tt class="py-lineno">1212</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ingressDevice</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" and "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1213"></a><tt class="py-lineno">1213</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">egressDevice</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1214"></a><tt class="py-lineno">1214</tt>  <tt class="py-line">                <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">'id=0x([\da-f]+),'</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt><tt class="py-op">)</tt> </tt>
+<a name="L1215"></a><tt class="py-lineno">1215</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">match</tt><tt class="py-op">:</tt> </tt>
+<a name="L1216"></a><tt class="py-lineno">1216</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L1217"></a><tt class="py-lineno">1217</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1218"></a><tt class="py-lineno">1218</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-447" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-447', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-448" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-448', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, intent ID not found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1219"></a><tt class="py-lineno">1219</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1220"></a><tt class="py-lineno">1220</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1221"></a><tt class="py-lineno">1221</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-449" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-449', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1222"></a><tt class="py-lineno">1222</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1223"></a><tt class="py-lineno">1223</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1224"></a><tt class="py-lineno">1224</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-450" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-450', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-451" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-451', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1225"></a><tt class="py-lineno">1225</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-452" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-452', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-453" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-453', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1226"></a><tt class="py-lineno">1226</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-454" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-454', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1227"></a><tt class="py-lineno">1227</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-455" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-455', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1228"></a><tt class="py-lineno">1228</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1229"></a><tt class="py-lineno">1229</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-456" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-456', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1230"></a><tt class="py-lineno">1230</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-457" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-457', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1231"></a><tt class="py-lineno">1231</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-458" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-458', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1232"></a><tt class="py-lineno">1232</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.addMultipointToSinglepointIntent"></a><div id="OnosCliDriver.addMultipointToSinglepointIntent-def"><a name="L1233"></a><tt class="py-lineno">1233</tt> <a class="py-toggle" href="#" id="OnosCliDriver.addMultipointToSinglepointIntent-toggle" onclick="return toggle('OnosCliDriver.addMultipointToSinglepointIntent');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addMultipointToSinglepointIntent">addMultipointToSinglepointIntent</a><tt class="py-op">(</tt> </tt>
+<a name="L1234"></a><tt class="py-lineno">1234</tt>  <tt class="py-line">            <tt class="py-param">self</tt><tt class="py-op">,</tt> </tt>
+<a name="L1235"></a><tt class="py-lineno">1235</tt>  <tt class="py-line">            <tt class="py-param">ingressDeviceList</tt><tt class="py-op">,</tt> </tt>
+<a name="L1236"></a><tt class="py-lineno">1236</tt>  <tt class="py-line">            <tt class="py-param">egressDevice</tt><tt class="py-op">,</tt> </tt>
+<a name="L1237"></a><tt class="py-lineno">1237</tt>  <tt class="py-line">            <tt class="py-param">portIngressList</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1238"></a><tt class="py-lineno">1238</tt>  <tt class="py-line">            <tt class="py-param">portEgress</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1239"></a><tt class="py-lineno">1239</tt>  <tt class="py-line">            <tt class="py-param">ethType</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1240"></a><tt class="py-lineno">1240</tt>  <tt class="py-line">            <tt class="py-param">ethSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1241"></a><tt class="py-lineno">1241</tt>  <tt class="py-line">            <tt class="py-param">ethDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1242"></a><tt class="py-lineno">1242</tt>  <tt class="py-line">            <tt class="py-param">bandwidth</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1243"></a><tt class="py-lineno">1243</tt>  <tt class="py-line">            <tt class="py-param">lambdaAlloc</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L1244"></a><tt class="py-lineno">1244</tt>  <tt class="py-line">            <tt class="py-param">ipProto</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1245"></a><tt class="py-lineno">1245</tt>  <tt class="py-line">            <tt class="py-param">ipSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1246"></a><tt class="py-lineno">1246</tt>  <tt class="py-line">            <tt class="py-param">ipDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1247"></a><tt class="py-lineno">1247</tt>  <tt class="py-line">            <tt class="py-param">tcpSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1248"></a><tt class="py-lineno">1248</tt>  <tt class="py-line">            <tt class="py-param">tcpDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1249"></a><tt class="py-lineno">1249</tt>  <tt class="py-line">            <tt class="py-param">setEthSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1250"></a><tt class="py-lineno">1250</tt>  <tt class="py-line">            <tt class="py-param">setEthDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.addMultipointToSinglepointIntent-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.addMultipointToSinglepointIntent-expanded"><a name="L1251"></a><tt class="py-lineno">1251</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1252"></a><tt class="py-lineno">1252</tt>  <tt class="py-line"><tt class="py-docstring">        Note:</tt> </tt>
+<a name="L1253"></a><tt class="py-lineno">1253</tt>  <tt class="py-line"><tt class="py-docstring">            This function assumes the format of all ingress devices</tt> </tt>
+<a name="L1254"></a><tt class="py-lineno">1254</tt>  <tt class="py-line"><tt class="py-docstring">            is same. That is, all ingress devices include port numbers</tt> </tt>
+<a name="L1255"></a><tt class="py-lineno">1255</tt>  <tt class="py-line"><tt class="py-docstring">            with a "/" or all ingress devices could specify device</tt> </tt>
+<a name="L1256"></a><tt class="py-lineno">1256</tt>  <tt class="py-line"><tt class="py-docstring">            ids and port numbers seperately.</tt> </tt>
+<a name="L1257"></a><tt class="py-lineno">1257</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L1258"></a><tt class="py-lineno">1258</tt>  <tt class="py-line"><tt class="py-docstring">            * ingressDeviceList: List of device ids of ingress device</tt> </tt>
+<a name="L1259"></a><tt class="py-lineno">1259</tt>  <tt class="py-line"><tt class="py-docstring">                ( Atleast 2 ingress devices required in the list )</tt> </tt>
+<a name="L1260"></a><tt class="py-lineno">1260</tt>  <tt class="py-line"><tt class="py-docstring">            * egressDevice: device id of egress device</tt> </tt>
+<a name="L1261"></a><tt class="py-lineno">1261</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L1262"></a><tt class="py-lineno">1262</tt>  <tt class="py-line"><tt class="py-docstring">            * ethType: specify ethType</tt> </tt>
+<a name="L1263"></a><tt class="py-lineno">1263</tt>  <tt class="py-line"><tt class="py-docstring">            * ethSrc: specify ethSrc ( i.e. src mac addr )</tt> </tt>
+<a name="L1264"></a><tt class="py-lineno">1264</tt>  <tt class="py-line"><tt class="py-docstring">            * ethDst: specify ethDst ( i.e. dst mac addr )</tt> </tt>
+<a name="L1265"></a><tt class="py-lineno">1265</tt>  <tt class="py-line"><tt class="py-docstring">            * bandwidth: specify bandwidth capacity of link</tt> </tt>
+<a name="L1266"></a><tt class="py-lineno">1266</tt>  <tt class="py-line"><tt class="py-docstring">            * lambdaAlloc: if True, intent will allocate lambda</tt> </tt>
+<a name="L1267"></a><tt class="py-lineno">1267</tt>  <tt class="py-line"><tt class="py-docstring">              for the specified intent</tt> </tt>
+<a name="L1268"></a><tt class="py-lineno">1268</tt>  <tt class="py-line"><tt class="py-docstring">            * ipProto: specify ip protocol</tt> </tt>
+<a name="L1269"></a><tt class="py-lineno">1269</tt>  <tt class="py-line"><tt class="py-docstring">            * ipSrc: specify ip source address</tt> </tt>
+<a name="L1270"></a><tt class="py-lineno">1270</tt>  <tt class="py-line"><tt class="py-docstring">            * ipDst: specify ip destination address</tt> </tt>
+<a name="L1271"></a><tt class="py-lineno">1271</tt>  <tt class="py-line"><tt class="py-docstring">            * tcpSrc: specify tcp source port</tt> </tt>
+<a name="L1272"></a><tt class="py-lineno">1272</tt>  <tt class="py-line"><tt class="py-docstring">            * tcpDst: specify tcp destination port</tt> </tt>
+<a name="L1273"></a><tt class="py-lineno">1273</tt>  <tt class="py-line"><tt class="py-docstring">            * setEthSrc: action to Rewrite Source MAC Address</tt> </tt>
+<a name="L1274"></a><tt class="py-lineno">1274</tt>  <tt class="py-line"><tt class="py-docstring">            * setEthDst: action to Rewrite Destination MAC Address</tt> </tt>
+<a name="L1275"></a><tt class="py-lineno">1275</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1276"></a><tt class="py-lineno">1276</tt>  <tt class="py-line"><tt class="py-docstring">            Adds a multipoint-to-singlepoint intent ( uni-directional ) by</tt> </tt>
+<a name="L1277"></a><tt class="py-lineno">1277</tt>  <tt class="py-line"><tt class="py-docstring">            specifying device id's and optional fields</tt> </tt>
+<a name="L1278"></a><tt class="py-lineno">1278</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L1279"></a><tt class="py-lineno">1279</tt>  <tt class="py-line"><tt class="py-docstring">            A string of the intent id or None on error</tt> </tt>
+<a name="L1280"></a><tt class="py-lineno">1280</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1281"></a><tt class="py-lineno">1281</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: This function may change depending on the</tt> </tt>
+<a name="L1282"></a><tt class="py-lineno">1282</tt>  <tt class="py-line"><tt class="py-docstring">              options developers provide for multipoint-to-singlepoint</tt> </tt>
+<a name="L1283"></a><tt class="py-lineno">1283</tt>  <tt class="py-line"><tt class="py-docstring">              intent via cli</tt> </tt>
+<a name="L1284"></a><tt class="py-lineno">1284</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1285"></a><tt class="py-lineno">1285</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1286"></a><tt class="py-lineno">1286</tt>  <tt class="py-line">            <tt class="py-comment"># If there are no optional arguments</tt> </tt>
+<a name="L1287"></a><tt class="py-lineno">1287</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ethType</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ethSrc</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ethDst</tt>\ </tt>
+<a name="L1288"></a><tt class="py-lineno">1288</tt>  <tt class="py-line">                    <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">bandwidth</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">lambdaAlloc</tt>\ </tt>
+<a name="L1289"></a><tt class="py-lineno">1289</tt>  <tt class="py-line">                    <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ipProto</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ipSrc</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ipDst</tt>\ </tt>
+<a name="L1290"></a><tt class="py-lineno">1290</tt>  <tt class="py-line">                    <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tcpSrc</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tcpDst</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">setEthSrc</tt>\ </tt>
+<a name="L1291"></a><tt class="py-lineno">1291</tt>  <tt class="py-line">                    <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">setEthDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1292"></a><tt class="py-lineno">1292</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"add-multi-to-single-intent"</tt> </tt>
+<a name="L1293"></a><tt class="py-lineno">1293</tt>  <tt class="py-line"> </tt>
+<a name="L1294"></a><tt class="py-lineno">1294</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1295"></a><tt class="py-lineno">1295</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"add-multi-to-single-intent"</tt> </tt>
+<a name="L1296"></a><tt class="py-lineno">1296</tt>  <tt class="py-line"> </tt>
+<a name="L1297"></a><tt class="py-lineno">1297</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ethType</tt><tt class="py-op">:</tt> </tt>
+<a name="L1298"></a><tt class="py-lineno">1298</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ethType "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ethType</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1299"></a><tt class="py-lineno">1299</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ethSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1300"></a><tt class="py-lineno">1300</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ethSrc "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ethSrc</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1301"></a><tt class="py-lineno">1301</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ethDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1302"></a><tt class="py-lineno">1302</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ethDst "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ethDst</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1303"></a><tt class="py-lineno">1303</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">bandwidth</tt><tt class="py-op">:</tt> </tt>
+<a name="L1304"></a><tt class="py-lineno">1304</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --bandwidth "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">bandwidth</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1305"></a><tt class="py-lineno">1305</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">lambdaAlloc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1306"></a><tt class="py-lineno">1306</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --lambda "</tt> </tt>
+<a name="L1307"></a><tt class="py-lineno">1307</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ipProto</tt><tt class="py-op">:</tt> </tt>
+<a name="L1308"></a><tt class="py-lineno">1308</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ipProto "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ipProto</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1309"></a><tt class="py-lineno">1309</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ipSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1310"></a><tt class="py-lineno">1310</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ipSrc "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ipSrc</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1311"></a><tt class="py-lineno">1311</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ipDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1312"></a><tt class="py-lineno">1312</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ipDst "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ipDst</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1313"></a><tt class="py-lineno">1313</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">tcpSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1314"></a><tt class="py-lineno">1314</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --tcpSrc "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpSrc</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1315"></a><tt class="py-lineno">1315</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">tcpDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1316"></a><tt class="py-lineno">1316</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --tcpDst "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpDst</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1317"></a><tt class="py-lineno">1317</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">setEthSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1318"></a><tt class="py-lineno">1318</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --setEthSrc "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setEthSrc</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1319"></a><tt class="py-lineno">1319</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">setEthDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1320"></a><tt class="py-lineno">1320</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --setEthDst "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setEthDst</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1321"></a><tt class="py-lineno">1321</tt>  <tt class="py-line"> </tt>
+<a name="L1322"></a><tt class="py-lineno">1322</tt>  <tt class="py-line">            <tt class="py-comment"># Check whether the user appended the port</tt> </tt>
+<a name="L1323"></a><tt class="py-lineno">1323</tt>  <tt class="py-line">            <tt class="py-comment"># or provided it as an input</tt> </tt>
+<a name="L1324"></a><tt class="py-lineno">1324</tt>  <tt class="py-line"> </tt>
+<a name="L1325"></a><tt class="py-lineno">1325</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">portIngressList</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1326"></a><tt class="py-lineno">1326</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">ingressDevice</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ingressDeviceList</tt><tt class="py-op">:</tt> </tt>
+<a name="L1327"></a><tt class="py-lineno">1327</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-string">"/"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ingressDevice</tt><tt class="py-op">:</tt> </tt>
+<a name="L1328"></a><tt class="py-lineno">1328</tt>  <tt class="py-line">                        <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ingressDevice</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1329"></a><tt class="py-lineno">1329</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1330"></a><tt class="py-lineno">1330</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-459" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-459', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-460" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-460', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"You must specify "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1331"></a><tt class="py-lineno">1331</tt>  <tt class="py-line">                                        <tt class="py-string">"the ingress port"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1332"></a><tt class="py-lineno">1332</tt>  <tt class="py-line">                        <tt class="py-comment"># TODO: perhaps more meaningful return</tt> </tt>
+<a name="L1333"></a><tt class="py-lineno">1333</tt>  <tt class="py-line">                        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1334"></a><tt class="py-lineno">1334</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1335"></a><tt class="py-lineno">1335</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">ingressDeviceList</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">portIngressList</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1336"></a><tt class="py-lineno">1336</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">ingressDevice</tt><tt class="py-op">,</tt> <tt class="py-name">portIngress</tt> <tt class="py-keyword">in</tt> <tt class="py-name">zip</tt><tt class="py-op">(</tt> <tt class="py-name">ingressDeviceList</tt><tt class="py-op">,</tt> </tt>
+<a name="L1337"></a><tt class="py-lineno">1337</tt>  <tt class="py-line">                                                           <tt class="py-name">portIngressList</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1338"></a><tt class="py-lineno">1338</tt>  <tt class="py-line">                        <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L1339"></a><tt class="py-lineno">1339</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ingressDevice</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1340"></a><tt class="py-lineno">1340</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">portIngress</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L1341"></a><tt class="py-lineno">1341</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1342"></a><tt class="py-lineno">1342</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-461" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-461', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-462" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-462', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Device list and port list does not "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1343"></a><tt class="py-lineno">1343</tt>  <tt class="py-line">                                    <tt class="py-string">"have the same length"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1344"></a><tt class="py-lineno">1344</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1345"></a><tt class="py-lineno">1345</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"/"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">egressDevice</tt><tt class="py-op">:</tt> </tt>
+<a name="L1346"></a><tt class="py-lineno">1346</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">egressDevice</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1347"></a><tt class="py-lineno">1347</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1348"></a><tt class="py-lineno">1348</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">portEgress</tt><tt class="py-op">:</tt> </tt>
+<a name="L1349"></a><tt class="py-lineno">1349</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-463" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-463', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-464" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-464', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"You must specify "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1350"></a><tt class="py-lineno">1350</tt>  <tt class="py-line">                                    <tt class="py-string">"the egress port"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1351"></a><tt class="py-lineno">1351</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1352"></a><tt class="py-lineno">1352</tt>  <tt class="py-line"> </tt>
+<a name="L1353"></a><tt class="py-lineno">1353</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1354"></a><tt class="py-lineno">1354</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">egressDevice</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1355"></a><tt class="py-lineno">1355</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">portEgress</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1356"></a><tt class="py-lineno">1356</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-465" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-465', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1357"></a><tt class="py-lineno">1357</tt>  <tt class="py-line">            <tt class="py-comment"># If error, return error message</tt> </tt>
+<a name="L1358"></a><tt class="py-lineno">1358</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1359"></a><tt class="py-lineno">1359</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-466" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-466', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-467" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-467', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in adding multipoint-to-singlepoint "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1360"></a><tt class="py-lineno">1360</tt>  <tt class="py-line">                                <tt class="py-string">"intent"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1361"></a><tt class="py-lineno">1361</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1362"></a><tt class="py-lineno">1362</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1363"></a><tt class="py-lineno">1363</tt>  <tt class="py-line">                <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">'id=0x([\da-f]+),'</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt><tt class="py-op">)</tt> </tt>
+<a name="L1364"></a><tt class="py-lineno">1364</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">match</tt><tt class="py-op">:</tt> </tt>
+<a name="L1365"></a><tt class="py-lineno">1365</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L1366"></a><tt class="py-lineno">1366</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1367"></a><tt class="py-lineno">1367</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-468" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-468', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-469" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-469', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, intent ID not found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1368"></a><tt class="py-lineno">1368</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1369"></a><tt class="py-lineno">1369</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1370"></a><tt class="py-lineno">1370</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-470" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-470', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1371"></a><tt class="py-lineno">1371</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1372"></a><tt class="py-lineno">1372</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1373"></a><tt class="py-lineno">1373</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-471" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-471', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-472" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-472', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1374"></a><tt class="py-lineno">1374</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-473" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-473', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-474" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-474', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1375"></a><tt class="py-lineno">1375</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-475" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-475', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1376"></a><tt class="py-lineno">1376</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-476" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-476', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1377"></a><tt class="py-lineno">1377</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1378"></a><tt class="py-lineno">1378</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-477" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-477', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1379"></a><tt class="py-lineno">1379</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-478" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-478', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1380"></a><tt class="py-lineno">1380</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-479" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-479', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1381"></a><tt class="py-lineno">1381</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.addSinglepointToMultipointIntent"></a><div id="OnosCliDriver.addSinglepointToMultipointIntent-def"><a name="L1382"></a><tt class="py-lineno">1382</tt> <a class="py-toggle" href="#" id="OnosCliDriver.addSinglepointToMultipointIntent-toggle" onclick="return toggle('OnosCliDriver.addSinglepointToMultipointIntent');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addSinglepointToMultipointIntent">addSinglepointToMultipointIntent</a><tt class="py-op">(</tt> </tt>
+<a name="L1383"></a><tt class="py-lineno">1383</tt>  <tt class="py-line">            <tt class="py-param">self</tt><tt class="py-op">,</tt> </tt>
+<a name="L1384"></a><tt class="py-lineno">1384</tt>  <tt class="py-line">            <tt class="py-param">ingressDevice</tt><tt class="py-op">,</tt> </tt>
+<a name="L1385"></a><tt class="py-lineno">1385</tt>  <tt class="py-line">            <tt class="py-param">egressDeviceList</tt><tt class="py-op">,</tt> </tt>
+<a name="L1386"></a><tt class="py-lineno">1386</tt>  <tt class="py-line">            <tt class="py-param">portIngress</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1387"></a><tt class="py-lineno">1387</tt>  <tt class="py-line">            <tt class="py-param">portEgressList</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1388"></a><tt class="py-lineno">1388</tt>  <tt class="py-line">            <tt class="py-param">ethType</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1389"></a><tt class="py-lineno">1389</tt>  <tt class="py-line">            <tt class="py-param">ethSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1390"></a><tt class="py-lineno">1390</tt>  <tt class="py-line">            <tt class="py-param">ethDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1391"></a><tt class="py-lineno">1391</tt>  <tt class="py-line">            <tt class="py-param">bandwidth</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1392"></a><tt class="py-lineno">1392</tt>  <tt class="py-line">            <tt class="py-param">lambdaAlloc</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L1393"></a><tt class="py-lineno">1393</tt>  <tt class="py-line">            <tt class="py-param">ipProto</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1394"></a><tt class="py-lineno">1394</tt>  <tt class="py-line">            <tt class="py-param">ipSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1395"></a><tt class="py-lineno">1395</tt>  <tt class="py-line">            <tt class="py-param">ipDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1396"></a><tt class="py-lineno">1396</tt>  <tt class="py-line">            <tt class="py-param">tcpSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1397"></a><tt class="py-lineno">1397</tt>  <tt class="py-line">            <tt class="py-param">tcpDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1398"></a><tt class="py-lineno">1398</tt>  <tt class="py-line">            <tt class="py-param">setEthSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1399"></a><tt class="py-lineno">1399</tt>  <tt class="py-line">            <tt class="py-param">setEthDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.addSinglepointToMultipointIntent-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.addSinglepointToMultipointIntent-expanded"><a name="L1400"></a><tt class="py-lineno">1400</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1401"></a><tt class="py-lineno">1401</tt>  <tt class="py-line"><tt class="py-docstring">        Note:</tt> </tt>
+<a name="L1402"></a><tt class="py-lineno">1402</tt>  <tt class="py-line"><tt class="py-docstring">            This function assumes the format of all egress devices</tt> </tt>
+<a name="L1403"></a><tt class="py-lineno">1403</tt>  <tt class="py-line"><tt class="py-docstring">            is same. That is, all egress devices include port numbers</tt> </tt>
+<a name="L1404"></a><tt class="py-lineno">1404</tt>  <tt class="py-line"><tt class="py-docstring">            with a "/" or all egress devices could specify device</tt> </tt>
+<a name="L1405"></a><tt class="py-lineno">1405</tt>  <tt class="py-line"><tt class="py-docstring">            ids and port numbers seperately.</tt> </tt>
+<a name="L1406"></a><tt class="py-lineno">1406</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L1407"></a><tt class="py-lineno">1407</tt>  <tt class="py-line"><tt class="py-docstring">            * EgressDeviceList: List of device ids of egress device</tt> </tt>
+<a name="L1408"></a><tt class="py-lineno">1408</tt>  <tt class="py-line"><tt class="py-docstring">                ( Atleast 2 eress devices required in the list )</tt> </tt>
+<a name="L1409"></a><tt class="py-lineno">1409</tt>  <tt class="py-line"><tt class="py-docstring">            * ingressDevice: device id of ingress device</tt> </tt>
+<a name="L1410"></a><tt class="py-lineno">1410</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L1411"></a><tt class="py-lineno">1411</tt>  <tt class="py-line"><tt class="py-docstring">            * ethType: specify ethType</tt> </tt>
+<a name="L1412"></a><tt class="py-lineno">1412</tt>  <tt class="py-line"><tt class="py-docstring">            * ethSrc: specify ethSrc ( i.e. src mac addr )</tt> </tt>
+<a name="L1413"></a><tt class="py-lineno">1413</tt>  <tt class="py-line"><tt class="py-docstring">            * ethDst: specify ethDst ( i.e. dst mac addr )</tt> </tt>
+<a name="L1414"></a><tt class="py-lineno">1414</tt>  <tt class="py-line"><tt class="py-docstring">            * bandwidth: specify bandwidth capacity of link</tt> </tt>
+<a name="L1415"></a><tt class="py-lineno">1415</tt>  <tt class="py-line"><tt class="py-docstring">            * lambdaAlloc: if True, intent will allocate lambda</tt> </tt>
+<a name="L1416"></a><tt class="py-lineno">1416</tt>  <tt class="py-line"><tt class="py-docstring">              for the specified intent</tt> </tt>
+<a name="L1417"></a><tt class="py-lineno">1417</tt>  <tt class="py-line"><tt class="py-docstring">            * ipProto: specify ip protocol</tt> </tt>
+<a name="L1418"></a><tt class="py-lineno">1418</tt>  <tt class="py-line"><tt class="py-docstring">            * ipSrc: specify ip source address</tt> </tt>
+<a name="L1419"></a><tt class="py-lineno">1419</tt>  <tt class="py-line"><tt class="py-docstring">            * ipDst: specify ip destination address</tt> </tt>
+<a name="L1420"></a><tt class="py-lineno">1420</tt>  <tt class="py-line"><tt class="py-docstring">            * tcpSrc: specify tcp source port</tt> </tt>
+<a name="L1421"></a><tt class="py-lineno">1421</tt>  <tt class="py-line"><tt class="py-docstring">            * tcpDst: specify tcp destination port</tt> </tt>
+<a name="L1422"></a><tt class="py-lineno">1422</tt>  <tt class="py-line"><tt class="py-docstring">            * setEthSrc: action to Rewrite Source MAC Address</tt> </tt>
+<a name="L1423"></a><tt class="py-lineno">1423</tt>  <tt class="py-line"><tt class="py-docstring">            * setEthDst: action to Rewrite Destination MAC Address</tt> </tt>
+<a name="L1424"></a><tt class="py-lineno">1424</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1425"></a><tt class="py-lineno">1425</tt>  <tt class="py-line"><tt class="py-docstring">            Adds a singlepoint-to-multipoint intent ( uni-directional ) by</tt> </tt>
+<a name="L1426"></a><tt class="py-lineno">1426</tt>  <tt class="py-line"><tt class="py-docstring">            specifying device id's and optional fields</tt> </tt>
+<a name="L1427"></a><tt class="py-lineno">1427</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L1428"></a><tt class="py-lineno">1428</tt>  <tt class="py-line"><tt class="py-docstring">            A string of the intent id or None on error</tt> </tt>
+<a name="L1429"></a><tt class="py-lineno">1429</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1430"></a><tt class="py-lineno">1430</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: This function may change depending on the</tt> </tt>
+<a name="L1431"></a><tt class="py-lineno">1431</tt>  <tt class="py-line"><tt class="py-docstring">              options developers provide for singlepoint-to-multipoint</tt> </tt>
+<a name="L1432"></a><tt class="py-lineno">1432</tt>  <tt class="py-line"><tt class="py-docstring">              intent via cli</tt> </tt>
+<a name="L1433"></a><tt class="py-lineno">1433</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1434"></a><tt class="py-lineno">1434</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1435"></a><tt class="py-lineno">1435</tt>  <tt class="py-line">            <tt class="py-comment"># If there are no optional arguments</tt> </tt>
+<a name="L1436"></a><tt class="py-lineno">1436</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ethType</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ethSrc</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ethDst</tt>\ </tt>
+<a name="L1437"></a><tt class="py-lineno">1437</tt>  <tt class="py-line">                    <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">bandwidth</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">lambdaAlloc</tt>\ </tt>
+<a name="L1438"></a><tt class="py-lineno">1438</tt>  <tt class="py-line">                    <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ipProto</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ipSrc</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ipDst</tt>\ </tt>
+<a name="L1439"></a><tt class="py-lineno">1439</tt>  <tt class="py-line">                    <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tcpSrc</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tcpDst</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">setEthSrc</tt>\ </tt>
+<a name="L1440"></a><tt class="py-lineno">1440</tt>  <tt class="py-line">                    <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">setEthDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1441"></a><tt class="py-lineno">1441</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"add-single-to-multi-intent"</tt> </tt>
+<a name="L1442"></a><tt class="py-lineno">1442</tt>  <tt class="py-line"> </tt>
+<a name="L1443"></a><tt class="py-lineno">1443</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1444"></a><tt class="py-lineno">1444</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"add-single-to-multi-intent"</tt> </tt>
+<a name="L1445"></a><tt class="py-lineno">1445</tt>  <tt class="py-line"> </tt>
+<a name="L1446"></a><tt class="py-lineno">1446</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ethType</tt><tt class="py-op">:</tt> </tt>
+<a name="L1447"></a><tt class="py-lineno">1447</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ethType "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ethType</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1448"></a><tt class="py-lineno">1448</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ethSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1449"></a><tt class="py-lineno">1449</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ethSrc "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ethSrc</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1450"></a><tt class="py-lineno">1450</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ethDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1451"></a><tt class="py-lineno">1451</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ethDst "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ethDst</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1452"></a><tt class="py-lineno">1452</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">bandwidth</tt><tt class="py-op">:</tt> </tt>
+<a name="L1453"></a><tt class="py-lineno">1453</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --bandwidth "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">bandwidth</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1454"></a><tt class="py-lineno">1454</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">lambdaAlloc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1455"></a><tt class="py-lineno">1455</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --lambda "</tt> </tt>
+<a name="L1456"></a><tt class="py-lineno">1456</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ipProto</tt><tt class="py-op">:</tt> </tt>
+<a name="L1457"></a><tt class="py-lineno">1457</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ipProto "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ipProto</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1458"></a><tt class="py-lineno">1458</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ipSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1459"></a><tt class="py-lineno">1459</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ipSrc "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ipSrc</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1460"></a><tt class="py-lineno">1460</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ipDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1461"></a><tt class="py-lineno">1461</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ipDst "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ipDst</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1462"></a><tt class="py-lineno">1462</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">tcpSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1463"></a><tt class="py-lineno">1463</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --tcpSrc "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpSrc</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1464"></a><tt class="py-lineno">1464</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">tcpDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1465"></a><tt class="py-lineno">1465</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --tcpDst "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpDst</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1466"></a><tt class="py-lineno">1466</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">setEthSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1467"></a><tt class="py-lineno">1467</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --setEthSrc "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setEthSrc</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1468"></a><tt class="py-lineno">1468</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">setEthDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1469"></a><tt class="py-lineno">1469</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --setEthDst "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setEthDst</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1470"></a><tt class="py-lineno">1470</tt>  <tt class="py-line"> </tt>
+<a name="L1471"></a><tt class="py-lineno">1471</tt>  <tt class="py-line">            <tt class="py-comment"># Check whether the user appended the port</tt> </tt>
+<a name="L1472"></a><tt class="py-lineno">1472</tt>  <tt class="py-line">            <tt class="py-comment"># or provided it as an input</tt> </tt>
+<a name="L1473"></a><tt class="py-lineno">1473</tt>  <tt class="py-line"> </tt>
+<a name="L1474"></a><tt class="py-lineno">1474</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"/"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ingressDevice</tt><tt class="py-op">:</tt> </tt>
+<a name="L1475"></a><tt class="py-lineno">1475</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ingressDevice</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1476"></a><tt class="py-lineno">1476</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1477"></a><tt class="py-lineno">1477</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">portIngress</tt><tt class="py-op">:</tt> </tt>
+<a name="L1478"></a><tt class="py-lineno">1478</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-480" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-480', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-481" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-481', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"You must specify "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1479"></a><tt class="py-lineno">1479</tt>  <tt class="py-line">                                    <tt class="py-string">"the Ingress port"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1480"></a><tt class="py-lineno">1480</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1481"></a><tt class="py-lineno">1481</tt>  <tt class="py-line"> </tt>
+<a name="L1482"></a><tt class="py-lineno">1482</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1483"></a><tt class="py-lineno">1483</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ingressDevice</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1484"></a><tt class="py-lineno">1484</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">portIngress</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1485"></a><tt class="py-lineno">1485</tt>  <tt class="py-line"> </tt>
+<a name="L1486"></a><tt class="py-lineno">1486</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">portEgressList</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1487"></a><tt class="py-lineno">1487</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">egressDevice</tt> <tt class="py-keyword">in</tt> <tt class="py-name">egressDeviceList</tt><tt class="py-op">:</tt> </tt>
+<a name="L1488"></a><tt class="py-lineno">1488</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-string">"/"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">egressDevice</tt><tt class="py-op">:</tt> </tt>
+<a name="L1489"></a><tt class="py-lineno">1489</tt>  <tt class="py-line">                        <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">egressDevice</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1490"></a><tt class="py-lineno">1490</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1491"></a><tt class="py-lineno">1491</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-482" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-482', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-483" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-483', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"You must specify "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1492"></a><tt class="py-lineno">1492</tt>  <tt class="py-line">                                        <tt class="py-string">"the egress port"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1493"></a><tt class="py-lineno">1493</tt>  <tt class="py-line">                        <tt class="py-comment"># TODO: perhaps more meaningful return</tt> </tt>
+<a name="L1494"></a><tt class="py-lineno">1494</tt>  <tt class="py-line">                        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1495"></a><tt class="py-lineno">1495</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1496"></a><tt class="py-lineno">1496</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">egressDeviceList</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">portEgressList</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1497"></a><tt class="py-lineno">1497</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">egressDevice</tt><tt class="py-op">,</tt> <tt class="py-name">portEgress</tt> <tt class="py-keyword">in</tt> <tt class="py-name">zip</tt><tt class="py-op">(</tt> <tt class="py-name">egressDeviceList</tt><tt class="py-op">,</tt> </tt>
+<a name="L1498"></a><tt class="py-lineno">1498</tt>  <tt class="py-line">                                                         <tt class="py-name">portEgressList</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1499"></a><tt class="py-lineno">1499</tt>  <tt class="py-line">                        <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L1500"></a><tt class="py-lineno">1500</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">egressDevice</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1501"></a><tt class="py-lineno">1501</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">portEgress</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1502"></a><tt class="py-lineno">1502</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1503"></a><tt class="py-lineno">1503</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-484" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-484', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-485" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-485', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Device list and port list does not "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1504"></a><tt class="py-lineno">1504</tt>  <tt class="py-line">                                    <tt class="py-string">"have the same length"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1505"></a><tt class="py-lineno">1505</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1506"></a><tt class="py-lineno">1506</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-486" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-486', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1507"></a><tt class="py-lineno">1507</tt>  <tt class="py-line">            <tt class="py-comment"># If error, return error message</tt> </tt>
+<a name="L1508"></a><tt class="py-lineno">1508</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1509"></a><tt class="py-lineno">1509</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-487" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-487', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-488" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-488', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in adding singlepoint-to-multipoint "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1510"></a><tt class="py-lineno">1510</tt>  <tt class="py-line">                                <tt class="py-string">"intent"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1511"></a><tt class="py-lineno">1511</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1512"></a><tt class="py-lineno">1512</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1513"></a><tt class="py-lineno">1513</tt>  <tt class="py-line">                <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">'id=0x([\da-f]+),'</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt><tt class="py-op">)</tt> </tt>
+<a name="L1514"></a><tt class="py-lineno">1514</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">match</tt><tt class="py-op">:</tt> </tt>
+<a name="L1515"></a><tt class="py-lineno">1515</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L1516"></a><tt class="py-lineno">1516</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1517"></a><tt class="py-lineno">1517</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-489" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-489', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-490" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-490', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, intent ID not found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1518"></a><tt class="py-lineno">1518</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1519"></a><tt class="py-lineno">1519</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1520"></a><tt class="py-lineno">1520</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-491" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-491', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1521"></a><tt class="py-lineno">1521</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1522"></a><tt class="py-lineno">1522</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1523"></a><tt class="py-lineno">1523</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-492" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-492', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-493" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-493', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1524"></a><tt class="py-lineno">1524</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-494" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-494', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-495" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-495', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1525"></a><tt class="py-lineno">1525</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-496" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-496', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1526"></a><tt class="py-lineno">1526</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-497" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-497', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1527"></a><tt class="py-lineno">1527</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1528"></a><tt class="py-lineno">1528</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-498" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-498', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1529"></a><tt class="py-lineno">1529</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-499" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-499', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1530"></a><tt class="py-lineno">1530</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-500" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-500', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1531"></a><tt class="py-lineno">1531</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.addMplsIntent"></a><div id="OnosCliDriver.addMplsIntent-def"><a name="L1532"></a><tt class="py-lineno">1532</tt> <a class="py-toggle" href="#" id="OnosCliDriver.addMplsIntent-toggle" onclick="return toggle('OnosCliDriver.addMplsIntent');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addMplsIntent">addMplsIntent</a><tt class="py-op">(</tt> </tt>
+<a name="L1533"></a><tt class="py-lineno">1533</tt>  <tt class="py-line">            <tt class="py-param">self</tt><tt class="py-op">,</tt> </tt>
+<a name="L1534"></a><tt class="py-lineno">1534</tt>  <tt class="py-line">            <tt class="py-param">ingressDevice</tt><tt class="py-op">,</tt> </tt>
+<a name="L1535"></a><tt class="py-lineno">1535</tt>  <tt class="py-line">            <tt class="py-param">egressDevice</tt><tt class="py-op">,</tt> </tt>
+<a name="L1536"></a><tt class="py-lineno">1536</tt>  <tt class="py-line">            <tt class="py-param">ingressPort</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1537"></a><tt class="py-lineno">1537</tt>  <tt class="py-line">            <tt class="py-param">egressPort</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1538"></a><tt class="py-lineno">1538</tt>  <tt class="py-line">            <tt class="py-param">ethType</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1539"></a><tt class="py-lineno">1539</tt>  <tt class="py-line">            <tt class="py-param">ethSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1540"></a><tt class="py-lineno">1540</tt>  <tt class="py-line">            <tt class="py-param">ethDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1541"></a><tt class="py-lineno">1541</tt>  <tt class="py-line">            <tt class="py-param">bandwidth</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1542"></a><tt class="py-lineno">1542</tt>  <tt class="py-line">            <tt class="py-param">lambdaAlloc</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L1543"></a><tt class="py-lineno">1543</tt>  <tt class="py-line">            <tt class="py-param">ipProto</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1544"></a><tt class="py-lineno">1544</tt>  <tt class="py-line">            <tt class="py-param">ipSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1545"></a><tt class="py-lineno">1545</tt>  <tt class="py-line">            <tt class="py-param">ipDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1546"></a><tt class="py-lineno">1546</tt>  <tt class="py-line">            <tt class="py-param">tcpSrc</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1547"></a><tt class="py-lineno">1547</tt>  <tt class="py-line">            <tt class="py-param">tcpDst</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1548"></a><tt class="py-lineno">1548</tt>  <tt class="py-line">            <tt class="py-param">ingressLabel</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1549"></a><tt class="py-lineno">1549</tt>  <tt class="py-line">            <tt class="py-param">egressLabel</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1550"></a><tt class="py-lineno">1550</tt>  <tt class="py-line">            <tt class="py-param">priority</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.addMplsIntent-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.addMplsIntent-expanded"><a name="L1551"></a><tt class="py-lineno">1551</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1552"></a><tt class="py-lineno">1552</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L1553"></a><tt class="py-lineno">1553</tt>  <tt class="py-line"><tt class="py-docstring">            * ingressDevice: device id of ingress device</tt> </tt>
+<a name="L1554"></a><tt class="py-lineno">1554</tt>  <tt class="py-line"><tt class="py-docstring">            * egressDevice: device id of egress device</tt> </tt>
+<a name="L1555"></a><tt class="py-lineno">1555</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L1556"></a><tt class="py-lineno">1556</tt>  <tt class="py-line"><tt class="py-docstring">            * ethType: specify ethType</tt> </tt>
+<a name="L1557"></a><tt class="py-lineno">1557</tt>  <tt class="py-line"><tt class="py-docstring">            * ethSrc: specify ethSrc ( i.e. src mac addr )</tt> </tt>
+<a name="L1558"></a><tt class="py-lineno">1558</tt>  <tt class="py-line"><tt class="py-docstring">            * ethDst: specify ethDst ( i.e. dst mac addr )</tt> </tt>
+<a name="L1559"></a><tt class="py-lineno">1559</tt>  <tt class="py-line"><tt class="py-docstring">            * bandwidth: specify bandwidth capacity of link</tt> </tt>
+<a name="L1560"></a><tt class="py-lineno">1560</tt>  <tt class="py-line"><tt class="py-docstring">            * lambdaAlloc: if True, intent will allocate lambda</tt> </tt>
+<a name="L1561"></a><tt class="py-lineno">1561</tt>  <tt class="py-line"><tt class="py-docstring">              for the specified intent</tt> </tt>
+<a name="L1562"></a><tt class="py-lineno">1562</tt>  <tt class="py-line"><tt class="py-docstring">            * ipProto: specify ip protocol</tt> </tt>
+<a name="L1563"></a><tt class="py-lineno">1563</tt>  <tt class="py-line"><tt class="py-docstring">            * ipSrc: specify ip source address</tt> </tt>
+<a name="L1564"></a><tt class="py-lineno">1564</tt>  <tt class="py-line"><tt class="py-docstring">            * ipDst: specify ip destination address</tt> </tt>
+<a name="L1565"></a><tt class="py-lineno">1565</tt>  <tt class="py-line"><tt class="py-docstring">            * tcpSrc: specify tcp source port</tt> </tt>
+<a name="L1566"></a><tt class="py-lineno">1566</tt>  <tt class="py-line"><tt class="py-docstring">            * tcpDst: specify tcp destination port</tt> </tt>
+<a name="L1567"></a><tt class="py-lineno">1567</tt>  <tt class="py-line"><tt class="py-docstring">            * ingressLabel: Ingress MPLS label</tt> </tt>
+<a name="L1568"></a><tt class="py-lineno">1568</tt>  <tt class="py-line"><tt class="py-docstring">            * egressLabel: Egress MPLS label</tt> </tt>
+<a name="L1569"></a><tt class="py-lineno">1569</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1570"></a><tt class="py-lineno">1570</tt>  <tt class="py-line"><tt class="py-docstring">            Adds MPLS intent by</tt> </tt>
+<a name="L1571"></a><tt class="py-lineno">1571</tt>  <tt class="py-line"><tt class="py-docstring">            specifying device id's and optional fields</tt> </tt>
+<a name="L1572"></a><tt class="py-lineno">1572</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L1573"></a><tt class="py-lineno">1573</tt>  <tt class="py-line"><tt class="py-docstring">            A string of the intent id or None on error</tt> </tt>
+<a name="L1574"></a><tt class="py-lineno">1574</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1575"></a><tt class="py-lineno">1575</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: This function may change depending on the</tt> </tt>
+<a name="L1576"></a><tt class="py-lineno">1576</tt>  <tt class="py-line"><tt class="py-docstring">              options developers provide for MPLS</tt> </tt>
+<a name="L1577"></a><tt class="py-lineno">1577</tt>  <tt class="py-line"><tt class="py-docstring">              intent via cli</tt> </tt>
+<a name="L1578"></a><tt class="py-lineno">1578</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1579"></a><tt class="py-lineno">1579</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1580"></a><tt class="py-lineno">1580</tt>  <tt class="py-line">            <tt class="py-comment"># If there are no optional arguments</tt> </tt>
+<a name="L1581"></a><tt class="py-lineno">1581</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ethType</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ethSrc</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ethDst</tt>\ </tt>
+<a name="L1582"></a><tt class="py-lineno">1582</tt>  <tt class="py-line">                    <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">bandwidth</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">lambdaAlloc</tt> \ </tt>
+<a name="L1583"></a><tt class="py-lineno">1583</tt>  <tt class="py-line">                    <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ipProto</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ipSrc</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ipDst</tt> \ </tt>
+<a name="L1584"></a><tt class="py-lineno">1584</tt>  <tt class="py-line">                    <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tcpSrc</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tcpDst</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ingressLabel</tt> \ </tt>
+<a name="L1585"></a><tt class="py-lineno">1585</tt>  <tt class="py-line">                    <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">egressLabel</tt><tt class="py-op">:</tt> </tt>
+<a name="L1586"></a><tt class="py-lineno">1586</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"add-mpls-intent"</tt> </tt>
+<a name="L1587"></a><tt class="py-lineno">1587</tt>  <tt class="py-line"> </tt>
+<a name="L1588"></a><tt class="py-lineno">1588</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1589"></a><tt class="py-lineno">1589</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"add-mpls-intent"</tt> </tt>
+<a name="L1590"></a><tt class="py-lineno">1590</tt>  <tt class="py-line"> </tt>
+<a name="L1591"></a><tt class="py-lineno">1591</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ethType</tt><tt class="py-op">:</tt> </tt>
+<a name="L1592"></a><tt class="py-lineno">1592</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ethType "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ethType</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1593"></a><tt class="py-lineno">1593</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ethSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1594"></a><tt class="py-lineno">1594</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ethSrc "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ethSrc</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1595"></a><tt class="py-lineno">1595</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ethDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1596"></a><tt class="py-lineno">1596</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ethDst "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ethDst</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1597"></a><tt class="py-lineno">1597</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">bandwidth</tt><tt class="py-op">:</tt> </tt>
+<a name="L1598"></a><tt class="py-lineno">1598</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --bandwidth "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">bandwidth</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1599"></a><tt class="py-lineno">1599</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">lambdaAlloc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1600"></a><tt class="py-lineno">1600</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --lambda "</tt> </tt>
+<a name="L1601"></a><tt class="py-lineno">1601</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ipProto</tt><tt class="py-op">:</tt> </tt>
+<a name="L1602"></a><tt class="py-lineno">1602</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ipProto "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ipProto</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1603"></a><tt class="py-lineno">1603</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ipSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1604"></a><tt class="py-lineno">1604</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ipSrc "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ipSrc</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1605"></a><tt class="py-lineno">1605</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ipDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1606"></a><tt class="py-lineno">1606</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ipDst "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ipDst</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1607"></a><tt class="py-lineno">1607</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">tcpSrc</tt><tt class="py-op">:</tt> </tt>
+<a name="L1608"></a><tt class="py-lineno">1608</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --tcpSrc "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpSrc</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1609"></a><tt class="py-lineno">1609</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">tcpDst</tt><tt class="py-op">:</tt> </tt>
+<a name="L1610"></a><tt class="py-lineno">1610</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --tcpDst "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpDst</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1611"></a><tt class="py-lineno">1611</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ingressLabel</tt><tt class="py-op">:</tt> </tt>
+<a name="L1612"></a><tt class="py-lineno">1612</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --ingressLabel "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ingressLabel</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1613"></a><tt class="py-lineno">1613</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">egressLabel</tt><tt class="py-op">:</tt> </tt>
+<a name="L1614"></a><tt class="py-lineno">1614</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --egressLabel "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">egressLabel</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1615"></a><tt class="py-lineno">1615</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">priority</tt><tt class="py-op">:</tt> </tt>
+<a name="L1616"></a><tt class="py-lineno">1616</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --priority "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">priority</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1617"></a><tt class="py-lineno">1617</tt>  <tt class="py-line"> </tt>
+<a name="L1618"></a><tt class="py-lineno">1618</tt>  <tt class="py-line">            <tt class="py-comment"># Check whether the user appended the port</tt> </tt>
+<a name="L1619"></a><tt class="py-lineno">1619</tt>  <tt class="py-line">            <tt class="py-comment"># or provided it as an input</tt> </tt>
+<a name="L1620"></a><tt class="py-lineno">1620</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"/"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ingressDevice</tt><tt class="py-op">:</tt> </tt>
+<a name="L1621"></a><tt class="py-lineno">1621</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ingressDevice</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1622"></a><tt class="py-lineno">1622</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1623"></a><tt class="py-lineno">1623</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ingressPort</tt><tt class="py-op">:</tt> </tt>
+<a name="L1624"></a><tt class="py-lineno">1624</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-501" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-501', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-502" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-502', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"You must specify the ingress port"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1625"></a><tt class="py-lineno">1625</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1626"></a><tt class="py-lineno">1626</tt>  <tt class="py-line"> </tt>
+<a name="L1627"></a><tt class="py-lineno">1627</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L1628"></a><tt class="py-lineno">1628</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ingressDevice</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1629"></a><tt class="py-lineno">1629</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ingressPort</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L1630"></a><tt class="py-lineno">1630</tt>  <tt class="py-line"> </tt>
+<a name="L1631"></a><tt class="py-lineno">1631</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"/"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">egressDevice</tt><tt class="py-op">:</tt> </tt>
+<a name="L1632"></a><tt class="py-lineno">1632</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">egressDevice</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1633"></a><tt class="py-lineno">1633</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1634"></a><tt class="py-lineno">1634</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">egressPort</tt><tt class="py-op">:</tt> </tt>
+<a name="L1635"></a><tt class="py-lineno">1635</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-503" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-503', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-504" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-504', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"You must specify the egress port"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1636"></a><tt class="py-lineno">1636</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1637"></a><tt class="py-lineno">1637</tt>  <tt class="py-line"> </tt>
+<a name="L1638"></a><tt class="py-lineno">1638</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1639"></a><tt class="py-lineno">1639</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">egressDevice</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1640"></a><tt class="py-lineno">1640</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">egressPort</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1641"></a><tt class="py-lineno">1641</tt>  <tt class="py-line"> </tt>
+<a name="L1642"></a><tt class="py-lineno">1642</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-505" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-505', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1643"></a><tt class="py-lineno">1643</tt>  <tt class="py-line">            <tt class="py-comment"># If error, return error message</tt> </tt>
+<a name="L1644"></a><tt class="py-lineno">1644</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1645"></a><tt class="py-lineno">1645</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-506" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-506', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-507" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-507', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in adding mpls intent"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1646"></a><tt class="py-lineno">1646</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1647"></a><tt class="py-lineno">1647</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1648"></a><tt class="py-lineno">1648</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: print out all the options in this message?</tt> </tt>
+<a name="L1649"></a><tt class="py-lineno">1649</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-508" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-508', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"MPLS intent installed between "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1650"></a><tt class="py-lineno">1650</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ingressDevice</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" and "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1651"></a><tt class="py-lineno">1651</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">egressDevice</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1652"></a><tt class="py-lineno">1652</tt>  <tt class="py-line">                <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">'id=0x([\da-f]+),'</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt><tt class="py-op">)</tt> </tt>
+<a name="L1653"></a><tt class="py-lineno">1653</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">match</tt><tt class="py-op">:</tt> </tt>
+<a name="L1654"></a><tt class="py-lineno">1654</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L1655"></a><tt class="py-lineno">1655</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1656"></a><tt class="py-lineno">1656</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-509" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-509', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-510" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-510', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, intent ID not found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1657"></a><tt class="py-lineno">1657</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1658"></a><tt class="py-lineno">1658</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1659"></a><tt class="py-lineno">1659</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-511" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-511', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1660"></a><tt class="py-lineno">1660</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1661"></a><tt class="py-lineno">1661</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1662"></a><tt class="py-lineno">1662</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-512" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-512', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-513" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-513', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1663"></a><tt class="py-lineno">1663</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-514" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-514', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-515" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-515', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1664"></a><tt class="py-lineno">1664</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-516" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-516', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1665"></a><tt class="py-lineno">1665</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-517" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-517', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1666"></a><tt class="py-lineno">1666</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1667"></a><tt class="py-lineno">1667</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-518" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-518', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1668"></a><tt class="py-lineno">1668</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-519" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-519', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1669"></a><tt class="py-lineno">1669</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-520" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-520', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1670"></a><tt class="py-lineno">1670</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.removeIntent"></a><div id="OnosCliDriver.removeIntent-def"><a name="L1671"></a><tt class="py-lineno">1671</tt> <a class="py-toggle" href="#" id="OnosCliDriver.removeIntent-toggle" onclick="return toggle('OnosCliDriver.removeIntent');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#removeIntent">removeIntent</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">intentId</tt><tt class="py-op">,</tt> <tt class="py-param">app</tt><tt class="py-op">=</tt><tt class="py-string">'org.onosproject.cli'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1672"></a><tt class="py-lineno">1672</tt>  <tt class="py-line">                      <tt class="py-param">purge</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-param">sync</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.removeIntent-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.removeIntent-expanded"><a name="L1673"></a><tt class="py-lineno">1673</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1674"></a><tt class="py-lineno">1674</tt>  <tt class="py-line"><tt class="py-docstring">        Remove intent for specified application id and intent id</tt> </tt>
+<a name="L1675"></a><tt class="py-lineno">1675</tt>  <tt class="py-line"><tt class="py-docstring">        Optional args:-</tt> </tt>
+<a name="L1676"></a><tt class="py-lineno">1676</tt>  <tt class="py-line"><tt class="py-docstring">        -s or --sync: Waits for the removal before returning</tt> </tt>
+<a name="L1677"></a><tt class="py-lineno">1677</tt>  <tt class="py-line"><tt class="py-docstring">        -p or --purge: Purge the intent from the store after removal</tt> </tt>
+<a name="L1678"></a><tt class="py-lineno">1678</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1679"></a><tt class="py-lineno">1679</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L1680"></a><tt class="py-lineno">1680</tt>  <tt class="py-line"><tt class="py-docstring">            main.False on error and</tt> </tt>
+<a name="L1681"></a><tt class="py-lineno">1681</tt>  <tt class="py-line"><tt class="py-docstring">            cli output otherwise</tt> </tt>
+<a name="L1682"></a><tt class="py-lineno">1682</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1683"></a><tt class="py-lineno">1683</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1684"></a><tt class="py-lineno">1684</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"remove-intent"</tt> </tt>
+<a name="L1685"></a><tt class="py-lineno">1685</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">purge</tt><tt class="py-op">:</tt> </tt>
+<a name="L1686"></a><tt class="py-lineno">1686</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -p"</tt> </tt>
+<a name="L1687"></a><tt class="py-lineno">1687</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">sync</tt><tt class="py-op">:</tt> </tt>
+<a name="L1688"></a><tt class="py-lineno">1688</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -s"</tt> </tt>
+<a name="L1689"></a><tt class="py-lineno">1689</tt>  <tt class="py-line"> </tt>
+<a name="L1690"></a><tt class="py-lineno">1690</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt id="link-521" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#app"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-521', 'app', 'link-521');">app</a></tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">intentId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1691"></a><tt class="py-lineno">1691</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-522" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-522', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1692"></a><tt class="py-lineno">1692</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1693"></a><tt class="py-lineno">1693</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-523" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-523', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-524" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-524', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in removing intent"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1694"></a><tt class="py-lineno">1694</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1695"></a><tt class="py-lineno">1695</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1696"></a><tt class="py-lineno">1696</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: Should this be main.TRUE</tt> </tt>
+<a name="L1697"></a><tt class="py-lineno">1697</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L1698"></a><tt class="py-lineno">1698</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1699"></a><tt class="py-lineno">1699</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-525" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-525', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1700"></a><tt class="py-lineno">1700</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1701"></a><tt class="py-lineno">1701</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1702"></a><tt class="py-lineno">1702</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-526" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-526', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-527" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-527', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1703"></a><tt class="py-lineno">1703</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-528" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-528', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-529" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-529', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1704"></a><tt class="py-lineno">1704</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-530" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-530', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1705"></a><tt class="py-lineno">1705</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-531" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-531', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1706"></a><tt class="py-lineno">1706</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1707"></a><tt class="py-lineno">1707</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-532" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-532', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1708"></a><tt class="py-lineno">1708</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-533" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-533', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1709"></a><tt class="py-lineno">1709</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-534" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-534', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1710"></a><tt class="py-lineno">1710</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.purgeWithdrawnIntents"></a><div id="OnosCliDriver.purgeWithdrawnIntents-def"><a name="L1711"></a><tt class="py-lineno">1711</tt> <a class="py-toggle" href="#" id="OnosCliDriver.purgeWithdrawnIntents-toggle" onclick="return toggle('OnosCliDriver.purgeWithdrawnIntents');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#purgeWithdrawnIntents">purgeWithdrawnIntents</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.purgeWithdrawnIntents-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.purgeWithdrawnIntents-expanded"><a name="L1712"></a><tt class="py-lineno">1712</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1713"></a><tt class="py-lineno">1713</tt>  <tt class="py-line"><tt class="py-docstring">        Purges all WITHDRAWN Intents</tt> </tt>
+<a name="L1714"></a><tt class="py-lineno">1714</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1715"></a><tt class="py-lineno">1715</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1716"></a><tt class="py-lineno">1716</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"purge-intents"</tt> </tt>
+<a name="L1717"></a><tt class="py-lineno">1717</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-535" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-535', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1718"></a><tt class="py-lineno">1718</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1719"></a><tt class="py-lineno">1719</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-536" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-536', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-537" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-537', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in purging intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1720"></a><tt class="py-lineno">1720</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1721"></a><tt class="py-lineno">1721</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1722"></a><tt class="py-lineno">1722</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1723"></a><tt class="py-lineno">1723</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1724"></a><tt class="py-lineno">1724</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-538" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-538', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1725"></a><tt class="py-lineno">1725</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1726"></a><tt class="py-lineno">1726</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1727"></a><tt class="py-lineno">1727</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-539" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-539', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-540" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-540', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1728"></a><tt class="py-lineno">1728</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-541" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-541', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-542" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-542', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1729"></a><tt class="py-lineno">1729</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-543" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-543', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1730"></a><tt class="py-lineno">1730</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-544" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-544', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1731"></a><tt class="py-lineno">1731</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1732"></a><tt class="py-lineno">1732</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-545" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-545', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1733"></a><tt class="py-lineno">1733</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-546" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-546', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1734"></a><tt class="py-lineno">1734</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-547" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-547', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1735"></a><tt class="py-lineno">1735</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.routes"></a><div id="OnosCliDriver.routes-def"><a name="L1736"></a><tt class="py-lineno">1736</tt> <a class="py-toggle" href="#" id="OnosCliDriver.routes-toggle" onclick="return toggle('OnosCliDriver.routes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#routes">routes</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.routes-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.routes-expanded"><a name="L1737"></a><tt class="py-lineno">1737</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1738"></a><tt class="py-lineno">1738</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: This method should be used after installing application:</tt> </tt>
+<a name="L1739"></a><tt class="py-lineno">1739</tt>  <tt class="py-line"><tt class="py-docstring">              onos-app-sdnip</tt> </tt>
+<a name="L1740"></a><tt class="py-lineno">1740</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L1741"></a><tt class="py-lineno">1741</tt>  <tt class="py-line"><tt class="py-docstring">            * jsonFormat: enable output formatting in json</tt> </tt>
+<a name="L1742"></a><tt class="py-lineno">1742</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1743"></a><tt class="py-lineno">1743</tt>  <tt class="py-line"><tt class="py-docstring">            Obtain all routes in the system</tt> </tt>
+<a name="L1744"></a><tt class="py-lineno">1744</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1745"></a><tt class="py-lineno">1745</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1746"></a><tt class="py-lineno">1746</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"routes"</tt> </tt>
+<a name="L1747"></a><tt class="py-lineno">1747</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L1748"></a><tt class="py-lineno">1748</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L1749"></a><tt class="py-lineno">1749</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-548" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-548', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1750"></a><tt class="py-lineno">1750</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L1751"></a><tt class="py-lineno">1751</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1752"></a><tt class="py-lineno">1752</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-549" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-549', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1753"></a><tt class="py-lineno">1753</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1754"></a><tt class="py-lineno">1754</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1755"></a><tt class="py-lineno">1755</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-550" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-550', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-551" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-551', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1756"></a><tt class="py-lineno">1756</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-552" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-552', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-553" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-553', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1757"></a><tt class="py-lineno">1757</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-554" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-554', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1758"></a><tt class="py-lineno">1758</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-555" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-555', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1759"></a><tt class="py-lineno">1759</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1760"></a><tt class="py-lineno">1760</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-556" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-556', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1761"></a><tt class="py-lineno">1761</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-557" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-557', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1762"></a><tt class="py-lineno">1762</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-558" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-558', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1763"></a><tt class="py-lineno">1763</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.intents"></a><div id="OnosCliDriver.intents-def"><a name="L1764"></a><tt class="py-lineno">1764</tt> <a class="py-toggle" href="#" id="OnosCliDriver.intents-toggle" onclick="return toggle('OnosCliDriver.intents');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intents">intents</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.intents-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.intents-expanded"><a name="L1765"></a><tt class="py-lineno">1765</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1766"></a><tt class="py-lineno">1766</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L1767"></a><tt class="py-lineno">1767</tt>  <tt class="py-line"><tt class="py-docstring">            * jsonFormat: enable output formatting in json</tt> </tt>
+<a name="L1768"></a><tt class="py-lineno">1768</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1769"></a><tt class="py-lineno">1769</tt>  <tt class="py-line"><tt class="py-docstring">            Obtain intents currently installed</tt> </tt>
+<a name="L1770"></a><tt class="py-lineno">1770</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1771"></a><tt class="py-lineno">1771</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1772"></a><tt class="py-lineno">1772</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"intents"</tt> </tt>
+<a name="L1773"></a><tt class="py-lineno">1773</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L1774"></a><tt class="py-lineno">1774</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L1775"></a><tt class="py-lineno">1775</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-559" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-559', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1776"></a><tt class="py-lineno">1776</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L1777"></a><tt class="py-lineno">1777</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1778"></a><tt class="py-lineno">1778</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-560" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-560', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1779"></a><tt class="py-lineno">1779</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1780"></a><tt class="py-lineno">1780</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1781"></a><tt class="py-lineno">1781</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-561" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-561', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-562" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-562', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1782"></a><tt class="py-lineno">1782</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-563" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-563', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-564" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-564', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1783"></a><tt class="py-lineno">1783</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-565" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-565', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1784"></a><tt class="py-lineno">1784</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-566" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-566', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1785"></a><tt class="py-lineno">1785</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1786"></a><tt class="py-lineno">1786</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-567" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-567', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1787"></a><tt class="py-lineno">1787</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-568" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-568', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1788"></a><tt class="py-lineno">1788</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-569" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-569', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1789"></a><tt class="py-lineno">1789</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.getIntentState"></a><div id="OnosCliDriver.getIntentState-def"><a name="L1790"></a><tt class="py-lineno">1790</tt> <a class="py-toggle" href="#" id="OnosCliDriver.getIntentState-toggle" onclick="return toggle('OnosCliDriver.getIntentState');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getIntentState">getIntentState</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">intentsId</tt><tt class="py-op">,</tt> <tt class="py-param">intentsJson</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.getIntentState-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.getIntentState-expanded"><a name="L1791"></a><tt class="py-lineno">1791</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1792"></a><tt class="py-lineno">1792</tt>  <tt class="py-line"><tt class="py-docstring">            Check intent state.</tt> </tt>
+<a name="L1793"></a><tt class="py-lineno">1793</tt>  <tt class="py-line"><tt class="py-docstring">            Accepts a single intent ID (string type) or a list of intent IDs.</tt> </tt>
+<a name="L1794"></a><tt class="py-lineno">1794</tt>  <tt class="py-line"><tt class="py-docstring">            Returns the state(string type) of the id if a single intent ID is</tt> </tt>
+<a name="L1795"></a><tt class="py-lineno">1795</tt>  <tt class="py-line"><tt class="py-docstring">            accepted.</tt> </tt>
+<a name="L1796"></a><tt class="py-lineno">1796</tt>  <tt class="py-line"><tt class="py-docstring">            Returns a dictionary with intent IDs as the key and its</tt> </tt>
+<a name="L1797"></a><tt class="py-lineno">1797</tt>  <tt class="py-line"><tt class="py-docstring">            corresponding states as the values</tt> </tt>
+<a name="L1798"></a><tt class="py-lineno">1798</tt>  <tt class="py-line"><tt class="py-docstring">            Parameters:</tt> </tt>
+<a name="L1799"></a><tt class="py-lineno">1799</tt>  <tt class="py-line"><tt class="py-docstring">            intentId: intent ID (string type)</tt> </tt>
+<a name="L1800"></a><tt class="py-lineno">1800</tt>  <tt class="py-line"><tt class="py-docstring">            intentsJson: parsed json object from the onos:intents api</tt> </tt>
+<a name="L1801"></a><tt class="py-lineno">1801</tt>  <tt class="py-line"><tt class="py-docstring">            Returns:</tt> </tt>
+<a name="L1802"></a><tt class="py-lineno">1802</tt>  <tt class="py-line"><tt class="py-docstring">            state = An intent's state- INSTALL,WITHDRAWN etc.</tt> </tt>
+<a name="L1803"></a><tt class="py-lineno">1803</tt>  <tt class="py-line"><tt class="py-docstring">            stateDict = Dictionary of intent's state. intent ID as the keys and</tt> </tt>
+<a name="L1804"></a><tt class="py-lineno">1804</tt>  <tt class="py-line"><tt class="py-docstring">            state as the values.</tt> </tt>
+<a name="L1805"></a><tt class="py-lineno">1805</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1806"></a><tt class="py-lineno">1806</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1807"></a><tt class="py-lineno">1807</tt>  <tt class="py-line">            <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt class="py-string">"State is Undefined"</tt> </tt>
+<a name="L1808"></a><tt class="py-lineno">1808</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">intentsJson</tt><tt class="py-op">:</tt> </tt>
+<a name="L1809"></a><tt class="py-lineno">1809</tt>  <tt class="py-line">                <tt class="py-name">intentsJsonTemp</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-570" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intents,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intents"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-570', 'intents', 'link-570');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1810"></a><tt class="py-lineno">1810</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1811"></a><tt class="py-lineno">1811</tt>  <tt class="py-line">                <tt class="py-name">intentsJsonTemp</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">intentsJson</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1812"></a><tt class="py-lineno">1812</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1813"></a><tt class="py-lineno">1813</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-571" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intent"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-571', 'intent', 'link-571');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsJsonTemp</tt><tt class="py-op">:</tt> </tt>
+<a name="L1814"></a><tt class="py-lineno">1814</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">intentsId</tt> <tt class="py-op">==</tt> <tt id="link-572" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-572', 'intent', 'link-571');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1815"></a><tt class="py-lineno">1815</tt>  <tt class="py-line">                        <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-573" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-573', 'intent', 'link-571');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1816"></a><tt class="py-lineno">1816</tt>  <tt class="py-line">                        <tt class="py-keyword">return</tt> <tt class="py-name">state</tt> </tt>
+<a name="L1817"></a><tt class="py-lineno">1817</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-574" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-574', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Cannot find intent ID"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1818"></a><tt class="py-lineno">1818</tt>  <tt class="py-line">                               <tt class="py-string">" on the list"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1819"></a><tt class="py-lineno">1819</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">state</tt> </tt>
+<a name="L1820"></a><tt class="py-lineno">1820</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">ListType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1821"></a><tt class="py-lineno">1821</tt>  <tt class="py-line">                <tt class="py-name">dictList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1822"></a><tt class="py-lineno">1822</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1823"></a><tt class="py-lineno">1823</tt>  <tt class="py-line">                    <tt class="py-name">stateDict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1824"></a><tt class="py-lineno">1824</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt id="link-575" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-575', 'intents', 'link-570');">intents</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsJsonTemp</tt><tt class="py-op">:</tt> </tt>
+<a name="L1825"></a><tt class="py-lineno">1825</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">intentsId</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-576" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-576', 'intents', 'link-570');">intents</a></tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1826"></a><tt class="py-lineno">1826</tt>  <tt class="py-line">                            <tt class="py-name">stateDict</tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-577" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-577', 'intents', 'link-570');">intents</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1827"></a><tt class="py-lineno">1827</tt>  <tt class="py-line">                            <tt class="py-name">stateDict</tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">intentsId</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1828"></a><tt class="py-lineno">1828</tt>  <tt class="py-line">                            <tt class="py-name">dictList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">stateDict</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1829"></a><tt class="py-lineno">1829</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
+<a name="L1830"></a><tt class="py-lineno">1830</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">dictList</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1831"></a><tt class="py-lineno">1831</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-578" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-578', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Cannot find some of the intent ID state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1832"></a><tt class="py-lineno">1832</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">dictList</tt> </tt>
+<a name="L1833"></a><tt class="py-lineno">1833</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1834"></a><tt class="py-lineno">1834</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-579" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-579', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Invalid intents ID entry"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1835"></a><tt class="py-lineno">1835</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1836"></a><tt class="py-lineno">1836</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1837"></a><tt class="py-lineno">1837</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-580" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-580', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1838"></a><tt class="py-lineno">1838</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1839"></a><tt class="py-lineno">1839</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1840"></a><tt class="py-lineno">1840</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-581" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-581', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-582" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-582', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1841"></a><tt class="py-lineno">1841</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-583" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-583', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-584" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-584', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1842"></a><tt class="py-lineno">1842</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-585" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-585', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1843"></a><tt class="py-lineno">1843</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-586" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-586', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1844"></a><tt class="py-lineno">1844</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1845"></a><tt class="py-lineno">1845</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-587" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-587', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1846"></a><tt class="py-lineno">1846</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-588" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-588', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1847"></a><tt class="py-lineno">1847</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-589" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-589', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1848"></a><tt class="py-lineno">1848</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.checkIntentState"></a><div id="OnosCliDriver.checkIntentState-def"><a name="L1849"></a><tt class="py-lineno">1849</tt> <a class="py-toggle" href="#" id="OnosCliDriver.checkIntentState-toggle" onclick="return toggle('OnosCliDriver.checkIntentState');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkIntentState">checkIntentState</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">intentsId</tt><tt class="py-op">,</tt> <tt class="py-param">expectedState</tt><tt class="py-op">=</tt><tt class="py-string">'INSTALLED'</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.checkIntentState-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.checkIntentState-expanded"><a name="L1850"></a><tt class="py-lineno">1850</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1851"></a><tt class="py-lineno">1851</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1852"></a><tt class="py-lineno">1852</tt>  <tt class="py-line"><tt class="py-docstring">            Check intents state</tt> </tt>
+<a name="L1853"></a><tt class="py-lineno">1853</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L1854"></a><tt class="py-lineno">1854</tt>  <tt class="py-line"><tt class="py-docstring">            intentsId - List of intents ID to be checked</tt> </tt>
+<a name="L1855"></a><tt class="py-lineno">1855</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L1856"></a><tt class="py-lineno">1856</tt>  <tt class="py-line"><tt class="py-docstring">            expectedState - Check the expected state(s) of each intents</tt> </tt>
+<a name="L1857"></a><tt class="py-lineno">1857</tt>  <tt class="py-line"><tt class="py-docstring">                            state in the list.</tt> </tt>
+<a name="L1858"></a><tt class="py-lineno">1858</tt>  <tt class="py-line"><tt class="py-docstring">                            *NOTE: You can pass in a list of expected state,</tt> </tt>
+<a name="L1859"></a><tt class="py-lineno">1859</tt>  <tt class="py-line"><tt class="py-docstring">                            Eg: expectedState = [ 'INSTALLED' , 'INSTALLING' ]</tt> </tt>
+<a name="L1860"></a><tt class="py-lineno">1860</tt>  <tt class="py-line"><tt class="py-docstring">        Return:</tt> </tt>
+<a name="L1861"></a><tt class="py-lineno">1861</tt>  <tt class="py-line"><tt class="py-docstring">            Returns main.TRUE only if all intent are the same as expected states</tt> </tt>
+<a name="L1862"></a><tt class="py-lineno">1862</tt>  <tt class="py-line"><tt class="py-docstring">            , otherwise, returns main.FALSE.</tt> </tt>
+<a name="L1863"></a><tt class="py-lineno">1863</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1864"></a><tt class="py-lineno">1864</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1865"></a><tt class="py-lineno">1865</tt>  <tt class="py-line">            <tt class="py-comment"># Generating a dictionary: intent id as a key and state as value</tt> </tt>
+<a name="L1866"></a><tt class="py-lineno">1866</tt>  <tt class="py-line">            <tt class="py-name">returnValue</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1867"></a><tt class="py-lineno">1867</tt>  <tt class="py-line">            <tt class="py-name">intentsDict</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-590" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getIntentState()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getIntentState,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getIntentState()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getIntentState"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getIntentState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getIntentState" class="py-name" href="#" onclick="return doclink('link-590', 'getIntentState', 'link-590');">getIntentState</a></tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1868"></a><tt class="py-lineno">1868</tt>  <tt class="py-line"> </tt>
+<a name="L1869"></a><tt class="py-lineno">1869</tt>  <tt class="py-line">            <tt class="py-comment">#print "len of intentsDict ", str( len( intentsDict ) )</tt> </tt>
+<a name="L1870"></a><tt class="py-lineno">1870</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentsDict</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1871"></a><tt class="py-lineno">1871</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-591" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-591', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">"There is something wrong "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1872"></a><tt class="py-lineno">1872</tt>  <tt class="py-line">                               <tt class="py-string">"getting intents state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1873"></a><tt class="py-lineno">1873</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1874"></a><tt class="py-lineno">1874</tt>  <tt class="py-line"> </tt>
+<a name="L1875"></a><tt class="py-lineno">1875</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">expectedState</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1876"></a><tt class="py-lineno">1876</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-592" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-592', 'intents', 'link-570');">intents</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsDict</tt><tt class="py-op">:</tt> </tt>
+<a name="L1877"></a><tt class="py-lineno">1877</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt id="link-593" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-593', 'intents', 'link-570');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">expectedState</tt><tt class="py-op">:</tt> </tt>
+<a name="L1878"></a><tt class="py-lineno">1878</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-594" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-594', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" : Intent ID - "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1879"></a><tt class="py-lineno">1879</tt>  <tt class="py-line">                                        <tt id="link-595" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-595', 'intents', 'link-570');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1880"></a><tt class="py-lineno">1880</tt>  <tt class="py-line">                                        <tt class="py-string">" actual state = "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1881"></a><tt class="py-lineno">1881</tt>  <tt class="py-line">                                        <tt id="link-596" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-596', 'intents', 'link-570');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1882"></a><tt class="py-lineno">1882</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-string">" does not equal expected state = "</tt> </tt>
+<a name="L1883"></a><tt class="py-lineno">1883</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-name">expectedState</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1884"></a><tt class="py-lineno">1884</tt>  <tt class="py-line">                        <tt class="py-name">returnValue</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1885"></a><tt class="py-lineno">1885</tt>  <tt class="py-line"> </tt>
+<a name="L1886"></a><tt class="py-lineno">1886</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">expectedState</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">ListType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1887"></a><tt class="py-lineno">1887</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-597" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-597', 'intents', 'link-570');">intents</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsDict</tt><tt class="py-op">:</tt> </tt>
+<a name="L1888"></a><tt class="py-lineno">1888</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">any</tt><tt class="py-op">(</tt> <tt class="py-name">state</tt> <tt class="py-op">==</tt> <tt id="link-598" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-598', 'intents', 'link-570');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">state</tt> <tt class="py-keyword">in</tt> </tt>
+<a name="L1889"></a><tt class="py-lineno">1889</tt>  <tt class="py-line">                                <tt class="py-name">expectedState</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1890"></a><tt class="py-lineno">1890</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-599" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-599', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" : Intent ID - "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1891"></a><tt class="py-lineno">1891</tt>  <tt class="py-line">                                        <tt id="link-600" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-600', 'intents', 'link-570');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1892"></a><tt class="py-lineno">1892</tt>  <tt class="py-line">                                        <tt class="py-string">" actual state = "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1893"></a><tt class="py-lineno">1893</tt>  <tt class="py-line">                                        <tt id="link-601" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-601', 'intents', 'link-570');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1894"></a><tt class="py-lineno">1894</tt>  <tt class="py-line">                                        <tt class="py-string">" does not equal expected states = "</tt> </tt>
+<a name="L1895"></a><tt class="py-lineno">1895</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">expectedState</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1896"></a><tt class="py-lineno">1896</tt>  <tt class="py-line">                        <tt class="py-name">returnValue</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1897"></a><tt class="py-lineno">1897</tt>  <tt class="py-line"> </tt>
+<a name="L1898"></a><tt class="py-lineno">1898</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">returnValue</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1899"></a><tt class="py-lineno">1899</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-602" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-602', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": All "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1900"></a><tt class="py-lineno">1900</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentsDict</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1901"></a><tt class="py-lineno">1901</tt>  <tt class="py-line">                               <tt class="py-string">" intents are in "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">expectedState</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1902"></a><tt class="py-lineno">1902</tt>  <tt class="py-line">                               <tt class="py-string">" state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1903"></a><tt class="py-lineno">1903</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">returnValue</tt> </tt>
+<a name="L1904"></a><tt class="py-lineno">1904</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1905"></a><tt class="py-lineno">1905</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-603" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-603', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1906"></a><tt class="py-lineno">1906</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1907"></a><tt class="py-lineno">1907</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1908"></a><tt class="py-lineno">1908</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-604" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-604', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-605" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-605', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1909"></a><tt class="py-lineno">1909</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-606" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-606', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-607" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-607', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1910"></a><tt class="py-lineno">1910</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-608" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-608', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1911"></a><tt class="py-lineno">1911</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-609" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-609', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1912"></a><tt class="py-lineno">1912</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1913"></a><tt class="py-lineno">1913</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-610" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-610', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1914"></a><tt class="py-lineno">1914</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-611" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-611', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1915"></a><tt class="py-lineno">1915</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-612" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-612', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1916"></a><tt class="py-lineno">1916</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.flows"></a><div id="OnosCliDriver.flows-def"><a name="L1917"></a><tt class="py-lineno">1917</tt> <a class="py-toggle" href="#" id="OnosCliDriver.flows-toggle" onclick="return toggle('OnosCliDriver.flows');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#flows">flows</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.flows-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.flows-expanded"><a name="L1918"></a><tt class="py-lineno">1918</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1919"></a><tt class="py-lineno">1919</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L1920"></a><tt class="py-lineno">1920</tt>  <tt class="py-line"><tt class="py-docstring">            * jsonFormat: enable output formatting in json</tt> </tt>
+<a name="L1921"></a><tt class="py-lineno">1921</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1922"></a><tt class="py-lineno">1922</tt>  <tt class="py-line"><tt class="py-docstring">            Obtain flows currently installed</tt> </tt>
+<a name="L1923"></a><tt class="py-lineno">1923</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1924"></a><tt class="py-lineno">1924</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1925"></a><tt class="py-lineno">1925</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"flows"</tt> </tt>
+<a name="L1926"></a><tt class="py-lineno">1926</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L1927"></a><tt class="py-lineno">1927</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L1928"></a><tt class="py-lineno">1928</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-613" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-613', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1929"></a><tt class="py-lineno">1929</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error:"</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1930"></a><tt class="py-lineno">1930</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-614" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-614', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-615" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-615', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": flows() response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1931"></a><tt class="py-lineno">1931</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1932"></a><tt class="py-lineno">1932</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L1933"></a><tt class="py-lineno">1933</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1934"></a><tt class="py-lineno">1934</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-616" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-616', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1935"></a><tt class="py-lineno">1935</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1936"></a><tt class="py-lineno">1936</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1937"></a><tt class="py-lineno">1937</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-617" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-617', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-618" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-618', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1938"></a><tt class="py-lineno">1938</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-619" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-619', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-620" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-620', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1939"></a><tt class="py-lineno">1939</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-621" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-621', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1940"></a><tt class="py-lineno">1940</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-622" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-622', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1941"></a><tt class="py-lineno">1941</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1942"></a><tt class="py-lineno">1942</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-623" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-623', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1943"></a><tt class="py-lineno">1943</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-624" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-624', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1944"></a><tt class="py-lineno">1944</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-625" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-625', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1945"></a><tt class="py-lineno">1945</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.checkFlowsState"></a><div id="OnosCliDriver.checkFlowsState-def"><a name="L1946"></a><tt class="py-lineno">1946</tt> <a class="py-toggle" href="#" id="OnosCliDriver.checkFlowsState-toggle" onclick="return toggle('OnosCliDriver.checkFlowsState');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkFlowsState">checkFlowsState</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.checkFlowsState-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.checkFlowsState-expanded"><a name="L1947"></a><tt class="py-lineno">1947</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1948"></a><tt class="py-lineno">1948</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1949"></a><tt class="py-lineno">1949</tt>  <tt class="py-line"><tt class="py-docstring">            Check the if all the current flows are in ADDED state or</tt> </tt>
+<a name="L1950"></a><tt class="py-lineno">1950</tt>  <tt class="py-line"><tt class="py-docstring">            PENDING_ADD state</tt> </tt>
+<a name="L1951"></a><tt class="py-lineno">1951</tt>  <tt class="py-line"><tt class="py-docstring">        Return:</tt> </tt>
+<a name="L1952"></a><tt class="py-lineno">1952</tt>  <tt class="py-line"><tt class="py-docstring">            returnValue - Returns main.TRUE only if all flows are in</tt> </tt>
+<a name="L1953"></a><tt class="py-lineno">1953</tt>  <tt class="py-line"><tt class="py-docstring">                          ADDED state or PENDING_ADD, return main.FALSE</tt> </tt>
+<a name="L1954"></a><tt class="py-lineno">1954</tt>  <tt class="py-line"><tt class="py-docstring">                          otherwise.</tt> </tt>
+<a name="L1955"></a><tt class="py-lineno">1955</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1956"></a><tt class="py-lineno">1956</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1957"></a><tt class="py-lineno">1957</tt>  <tt class="py-line">            <tt class="py-name">tempFlows</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-626" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#flows,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#flows"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-626', 'flows', 'link-626');">flows</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1958"></a><tt class="py-lineno">1958</tt>  <tt class="py-line">            <tt class="py-comment">#print tempFlows[0]</tt> </tt>
+<a name="L1959"></a><tt class="py-lineno">1959</tt>  <tt class="py-line">            <tt class="py-name">returnValue</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1960"></a><tt class="py-lineno">1960</tt>  <tt class="py-line"> </tt>
+<a name="L1961"></a><tt class="py-lineno">1961</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">device</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tempFlows</tt><tt class="py-op">:</tt> </tt>
+<a name="L1962"></a><tt class="py-lineno">1962</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">flow</tt> <tt class="py-keyword">in</tt> <tt class="py-name">device</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'flows'</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1963"></a><tt class="py-lineno">1963</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">flow</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-string">'ADDED'</tt> <tt class="py-keyword">and</tt> <tt class="py-name">flow</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> \ </tt>
+<a name="L1964"></a><tt class="py-lineno">1964</tt>  <tt class="py-line">                            <tt class="py-string">'PENDING_ADD'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1965"></a><tt class="py-lineno">1965</tt>  <tt class="py-line"> </tt>
+<a name="L1966"></a><tt class="py-lineno">1966</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-627" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-627', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": flow Id: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1967"></a><tt class="py-lineno">1967</tt>  <tt class="py-line">                                       <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">flow</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'groupId'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1968"></a><tt class="py-lineno">1968</tt>  <tt class="py-line">                                       <tt class="py-string">" | state:"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1969"></a><tt class="py-lineno">1969</tt>  <tt class="py-line">                                       <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">flow</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1970"></a><tt class="py-lineno">1970</tt>  <tt class="py-line">                        <tt class="py-name">returnValue</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1971"></a><tt class="py-lineno">1971</tt>  <tt class="py-line"> </tt>
+<a name="L1972"></a><tt class="py-lineno">1972</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">returnValue</tt> </tt>
+<a name="L1973"></a><tt class="py-lineno">1973</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1974"></a><tt class="py-lineno">1974</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-628" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-628', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1975"></a><tt class="py-lineno">1975</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1976"></a><tt class="py-lineno">1976</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1977"></a><tt class="py-lineno">1977</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-629" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-629', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-630" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-630', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1978"></a><tt class="py-lineno">1978</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-631" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-631', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-632" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-632', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1979"></a><tt class="py-lineno">1979</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-633" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-633', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1980"></a><tt class="py-lineno">1980</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-634" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-634', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1981"></a><tt class="py-lineno">1981</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1982"></a><tt class="py-lineno">1982</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-635" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-635', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1983"></a><tt class="py-lineno">1983</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-636" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-636', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1984"></a><tt class="py-lineno">1984</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-637" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-637', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1985"></a><tt class="py-lineno">1985</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.pushTestIntents"></a><div id="OnosCliDriver.pushTestIntents-def"><a name="L1986"></a><tt class="py-lineno">1986</tt> <a class="py-toggle" href="#" id="OnosCliDriver.pushTestIntents-toggle" onclick="return toggle('OnosCliDriver.pushTestIntents');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#pushTestIntents">pushTestIntents</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">dpidSrc</tt><tt class="py-op">,</tt> <tt class="py-param">dpidDst</tt><tt class="py-op">,</tt> <tt class="py-param">numIntents</tt><tt class="py-op">,</tt> </tt>
+<a name="L1987"></a><tt class="py-lineno">1987</tt>  <tt class="py-line">                         <tt class="py-param">numMult</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-param">appId</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-param">report</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.pushTestIntents-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.pushTestIntents-expanded"><a name="L1988"></a><tt class="py-lineno">1988</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1989"></a><tt class="py-lineno">1989</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1990"></a><tt class="py-lineno">1990</tt>  <tt class="py-line"><tt class="py-docstring">            Push a number of intents in a batch format to</tt> </tt>
+<a name="L1991"></a><tt class="py-lineno">1991</tt>  <tt class="py-line"><tt class="py-docstring">            a specific point-to-point intent definition</tt> </tt>
+<a name="L1992"></a><tt class="py-lineno">1992</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L1993"></a><tt class="py-lineno">1993</tt>  <tt class="py-line"><tt class="py-docstring">            * dpidSrc: specify source dpid</tt> </tt>
+<a name="L1994"></a><tt class="py-lineno">1994</tt>  <tt class="py-line"><tt class="py-docstring">            * dpidDst: specify destination dpid</tt> </tt>
+<a name="L1995"></a><tt class="py-lineno">1995</tt>  <tt class="py-line"><tt class="py-docstring">            * numIntents: specify number of intents to push</tt> </tt>
+<a name="L1996"></a><tt class="py-lineno">1996</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L1997"></a><tt class="py-lineno">1997</tt>  <tt class="py-line"><tt class="py-docstring">            * numMult: number multiplier for multiplying</tt> </tt>
+<a name="L1998"></a><tt class="py-lineno">1998</tt>  <tt class="py-line"><tt class="py-docstring">              the number of intents specified</tt> </tt>
+<a name="L1999"></a><tt class="py-lineno">1999</tt>  <tt class="py-line"><tt class="py-docstring">            * appId: specify the application id init to further</tt> </tt>
+<a name="L2000"></a><tt class="py-lineno">2000</tt>  <tt class="py-line"><tt class="py-docstring">              modularize the intents</tt> </tt>
+<a name="L2001"></a><tt class="py-lineno">2001</tt>  <tt class="py-line"><tt class="py-docstring">            * report: default True, returns latency information</tt> </tt>
+<a name="L2002"></a><tt class="py-lineno">2002</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2003"></a><tt class="py-lineno">2003</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2004"></a><tt class="py-lineno">2004</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"push-test-intents "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2005"></a><tt class="py-lineno">2005</tt>  <tt class="py-line">                  <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dpidSrc</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dpidDst</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2006"></a><tt class="py-lineno">2006</tt>  <tt class="py-line">                  <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">numIntents</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2007"></a><tt class="py-lineno">2007</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">numMult</tt><tt class="py-op">:</tt> </tt>
+<a name="L2008"></a><tt class="py-lineno">2008</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">numMult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2009"></a><tt class="py-lineno">2009</tt>  <tt class="py-line">                <tt class="py-comment"># If app id is specified, then numMult</tt> </tt>
+<a name="L2010"></a><tt class="py-lineno">2010</tt>  <tt class="py-line">                <tt class="py-comment"># must exist because of the way this command</tt> </tt>
+<a name="L2011"></a><tt class="py-lineno">2011</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">appId</tt><tt class="py-op">:</tt> </tt>
+<a name="L2012"></a><tt class="py-lineno">2012</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">appId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2013"></a><tt class="py-lineno">2013</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-638" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-638', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2014"></a><tt class="py-lineno">2014</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">report</tt><tt class="py-op">:</tt> </tt>
+<a name="L2015"></a><tt class="py-lineno">2015</tt>  <tt class="py-line">                <tt class="py-name">latResult</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2016"></a><tt class="py-lineno">2016</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-639" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-639', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2017"></a><tt class="py-lineno">2017</tt>  <tt class="py-line">                <tt class="py-comment"># Split result by newline</tt> </tt>
+<a name="L2018"></a><tt class="py-lineno">2018</tt>  <tt class="py-line">                <tt class="py-name">newline</tt> <tt class="py-op">=</tt> <tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"\r\r\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2019"></a><tt class="py-lineno">2019</tt>  <tt class="py-line">                <tt class="py-comment"># Ignore the first object of list, which is empty</tt> </tt>
+<a name="L2020"></a><tt class="py-lineno">2020</tt>  <tt class="py-line">                <tt class="py-name">newline</tt> <tt class="py-op">=</tt> <tt class="py-name">newline</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2021"></a><tt class="py-lineno">2021</tt>  <tt class="py-line">                <tt class="py-comment"># Some sloppy parsing method to get the latency</tt> </tt>
+<a name="L2022"></a><tt class="py-lineno">2022</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">result</tt> <tt class="py-keyword">in</tt> <tt class="py-name">newline</tt><tt class="py-op">:</tt> </tt>
+<a name="L2023"></a><tt class="py-lineno">2023</tt>  <tt class="py-line">                    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">": "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2024"></a><tt class="py-lineno">2024</tt>  <tt class="py-line">                    <tt class="py-comment"># Append the first result of second parse</tt> </tt>
+<a name="L2025"></a><tt class="py-lineno">2025</tt>  <tt class="py-line">                    <tt class="py-name">latResult</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">result</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">" "</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2026"></a><tt class="py-lineno">2026</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-640" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-640', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">latResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2027"></a><tt class="py-lineno">2027</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">latResult</tt> </tt>
+<a name="L2028"></a><tt class="py-lineno">2028</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2029"></a><tt class="py-lineno">2029</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2030"></a><tt class="py-lineno">2030</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2031"></a><tt class="py-lineno">2031</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-641" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-641', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2032"></a><tt class="py-lineno">2032</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2033"></a><tt class="py-lineno">2033</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2034"></a><tt class="py-lineno">2034</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-642" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-642', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-643" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-643', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2035"></a><tt class="py-lineno">2035</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-644" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-644', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-645" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-645', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2036"></a><tt class="py-lineno">2036</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-646" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-646', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2037"></a><tt class="py-lineno">2037</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-647" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-647', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2038"></a><tt class="py-lineno">2038</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2039"></a><tt class="py-lineno">2039</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-648" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-648', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2040"></a><tt class="py-lineno">2040</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-649" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-649', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2041"></a><tt class="py-lineno">2041</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-650" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-650', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2042"></a><tt class="py-lineno">2042</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.intentsEventsMetrics"></a><div id="OnosCliDriver.intentsEventsMetrics-def"><a name="L2043"></a><tt class="py-lineno">2043</tt> <a class="py-toggle" href="#" id="OnosCliDriver.intentsEventsMetrics-toggle" onclick="return toggle('OnosCliDriver.intentsEventsMetrics');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intentsEventsMetrics">intentsEventsMetrics</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.intentsEventsMetrics-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.intentsEventsMetrics-expanded"><a name="L2044"></a><tt class="py-lineno">2044</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2045"></a><tt class="py-lineno">2045</tt>  <tt class="py-line"><tt class="py-docstring">        Description:Returns topology metrics</tt> </tt>
+<a name="L2046"></a><tt class="py-lineno">2046</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L2047"></a><tt class="py-lineno">2047</tt>  <tt class="py-line"><tt class="py-docstring">            * jsonFormat: enable json formatting of output</tt> </tt>
+<a name="L2048"></a><tt class="py-lineno">2048</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2049"></a><tt class="py-lineno">2049</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2050"></a><tt class="py-lineno">2050</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"intents-events-metrics"</tt> </tt>
+<a name="L2051"></a><tt class="py-lineno">2051</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L2052"></a><tt class="py-lineno">2052</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L2053"></a><tt class="py-lineno">2053</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-651" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-651', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2054"></a><tt class="py-lineno">2054</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L2055"></a><tt class="py-lineno">2055</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2056"></a><tt class="py-lineno">2056</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-652" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-652', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2057"></a><tt class="py-lineno">2057</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2058"></a><tt class="py-lineno">2058</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2059"></a><tt class="py-lineno">2059</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-653" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-653', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-654" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-654', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2060"></a><tt class="py-lineno">2060</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-655" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-655', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-656" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-656', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2061"></a><tt class="py-lineno">2061</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-657" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-657', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2062"></a><tt class="py-lineno">2062</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-658" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-658', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2063"></a><tt class="py-lineno">2063</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2064"></a><tt class="py-lineno">2064</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-659" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-659', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2065"></a><tt class="py-lineno">2065</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-660" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-660', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2066"></a><tt class="py-lineno">2066</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-661" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-661', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2067"></a><tt class="py-lineno">2067</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.topologyEventsMetrics"></a><div id="OnosCliDriver.topologyEventsMetrics-def"><a name="L2068"></a><tt class="py-lineno">2068</tt> <a class="py-toggle" href="#" id="OnosCliDriver.topologyEventsMetrics-toggle" onclick="return toggle('OnosCliDriver.topologyEventsMetrics');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topologyEventsMetrics">topologyEventsMetrics</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.topologyEventsMetrics-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.topologyEventsMetrics-expanded"><a name="L2069"></a><tt class="py-lineno">2069</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2070"></a><tt class="py-lineno">2070</tt>  <tt class="py-line"><tt class="py-docstring">        Description:Returns topology metrics</tt> </tt>
+<a name="L2071"></a><tt class="py-lineno">2071</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L2072"></a><tt class="py-lineno">2072</tt>  <tt class="py-line"><tt class="py-docstring">            * jsonFormat: enable json formatting of output</tt> </tt>
+<a name="L2073"></a><tt class="py-lineno">2073</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2074"></a><tt class="py-lineno">2074</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2075"></a><tt class="py-lineno">2075</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"topology-events-metrics"</tt> </tt>
+<a name="L2076"></a><tt class="py-lineno">2076</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L2077"></a><tt class="py-lineno">2077</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L2078"></a><tt class="py-lineno">2078</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-662" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-662', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2079"></a><tt class="py-lineno">2079</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L2080"></a><tt class="py-lineno">2080</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L2081"></a><tt class="py-lineno">2081</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L2082"></a><tt class="py-lineno">2082</tt>  <tt class="py-line">                <tt class="py-comment"># Return empty json</tt> </tt>
+<a name="L2083"></a><tt class="py-lineno">2083</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">'{}'</tt> </tt>
+<a name="L2084"></a><tt class="py-lineno">2084</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2085"></a><tt class="py-lineno">2085</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L2086"></a><tt class="py-lineno">2086</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2087"></a><tt class="py-lineno">2087</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-663" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-663', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2088"></a><tt class="py-lineno">2088</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2089"></a><tt class="py-lineno">2089</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2090"></a><tt class="py-lineno">2090</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-664" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-664', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-665" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-665', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2091"></a><tt class="py-lineno">2091</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-666" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-666', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-667" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-667', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2092"></a><tt class="py-lineno">2092</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-668" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-668', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2093"></a><tt class="py-lineno">2093</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-669" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-669', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2094"></a><tt class="py-lineno">2094</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2095"></a><tt class="py-lineno">2095</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-670" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-670', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2096"></a><tt class="py-lineno">2096</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-671" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-671', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2097"></a><tt class="py-lineno">2097</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-672" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-672', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2098"></a><tt class="py-lineno">2098</tt>  <tt class="py-line"> </tt>
+<a name="L2099"></a><tt class="py-lineno">2099</tt>  <tt class="py-line">    <tt class="py-comment"># Wrapper functions ****************</tt> </tt>
+<a name="L2100"></a><tt class="py-lineno">2100</tt>  <tt class="py-line">    <tt class="py-comment"># Wrapper functions use existing driver</tt> </tt>
+<a name="L2101"></a><tt class="py-lineno">2101</tt>  <tt class="py-line">    <tt class="py-comment"># functions and extends their use case.</tt> </tt>
+<a name="L2102"></a><tt class="py-lineno">2102</tt>  <tt class="py-line">    <tt class="py-comment"># For example, we may use the output of</tt> </tt>
+<a name="L2103"></a><tt class="py-lineno">2103</tt>  <tt class="py-line">    <tt class="py-comment"># a normal driver function, and parse it</tt> </tt>
+<a name="L2104"></a><tt class="py-lineno">2104</tt>  <tt class="py-line">    <tt class="py-comment"># using a wrapper function</tt> </tt>
+<a name="L2105"></a><tt class="py-lineno">2105</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.getAllIntentsId"></a><div id="OnosCliDriver.getAllIntentsId-def"><a name="L2106"></a><tt class="py-lineno">2106</tt> <a class="py-toggle" href="#" id="OnosCliDriver.getAllIntentsId-toggle" onclick="return toggle('OnosCliDriver.getAllIntentsId');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllIntentsId">getAllIntentsId</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.getAllIntentsId-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.getAllIntentsId-expanded"><a name="L2107"></a><tt class="py-lineno">2107</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2108"></a><tt class="py-lineno">2108</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L2109"></a><tt class="py-lineno">2109</tt>  <tt class="py-line"><tt class="py-docstring">            Obtain all intent id's in a list</tt> </tt>
+<a name="L2110"></a><tt class="py-lineno">2110</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2111"></a><tt class="py-lineno">2111</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2112"></a><tt class="py-lineno">2112</tt>  <tt class="py-line">            <tt class="py-comment"># Obtain output of intents function</tt> </tt>
+<a name="L2113"></a><tt class="py-lineno">2113</tt>  <tt class="py-line">            <tt class="py-name">intentsStr</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-673" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-673', 'intents', 'link-570');">intents</a></tt><tt class="py-op">(</tt><tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L2114"></a><tt class="py-lineno">2114</tt>  <tt class="py-line">            <tt class="py-name">intentIdList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2115"></a><tt class="py-lineno">2115</tt>  <tt class="py-line"> </tt>
+<a name="L2116"></a><tt class="py-lineno">2116</tt>  <tt class="py-line">            <tt class="py-comment"># Parse the intents output for ID's</tt> </tt>
+<a name="L2117"></a><tt class="py-lineno">2117</tt>  <tt class="py-line">            <tt class="py-name">intentsList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsStr</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2118"></a><tt class="py-lineno">2118</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-674" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-674', 'intents', 'link-570');">intents</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsList</tt><tt class="py-op">:</tt> </tt>
+<a name="L2119"></a><tt class="py-lineno">2119</tt>  <tt class="py-line">                <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">'id=0x([\da-f]+),'</tt><tt class="py-op">,</tt> <tt id="link-675" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-675', 'intents', 'link-570');">intents</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2120"></a><tt class="py-lineno">2120</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">match</tt><tt class="py-op">:</tt> </tt>
+<a name="L2121"></a><tt class="py-lineno">2121</tt>  <tt class="py-line">                    <tt class="py-name">tmpId</tt> <tt class="py-op">=</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L2122"></a><tt class="py-lineno">2122</tt>  <tt class="py-line">                    <tt class="py-name">intentIdList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">tmpId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2123"></a><tt class="py-lineno">2123</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">intentIdList</tt> </tt>
+<a name="L2124"></a><tt class="py-lineno">2124</tt>  <tt class="py-line"> </tt>
+<a name="L2125"></a><tt class="py-lineno">2125</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2126"></a><tt class="py-lineno">2126</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-676" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-676', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2127"></a><tt class="py-lineno">2127</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2128"></a><tt class="py-lineno">2128</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2129"></a><tt class="py-lineno">2129</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-677" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-677', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-678" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-678', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2130"></a><tt class="py-lineno">2130</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-679" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-679', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-680" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-680', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2131"></a><tt class="py-lineno">2131</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-681" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-681', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2132"></a><tt class="py-lineno">2132</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-682" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-682', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2133"></a><tt class="py-lineno">2133</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2134"></a><tt class="py-lineno">2134</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-683" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-683', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2135"></a><tt class="py-lineno">2135</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-684" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-684', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2136"></a><tt class="py-lineno">2136</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-685" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-685', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2137"></a><tt class="py-lineno">2137</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.FlowAddedCount"></a><div id="OnosCliDriver.FlowAddedCount-def"><a name="L2138"></a><tt class="py-lineno">2138</tt> <a class="py-toggle" href="#" id="OnosCliDriver.FlowAddedCount-toggle" onclick="return toggle('OnosCliDriver.FlowAddedCount');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#FlowAddedCount">FlowAddedCount</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">deviceId</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.FlowAddedCount-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.FlowAddedCount-expanded"><a name="L2139"></a><tt class="py-lineno">2139</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2140"></a><tt class="py-lineno">2140</tt>  <tt class="py-line"><tt class="py-docstring">        Determine the number of flow rules for the given device id that are</tt> </tt>
+<a name="L2141"></a><tt class="py-lineno">2141</tt>  <tt class="py-line"><tt class="py-docstring">        in the added state</tt> </tt>
+<a name="L2142"></a><tt class="py-lineno">2142</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2143"></a><tt class="py-lineno">2143</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2144"></a><tt class="py-lineno">2144</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"flows any "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" | "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2145"></a><tt class="py-lineno">2145</tt>  <tt class="py-line">                     <tt class="py-string">"grep 'state=ADDED' | wc -l"</tt> </tt>
+<a name="L2146"></a><tt class="py-lineno">2146</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-686" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-686', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2147"></a><tt class="py-lineno">2147</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L2148"></a><tt class="py-lineno">2148</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2149"></a><tt class="py-lineno">2149</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-687" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-687', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-688" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-688', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2150"></a><tt class="py-lineno">2150</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-689" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-689', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-690" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-690', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2151"></a><tt class="py-lineno">2151</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-691" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-691', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2152"></a><tt class="py-lineno">2152</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-692" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-692', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2153"></a><tt class="py-lineno">2153</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2154"></a><tt class="py-lineno">2154</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-693" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-693', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2155"></a><tt class="py-lineno">2155</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-694" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-694', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2156"></a><tt class="py-lineno">2156</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-695" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-695', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2157"></a><tt class="py-lineno">2157</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.getAllDevicesId"></a><div id="OnosCliDriver.getAllDevicesId-def"><a name="L2158"></a><tt class="py-lineno">2158</tt> <a class="py-toggle" href="#" id="OnosCliDriver.getAllDevicesId-toggle" onclick="return toggle('OnosCliDriver.getAllDevicesId');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllDevicesId">getAllDevicesId</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.getAllDevicesId-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.getAllDevicesId-expanded"><a name="L2159"></a><tt class="py-lineno">2159</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2160"></a><tt class="py-lineno">2160</tt>  <tt class="py-line"><tt class="py-docstring">        Use 'devices' function to obtain list of all devices</tt> </tt>
+<a name="L2161"></a><tt class="py-lineno">2161</tt>  <tt class="py-line"><tt class="py-docstring">        and parse the result to obtain a list of all device</tt> </tt>
+<a name="L2162"></a><tt class="py-lineno">2162</tt>  <tt class="py-line"><tt class="py-docstring">        id's. Returns this list. Returns empty list if no</tt> </tt>
+<a name="L2163"></a><tt class="py-lineno">2163</tt>  <tt class="py-line"><tt class="py-docstring">        devices exist</tt> </tt>
+<a name="L2164"></a><tt class="py-lineno">2164</tt>  <tt class="py-line"><tt class="py-docstring">        List is ordered sequentially</tt> </tt>
+<a name="L2165"></a><tt class="py-lineno">2165</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2166"></a><tt class="py-lineno">2166</tt>  <tt class="py-line"><tt class="py-docstring">        This function may be useful if you are not sure of the</tt> </tt>
+<a name="L2167"></a><tt class="py-lineno">2167</tt>  <tt class="py-line"><tt class="py-docstring">        device id, and wish to execute other commands using</tt> </tt>
+<a name="L2168"></a><tt class="py-lineno">2168</tt>  <tt class="py-line"><tt class="py-docstring">        the ids. By obtaining the list of device ids on the fly,</tt> </tt>
+<a name="L2169"></a><tt class="py-lineno">2169</tt>  <tt class="py-line"><tt class="py-docstring">        you can iterate through the list to get mastership, etc.</tt> </tt>
+<a name="L2170"></a><tt class="py-lineno">2170</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2171"></a><tt class="py-lineno">2171</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2172"></a><tt class="py-lineno">2172</tt>  <tt class="py-line">            <tt class="py-comment"># Call devices and store result string</tt> </tt>
+<a name="L2173"></a><tt class="py-lineno">2173</tt>  <tt class="py-line">            <tt class="py-name">devicesStr</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-696" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#devices"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-696', 'devices', 'link-696');">devices</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2174"></a><tt class="py-lineno">2174</tt>  <tt class="py-line">            <tt class="py-name">idList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2175"></a><tt class="py-lineno">2175</tt>  <tt class="py-line"> </tt>
+<a name="L2176"></a><tt class="py-lineno">2176</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">devicesStr</tt><tt class="py-op">:</tt> </tt>
+<a name="L2177"></a><tt class="py-lineno">2177</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-697" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-697', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"There are no devices to get id from"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2178"></a><tt class="py-lineno">2178</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">idList</tt> </tt>
+<a name="L2179"></a><tt class="py-lineno">2179</tt>  <tt class="py-line"> </tt>
+<a name="L2180"></a><tt class="py-lineno">2180</tt>  <tt class="py-line">            <tt class="py-comment"># Split the string into list by comma</tt> </tt>
+<a name="L2181"></a><tt class="py-lineno">2181</tt>  <tt class="py-line">            <tt class="py-name">deviceList</tt> <tt class="py-op">=</tt> <tt class="py-name">devicesStr</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">","</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2182"></a><tt class="py-lineno">2182</tt>  <tt class="py-line">            <tt class="py-comment"># Get temporary list of all arguments with string 'id='</tt> </tt>
+<a name="L2183"></a><tt class="py-lineno">2183</tt>  <tt class="py-line">            <tt class="py-name">tempList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">dev</tt> <tt class="py-keyword">for</tt> <tt class="py-name">dev</tt> <tt class="py-keyword">in</tt> <tt class="py-name">deviceList</tt> <tt class="py-keyword">if</tt> <tt class="py-string">"id="</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dev</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2184"></a><tt class="py-lineno">2184</tt>  <tt class="py-line">            <tt class="py-comment"># Split list further into arguments before and after string</tt> </tt>
+<a name="L2185"></a><tt class="py-lineno">2185</tt>  <tt class="py-line">            <tt class="py-comment"># 'id='. Get the latter portion ( the actual device id ) and</tt> </tt>
+<a name="L2186"></a><tt class="py-lineno">2186</tt>  <tt class="py-line">            <tt class="py-comment"># append to idList</tt> </tt>
+<a name="L2187"></a><tt class="py-lineno">2187</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tempList</tt><tt class="py-op">:</tt> </tt>
+<a name="L2188"></a><tt class="py-lineno">2188</tt>  <tt class="py-line">                <tt class="py-name">idList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">arg</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"id="</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2189"></a><tt class="py-lineno">2189</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">idList</tt> </tt>
+<a name="L2190"></a><tt class="py-lineno">2190</tt>  <tt class="py-line"> </tt>
+<a name="L2191"></a><tt class="py-lineno">2191</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2192"></a><tt class="py-lineno">2192</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-698" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-698', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2193"></a><tt class="py-lineno">2193</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2194"></a><tt class="py-lineno">2194</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2195"></a><tt class="py-lineno">2195</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-699" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-699', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-700" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-700', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2196"></a><tt class="py-lineno">2196</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-701" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-701', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-702" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-702', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2197"></a><tt class="py-lineno">2197</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-703" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-703', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2198"></a><tt class="py-lineno">2198</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-704" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-704', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2199"></a><tt class="py-lineno">2199</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2200"></a><tt class="py-lineno">2200</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-705" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-705', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2201"></a><tt class="py-lineno">2201</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-706" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-706', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2202"></a><tt class="py-lineno">2202</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-707" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-707', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2203"></a><tt class="py-lineno">2203</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.getAllNodesId"></a><div id="OnosCliDriver.getAllNodesId-def"><a name="L2204"></a><tt class="py-lineno">2204</tt> <a class="py-toggle" href="#" id="OnosCliDriver.getAllNodesId-toggle" onclick="return toggle('OnosCliDriver.getAllNodesId');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllNodesId">getAllNodesId</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.getAllNodesId-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.getAllNodesId-expanded"><a name="L2205"></a><tt class="py-lineno">2205</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2206"></a><tt class="py-lineno">2206</tt>  <tt class="py-line"><tt class="py-docstring">        Uses 'nodes' function to obtain list of all nodes</tt> </tt>
+<a name="L2207"></a><tt class="py-lineno">2207</tt>  <tt class="py-line"><tt class="py-docstring">        and parse the result of nodes to obtain just the</tt> </tt>
+<a name="L2208"></a><tt class="py-lineno">2208</tt>  <tt class="py-line"><tt class="py-docstring">        node id's.</tt> </tt>
+<a name="L2209"></a><tt class="py-lineno">2209</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L2210"></a><tt class="py-lineno">2210</tt>  <tt class="py-line"><tt class="py-docstring">            list of node id's</tt> </tt>
+<a name="L2211"></a><tt class="py-lineno">2211</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2212"></a><tt class="py-lineno">2212</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2213"></a><tt class="py-lineno">2213</tt>  <tt class="py-line">            <tt class="py-name">nodesStr</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-708" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#nodes,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#nodes"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-708', 'nodes', 'link-708');">nodes</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2214"></a><tt class="py-lineno">2214</tt>  <tt class="py-line">            <tt class="py-name">idList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2215"></a><tt class="py-lineno">2215</tt>  <tt class="py-line">            <tt class="py-comment"># Sample nodesStr output</tt> </tt>
+<a name="L2216"></a><tt class="py-lineno">2216</tt>  <tt class="py-line">            <tt class="py-comment"># id=local, address=127.0.0.1:9876, state=ACTIVE *</tt> </tt>
+<a name="L2217"></a><tt class="py-lineno">2217</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">nodesStr</tt><tt class="py-op">:</tt> </tt>
+<a name="L2218"></a><tt class="py-lineno">2218</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-709" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-709', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"There are no nodes to get id from"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2219"></a><tt class="py-lineno">2219</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">idList</tt> </tt>
+<a name="L2220"></a><tt class="py-lineno">2220</tt>  <tt class="py-line">            <tt class="py-name">nodesJson</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">nodesStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2221"></a><tt class="py-lineno">2221</tt>  <tt class="py-line">            <tt class="py-name">idList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'id'</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">nodesJson</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2222"></a><tt class="py-lineno">2222</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">idList</tt> </tt>
+<a name="L2223"></a><tt class="py-lineno">2223</tt>  <tt class="py-line"> </tt>
+<a name="L2224"></a><tt class="py-lineno">2224</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2225"></a><tt class="py-lineno">2225</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-710" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-710', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2226"></a><tt class="py-lineno">2226</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2227"></a><tt class="py-lineno">2227</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2228"></a><tt class="py-lineno">2228</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-711" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-711', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-712" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-712', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2229"></a><tt class="py-lineno">2229</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-713" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-713', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-714" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-714', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2230"></a><tt class="py-lineno">2230</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-715" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-715', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2231"></a><tt class="py-lineno">2231</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-716" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-716', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2232"></a><tt class="py-lineno">2232</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2233"></a><tt class="py-lineno">2233</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-717" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-717', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2234"></a><tt class="py-lineno">2234</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-718" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-718', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2235"></a><tt class="py-lineno">2235</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-719" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-719', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2236"></a><tt class="py-lineno">2236</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.getDevice"></a><div id="OnosCliDriver.getDevice-def"><a name="L2237"></a><tt class="py-lineno">2237</tt> <a class="py-toggle" href="#" id="OnosCliDriver.getDevice-toggle" onclick="return toggle('OnosCliDriver.getDevice');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getDevice">getDevice</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">dpid</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.getDevice-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.getDevice-expanded"><a name="L2238"></a><tt class="py-lineno">2238</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2239"></a><tt class="py-lineno">2239</tt>  <tt class="py-line"><tt class="py-docstring">        Return the first device from the devices api whose 'id' contains 'dpid'</tt> </tt>
+<a name="L2240"></a><tt class="py-lineno">2240</tt>  <tt class="py-line"><tt class="py-docstring">        Return None if there is no match</tt> </tt>
+<a name="L2241"></a><tt class="py-lineno">2241</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2242"></a><tt class="py-lineno">2242</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2243"></a><tt class="py-lineno">2243</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">dpid</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L2244"></a><tt class="py-lineno">2244</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2245"></a><tt class="py-lineno">2245</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2246"></a><tt class="py-lineno">2246</tt>  <tt class="py-line">                <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-name">dpid</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">':'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2247"></a><tt class="py-lineno">2247</tt>  <tt class="py-line">                <tt class="py-name">rawDevices</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-720" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-720', 'devices', 'link-696');">devices</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2248"></a><tt class="py-lineno">2248</tt>  <tt class="py-line">                <tt class="py-name">devicesJson</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">rawDevices</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2249"></a><tt class="py-lineno">2249</tt>  <tt class="py-line">                <tt class="py-comment"># search json for the device with dpid then return the device</tt> </tt>
+<a name="L2250"></a><tt class="py-lineno">2250</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">device</tt> <tt class="py-keyword">in</tt> <tt class="py-name">devicesJson</tt><tt class="py-op">:</tt> </tt>
+<a name="L2251"></a><tt class="py-lineno">2251</tt>  <tt class="py-line">                    <tt class="py-comment"># print "%s in  %s?" % ( dpid, device[ 'id' ] )</tt> </tt>
+<a name="L2252"></a><tt class="py-lineno">2252</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">dpid</tt> <tt class="py-keyword">in</tt> <tt class="py-name">device</tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2253"></a><tt class="py-lineno">2253</tt>  <tt class="py-line">                        <tt class="py-keyword">return</tt> <tt class="py-name">device</tt> </tt>
+<a name="L2254"></a><tt class="py-lineno">2254</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2255"></a><tt class="py-lineno">2255</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2256"></a><tt class="py-lineno">2256</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-721" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-721', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2257"></a><tt class="py-lineno">2257</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2258"></a><tt class="py-lineno">2258</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2259"></a><tt class="py-lineno">2259</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-722" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-722', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-723" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-723', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2260"></a><tt class="py-lineno">2260</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-724" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-724', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-725" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-725', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2261"></a><tt class="py-lineno">2261</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-726" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-726', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2262"></a><tt class="py-lineno">2262</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-727" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-727', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2263"></a><tt class="py-lineno">2263</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2264"></a><tt class="py-lineno">2264</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-728" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-728', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2265"></a><tt class="py-lineno">2265</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-729" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-729', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2266"></a><tt class="py-lineno">2266</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-730" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-730', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2267"></a><tt class="py-lineno">2267</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.checkStatus"></a><div id="OnosCliDriver.checkStatus-def"><a name="L2268"></a><tt class="py-lineno">2268</tt> <a class="py-toggle" href="#" id="OnosCliDriver.checkStatus-toggle" onclick="return toggle('OnosCliDriver.checkStatus');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkStatus">checkStatus</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">,</tt> <tt class="py-param">numoswitch</tt><tt class="py-op">,</tt> <tt class="py-param">numolink</tt><tt class="py-op">,</tt> <tt class="py-param">logLevel</tt><tt class="py-op">=</tt><tt class="py-string">"info"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.checkStatus-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.checkStatus-expanded"><a name="L2269"></a><tt class="py-lineno">2269</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2270"></a><tt class="py-lineno">2270</tt>  <tt class="py-line"><tt class="py-docstring">        Checks the number of switches &amp; links that ONOS sees against the</tt> </tt>
+<a name="L2271"></a><tt class="py-lineno">2271</tt>  <tt class="py-line"><tt class="py-docstring">        supplied values. By default this will report to main.log, but the</tt> </tt>
+<a name="L2272"></a><tt class="py-lineno">2272</tt>  <tt class="py-line"><tt class="py-docstring">        log level can be specified.</tt> </tt>
+<a name="L2273"></a><tt class="py-lineno">2273</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2274"></a><tt class="py-lineno">2274</tt>  <tt class="py-line"><tt class="py-docstring">        Params: ip = ip used for the onos cli</tt> </tt>
+<a name="L2275"></a><tt class="py-lineno">2275</tt>  <tt class="py-line"><tt class="py-docstring">                numoswitch = expected number of switches</tt> </tt>
+<a name="L2276"></a><tt class="py-lineno">2276</tt>  <tt class="py-line"><tt class="py-docstring">                numolink = expected number of links</tt> </tt>
+<a name="L2277"></a><tt class="py-lineno">2277</tt>  <tt class="py-line"><tt class="py-docstring">                logLevel = level to log to. Currently accepts</tt> </tt>
+<a name="L2278"></a><tt class="py-lineno">2278</tt>  <tt class="py-line"><tt class="py-docstring">                'info', 'warn' and 'report'</tt> </tt>
+<a name="L2279"></a><tt class="py-lineno">2279</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2280"></a><tt class="py-lineno">2280</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2281"></a><tt class="py-lineno">2281</tt>  <tt class="py-line"><tt class="py-docstring">        logLevel can</tt> </tt>
+<a name="L2282"></a><tt class="py-lineno">2282</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2283"></a><tt class="py-lineno">2283</tt>  <tt class="py-line"><tt class="py-docstring">        Returns: main.TRUE if the number of switches and links are correct,</tt> </tt>
+<a name="L2284"></a><tt class="py-lineno">2284</tt>  <tt class="py-line"><tt class="py-docstring">                 main.FALSE if the number of switches and links is incorrect,</tt> </tt>
+<a name="L2285"></a><tt class="py-lineno">2285</tt>  <tt class="py-line"><tt class="py-docstring">                 and main.ERROR otherwise</tt> </tt>
+<a name="L2286"></a><tt class="py-lineno">2286</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2287"></a><tt class="py-lineno">2287</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2288"></a><tt class="py-lineno">2288</tt>  <tt class="py-line">            <tt id="link-731" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#topology,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topology"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-731', 'topology', 'link-731');">topology</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-732" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.getTopology()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getTopology"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.getTopology" class="py-name" href="#" onclick="return doclink('link-732', 'getTopology', 'link-732');">getTopology</a></tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2289"></a><tt class="py-lineno">2289</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-733" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-733', 'topology', 'link-731');">topology</a></tt> <tt class="py-op">==</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">:</tt> </tt>
+<a name="L2290"></a><tt class="py-lineno">2290</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L2291"></a><tt class="py-lineno">2291</tt>  <tt class="py-line">            <tt id="link-734" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-734', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L2292"></a><tt class="py-lineno">2292</tt>  <tt class="py-line">            <tt class="py-comment"># Is the number of switches is what we expected</tt> </tt>
+<a name="L2293"></a><tt class="py-lineno">2293</tt>  <tt class="py-line">            <tt id="link-735" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-735', 'devices', 'link-696');">devices</a></tt> <tt class="py-op">=</tt> <tt id="link-736" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-736', 'topology', 'link-731');">topology</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'devices'</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2294"></a><tt class="py-lineno">2294</tt>  <tt class="py-line">            <tt id="link-737" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#links,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#links"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-737', 'links', 'link-737');">links</a></tt> <tt class="py-op">=</tt> <tt id="link-738" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-738', 'topology', 'link-731');">topology</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'links'</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2295"></a><tt class="py-lineno">2295</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-739" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-739', 'devices', 'link-696');">devices</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt> <tt class="py-keyword">or</tt> <tt id="link-740" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-740', 'links', 'link-737');">links</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L2296"></a><tt class="py-lineno">2296</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L2297"></a><tt class="py-lineno">2297</tt>  <tt class="py-line">            <tt class="py-name">switchCheck</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt id="link-741" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-741', 'devices', 'link-696');">devices</a></tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">numoswitch</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2298"></a><tt class="py-lineno">2298</tt>  <tt class="py-line">            <tt class="py-comment"># Is the number of links is what we expected</tt> </tt>
+<a name="L2299"></a><tt class="py-lineno">2299</tt>  <tt class="py-line">            <tt class="py-name">linkCheck</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt id="link-742" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-742', 'links', 'link-737');">links</a></tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">numolink</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2300"></a><tt class="py-lineno">2300</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-op">(</tt> <tt class="py-name">switchCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">linkCheck</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2301"></a><tt class="py-lineno">2301</tt>  <tt class="py-line">                <tt class="py-comment"># We expected the correct numbers</tt> </tt>
+<a name="L2302"></a><tt class="py-lineno">2302</tt>  <tt class="py-line">                <tt id="link-743" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-743', 'output', 'link-120');">output</a></tt> <tt class="py-op">+=</tt> <tt class="py-string">"The number of links and switches match "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2303"></a><tt class="py-lineno">2303</tt>  <tt class="py-line">                          <tt class="py-string">"what was expected"</tt> </tt>
+<a name="L2304"></a><tt class="py-lineno">2304</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2305"></a><tt class="py-lineno">2305</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2306"></a><tt class="py-lineno">2306</tt>  <tt class="py-line">                <tt id="link-744" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-744', 'output', 'link-120');">output</a></tt> <tt class="py-op">+=</tt> <tt class="py-string">"The number of links and switches does not match "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2307"></a><tt class="py-lineno">2307</tt>  <tt class="py-line">                          <tt class="py-string">"what was expected"</tt> </tt>
+<a name="L2308"></a><tt class="py-lineno">2308</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2309"></a><tt class="py-lineno">2309</tt>  <tt class="py-line">            <tt id="link-745" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-745', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-746" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-746', 'output', 'link-120');">output</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"\n ONOS sees %i devices (%i expected) \</tt> </tt>
+<a name="L2310"></a><tt class="py-lineno">2310</tt>  <tt class="py-line"><tt class="py-string">                    and %i links (%i expected)"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
+<a name="L2311"></a><tt class="py-lineno">2311</tt>  <tt class="py-line">                <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt id="link-747" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-747', 'devices', 'link-696');">devices</a></tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">numoswitch</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt id="link-748" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-748', 'links', 'link-737');">links</a></tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2312"></a><tt class="py-lineno">2312</tt>  <tt class="py-line">                <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">numolink</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2313"></a><tt class="py-lineno">2313</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">logLevel</tt> <tt class="py-op">==</tt> <tt class="py-string">"report"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2314"></a><tt class="py-lineno">2314</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-749" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-749', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt id="link-750" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-750', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L2315"></a><tt class="py-lineno">2315</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">logLevel</tt> <tt class="py-op">==</tt> <tt class="py-string">"warn"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2316"></a><tt class="py-lineno">2316</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-751" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-751', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt id="link-752" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-752', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L2317"></a><tt class="py-lineno">2317</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2318"></a><tt class="py-lineno">2318</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-753" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-753', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt id="link-754" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-754', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L2319"></a><tt class="py-lineno">2319</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
+<a name="L2320"></a><tt class="py-lineno">2320</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2321"></a><tt class="py-lineno">2321</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-755" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-755', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2322"></a><tt class="py-lineno">2322</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2323"></a><tt class="py-lineno">2323</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2324"></a><tt class="py-lineno">2324</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-756" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-756', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-757" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-757', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2325"></a><tt class="py-lineno">2325</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-758" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-758', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-759" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-759', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2326"></a><tt class="py-lineno">2326</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-760" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-760', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2327"></a><tt class="py-lineno">2327</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-761" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-761', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2328"></a><tt class="py-lineno">2328</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2329"></a><tt class="py-lineno">2329</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-762" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-762', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2330"></a><tt class="py-lineno">2330</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-763" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-763', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2331"></a><tt class="py-lineno">2331</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-764" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-764', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2332"></a><tt class="py-lineno">2332</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.deviceRole"></a><div id="OnosCliDriver.deviceRole-def"><a name="L2333"></a><tt class="py-lineno">2333</tt> <a class="py-toggle" href="#" id="OnosCliDriver.deviceRole-toggle" onclick="return toggle('OnosCliDriver.deviceRole');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deviceRole">deviceRole</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">deviceId</tt><tt class="py-op">,</tt> <tt class="py-param">onosNode</tt><tt class="py-op">,</tt> <tt class="py-param">role</tt><tt class="py-op">=</tt><tt class="py-string">"master"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.deviceRole-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.deviceRole-expanded"><a name="L2334"></a><tt class="py-lineno">2334</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2335"></a><tt class="py-lineno">2335</tt>  <tt class="py-line"><tt class="py-docstring">        Calls the device-role cli command.</tt> </tt>
+<a name="L2336"></a><tt class="py-lineno">2336</tt>  <tt class="py-line"><tt class="py-docstring">        deviceId must be the id of a device as seen in the onos devices command</tt> </tt>
+<a name="L2337"></a><tt class="py-lineno">2337</tt>  <tt class="py-line"><tt class="py-docstring">        onosNode is the ip of one of the onos nodes in the cluster</tt> </tt>
+<a name="L2338"></a><tt class="py-lineno">2338</tt>  <tt class="py-line"><tt class="py-docstring">        role must be either master, standby, or none</tt> </tt>
+<a name="L2339"></a><tt class="py-lineno">2339</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2340"></a><tt class="py-lineno">2340</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L2341"></a><tt class="py-lineno">2341</tt>  <tt class="py-line"><tt class="py-docstring">            main.TRUE or main.FALSE based on argument verification and</tt> </tt>
+<a name="L2342"></a><tt class="py-lineno">2342</tt>  <tt class="py-line"><tt class="py-docstring">            main.ERROR if command returns and error</tt> </tt>
+<a name="L2343"></a><tt class="py-lineno">2343</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2344"></a><tt class="py-lineno">2344</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2345"></a><tt class="py-lineno">2345</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">role</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">"master"</tt> <tt class="py-keyword">or</tt> <tt class="py-name">role</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">"standby"</tt> <tt class="py-keyword">or</tt>\ </tt>
+<a name="L2346"></a><tt class="py-lineno">2346</tt>  <tt class="py-line">                    <tt class="py-name">role</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">"none"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2347"></a><tt class="py-lineno">2347</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"device-role "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2348"></a><tt class="py-lineno">2348</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2349"></a><tt class="py-lineno">2349</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosNode</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2350"></a><tt class="py-lineno">2350</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">role</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2351"></a><tt class="py-lineno">2351</tt>  <tt class="py-line">                <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-765" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-765', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2352"></a><tt class="py-lineno">2352</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2353"></a><tt class="py-lineno">2353</tt>  <tt class="py-line">                    <tt class="py-comment"># end color output to escape any colours</tt> </tt>
+<a name="L2354"></a><tt class="py-lineno">2354</tt>  <tt class="py-line">                    <tt class="py-comment"># from the cli</tt> </tt>
+<a name="L2355"></a><tt class="py-lineno">2355</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-766" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-766', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-767" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-767', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2356"></a><tt class="py-lineno">2356</tt>  <tt class="py-line">                                    <tt class="py-name">handle</tt> <tt class="py-op">+</tt> <tt class="py-string">'\033[0m'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2357"></a><tt class="py-lineno">2357</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L2358"></a><tt class="py-lineno">2358</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2359"></a><tt class="py-lineno">2359</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2360"></a><tt class="py-lineno">2360</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-768" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-768', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-769" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-769', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Invalid 'role' given to device_role(). "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2361"></a><tt class="py-lineno">2361</tt>  <tt class="py-line">                                <tt class="py-string">"Value was '"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">role</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"'."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2362"></a><tt class="py-lineno">2362</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2363"></a><tt class="py-lineno">2363</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2364"></a><tt class="py-lineno">2364</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-770" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-770', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2365"></a><tt class="py-lineno">2365</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2366"></a><tt class="py-lineno">2366</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2367"></a><tt class="py-lineno">2367</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-771" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-771', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-772" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-772', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2368"></a><tt class="py-lineno">2368</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-773" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-773', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-774" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-774', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2369"></a><tt class="py-lineno">2369</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-775" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-775', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2370"></a><tt class="py-lineno">2370</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-776" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-776', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2371"></a><tt class="py-lineno">2371</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2372"></a><tt class="py-lineno">2372</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-777" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-777', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2373"></a><tt class="py-lineno">2373</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-778" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-778', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2374"></a><tt class="py-lineno">2374</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-779" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-779', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2375"></a><tt class="py-lineno">2375</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.clusters"></a><div id="OnosCliDriver.clusters-def"><a name="L2376"></a><tt class="py-lineno">2376</tt> <a class="py-toggle" href="#" id="OnosCliDriver.clusters-toggle" onclick="return toggle('OnosCliDriver.clusters');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#clusters">clusters</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.clusters-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.clusters-expanded"><a name="L2377"></a><tt class="py-lineno">2377</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2378"></a><tt class="py-lineno">2378</tt>  <tt class="py-line"><tt class="py-docstring">        Lists all clusters</tt> </tt>
+<a name="L2379"></a><tt class="py-lineno">2379</tt>  <tt class="py-line"><tt class="py-docstring">        Optional argument:</tt> </tt>
+<a name="L2380"></a><tt class="py-lineno">2380</tt>  <tt class="py-line"><tt class="py-docstring">            * jsonFormat - boolean indicating if you want output in json</tt> </tt>
+<a name="L2381"></a><tt class="py-lineno">2381</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2382"></a><tt class="py-lineno">2382</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2383"></a><tt class="py-lineno">2383</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"clusters"</tt> </tt>
+<a name="L2384"></a><tt class="py-lineno">2384</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L2385"></a><tt class="py-lineno">2385</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L2386"></a><tt class="py-lineno">2386</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-780" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-780', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2387"></a><tt class="py-lineno">2387</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L2388"></a><tt class="py-lineno">2388</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2389"></a><tt class="py-lineno">2389</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-781" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-781', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2390"></a><tt class="py-lineno">2390</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2391"></a><tt class="py-lineno">2391</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2392"></a><tt class="py-lineno">2392</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-782" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-782', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-783" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-783', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2393"></a><tt class="py-lineno">2393</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-784" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-784', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-785" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-785', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2394"></a><tt class="py-lineno">2394</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-786" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-786', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2395"></a><tt class="py-lineno">2395</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-787" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-787', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2396"></a><tt class="py-lineno">2396</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2397"></a><tt class="py-lineno">2397</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-788" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-788', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2398"></a><tt class="py-lineno">2398</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-789" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-789', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2399"></a><tt class="py-lineno">2399</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-790" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-790', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2400"></a><tt class="py-lineno">2400</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.electionTestLeader"></a><div id="OnosCliDriver.electionTestLeader-def"><a name="L2401"></a><tt class="py-lineno">2401</tt> <a class="py-toggle" href="#" id="OnosCliDriver.electionTestLeader-toggle" onclick="return toggle('OnosCliDriver.electionTestLeader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestLeader">electionTestLeader</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.electionTestLeader-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.electionTestLeader-expanded"><a name="L2402"></a><tt class="py-lineno">2402</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2403"></a><tt class="py-lineno">2403</tt>  <tt class="py-line"><tt class="py-docstring">        CLI command to get the current leader for the Election test application</tt> </tt>
+<a name="L2404"></a><tt class="py-lineno">2404</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: Requires installation of the onos-app-election feature</tt> </tt>
+<a name="L2405"></a><tt class="py-lineno">2405</tt>  <tt class="py-line"><tt class="py-docstring">        Returns: Node IP of the leader if one exists</tt> </tt>
+<a name="L2406"></a><tt class="py-lineno">2406</tt>  <tt class="py-line"><tt class="py-docstring">                 None if none exists</tt> </tt>
+<a name="L2407"></a><tt class="py-lineno">2407</tt>  <tt class="py-line"><tt class="py-docstring">                 Main.FALSE on error</tt> </tt>
+<a name="L2408"></a><tt class="py-lineno">2408</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2409"></a><tt class="py-lineno">2409</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2410"></a><tt class="py-lineno">2410</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"election-test-leader"</tt> </tt>
+<a name="L2411"></a><tt class="py-lineno">2411</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-791" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-791', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2412"></a><tt class="py-lineno">2412</tt>  <tt class="py-line">            <tt class="py-comment"># Leader</tt> </tt>
+<a name="L2413"></a><tt class="py-lineno">2413</tt>  <tt class="py-line">            <tt class="py-name">leaderPattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"The\scurrent\sleader\sfor\sthe\sElection\s"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2414"></a><tt class="py-lineno">2414</tt>  <tt class="py-line">                <tt class="py-string">"app\sis\s(?P&lt;node&gt;.+)\."</tt> </tt>
+<a name="L2415"></a><tt class="py-lineno">2415</tt>  <tt class="py-line">            <tt class="py-name">nodeSearch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">leaderPattern</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2416"></a><tt class="py-lineno">2416</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">nodeSearch</tt><tt class="py-op">:</tt> </tt>
+<a name="L2417"></a><tt class="py-lineno">2417</tt>  <tt class="py-line">                <tt class="py-name">node</tt> <tt class="py-op">=</tt> <tt class="py-name">nodeSearch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-string">'node'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2418"></a><tt class="py-lineno">2418</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-792" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-792', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Election-test-leader on "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2419"></a><tt class="py-lineno">2419</tt>  <tt class="py-line">                               <tt class="py-string">" found "</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt> <tt class="py-op">+</tt> <tt class="py-string">" as the leader"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2420"></a><tt class="py-lineno">2420</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">node</tt> </tt>
+<a name="L2421"></a><tt class="py-lineno">2421</tt>  <tt class="py-line">            <tt class="py-comment"># no leader</tt> </tt>
+<a name="L2422"></a><tt class="py-lineno">2422</tt>  <tt class="py-line">            <tt class="py-name">nullPattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"There\sis\scurrently\sno\sleader\selected\sfor\s"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2423"></a><tt class="py-lineno">2423</tt>  <tt class="py-line">                <tt class="py-string">"the\sElection\sapp"</tt> </tt>
+<a name="L2424"></a><tt class="py-lineno">2424</tt>  <tt class="py-line">            <tt class="py-name">nullSearch</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">nullPattern</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2425"></a><tt class="py-lineno">2425</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">nullSearch</tt><tt class="py-op">:</tt> </tt>
+<a name="L2426"></a><tt class="py-lineno">2426</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-793" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-793', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Election-test-leader found no leader on "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2427"></a><tt class="py-lineno">2427</tt>  <tt class="py-line">                               <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2428"></a><tt class="py-lineno">2428</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2429"></a><tt class="py-lineno">2429</tt>  <tt class="py-line">            <tt class="py-comment"># error</tt> </tt>
+<a name="L2430"></a><tt class="py-lineno">2430</tt>  <tt class="py-line">            <tt class="py-name">errorPattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"Command\snot\sfound"</tt> </tt>
+<a name="L2431"></a><tt class="py-lineno">2431</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">errorPattern</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2432"></a><tt class="py-lineno">2432</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-794" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-794', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-795" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-795', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Election app is not loaded on "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2433"></a><tt class="py-lineno">2433</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: Should this be main.ERROR?</tt> </tt>
+<a name="L2434"></a><tt class="py-lineno">2434</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2435"></a><tt class="py-lineno">2435</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2436"></a><tt class="py-lineno">2436</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-796" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-796', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-797" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-797', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in electionTestLeader on "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2437"></a><tt class="py-lineno">2437</tt>  <tt class="py-line">                                <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-string">"unexpected response"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2438"></a><tt class="py-lineno">2438</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-798" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-798', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-799" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-799', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2439"></a><tt class="py-lineno">2439</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2440"></a><tt class="py-lineno">2440</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2441"></a><tt class="py-lineno">2441</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-800" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-800', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2442"></a><tt class="py-lineno">2442</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2443"></a><tt class="py-lineno">2443</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2444"></a><tt class="py-lineno">2444</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-801" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-801', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-802" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-802', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2445"></a><tt class="py-lineno">2445</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-803" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-803', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-804" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-804', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2446"></a><tt class="py-lineno">2446</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-805" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-805', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2447"></a><tt class="py-lineno">2447</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-806" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-806', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2448"></a><tt class="py-lineno">2448</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2449"></a><tt class="py-lineno">2449</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-807" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-807', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2450"></a><tt class="py-lineno">2450</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-808" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-808', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2451"></a><tt class="py-lineno">2451</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-809" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-809', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2452"></a><tt class="py-lineno">2452</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.electionTestRun"></a><div id="OnosCliDriver.electionTestRun-def"><a name="L2453"></a><tt class="py-lineno">2453</tt> <a class="py-toggle" href="#" id="OnosCliDriver.electionTestRun-toggle" onclick="return toggle('OnosCliDriver.electionTestRun');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestRun">electionTestRun</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.electionTestRun-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.electionTestRun-expanded"><a name="L2454"></a><tt class="py-lineno">2454</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2455"></a><tt class="py-lineno">2455</tt>  <tt class="py-line"><tt class="py-docstring">        CLI command to run for leadership of the Election test application.</tt> </tt>
+<a name="L2456"></a><tt class="py-lineno">2456</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: Requires installation of the onos-app-election feature</tt> </tt>
+<a name="L2457"></a><tt class="py-lineno">2457</tt>  <tt class="py-line"><tt class="py-docstring">        Returns: Main.TRUE on success</tt> </tt>
+<a name="L2458"></a><tt class="py-lineno">2458</tt>  <tt class="py-line"><tt class="py-docstring">                 Main.FALSE on error</tt> </tt>
+<a name="L2459"></a><tt class="py-lineno">2459</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2460"></a><tt class="py-lineno">2460</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2461"></a><tt class="py-lineno">2461</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"election-test-run"</tt> </tt>
+<a name="L2462"></a><tt class="py-lineno">2462</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-810" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-810', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2463"></a><tt class="py-lineno">2463</tt>  <tt class="py-line">            <tt class="py-comment"># success</tt> </tt>
+<a name="L2464"></a><tt class="py-lineno">2464</tt>  <tt class="py-line">            <tt class="py-name">successPattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"Entering\sleadership\selections\sfor\sthe\s"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2465"></a><tt class="py-lineno">2465</tt>  <tt class="py-line">                <tt class="py-string">"Election\sapp."</tt> </tt>
+<a name="L2466"></a><tt class="py-lineno">2466</tt>  <tt class="py-line">            <tt class="py-name">search</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">successPattern</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2467"></a><tt class="py-lineno">2467</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">search</tt><tt class="py-op">:</tt> </tt>
+<a name="L2468"></a><tt class="py-lineno">2468</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-811" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-811', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" entering leadership elections "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2469"></a><tt class="py-lineno">2469</tt>  <tt class="py-line">                               <tt class="py-string">"for the Election app."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2470"></a><tt class="py-lineno">2470</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2471"></a><tt class="py-lineno">2471</tt>  <tt class="py-line">            <tt class="py-comment"># error</tt> </tt>
+<a name="L2472"></a><tt class="py-lineno">2472</tt>  <tt class="py-line">            <tt class="py-name">errorPattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"Command\snot\sfound"</tt> </tt>
+<a name="L2473"></a><tt class="py-lineno">2473</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">errorPattern</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2474"></a><tt class="py-lineno">2474</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-812" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-812', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-813" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-813', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Election app is not loaded on "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2475"></a><tt class="py-lineno">2475</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2476"></a><tt class="py-lineno">2476</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2477"></a><tt class="py-lineno">2477</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-814" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-814', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-815" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-815', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in electionTestRun on "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2478"></a><tt class="py-lineno">2478</tt>  <tt class="py-line">                                <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-string">"unexpected response"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2479"></a><tt class="py-lineno">2479</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-816" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-816', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-817" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-817', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2480"></a><tt class="py-lineno">2480</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2481"></a><tt class="py-lineno">2481</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2482"></a><tt class="py-lineno">2482</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-818" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-818', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2483"></a><tt class="py-lineno">2483</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2484"></a><tt class="py-lineno">2484</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2485"></a><tt class="py-lineno">2485</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-819" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-819', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-820" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-820', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2486"></a><tt class="py-lineno">2486</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-821" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-821', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-822" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-822', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2487"></a><tt class="py-lineno">2487</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-823" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-823', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2488"></a><tt class="py-lineno">2488</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-824" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-824', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2489"></a><tt class="py-lineno">2489</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2490"></a><tt class="py-lineno">2490</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-825" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-825', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2491"></a><tt class="py-lineno">2491</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-826" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-826', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2492"></a><tt class="py-lineno">2492</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-827" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-827', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2493"></a><tt class="py-lineno">2493</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.electionTestWithdraw"></a><div id="OnosCliDriver.electionTestWithdraw-def"><a name="L2494"></a><tt class="py-lineno">2494</tt> <a class="py-toggle" href="#" id="OnosCliDriver.electionTestWithdraw-toggle" onclick="return toggle('OnosCliDriver.electionTestWithdraw');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestWithdraw">electionTestWithdraw</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.electionTestWithdraw-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.electionTestWithdraw-expanded"><a name="L2495"></a><tt class="py-lineno">2495</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2496"></a><tt class="py-lineno">2496</tt>  <tt class="py-line"><tt class="py-docstring">         * CLI command to withdraw the local node from leadership election for</tt> </tt>
+<a name="L2497"></a><tt class="py-lineno">2497</tt>  <tt class="py-line"><tt class="py-docstring">         * the Election test application.</tt> </tt>
+<a name="L2498"></a><tt class="py-lineno">2498</tt>  <tt class="py-line"><tt class="py-docstring">         #NOTE: Requires installation of the onos-app-election feature</tt> </tt>
+<a name="L2499"></a><tt class="py-lineno">2499</tt>  <tt class="py-line"><tt class="py-docstring">         Returns: Main.TRUE on success</tt> </tt>
+<a name="L2500"></a><tt class="py-lineno">2500</tt>  <tt class="py-line"><tt class="py-docstring">                  Main.FALSE on error</tt> </tt>
+<a name="L2501"></a><tt class="py-lineno">2501</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2502"></a><tt class="py-lineno">2502</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2503"></a><tt class="py-lineno">2503</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"election-test-withdraw"</tt> </tt>
+<a name="L2504"></a><tt class="py-lineno">2504</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-828" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-828', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2505"></a><tt class="py-lineno">2505</tt>  <tt class="py-line">            <tt class="py-comment"># success</tt> </tt>
+<a name="L2506"></a><tt class="py-lineno">2506</tt>  <tt class="py-line">            <tt class="py-name">successPattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"Withdrawing\sfrom\sleadership\selections\sfor"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2507"></a><tt class="py-lineno">2507</tt>  <tt class="py-line">                <tt class="py-string">"\sthe\sElection\sapp."</tt> </tt>
+<a name="L2508"></a><tt class="py-lineno">2508</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">successPattern</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2509"></a><tt class="py-lineno">2509</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-829" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-829', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" withdrawing from leadership "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2510"></a><tt class="py-lineno">2510</tt>  <tt class="py-line">                               <tt class="py-string">"elections for the Election app."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2511"></a><tt class="py-lineno">2511</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2512"></a><tt class="py-lineno">2512</tt>  <tt class="py-line">            <tt class="py-comment"># error</tt> </tt>
+<a name="L2513"></a><tt class="py-lineno">2513</tt>  <tt class="py-line">            <tt class="py-name">errorPattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"Command\snot\sfound"</tt> </tt>
+<a name="L2514"></a><tt class="py-lineno">2514</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">errorPattern</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2515"></a><tt class="py-lineno">2515</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-830" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-830', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-831" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-831', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Election app is not loaded on "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2516"></a><tt class="py-lineno">2516</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2517"></a><tt class="py-lineno">2517</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2518"></a><tt class="py-lineno">2518</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-832" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-832', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-833" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-833', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in electionTestWithdraw on "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2519"></a><tt class="py-lineno">2519</tt>  <tt class="py-line">                                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-string">"unexpected response"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2520"></a><tt class="py-lineno">2520</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-834" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-834', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-835" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-835', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2521"></a><tt class="py-lineno">2521</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2522"></a><tt class="py-lineno">2522</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2523"></a><tt class="py-lineno">2523</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-836" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-836', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2524"></a><tt class="py-lineno">2524</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2525"></a><tt class="py-lineno">2525</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2526"></a><tt class="py-lineno">2526</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-837" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-837', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-838" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-838', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2527"></a><tt class="py-lineno">2527</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-839" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-839', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-840" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-840', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2528"></a><tt class="py-lineno">2528</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-841" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-841', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2529"></a><tt class="py-lineno">2529</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-842" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-842', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2530"></a><tt class="py-lineno">2530</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2531"></a><tt class="py-lineno">2531</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-843" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-843', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2532"></a><tt class="py-lineno">2532</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-844" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-844', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2533"></a><tt class="py-lineno">2533</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-845" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-845', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2534"></a><tt class="py-lineno">2534</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.getDevicePortsEnabledCount"></a><div id="OnosCliDriver.getDevicePortsEnabledCount-def"><a name="L2535"></a><tt class="py-lineno">2535</tt> <a class="py-toggle" href="#" id="OnosCliDriver.getDevicePortsEnabledCount-toggle" onclick="return toggle('OnosCliDriver.getDevicePortsEnabledCount');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getDevicePortsEnabledCount">getDevicePortsEnabledCount</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">dpid</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.getDevicePortsEnabledCount-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.getDevicePortsEnabledCount-expanded"><a name="L2536"></a><tt class="py-lineno">2536</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2537"></a><tt class="py-lineno">2537</tt>  <tt class="py-line"><tt class="py-docstring">        Get the count of all enabled ports on a particular device/switch</tt> </tt>
+<a name="L2538"></a><tt class="py-lineno">2538</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2539"></a><tt class="py-lineno">2539</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2540"></a><tt class="py-lineno">2540</tt>  <tt class="py-line">            <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2541"></a><tt class="py-lineno">2541</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos:ports -e "</tt> <tt class="py-op">+</tt> <tt class="py-name">dpid</tt> <tt class="py-op">+</tt> <tt class="py-string">" | wc -l"</tt> </tt>
+<a name="L2542"></a><tt class="py-lineno">2542</tt>  <tt class="py-line">            <tt id="link-846" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-846', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-847" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-847', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2543"></a><tt class="py-lineno">2543</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"No such device"</tt><tt class="py-op">,</tt> <tt id="link-848" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-848', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2544"></a><tt class="py-lineno">2544</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-849" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-849', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-850" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-850', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ports"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2545"></a><tt class="py-lineno">2545</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-op">(</tt> <tt id="link-851" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-851', 'output', 'link-120');">output</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Error"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2546"></a><tt class="py-lineno">2546</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2547"></a><tt class="py-lineno">2547</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt id="link-852" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-852', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L2548"></a><tt class="py-lineno">2548</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2549"></a><tt class="py-lineno">2549</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-853" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-853', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2550"></a><tt class="py-lineno">2550</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-op">(</tt> <tt id="link-854" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-854', 'output', 'link-120');">output</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Error"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2551"></a><tt class="py-lineno">2551</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2552"></a><tt class="py-lineno">2552</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-855" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-855', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-856" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-856', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2553"></a><tt class="py-lineno">2553</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-857" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-857', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-858" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-858', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2554"></a><tt class="py-lineno">2554</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-859" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-859', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2555"></a><tt class="py-lineno">2555</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-860" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-860', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2556"></a><tt class="py-lineno">2556</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2557"></a><tt class="py-lineno">2557</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-861" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-861', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2558"></a><tt class="py-lineno">2558</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-862" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-862', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2559"></a><tt class="py-lineno">2559</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-863" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-863', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2560"></a><tt class="py-lineno">2560</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.getDeviceLinksActiveCount"></a><div id="OnosCliDriver.getDeviceLinksActiveCount-def"><a name="L2561"></a><tt class="py-lineno">2561</tt> <a class="py-toggle" href="#" id="OnosCliDriver.getDeviceLinksActiveCount-toggle" onclick="return toggle('OnosCliDriver.getDeviceLinksActiveCount');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getDeviceLinksActiveCount">getDeviceLinksActiveCount</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">dpid</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.getDeviceLinksActiveCount-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.getDeviceLinksActiveCount-expanded"><a name="L2562"></a><tt class="py-lineno">2562</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2563"></a><tt class="py-lineno">2563</tt>  <tt class="py-line"><tt class="py-docstring">        Get the count of all enabled ports on a particular device/switch</tt> </tt>
+<a name="L2564"></a><tt class="py-lineno">2564</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2565"></a><tt class="py-lineno">2565</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2566"></a><tt class="py-lineno">2566</tt>  <tt class="py-line">            <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2567"></a><tt class="py-lineno">2567</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos:links "</tt> <tt class="py-op">+</tt> <tt class="py-name">dpid</tt> <tt class="py-op">+</tt> <tt class="py-string">" | grep ACTIVE | wc -l"</tt> </tt>
+<a name="L2568"></a><tt class="py-lineno">2568</tt>  <tt class="py-line">            <tt id="link-864" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-864', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-865" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-865', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2569"></a><tt class="py-lineno">2569</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"No such device"</tt><tt class="py-op">,</tt> <tt id="link-866" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-866', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2570"></a><tt class="py-lineno">2570</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-867" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-867', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-868" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-868', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ports "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2571"></a><tt class="py-lineno">2571</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-op">(</tt> <tt id="link-869" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-869', 'output', 'link-120');">output</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Error "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2572"></a><tt class="py-lineno">2572</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2573"></a><tt class="py-lineno">2573</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt id="link-870" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-870', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L2574"></a><tt class="py-lineno">2574</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2575"></a><tt class="py-lineno">2575</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-871" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-871', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2576"></a><tt class="py-lineno">2576</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-op">(</tt> <tt id="link-872" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-872', 'output', 'link-120');">output</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Error "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2577"></a><tt class="py-lineno">2577</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2578"></a><tt class="py-lineno">2578</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-873" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-873', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-874" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-874', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2579"></a><tt class="py-lineno">2579</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-875" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-875', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-876" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-876', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2580"></a><tt class="py-lineno">2580</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-877" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-877', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2581"></a><tt class="py-lineno">2581</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-878" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-878', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2582"></a><tt class="py-lineno">2582</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2583"></a><tt class="py-lineno">2583</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-879" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-879', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2584"></a><tt class="py-lineno">2584</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-880" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-880', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2585"></a><tt class="py-lineno">2585</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-881" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-881', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2586"></a><tt class="py-lineno">2586</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.getAllIntentIds"></a><div id="OnosCliDriver.getAllIntentIds-def"><a name="L2587"></a><tt class="py-lineno">2587</tt> <a class="py-toggle" href="#" id="OnosCliDriver.getAllIntentIds-toggle" onclick="return toggle('OnosCliDriver.getAllIntentIds');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllIntentIds">getAllIntentIds</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.getAllIntentIds-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.getAllIntentIds-expanded"><a name="L2588"></a><tt class="py-lineno">2588</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2589"></a><tt class="py-lineno">2589</tt>  <tt class="py-line"><tt class="py-docstring">        Return a list of all Intent IDs</tt> </tt>
+<a name="L2590"></a><tt class="py-lineno">2590</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2591"></a><tt class="py-lineno">2591</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2592"></a><tt class="py-lineno">2592</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos:intents | grep id="</tt> </tt>
+<a name="L2593"></a><tt class="py-lineno">2593</tt>  <tt class="py-line">            <tt id="link-882" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-882', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-883" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-883', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2594"></a><tt class="py-lineno">2594</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> <tt id="link-884" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-884', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2595"></a><tt class="py-lineno">2595</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-885" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-885', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-886" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-886', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ports"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2596"></a><tt class="py-lineno">2596</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-op">(</tt> <tt id="link-887" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-887', 'output', 'link-120');">output</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Error"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2597"></a><tt class="py-lineno">2597</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2598"></a><tt class="py-lineno">2598</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt id="link-888" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-888', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L2599"></a><tt class="py-lineno">2599</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2600"></a><tt class="py-lineno">2600</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-889" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-889', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2601"></a><tt class="py-lineno">2601</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-op">(</tt> <tt id="link-890" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-890', 'output', 'link-120');">output</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Error"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2602"></a><tt class="py-lineno">2602</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2603"></a><tt class="py-lineno">2603</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-891" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-891', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-892" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-892', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2604"></a><tt class="py-lineno">2604</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-893" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-893', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-894" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-894', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2605"></a><tt class="py-lineno">2605</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-895" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-895', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2606"></a><tt class="py-lineno">2606</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-896" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-896', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2607"></a><tt class="py-lineno">2607</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2608"></a><tt class="py-lineno">2608</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-897" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-897', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2609"></a><tt class="py-lineno">2609</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-898" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-898', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2610"></a><tt class="py-lineno">2610</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-899" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-899', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2611"></a><tt class="py-lineno">2611</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.intentSummary"></a><div id="OnosCliDriver.intentSummary-def"><a name="L2612"></a><tt class="py-lineno">2612</tt> <a class="py-toggle" href="#" id="OnosCliDriver.intentSummary-toggle" onclick="return toggle('OnosCliDriver.intentSummary');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intentSummary">intentSummary</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.intentSummary-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.intentSummary-expanded"><a name="L2613"></a><tt class="py-lineno">2613</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2614"></a><tt class="py-lineno">2614</tt>  <tt class="py-line"><tt class="py-docstring">        Returns a dictionary containing the current intent states and the count</tt> </tt>
+<a name="L2615"></a><tt class="py-lineno">2615</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2616"></a><tt class="py-lineno">2616</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2617"></a><tt class="py-lineno">2617</tt>  <tt class="py-line">            <tt id="link-900" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-900', 'intents', 'link-570');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-901" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-901', 'intents', 'link-570');">intents</a></tt><tt class="py-op">(</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2618"></a><tt class="py-lineno">2618</tt>  <tt class="py-line">            <tt class="py-name">states</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2619"></a><tt class="py-lineno">2619</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-902" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-902', 'intent', 'link-571');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-903" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-903', 'intents', 'link-570');">intents</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2620"></a><tt class="py-lineno">2620</tt>  <tt class="py-line">                <tt class="py-name">states</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-904" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-904', 'intent', 'link-571');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2621"></a><tt class="py-lineno">2621</tt>  <tt class="py-line">            <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-op">(</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">states</tt><tt class="py-op">.</tt><tt class="py-name">count</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">states</tt> <tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2622"></a><tt class="py-lineno">2622</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-905" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-905', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt> <tt class="py-name">out</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2623"></a><tt class="py-lineno">2623</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt> <tt class="py-name">out</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2624"></a><tt class="py-lineno">2624</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2625"></a><tt class="py-lineno">2625</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-906" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-906', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2626"></a><tt class="py-lineno">2626</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2627"></a><tt class="py-lineno">2627</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2628"></a><tt class="py-lineno">2628</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-907" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-907', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-908" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-908', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2629"></a><tt class="py-lineno">2629</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-909" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-909', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-910" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-910', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2630"></a><tt class="py-lineno">2630</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-911" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-911', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2631"></a><tt class="py-lineno">2631</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-912" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-912', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2632"></a><tt class="py-lineno">2632</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2633"></a><tt class="py-lineno">2633</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-913" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-913', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2634"></a><tt class="py-lineno">2634</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-914" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-914', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2635"></a><tt class="py-lineno">2635</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-915" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-915', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2636"></a><tt class="py-lineno">2636</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.leaders"></a><div id="OnosCliDriver.leaders-def"><a name="L2637"></a><tt class="py-lineno">2637</tt> <a class="py-toggle" href="#" id="OnosCliDriver.leaders-toggle" onclick="return toggle('OnosCliDriver.leaders');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#leaders">leaders</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.leaders-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.leaders-expanded"><a name="L2638"></a><tt class="py-lineno">2638</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2639"></a><tt class="py-lineno">2639</tt>  <tt class="py-line"><tt class="py-docstring">        Returns the output of the leaders command.</tt> </tt>
+<a name="L2640"></a><tt class="py-lineno">2640</tt>  <tt class="py-line"><tt class="py-docstring">        Optional argument:</tt> </tt>
+<a name="L2641"></a><tt class="py-lineno">2641</tt>  <tt class="py-line"><tt class="py-docstring">            * jsonFormat - boolean indicating if you want output in json</tt> </tt>
+<a name="L2642"></a><tt class="py-lineno">2642</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2643"></a><tt class="py-lineno">2643</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2644"></a><tt class="py-lineno">2644</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos:leaders"</tt> </tt>
+<a name="L2645"></a><tt class="py-lineno">2645</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L2646"></a><tt class="py-lineno">2646</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L2647"></a><tt class="py-lineno">2647</tt>  <tt class="py-line">            <tt id="link-916" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-916', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-917" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-917', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2648"></a><tt class="py-lineno">2648</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-918" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-918', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L2649"></a><tt class="py-lineno">2649</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2650"></a><tt class="py-lineno">2650</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-919" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-919', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2651"></a><tt class="py-lineno">2651</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2652"></a><tt class="py-lineno">2652</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2653"></a><tt class="py-lineno">2653</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-920" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-920', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-921" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-921', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2654"></a><tt class="py-lineno">2654</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-922" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-922', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-923" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-923', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2655"></a><tt class="py-lineno">2655</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-924" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-924', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2656"></a><tt class="py-lineno">2656</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-925" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-925', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2657"></a><tt class="py-lineno">2657</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2658"></a><tt class="py-lineno">2658</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-926" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-926', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2659"></a><tt class="py-lineno">2659</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-927" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-927', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2660"></a><tt class="py-lineno">2660</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-928" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-928', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2661"></a><tt class="py-lineno">2661</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.leaderCandidates"></a><div id="OnosCliDriver.leaderCandidates-def"><a name="L2662"></a><tt class="py-lineno">2662</tt> <a class="py-toggle" href="#" id="OnosCliDriver.leaderCandidates-toggle" onclick="return toggle('OnosCliDriver.leaderCandidates');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#leaderCandidates">leaderCandidates</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.leaderCandidates-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.leaderCandidates-expanded"><a name="L2663"></a><tt class="py-lineno">2663</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2664"></a><tt class="py-lineno">2664</tt>  <tt class="py-line"><tt class="py-docstring">        Returns the output of the leaders -c command.</tt> </tt>
+<a name="L2665"></a><tt class="py-lineno">2665</tt>  <tt class="py-line"><tt class="py-docstring">        Optional argument:</tt> </tt>
+<a name="L2666"></a><tt class="py-lineno">2666</tt>  <tt class="py-line"><tt class="py-docstring">            * jsonFormat - boolean indicating if you want output in json</tt> </tt>
+<a name="L2667"></a><tt class="py-lineno">2667</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2668"></a><tt class="py-lineno">2668</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2669"></a><tt class="py-lineno">2669</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos:leaders -c"</tt> </tt>
+<a name="L2670"></a><tt class="py-lineno">2670</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L2671"></a><tt class="py-lineno">2671</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L2672"></a><tt class="py-lineno">2672</tt>  <tt class="py-line">            <tt id="link-929" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-929', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-930" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-930', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2673"></a><tt class="py-lineno">2673</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-931" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-931', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L2674"></a><tt class="py-lineno">2674</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2675"></a><tt class="py-lineno">2675</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-932" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-932', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2676"></a><tt class="py-lineno">2676</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2677"></a><tt class="py-lineno">2677</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2678"></a><tt class="py-lineno">2678</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-933" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-933', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-934" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-934', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2679"></a><tt class="py-lineno">2679</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-935" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-935', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-936" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-936', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2680"></a><tt class="py-lineno">2680</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-937" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-937', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2681"></a><tt class="py-lineno">2681</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-938" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-938', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2682"></a><tt class="py-lineno">2682</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2683"></a><tt class="py-lineno">2683</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-939" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-939', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2684"></a><tt class="py-lineno">2684</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-940" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-940', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2685"></a><tt class="py-lineno">2685</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-941" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-941', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2686"></a><tt class="py-lineno">2686</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.specificLeaderCandidate"></a><div id="OnosCliDriver.specificLeaderCandidate-def"><a name="L2687"></a><tt class="py-lineno">2687</tt> <a class="py-toggle" href="#" id="OnosCliDriver.specificLeaderCandidate-toggle" onclick="return toggle('OnosCliDriver.specificLeaderCandidate');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#specificLeaderCandidate">specificLeaderCandidate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">topic</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.specificLeaderCandidate-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.specificLeaderCandidate-expanded"><a name="L2688"></a><tt class="py-lineno">2688</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2689"></a><tt class="py-lineno">2689</tt>  <tt class="py-line"><tt class="py-docstring">        Returns a list in format [leader,candidate1,candidate2,...] for a given</tt> </tt>
+<a name="L2690"></a><tt class="py-lineno">2690</tt>  <tt class="py-line"><tt class="py-docstring">        topic parameter and an empty list if the topic doesn't exist</tt> </tt>
+<a name="L2691"></a><tt class="py-lineno">2691</tt>  <tt class="py-line"><tt class="py-docstring">        If no leader is elected leader in the returned list will be "none"</tt> </tt>
+<a name="L2692"></a><tt class="py-lineno">2692</tt>  <tt class="py-line"><tt class="py-docstring">        Returns None if there is a type error processing the json object</tt> </tt>
+<a name="L2693"></a><tt class="py-lineno">2693</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2694"></a><tt class="py-lineno">2694</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2695"></a><tt class="py-lineno">2695</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos:leaders -c -j"</tt> </tt>
+<a name="L2696"></a><tt class="py-lineno">2696</tt>  <tt class="py-line">            <tt id="link-942" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-942', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-943" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-943', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2697"></a><tt class="py-lineno">2697</tt>  <tt class="py-line">            <tt id="link-944" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-944', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt id="link-945" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-945', 'output', 'link-120');">output</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2698"></a><tt class="py-lineno">2698</tt>  <tt class="py-line">            <tt class="py-name">results</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2699"></a><tt class="py-lineno">2699</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">dict</tt> <tt class="py-keyword">in</tt> <tt id="link-946" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-946', 'output', 'link-120');">output</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2700"></a><tt class="py-lineno">2700</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">dict</tt><tt class="py-op">[</tt><tt class="py-string">"topic"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">topic</tt><tt class="py-op">:</tt> </tt>
+<a name="L2701"></a><tt class="py-lineno">2701</tt>  <tt class="py-line">                    <tt class="py-name">leader</tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">[</tt><tt class="py-string">"leader"</tt><tt class="py-op">]</tt> </tt>
+<a name="L2702"></a><tt class="py-lineno">2702</tt>  <tt class="py-line">                    <tt class="py-name">candidates</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">", "</tt><tt class="py-op">,</tt><tt class="py-name">dict</tt><tt class="py-op">[</tt><tt class="py-string">"candidates"</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2703"></a><tt class="py-lineno">2703</tt>  <tt class="py-line">                    <tt class="py-name">results</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">leader</tt><tt class="py-op">)</tt> </tt>
+<a name="L2704"></a><tt class="py-lineno">2704</tt>  <tt class="py-line">                    <tt class="py-name">results</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">candidates</tt><tt class="py-op">)</tt> </tt>
+<a name="L2705"></a><tt class="py-lineno">2705</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">results</tt> </tt>
+<a name="L2706"></a><tt class="py-lineno">2706</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2707"></a><tt class="py-lineno">2707</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-947" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-947', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2708"></a><tt class="py-lineno">2708</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2709"></a><tt class="py-lineno">2709</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2710"></a><tt class="py-lineno">2710</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-948" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-948', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-949" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-949', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2711"></a><tt class="py-lineno">2711</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-950" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-950', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-951" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-951', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2712"></a><tt class="py-lineno">2712</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-952" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-952', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2713"></a><tt class="py-lineno">2713</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-953" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-953', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2714"></a><tt class="py-lineno">2714</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2715"></a><tt class="py-lineno">2715</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-954" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-954', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2716"></a><tt class="py-lineno">2716</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-955" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-955', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2717"></a><tt class="py-lineno">2717</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-956" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-956', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2718"></a><tt class="py-lineno">2718</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.pendingMap"></a><div id="OnosCliDriver.pendingMap-def"><a name="L2719"></a><tt class="py-lineno">2719</tt> <a class="py-toggle" href="#" id="OnosCliDriver.pendingMap-toggle" onclick="return toggle('OnosCliDriver.pendingMap');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#pendingMap">pendingMap</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.pendingMap-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.pendingMap-expanded"><a name="L2720"></a><tt class="py-lineno">2720</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2721"></a><tt class="py-lineno">2721</tt>  <tt class="py-line"><tt class="py-docstring">        Returns the output of the intent Pending map.</tt> </tt>
+<a name="L2722"></a><tt class="py-lineno">2722</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2723"></a><tt class="py-lineno">2723</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2724"></a><tt class="py-lineno">2724</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos:intents -p"</tt> </tt>
+<a name="L2725"></a><tt class="py-lineno">2725</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L2726"></a><tt class="py-lineno">2726</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L2727"></a><tt class="py-lineno">2727</tt>  <tt class="py-line">            <tt id="link-957" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-957', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-958" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-958', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2728"></a><tt class="py-lineno">2728</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-959" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-959', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L2729"></a><tt class="py-lineno">2729</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2730"></a><tt class="py-lineno">2730</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-960" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-960', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2731"></a><tt class="py-lineno">2731</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2732"></a><tt class="py-lineno">2732</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2733"></a><tt class="py-lineno">2733</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-961" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-961', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-962" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-962', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2734"></a><tt class="py-lineno">2734</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-963" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-963', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-964" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-964', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2735"></a><tt class="py-lineno">2735</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-965" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-965', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2736"></a><tt class="py-lineno">2736</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-966" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-966', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2737"></a><tt class="py-lineno">2737</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2738"></a><tt class="py-lineno">2738</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-967" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-967', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2739"></a><tt class="py-lineno">2739</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-968" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-968', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2740"></a><tt class="py-lineno">2740</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-969" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-969', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2741"></a><tt class="py-lineno">2741</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.partitions"></a><div id="OnosCliDriver.partitions-def"><a name="L2742"></a><tt class="py-lineno">2742</tt> <a class="py-toggle" href="#" id="OnosCliDriver.partitions-toggle" onclick="return toggle('OnosCliDriver.partitions');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#partitions">partitions</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.partitions-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.partitions-expanded"><a name="L2743"></a><tt class="py-lineno">2743</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2744"></a><tt class="py-lineno">2744</tt>  <tt class="py-line"><tt class="py-docstring">        Returns the output of the raft partitions command for ONOS.</tt> </tt>
+<a name="L2745"></a><tt class="py-lineno">2745</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2746"></a><tt class="py-lineno">2746</tt>  <tt class="py-line">        <tt class="py-comment"># Sample JSON</tt> </tt>
+<a name="L2747"></a><tt class="py-lineno">2747</tt>  <tt class="py-line">        <tt class="py-comment"># {</tt> </tt>
+<a name="L2748"></a><tt class="py-lineno">2748</tt>  <tt class="py-line">        <tt class="py-comment">#     "leader": "tcp://10.128.30.11:7238",</tt> </tt>
+<a name="L2749"></a><tt class="py-lineno">2749</tt>  <tt class="py-line">        <tt class="py-comment">#     "members": [</tt> </tt>
+<a name="L2750"></a><tt class="py-lineno">2750</tt>  <tt class="py-line">        <tt class="py-comment">#         "tcp://10.128.30.11:7238",</tt> </tt>
+<a name="L2751"></a><tt class="py-lineno">2751</tt>  <tt class="py-line">        <tt class="py-comment">#         "tcp://10.128.30.17:7238",</tt> </tt>
+<a name="L2752"></a><tt class="py-lineno">2752</tt>  <tt class="py-line">        <tt class="py-comment">#         "tcp://10.128.30.13:7238",</tt> </tt>
+<a name="L2753"></a><tt class="py-lineno">2753</tt>  <tt class="py-line">        <tt class="py-comment">#     ],</tt> </tt>
+<a name="L2754"></a><tt class="py-lineno">2754</tt>  <tt class="py-line">        <tt class="py-comment">#     "name": "p1",</tt> </tt>
+<a name="L2755"></a><tt class="py-lineno">2755</tt>  <tt class="py-line">        <tt class="py-comment">#     "term": 3</tt> </tt>
+<a name="L2756"></a><tt class="py-lineno">2756</tt>  <tt class="py-line">        <tt class="py-comment"># },</tt> </tt>
+<a name="L2757"></a><tt class="py-lineno">2757</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2758"></a><tt class="py-lineno">2758</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos:partitions"</tt> </tt>
+<a name="L2759"></a><tt class="py-lineno">2759</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L2760"></a><tt class="py-lineno">2760</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L2761"></a><tt class="py-lineno">2761</tt>  <tt class="py-line">            <tt id="link-970" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-970', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-971" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-971', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2762"></a><tt class="py-lineno">2762</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-972" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-972', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L2763"></a><tt class="py-lineno">2763</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2764"></a><tt class="py-lineno">2764</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-973" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-973', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2765"></a><tt class="py-lineno">2765</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2766"></a><tt class="py-lineno">2766</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2767"></a><tt class="py-lineno">2767</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-974" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-974', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-975" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-975', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2768"></a><tt class="py-lineno">2768</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-976" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-976', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-977" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-977', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2769"></a><tt class="py-lineno">2769</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-978" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-978', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2770"></a><tt class="py-lineno">2770</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-979" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-979', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2771"></a><tt class="py-lineno">2771</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2772"></a><tt class="py-lineno">2772</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-980" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-980', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2773"></a><tt class="py-lineno">2773</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-981" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-981', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2774"></a><tt class="py-lineno">2774</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-982" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-982', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2775"></a><tt class="py-lineno">2775</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.apps"></a><div id="OnosCliDriver.apps-def"><a name="L2776"></a><tt class="py-lineno">2776</tt> <a class="py-toggle" href="#" id="OnosCliDriver.apps-toggle" onclick="return toggle('OnosCliDriver.apps');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#apps">apps</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.apps-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.apps-expanded"><a name="L2777"></a><tt class="py-lineno">2777</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2778"></a><tt class="py-lineno">2778</tt>  <tt class="py-line"><tt class="py-docstring">        Returns the output of the apps command for ONOS. This command lists</tt> </tt>
+<a name="L2779"></a><tt class="py-lineno">2779</tt>  <tt class="py-line"><tt class="py-docstring">        information about installed ONOS applications</tt> </tt>
+<a name="L2780"></a><tt class="py-lineno">2780</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2781"></a><tt class="py-lineno">2781</tt>  <tt class="py-line">        <tt class="py-comment"># Sample JSON object</tt> </tt>
+<a name="L2782"></a><tt class="py-lineno">2782</tt>  <tt class="py-line">        <tt class="py-comment"># [{"name":"org.onosproject.openflow","id":0,"version":"1.2.0",</tt> </tt>
+<a name="L2783"></a><tt class="py-lineno">2783</tt>  <tt class="py-line">        <tt class="py-comment"># "description":"ONOS OpenFlow protocol southbound providers",</tt> </tt>
+<a name="L2784"></a><tt class="py-lineno">2784</tt>  <tt class="py-line">        <tt class="py-comment"># "origin":"ON.Lab","permissions":"[]","featuresRepo":"",</tt> </tt>
+<a name="L2785"></a><tt class="py-lineno">2785</tt>  <tt class="py-line">        <tt class="py-comment"># "features":"[onos-openflow]","state":"ACTIVE"}]</tt> </tt>
+<a name="L2786"></a><tt class="py-lineno">2786</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2787"></a><tt class="py-lineno">2787</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos:apps"</tt> </tt>
+<a name="L2788"></a><tt class="py-lineno">2788</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L2789"></a><tt class="py-lineno">2789</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L2790"></a><tt class="py-lineno">2790</tt>  <tt class="py-line">            <tt id="link-983" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-983', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-984" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-984', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2791"></a><tt class="py-lineno">2791</tt>  <tt class="py-line">            <tt class="py-keyword">assert</tt> <tt class="py-string">"Error executing command"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-985" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-985', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L2792"></a><tt class="py-lineno">2792</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-986" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-986', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L2793"></a><tt class="py-lineno">2793</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: look at specific exceptions/Errors</tt> </tt>
+<a name="L2794"></a><tt class="py-lineno">2794</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2795"></a><tt class="py-lineno">2795</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-987" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-987', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-988" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-988', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing onos:app command: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2796"></a><tt class="py-lineno">2796</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-989" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-989', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2797"></a><tt class="py-lineno">2797</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2798"></a><tt class="py-lineno">2798</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2799"></a><tt class="py-lineno">2799</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-990" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-990', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2800"></a><tt class="py-lineno">2800</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2801"></a><tt class="py-lineno">2801</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2802"></a><tt class="py-lineno">2802</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-991" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-991', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-992" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-992', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2803"></a><tt class="py-lineno">2803</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-993" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-993', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-994" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-994', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2804"></a><tt class="py-lineno">2804</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-995" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-995', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2805"></a><tt class="py-lineno">2805</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-996" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-996', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2806"></a><tt class="py-lineno">2806</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2807"></a><tt class="py-lineno">2807</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-997" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-997', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2808"></a><tt class="py-lineno">2808</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-998" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-998', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2809"></a><tt class="py-lineno">2809</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-999" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-999', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2810"></a><tt class="py-lineno">2810</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.appStatus"></a><div id="OnosCliDriver.appStatus-def"><a name="L2811"></a><tt class="py-lineno">2811</tt> <a class="py-toggle" href="#" id="OnosCliDriver.appStatus-toggle" onclick="return toggle('OnosCliDriver.appStatus');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appStatus">appStatus</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">appName</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.appStatus-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.appStatus-expanded"><a name="L2812"></a><tt class="py-lineno">2812</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2813"></a><tt class="py-lineno">2813</tt>  <tt class="py-line"><tt class="py-docstring">        Uses the onos:apps cli command to return the status of an application.</tt> </tt>
+<a name="L2814"></a><tt class="py-lineno">2814</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L2815"></a><tt class="py-lineno">2815</tt>  <tt class="py-line"><tt class="py-docstring">            "ACTIVE" - If app is installed and activated</tt> </tt>
+<a name="L2816"></a><tt class="py-lineno">2816</tt>  <tt class="py-line"><tt class="py-docstring">            "INSTALLED" - If app is installed and deactivated</tt> </tt>
+<a name="L2817"></a><tt class="py-lineno">2817</tt>  <tt class="py-line"><tt class="py-docstring">            "UNINSTALLED" - If app is not installed</tt> </tt>
+<a name="L2818"></a><tt class="py-lineno">2818</tt>  <tt class="py-line"><tt class="py-docstring">            None - on error</tt> </tt>
+<a name="L2819"></a><tt class="py-lineno">2819</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2820"></a><tt class="py-lineno">2820</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2821"></a><tt class="py-lineno">2821</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2822"></a><tt class="py-lineno">2822</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1000" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1000', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1001" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1001', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">".appStatus(): appName must be"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2823"></a><tt class="py-lineno">2823</tt>  <tt class="py-line">                                <tt class="py-string">" a string"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2824"></a><tt class="py-lineno">2824</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2825"></a><tt class="py-lineno">2825</tt>  <tt class="py-line">            <tt id="link-1002" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1002', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1003" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#apps,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#apps"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-1003', 'apps', 'link-1003');">apps</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2826"></a><tt class="py-lineno">2826</tt>  <tt class="py-line">            <tt class="py-name">appsJson</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-1004" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1004', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L2827"></a><tt class="py-lineno">2827</tt>  <tt class="py-line">            <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2828"></a><tt class="py-lineno">2828</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-1005" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-1005', 'app', 'link-521');">app</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">appsJson</tt><tt class="py-op">:</tt> </tt>
+<a name="L2829"></a><tt class="py-lineno">2829</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">appName</tt> <tt class="py-op">==</tt> <tt id="link-1006" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-1006', 'app', 'link-521');">app</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'name'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2830"></a><tt class="py-lineno">2830</tt>  <tt class="py-line">                    <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-1007" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-1007', 'app', 'link-521');">app</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'state'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2831"></a><tt class="py-lineno">2831</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L2832"></a><tt class="py-lineno">2832</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">state</tt> <tt class="py-op">==</tt> <tt class="py-string">"ACTIVE"</tt> <tt class="py-keyword">or</tt> <tt class="py-name">state</tt> <tt class="py-op">==</tt> <tt class="py-string">"INSTALLED"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2833"></a><tt class="py-lineno">2833</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">state</tt> </tt>
+<a name="L2834"></a><tt class="py-lineno">2834</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">state</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L2835"></a><tt class="py-lineno">2835</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">"UNINSTALLED"</tt> </tt>
+<a name="L2836"></a><tt class="py-lineno">2836</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">state</tt><tt class="py-op">:</tt> </tt>
+<a name="L2837"></a><tt class="py-lineno">2837</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1008" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1008', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1009" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1009', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Unexpected state from 'onos:apps': "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2838"></a><tt class="py-lineno">2838</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">state</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2839"></a><tt class="py-lineno">2839</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">state</tt> </tt>
+<a name="L2840"></a><tt class="py-lineno">2840</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2841"></a><tt class="py-lineno">2841</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1010" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1010', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2842"></a><tt class="py-lineno">2842</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2843"></a><tt class="py-lineno">2843</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2844"></a><tt class="py-lineno">2844</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1011" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1011', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1012" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1012', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2845"></a><tt class="py-lineno">2845</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1013" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1013', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1014" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1014', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2846"></a><tt class="py-lineno">2846</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1015" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1015', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2847"></a><tt class="py-lineno">2847</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1016" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1016', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2848"></a><tt class="py-lineno">2848</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2849"></a><tt class="py-lineno">2849</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1017" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1017', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2850"></a><tt class="py-lineno">2850</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1018" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1018', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2851"></a><tt class="py-lineno">2851</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1019" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1019', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2852"></a><tt class="py-lineno">2852</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.app"></a><div id="OnosCliDriver.app-def"><a name="L2853"></a><tt class="py-lineno">2853</tt> <a class="py-toggle" href="#" id="OnosCliDriver.app-toggle" onclick="return toggle('OnosCliDriver.app');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#app">app</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">appName</tt><tt class="py-op">,</tt> <tt class="py-param">option</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.app-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.app-expanded"><a name="L2854"></a><tt class="py-lineno">2854</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2855"></a><tt class="py-lineno">2855</tt>  <tt class="py-line"><tt class="py-docstring">        Interacts with the app command for ONOS. This command manages</tt> </tt>
+<a name="L2856"></a><tt class="py-lineno">2856</tt>  <tt class="py-line"><tt class="py-docstring">        application inventory.</tt> </tt>
+<a name="L2857"></a><tt class="py-lineno">2857</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2858"></a><tt class="py-lineno">2858</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2859"></a><tt class="py-lineno">2859</tt>  <tt class="py-line">            <tt class="py-comment"># Validate argument types</tt> </tt>
+<a name="L2860"></a><tt class="py-lineno">2860</tt>  <tt class="py-line">            <tt class="py-name">valid</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2861"></a><tt class="py-lineno">2861</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2862"></a><tt class="py-lineno">2862</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1020" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1020', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1021" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1021', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">".app(): appName must be a "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2863"></a><tt class="py-lineno">2863</tt>  <tt class="py-line">                                <tt class="py-string">"string"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2864"></a><tt class="py-lineno">2864</tt>  <tt class="py-line">                <tt class="py-name">valid</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2865"></a><tt class="py-lineno">2865</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">option</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2866"></a><tt class="py-lineno">2866</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1022" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1022', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1023" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1023', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">".app(): option must be a string"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2867"></a><tt class="py-lineno">2867</tt>  <tt class="py-line">                <tt class="py-name">valid</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2868"></a><tt class="py-lineno">2868</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">valid</tt><tt class="py-op">:</tt> </tt>
+<a name="L2869"></a><tt class="py-lineno">2869</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2870"></a><tt class="py-lineno">2870</tt>  <tt class="py-line">            <tt class="py-comment"># Validate Option</tt> </tt>
+<a name="L2871"></a><tt class="py-lineno">2871</tt>  <tt class="py-line">            <tt class="py-name">option</tt> <tt class="py-op">=</tt> <tt class="py-name">option</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2872"></a><tt class="py-lineno">2872</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: Install may become a valid option</tt> </tt>
+<a name="L2873"></a><tt class="py-lineno">2873</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">option</tt> <tt class="py-op">==</tt> <tt class="py-string">"activate"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2874"></a><tt class="py-lineno">2874</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L2875"></a><tt class="py-lineno">2875</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">option</tt> <tt class="py-op">==</tt> <tt class="py-string">"deactivate"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2876"></a><tt class="py-lineno">2876</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L2877"></a><tt class="py-lineno">2877</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">option</tt> <tt class="py-op">==</tt> <tt class="py-string">"uninstall"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2878"></a><tt class="py-lineno">2878</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L2879"></a><tt class="py-lineno">2879</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2880"></a><tt class="py-lineno">2880</tt>  <tt class="py-line">                <tt class="py-comment"># Invalid option</tt> </tt>
+<a name="L2881"></a><tt class="py-lineno">2881</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1024" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1024', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1025" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1025', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"The ONOS app command argument only takes "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2882"></a><tt class="py-lineno">2882</tt>  <tt class="py-line">                                <tt class="py-string">"the values: (activate|deactivate|uninstall)"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2883"></a><tt class="py-lineno">2883</tt>  <tt class="py-line">                                <tt class="py-string">"; was given '"</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">"'"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2884"></a><tt class="py-lineno">2884</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2885"></a><tt class="py-lineno">2885</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos:app "</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">appName</tt> </tt>
+<a name="L2886"></a><tt class="py-lineno">2886</tt>  <tt class="py-line">            <tt id="link-1026" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1026', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1027" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1027', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2887"></a><tt class="py-lineno">2887</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"Error executing command"</tt> <tt class="py-keyword">in</tt> <tt id="link-1028" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1028', 'output', 'link-120');">output</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2888"></a><tt class="py-lineno">2888</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1029" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1029', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1030" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1030', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing onos:app command: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2889"></a><tt class="py-lineno">2889</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1031" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1031', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2890"></a><tt class="py-lineno">2890</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2891"></a><tt class="py-lineno">2891</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-string">"No such application"</tt> <tt class="py-keyword">in</tt> <tt id="link-1032" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1032', 'output', 'link-120');">output</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2892"></a><tt class="py-lineno">2892</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1033" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1033', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1034" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1034', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"The application '"</tt> <tt class="py-op">+</tt> <tt class="py-name">appName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2893"></a><tt class="py-lineno">2893</tt>  <tt class="py-line">                                <tt class="py-string">"' is not installed in ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2894"></a><tt class="py-lineno">2894</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2895"></a><tt class="py-lineno">2895</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-string">"Command not found:"</tt> <tt class="py-keyword">in</tt> <tt id="link-1035" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1035', 'output', 'link-120');">output</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2896"></a><tt class="py-lineno">2896</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1036" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1036', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1037" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1037', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing onos:app command: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2897"></a><tt class="py-lineno">2897</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1038" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1038', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2898"></a><tt class="py-lineno">2898</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2899"></a><tt class="py-lineno">2899</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-string">"Unsupported command:"</tt> <tt class="py-keyword">in</tt> <tt id="link-1039" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1039', 'output', 'link-120');">output</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2900"></a><tt class="py-lineno">2900</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1040" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1040', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1041" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1041', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Incorrect command given to 'app': "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2901"></a><tt class="py-lineno">2901</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1042" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1042', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2902"></a><tt class="py-lineno">2902</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: we may need to add more checks here</tt> </tt>
+<a name="L2903"></a><tt class="py-lineno">2903</tt>  <tt class="py-line">            <tt class="py-comment"># else: Command was successful</tt> </tt>
+<a name="L2904"></a><tt class="py-lineno">2904</tt>  <tt class="py-line">            <tt class="py-comment"># main.log.debug( "app response: " + repr( output ) )</tt> </tt>
+<a name="L2905"></a><tt class="py-lineno">2905</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2906"></a><tt class="py-lineno">2906</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2907"></a><tt class="py-lineno">2907</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1043" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1043', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2908"></a><tt class="py-lineno">2908</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L2909"></a><tt class="py-lineno">2909</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2910"></a><tt class="py-lineno">2910</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1044" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1044', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1045" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1045', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2911"></a><tt class="py-lineno">2911</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1046" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1046', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1047" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1047', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2912"></a><tt class="py-lineno">2912</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1048" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1048', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2913"></a><tt class="py-lineno">2913</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1049" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1049', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2914"></a><tt class="py-lineno">2914</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2915"></a><tt class="py-lineno">2915</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1050" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1050', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2916"></a><tt class="py-lineno">2916</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1051" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1051', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2917"></a><tt class="py-lineno">2917</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1052" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1052', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2918"></a><tt class="py-lineno">2918</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.activateApp"></a><div id="OnosCliDriver.activateApp-def"><a name="L2919"></a><tt class="py-lineno">2919</tt> <a class="py-toggle" href="#" id="OnosCliDriver.activateApp-toggle" onclick="return toggle('OnosCliDriver.activateApp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#activateApp">activateApp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">appName</tt><tt class="py-op">,</tt> <tt class="py-param">check</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.activateApp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.activateApp-expanded"><a name="L2920"></a><tt class="py-lineno">2920</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2921"></a><tt class="py-lineno">2921</tt>  <tt class="py-line"><tt class="py-docstring">        Activate an app that is already installed in ONOS</tt> </tt>
+<a name="L2922"></a><tt class="py-lineno">2922</tt>  <tt class="py-line"><tt class="py-docstring">        appName is the hierarchical app name, not the feature name</tt> </tt>
+<a name="L2923"></a><tt class="py-lineno">2923</tt>  <tt class="py-line"><tt class="py-docstring">        If check is True, method will check the status of the app after the</tt> </tt>
+<a name="L2924"></a><tt class="py-lineno">2924</tt>  <tt class="py-line"><tt class="py-docstring">        command is issued</tt> </tt>
+<a name="L2925"></a><tt class="py-lineno">2925</tt>  <tt class="py-line"><tt class="py-docstring">        Returns main.TRUE if the command was successfully sent</tt> </tt>
+<a name="L2926"></a><tt class="py-lineno">2926</tt>  <tt class="py-line"><tt class="py-docstring">                main.FALSE if the cli responded with an error or given</tt> </tt>
+<a name="L2927"></a><tt class="py-lineno">2927</tt>  <tt class="py-line"><tt class="py-docstring">                    incorrect input</tt> </tt>
+<a name="L2928"></a><tt class="py-lineno">2928</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2929"></a><tt class="py-lineno">2929</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2930"></a><tt class="py-lineno">2930</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2931"></a><tt class="py-lineno">2931</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1053" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1053', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1054" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1054', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">".activateApp(): appName must be"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2932"></a><tt class="py-lineno">2932</tt>  <tt class="py-line">                                <tt class="py-string">" a string"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2933"></a><tt class="py-lineno">2933</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2934"></a><tt class="py-lineno">2934</tt>  <tt class="py-line">            <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1055" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appStatus()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appStatus"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appStatus" class="py-name" href="#" onclick="return doclink('link-1055', 'appStatus', 'link-1055');">appStatus</a></tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2935"></a><tt class="py-lineno">2935</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-string">"INSTALLED"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2936"></a><tt class="py-lineno">2936</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1056" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-1056', 'app', 'link-521');">app</a></tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt><tt class="py-op">,</tt> <tt class="py-string">"activate"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2937"></a><tt class="py-lineno">2937</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">check</tt> <tt class="py-keyword">and</tt> <tt class="py-name">response</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2938"></a><tt class="py-lineno">2938</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># try 10 times then give up</tt> </tt>
+<a name="L2939"></a><tt class="py-lineno">2939</tt>  <tt class="py-line">                        <tt class="py-comment"># TODO: Check with Thomas about this delay</tt> </tt>
+<a name="L2940"></a><tt class="py-lineno">2940</tt>  <tt class="py-line">                        <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1057" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appStatus" class="py-name" href="#" onclick="return doclink('link-1057', 'appStatus', 'link-1055');">appStatus</a></tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2941"></a><tt class="py-lineno">2941</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-string">"ACTIVE"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2942"></a><tt class="py-lineno">2942</tt>  <tt class="py-line">                            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2943"></a><tt class="py-lineno">2943</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2944"></a><tt class="py-lineno">2944</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1058" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1058', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"The state of application "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2945"></a><tt class="py-lineno">2945</tt>  <tt class="py-line">                                            <tt class="py-name">appName</tt> <tt class="py-op">+</tt> <tt class="py-string">" is "</tt> <tt class="py-op">+</tt> <tt class="py-name">status</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2946"></a><tt class="py-lineno">2946</tt>  <tt class="py-line">                            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2947"></a><tt class="py-lineno">2947</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2948"></a><tt class="py-lineno">2948</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># not 'check' or command didn't succeed</tt> </tt>
+<a name="L2949"></a><tt class="py-lineno">2949</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+<a name="L2950"></a><tt class="py-lineno">2950</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-string">"ACTIVE"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2951"></a><tt class="py-lineno">2951</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2952"></a><tt class="py-lineno">2952</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-string">"UNINSTALLED"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2953"></a><tt class="py-lineno">2953</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1059" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1059', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1060" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1060', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Tried to activate the "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2954"></a><tt class="py-lineno">2954</tt>  <tt class="py-line">                                <tt class="py-string">"application '"</tt> <tt class="py-op">+</tt> <tt class="py-name">appName</tt> <tt class="py-op">+</tt> <tt class="py-string">"' which is not "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2955"></a><tt class="py-lineno">2955</tt>  <tt class="py-line">                                <tt class="py-string">"installed."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2956"></a><tt class="py-lineno">2956</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2957"></a><tt class="py-lineno">2957</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1061" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1061', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1062" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1062', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Unexpected return value from appStatus: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2958"></a><tt class="py-lineno">2958</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">status</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2959"></a><tt class="py-lineno">2959</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L2960"></a><tt class="py-lineno">2960</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2961"></a><tt class="py-lineno">2961</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1063" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1063', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2962"></a><tt class="py-lineno">2962</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L2963"></a><tt class="py-lineno">2963</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2964"></a><tt class="py-lineno">2964</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1064" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1064', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1065" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1065', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2965"></a><tt class="py-lineno">2965</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1066" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1066', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1067" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1067', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2966"></a><tt class="py-lineno">2966</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1068" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1068', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2967"></a><tt class="py-lineno">2967</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1069" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1069', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2968"></a><tt class="py-lineno">2968</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2969"></a><tt class="py-lineno">2969</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1070" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1070', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2970"></a><tt class="py-lineno">2970</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1071" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1071', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2971"></a><tt class="py-lineno">2971</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1072" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1072', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2972"></a><tt class="py-lineno">2972</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.deactivateApp"></a><div id="OnosCliDriver.deactivateApp-def"><a name="L2973"></a><tt class="py-lineno">2973</tt> <a class="py-toggle" href="#" id="OnosCliDriver.deactivateApp-toggle" onclick="return toggle('OnosCliDriver.deactivateApp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deactivateApp">deactivateApp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">appName</tt><tt class="py-op">,</tt> <tt class="py-param">check</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.deactivateApp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.deactivateApp-expanded"><a name="L2974"></a><tt class="py-lineno">2974</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2975"></a><tt class="py-lineno">2975</tt>  <tt class="py-line"><tt class="py-docstring">        Deactivate an app that is already activated in ONOS</tt> </tt>
+<a name="L2976"></a><tt class="py-lineno">2976</tt>  <tt class="py-line"><tt class="py-docstring">        appName is the hierarchical app name, not the feature name</tt> </tt>
+<a name="L2977"></a><tt class="py-lineno">2977</tt>  <tt class="py-line"><tt class="py-docstring">        If check is True, method will check the status of the app after the</tt> </tt>
+<a name="L2978"></a><tt class="py-lineno">2978</tt>  <tt class="py-line"><tt class="py-docstring">        command is issued</tt> </tt>
+<a name="L2979"></a><tt class="py-lineno">2979</tt>  <tt class="py-line"><tt class="py-docstring">        Returns main.TRUE if the command was successfully sent</tt> </tt>
+<a name="L2980"></a><tt class="py-lineno">2980</tt>  <tt class="py-line"><tt class="py-docstring">                main.FALSE if the cli responded with an error or given</tt> </tt>
+<a name="L2981"></a><tt class="py-lineno">2981</tt>  <tt class="py-line"><tt class="py-docstring">                    incorrect input</tt> </tt>
+<a name="L2982"></a><tt class="py-lineno">2982</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2983"></a><tt class="py-lineno">2983</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2984"></a><tt class="py-lineno">2984</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2985"></a><tt class="py-lineno">2985</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1073" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1073', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1074" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1074', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">".deactivateApp(): appName must "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2986"></a><tt class="py-lineno">2986</tt>  <tt class="py-line">                                <tt class="py-string">"be a string"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2987"></a><tt class="py-lineno">2987</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2988"></a><tt class="py-lineno">2988</tt>  <tt class="py-line">            <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1075" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appStatus" class="py-name" href="#" onclick="return doclink('link-1075', 'appStatus', 'link-1055');">appStatus</a></tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2989"></a><tt class="py-lineno">2989</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-string">"INSTALLED"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2990"></a><tt class="py-lineno">2990</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2991"></a><tt class="py-lineno">2991</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-string">"ACTIVE"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2992"></a><tt class="py-lineno">2992</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1076" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-1076', 'app', 'link-521');">app</a></tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt><tt class="py-op">,</tt> <tt class="py-string">"deactivate"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2993"></a><tt class="py-lineno">2993</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">check</tt> <tt class="py-keyword">and</tt> <tt class="py-name">response</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2994"></a><tt class="py-lineno">2994</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># try 10 times then give up</tt> </tt>
+<a name="L2995"></a><tt class="py-lineno">2995</tt>  <tt class="py-line">                        <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1077" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appStatus" class="py-name" href="#" onclick="return doclink('link-1077', 'appStatus', 'link-1055');">appStatus</a></tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2996"></a><tt class="py-lineno">2996</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-string">"INSTALLED"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2997"></a><tt class="py-lineno">2997</tt>  <tt class="py-line">                            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2998"></a><tt class="py-lineno">2998</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2999"></a><tt class="py-lineno">2999</tt>  <tt class="py-line">                            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3000"></a><tt class="py-lineno">3000</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3001"></a><tt class="py-lineno">3001</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># not check or command didn't succeed</tt> </tt>
+<a name="L3002"></a><tt class="py-lineno">3002</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+<a name="L3003"></a><tt class="py-lineno">3003</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-string">"UNINSTALLED"</tt><tt class="py-op">:</tt> </tt>
+<a name="L3004"></a><tt class="py-lineno">3004</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1078" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1078', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Tried to deactivate the "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3005"></a><tt class="py-lineno">3005</tt>  <tt class="py-line">                                <tt class="py-string">"application '"</tt> <tt class="py-op">+</tt> <tt class="py-name">appName</tt> <tt class="py-op">+</tt> <tt class="py-string">"' which is not "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3006"></a><tt class="py-lineno">3006</tt>  <tt class="py-line">                                <tt class="py-string">"installed."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3007"></a><tt class="py-lineno">3007</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3008"></a><tt class="py-lineno">3008</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3009"></a><tt class="py-lineno">3009</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1079" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1079', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1080" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1080', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Unexpected return value from appStatus: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3010"></a><tt class="py-lineno">3010</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">status</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3011"></a><tt class="py-lineno">3011</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L3012"></a><tt class="py-lineno">3012</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3013"></a><tt class="py-lineno">3013</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1081" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1081', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3014"></a><tt class="py-lineno">3014</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L3015"></a><tt class="py-lineno">3015</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L3016"></a><tt class="py-lineno">3016</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1082" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1082', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1083" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1083', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3017"></a><tt class="py-lineno">3017</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1084" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1084', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1085" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1085', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3018"></a><tt class="py-lineno">3018</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1086" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1086', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3019"></a><tt class="py-lineno">3019</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1087" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1087', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3020"></a><tt class="py-lineno">3020</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L3021"></a><tt class="py-lineno">3021</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1088" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1088', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3022"></a><tt class="py-lineno">3022</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1089" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1089', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3023"></a><tt class="py-lineno">3023</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1090" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1090', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3024"></a><tt class="py-lineno">3024</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.uninstallApp"></a><div id="OnosCliDriver.uninstallApp-def"><a name="L3025"></a><tt class="py-lineno">3025</tt> <a class="py-toggle" href="#" id="OnosCliDriver.uninstallApp-toggle" onclick="return toggle('OnosCliDriver.uninstallApp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#uninstallApp">uninstallApp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">appName</tt><tt class="py-op">,</tt> <tt class="py-param">check</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.uninstallApp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.uninstallApp-expanded"><a name="L3026"></a><tt class="py-lineno">3026</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L3027"></a><tt class="py-lineno">3027</tt>  <tt class="py-line"><tt class="py-docstring">        Uninstall an app that is already installed in ONOS</tt> </tt>
+<a name="L3028"></a><tt class="py-lineno">3028</tt>  <tt class="py-line"><tt class="py-docstring">        appName is the hierarchical app name, not the feature name</tt> </tt>
+<a name="L3029"></a><tt class="py-lineno">3029</tt>  <tt class="py-line"><tt class="py-docstring">        If check is True, method will check the status of the app after the</tt> </tt>
+<a name="L3030"></a><tt class="py-lineno">3030</tt>  <tt class="py-line"><tt class="py-docstring">        command is issued</tt> </tt>
+<a name="L3031"></a><tt class="py-lineno">3031</tt>  <tt class="py-line"><tt class="py-docstring">        Returns main.TRUE if the command was successfully sent</tt> </tt>
+<a name="L3032"></a><tt class="py-lineno">3032</tt>  <tt class="py-line"><tt class="py-docstring">                main.FALSE if the cli responded with an error or given</tt> </tt>
+<a name="L3033"></a><tt class="py-lineno">3033</tt>  <tt class="py-line"><tt class="py-docstring">                    incorrect input</tt> </tt>
+<a name="L3034"></a><tt class="py-lineno">3034</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L3035"></a><tt class="py-lineno">3035</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: check with Thomas about the state machine for apps</tt> </tt>
+<a name="L3036"></a><tt class="py-lineno">3036</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3037"></a><tt class="py-lineno">3037</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3038"></a><tt class="py-lineno">3038</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1091" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1091', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1092" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1092', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">".uninstallApp(): appName must "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3039"></a><tt class="py-lineno">3039</tt>  <tt class="py-line">                                <tt class="py-string">"be a string"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3040"></a><tt class="py-lineno">3040</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3041"></a><tt class="py-lineno">3041</tt>  <tt class="py-line">            <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1093" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appStatus" class="py-name" href="#" onclick="return doclink('link-1093', 'appStatus', 'link-1055');">appStatus</a></tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3042"></a><tt class="py-lineno">3042</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-string">"INSTALLED"</tt><tt class="py-op">:</tt> </tt>
+<a name="L3043"></a><tt class="py-lineno">3043</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1094" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-1094', 'app', 'link-521');">app</a></tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt><tt class="py-op">,</tt> <tt class="py-string">"uninstall"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3044"></a><tt class="py-lineno">3044</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">check</tt> <tt class="py-keyword">and</tt> <tt class="py-name">response</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3045"></a><tt class="py-lineno">3045</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># try 10 times then give up</tt> </tt>
+<a name="L3046"></a><tt class="py-lineno">3046</tt>  <tt class="py-line">                        <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1095" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appStatus" class="py-name" href="#" onclick="return doclink('link-1095', 'appStatus', 'link-1055');">appStatus</a></tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3047"></a><tt class="py-lineno">3047</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-string">"UNINSTALLED"</tt><tt class="py-op">:</tt> </tt>
+<a name="L3048"></a><tt class="py-lineno">3048</tt>  <tt class="py-line">                            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3049"></a><tt class="py-lineno">3049</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3050"></a><tt class="py-lineno">3050</tt>  <tt class="py-line">                            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3051"></a><tt class="py-lineno">3051</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3052"></a><tt class="py-lineno">3052</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># not check or command didn't succeed</tt> </tt>
+<a name="L3053"></a><tt class="py-lineno">3053</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+<a name="L3054"></a><tt class="py-lineno">3054</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-string">"ACTIVE"</tt><tt class="py-op">:</tt> </tt>
+<a name="L3055"></a><tt class="py-lineno">3055</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1096" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1096', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Tried to uninstall the "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3056"></a><tt class="py-lineno">3056</tt>  <tt class="py-line">                                <tt class="py-string">"application '"</tt> <tt class="py-op">+</tt> <tt class="py-name">appName</tt> <tt class="py-op">+</tt> <tt class="py-string">"' which is "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3057"></a><tt class="py-lineno">3057</tt>  <tt class="py-line">                                <tt class="py-string">"currently active."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3058"></a><tt class="py-lineno">3058</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1097" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-1097', 'app', 'link-521');">app</a></tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt><tt class="py-op">,</tt> <tt class="py-string">"uninstall"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3059"></a><tt class="py-lineno">3059</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">check</tt> <tt class="py-keyword">and</tt> <tt class="py-name">response</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3060"></a><tt class="py-lineno">3060</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># try 10 times then give up</tt> </tt>
+<a name="L3061"></a><tt class="py-lineno">3061</tt>  <tt class="py-line">                        <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1098" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appStatus" class="py-name" href="#" onclick="return doclink('link-1098', 'appStatus', 'link-1055');">appStatus</a></tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3062"></a><tt class="py-lineno">3062</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-string">"UNINSTALLED"</tt><tt class="py-op">:</tt> </tt>
+<a name="L3063"></a><tt class="py-lineno">3063</tt>  <tt class="py-line">                            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3064"></a><tt class="py-lineno">3064</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3065"></a><tt class="py-lineno">3065</tt>  <tt class="py-line">                            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3066"></a><tt class="py-lineno">3066</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3067"></a><tt class="py-lineno">3067</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># not check or command didn't succeed</tt> </tt>
+<a name="L3068"></a><tt class="py-lineno">3068</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+<a name="L3069"></a><tt class="py-lineno">3069</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-string">"UNINSTALLED"</tt><tt class="py-op">:</tt> </tt>
+<a name="L3070"></a><tt class="py-lineno">3070</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3071"></a><tt class="py-lineno">3071</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3072"></a><tt class="py-lineno">3072</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1099" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1099', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1100" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1100', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Unexpected return value from appStatus: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3073"></a><tt class="py-lineno">3073</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">status</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3074"></a><tt class="py-lineno">3074</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L3075"></a><tt class="py-lineno">3075</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3076"></a><tt class="py-lineno">3076</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1101" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1101', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3077"></a><tt class="py-lineno">3077</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L3078"></a><tt class="py-lineno">3078</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L3079"></a><tt class="py-lineno">3079</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1102" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1102', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1103" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1103', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3080"></a><tt class="py-lineno">3080</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1104" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1104', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1105" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1105', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3081"></a><tt class="py-lineno">3081</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1106" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1106', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3082"></a><tt class="py-lineno">3082</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1107" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1107', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3083"></a><tt class="py-lineno">3083</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L3084"></a><tt class="py-lineno">3084</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1108" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1108', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3085"></a><tt class="py-lineno">3085</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1109" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1109', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3086"></a><tt class="py-lineno">3086</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1110" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1110', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3087"></a><tt class="py-lineno">3087</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.appIDs"></a><div id="OnosCliDriver.appIDs-def"><a name="L3088"></a><tt class="py-lineno">3088</tt> <a class="py-toggle" href="#" id="OnosCliDriver.appIDs-toggle" onclick="return toggle('OnosCliDriver.appIDs');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appIDs">appIDs</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.appIDs-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.appIDs-expanded"><a name="L3089"></a><tt class="py-lineno">3089</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L3090"></a><tt class="py-lineno">3090</tt>  <tt class="py-line"><tt class="py-docstring">        Show the mappings between app id and app names given by the 'app-ids'</tt> </tt>
+<a name="L3091"></a><tt class="py-lineno">3091</tt>  <tt class="py-line"><tt class="py-docstring">        cli command</tt> </tt>
+<a name="L3092"></a><tt class="py-lineno">3092</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L3093"></a><tt class="py-lineno">3093</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3094"></a><tt class="py-lineno">3094</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"app-ids"</tt> </tt>
+<a name="L3095"></a><tt class="py-lineno">3095</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L3096"></a><tt class="py-lineno">3096</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L3097"></a><tt class="py-lineno">3097</tt>  <tt class="py-line">            <tt id="link-1111" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1111', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1112" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1112', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3098"></a><tt class="py-lineno">3098</tt>  <tt class="py-line">            <tt class="py-keyword">assert</tt> <tt class="py-string">"Error executing command"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1113" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1113', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3099"></a><tt class="py-lineno">3099</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-1114" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1114', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3100"></a><tt class="py-lineno">3100</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3101"></a><tt class="py-lineno">3101</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1115" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1115', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1116" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1116', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing onos:app-ids command: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3102"></a><tt class="py-lineno">3102</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1117" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1117', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3103"></a><tt class="py-lineno">3103</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3104"></a><tt class="py-lineno">3104</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3105"></a><tt class="py-lineno">3105</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1118" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1118', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3106"></a><tt class="py-lineno">3106</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3107"></a><tt class="py-lineno">3107</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L3108"></a><tt class="py-lineno">3108</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1119" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1119', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1120" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1120', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3109"></a><tt class="py-lineno">3109</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1121" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1121', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1122" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1122', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3110"></a><tt class="py-lineno">3110</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1123" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1123', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3111"></a><tt class="py-lineno">3111</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1124" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1124', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3112"></a><tt class="py-lineno">3112</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L3113"></a><tt class="py-lineno">3113</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1125" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1125', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3114"></a><tt class="py-lineno">3114</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1126" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1126', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3115"></a><tt class="py-lineno">3115</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1127" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1127', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3116"></a><tt class="py-lineno">3116</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.appToIDCheck"></a><div id="OnosCliDriver.appToIDCheck-def"><a name="L3117"></a><tt class="py-lineno">3117</tt> <a class="py-toggle" href="#" id="OnosCliDriver.appToIDCheck-toggle" onclick="return toggle('OnosCliDriver.appToIDCheck');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appToIDCheck">appToIDCheck</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.appToIDCheck-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.appToIDCheck-expanded"><a name="L3118"></a><tt class="py-lineno">3118</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L3119"></a><tt class="py-lineno">3119</tt>  <tt class="py-line"><tt class="py-docstring">        This method will check that each application's ID listed in 'apps' is</tt> </tt>
+<a name="L3120"></a><tt class="py-lineno">3120</tt>  <tt class="py-line"><tt class="py-docstring">        the same as the ID listed in 'app-ids'. The check will also check that</tt> </tt>
+<a name="L3121"></a><tt class="py-lineno">3121</tt>  <tt class="py-line"><tt class="py-docstring">        there are no duplicate IDs issued. Note that an app ID should be</tt> </tt>
+<a name="L3122"></a><tt class="py-lineno">3122</tt>  <tt class="py-line"><tt class="py-docstring">        a globaly unique numerical identifier for app/app-like features. Once</tt> </tt>
+<a name="L3123"></a><tt class="py-lineno">3123</tt>  <tt class="py-line"><tt class="py-docstring">        an ID is registered, the ID is never freed up so that if an app is</tt> </tt>
+<a name="L3124"></a><tt class="py-lineno">3124</tt>  <tt class="py-line"><tt class="py-docstring">        reinstalled it will have the same ID.</tt> </tt>
+<a name="L3125"></a><tt class="py-lineno">3125</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L3126"></a><tt class="py-lineno">3126</tt>  <tt class="py-line"><tt class="py-docstring">        Returns: main.TRUE  if the check passes and</tt> </tt>
+<a name="L3127"></a><tt class="py-lineno">3127</tt>  <tt class="py-line"><tt class="py-docstring">                 main.FALSE if the check fails or</tt> </tt>
+<a name="L3128"></a><tt class="py-lineno">3128</tt>  <tt class="py-line"><tt class="py-docstring">                 main.ERROR if there is some error in processing the test</tt> </tt>
+<a name="L3129"></a><tt class="py-lineno">3129</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L3130"></a><tt class="py-lineno">3130</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3131"></a><tt class="py-lineno">3131</tt>  <tt class="py-line">            <tt class="py-name">bail</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L3132"></a><tt class="py-lineno">3132</tt>  <tt class="py-line">            <tt class="py-name">ids</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1128" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appIDs"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-1128', 'appIDs', 'link-1128');">appIDs</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3133"></a><tt class="py-lineno">3133</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ids</tt><tt class="py-op">:</tt> </tt>
+<a name="L3134"></a><tt class="py-lineno">3134</tt>  <tt class="py-line">                <tt class="py-name">ids</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ids</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3135"></a><tt class="py-lineno">3135</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3136"></a><tt class="py-lineno">3136</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1129" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1129', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1130" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1130', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"app-ids returned nothing:"</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ids</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3137"></a><tt class="py-lineno">3137</tt>  <tt class="py-line">                <tt class="py-name">bail</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3138"></a><tt class="py-lineno">3138</tt>  <tt class="py-line">            <tt id="link-1131" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-1131', 'apps', 'link-1003');">apps</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1132" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-1132', 'apps', 'link-1003');">apps</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3139"></a><tt class="py-lineno">3139</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-1133" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-1133', 'apps', 'link-1003');">apps</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L3140"></a><tt class="py-lineno">3140</tt>  <tt class="py-line">                <tt id="link-1134" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-1134', 'apps', 'link-1003');">apps</a></tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-1135" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-1135', 'apps', 'link-1003');">apps</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L3141"></a><tt class="py-lineno">3141</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3142"></a><tt class="py-lineno">3142</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1136" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1136', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1137" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1137', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"apps returned nothing:"</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-1138" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-1138', 'apps', 'link-1003');">apps</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3143"></a><tt class="py-lineno">3143</tt>  <tt class="py-line">                <tt class="py-name">bail</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3144"></a><tt class="py-lineno">3144</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">bail</tt><tt class="py-op">:</tt> </tt>
+<a name="L3145"></a><tt class="py-lineno">3145</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3146"></a><tt class="py-lineno">3146</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3147"></a><tt class="py-lineno">3147</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-1139" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-1139', 'app', 'link-521');">app</a></tt> <tt class="py-keyword">in</tt> <tt id="link-1140" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-1140', 'apps', 'link-1003');">apps</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L3148"></a><tt class="py-lineno">3148</tt>  <tt class="py-line">                <tt class="py-name">appID</tt> <tt class="py-op">=</tt> <tt id="link-1141" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-1141', 'app', 'link-521');">app</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3149"></a><tt class="py-lineno">3149</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">appID</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L3150"></a><tt class="py-lineno">3150</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1142" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1142', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1143" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1143', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing app: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1144" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-1144', 'app', 'link-521');">app</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3151"></a><tt class="py-lineno">3151</tt>  <tt class="py-line">                    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3152"></a><tt class="py-lineno">3152</tt>  <tt class="py-line">                <tt class="py-name">appName</tt> <tt class="py-op">=</tt> <tt id="link-1145" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-1145', 'app', 'link-521');">app</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'name'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3153"></a><tt class="py-lineno">3153</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">appName</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L3154"></a><tt class="py-lineno">3154</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1146" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1146', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1147" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1147', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing app: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1148" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app" class="py-name" href="#" onclick="return doclink('link-1148', 'app', 'link-521');">app</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3155"></a><tt class="py-lineno">3155</tt>  <tt class="py-line">                    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3156"></a><tt class="py-lineno">3156</tt>  <tt class="py-line">                <tt class="py-comment"># get the entry in ids that has the same appID</tt> </tt>
+<a name="L3157"></a><tt class="py-lineno">3157</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">filter</tt><tt class="py-op">(</tt> <tt class="py-keyword">lambda</tt> <tt class="py-name">item</tt><tt class="py-op">:</tt> <tt class="py-name">item</tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">appID</tt><tt class="py-op">,</tt> <tt class="py-name">ids</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3158"></a><tt class="py-lineno">3158</tt>  <tt class="py-line">                <tt class="py-comment"># main.log.debug( "Comparing " + str( app ) + " to " +</tt> </tt>
+<a name="L3159"></a><tt class="py-lineno">3159</tt>  <tt class="py-line">                <tt class="py-comment">#                 str( current ) )</tt> </tt>
+<a name="L3160"></a><tt class="py-lineno">3160</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt>  <tt class="py-comment"># if ids doesn't have this id</tt> </tt>
+<a name="L3161"></a><tt class="py-lineno">3161</tt>  <tt class="py-line">                    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3162"></a><tt class="py-lineno">3162</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1149" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1149', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1150" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1150', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"'app-ids' does not have the ID for "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3163"></a><tt class="py-lineno">3163</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" that apps does."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3164"></a><tt class="py-lineno">3164</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L3165"></a><tt class="py-lineno">3165</tt>  <tt class="py-line">                    <tt class="py-comment"># there is more than one app with this ID</tt> </tt>
+<a name="L3166"></a><tt class="py-lineno">3166</tt>  <tt class="py-line">                    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3167"></a><tt class="py-lineno">3167</tt>  <tt class="py-line">                    <tt class="py-comment"># We will log this later in the method</tt> </tt>
+<a name="L3168"></a><tt class="py-lineno">3168</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">current</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">appName</tt><tt class="py-op">:</tt> </tt>
+<a name="L3169"></a><tt class="py-lineno">3169</tt>  <tt class="py-line">                    <tt class="py-name">currentName</tt> <tt class="py-op">=</tt> <tt class="py-name">current</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L3170"></a><tt class="py-lineno">3170</tt>  <tt class="py-line">                    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3171"></a><tt class="py-lineno">3171</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1151" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1151', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1152" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1152', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"'app-ids' has "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">currentName</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3172"></a><tt class="py-lineno">3172</tt>  <tt class="py-line">                                    <tt class="py-string">" registered under id:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">appID</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3173"></a><tt class="py-lineno">3173</tt>  <tt class="py-line">                                    <tt class="py-string">" but 'apps' has "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3174"></a><tt class="py-lineno">3174</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3175"></a><tt class="py-lineno">3175</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt>  <tt class="py-comment"># id and name match!</tt> </tt>
+<a name="L3176"></a><tt class="py-lineno">3176</tt>  <tt class="py-line">            <tt class="py-comment"># now make sure that app-ids has no duplicates</tt> </tt>
+<a name="L3177"></a><tt class="py-lineno">3177</tt>  <tt class="py-line">            <tt class="py-name">idsList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3178"></a><tt class="py-lineno">3178</tt>  <tt class="py-line">            <tt class="py-name">namesList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3179"></a><tt class="py-lineno">3179</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ids</tt><tt class="py-op">:</tt> </tt>
+<a name="L3180"></a><tt class="py-lineno">3180</tt>  <tt class="py-line">                <tt class="py-name">idsList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">item</tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3181"></a><tt class="py-lineno">3181</tt>  <tt class="py-line">                <tt class="py-name">namesList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">item</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3182"></a><tt class="py-lineno">3182</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">idsList</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">idsList</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-keyword">or</tt>\ </tt>
+<a name="L3183"></a><tt class="py-lineno">3183</tt>  <tt class="py-line">               <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">namesList</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">namesList</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3184"></a><tt class="py-lineno">3184</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1153" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1153', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1154" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1154', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"'app-ids' has some duplicate entries: \n"</tt> </tt>
+<a name="L3185"></a><tt class="py-lineno">3185</tt>  <tt class="py-line">                                    <tt class="py-op">+</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">ids</tt><tt class="py-op">,</tt> </tt>
+<a name="L3186"></a><tt class="py-lineno">3186</tt>  <tt class="py-line">                                                  <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3187"></a><tt class="py-lineno">3187</tt>  <tt class="py-line">                                                  <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L3188"></a><tt class="py-lineno">3188</tt>  <tt class="py-line">                                                  <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3189"></a><tt class="py-lineno">3189</tt>  <tt class="py-line">                    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3190"></a><tt class="py-lineno">3190</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
+<a name="L3191"></a><tt class="py-lineno">3191</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3192"></a><tt class="py-lineno">3192</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1155" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1155', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3193"></a><tt class="py-lineno">3193</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L3194"></a><tt class="py-lineno">3194</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L3195"></a><tt class="py-lineno">3195</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1156" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1156', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1157" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1157', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3196"></a><tt class="py-lineno">3196</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1158" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1158', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1159" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1159', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3197"></a><tt class="py-lineno">3197</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1160" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1160', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3198"></a><tt class="py-lineno">3198</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1161" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1161', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3199"></a><tt class="py-lineno">3199</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L3200"></a><tt class="py-lineno">3200</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1162" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1162', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3201"></a><tt class="py-lineno">3201</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1163" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1163', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3202"></a><tt class="py-lineno">3202</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1164" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1164', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3203"></a><tt class="py-lineno">3203</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.getCfg"></a><div id="OnosCliDriver.getCfg-def"><a name="L3204"></a><tt class="py-lineno">3204</tt> <a class="py-toggle" href="#" id="OnosCliDriver.getCfg-toggle" onclick="return toggle('OnosCliDriver.getCfg');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getCfg">getCfg</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">component</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">propName</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">short</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L3205"></a><tt class="py-lineno">3205</tt>  <tt class="py-line">                <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.getCfg-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.getCfg-expanded"><a name="L3206"></a><tt class="py-lineno">3206</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L3207"></a><tt class="py-lineno">3207</tt>  <tt class="py-line"><tt class="py-docstring">        Get configuration settings from onos cli</tt> </tt>
+<a name="L3208"></a><tt class="py-lineno">3208</tt>  <tt class="py-line"><tt class="py-docstring">        Optional arguments:</tt> </tt>
+<a name="L3209"></a><tt class="py-lineno">3209</tt>  <tt class="py-line"><tt class="py-docstring">            component - Optionally only list configurations for a specific</tt> </tt>
+<a name="L3210"></a><tt class="py-lineno">3210</tt>  <tt class="py-line"><tt class="py-docstring">                        component. If None, all components with configurations</tt> </tt>
+<a name="L3211"></a><tt class="py-lineno">3211</tt>  <tt class="py-line"><tt class="py-docstring">                        are displayed. Case Sensitive string.</tt> </tt>
+<a name="L3212"></a><tt class="py-lineno">3212</tt>  <tt class="py-line"><tt class="py-docstring">            propName - If component is specified, propName option will show</tt> </tt>
+<a name="L3213"></a><tt class="py-lineno">3213</tt>  <tt class="py-line"><tt class="py-docstring">                       only this specific configuration from that component.</tt> </tt>
+<a name="L3214"></a><tt class="py-lineno">3214</tt>  <tt class="py-line"><tt class="py-docstring">                       Case Sensitive string.</tt> </tt>
+<a name="L3215"></a><tt class="py-lineno">3215</tt>  <tt class="py-line"><tt class="py-docstring">            jsonFormat - Returns output as json. Note that this will override</tt> </tt>
+<a name="L3216"></a><tt class="py-lineno">3216</tt>  <tt class="py-line"><tt class="py-docstring">                         the short option</tt> </tt>
+<a name="L3217"></a><tt class="py-lineno">3217</tt>  <tt class="py-line"><tt class="py-docstring">            short - Short, less verbose, version of configurations.</tt> </tt>
+<a name="L3218"></a><tt class="py-lineno">3218</tt>  <tt class="py-line"><tt class="py-docstring">                    This is overridden by the json option</tt> </tt>
+<a name="L3219"></a><tt class="py-lineno">3219</tt>  <tt class="py-line"><tt class="py-docstring">        returns:</tt> </tt>
+<a name="L3220"></a><tt class="py-lineno">3220</tt>  <tt class="py-line"><tt class="py-docstring">            Output from cli as a string or None on error</tt> </tt>
+<a name="L3221"></a><tt class="py-lineno">3221</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L3222"></a><tt class="py-lineno">3222</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3223"></a><tt class="py-lineno">3223</tt>  <tt class="py-line">            <tt class="py-name">baseStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"cfg"</tt> </tt>
+<a name="L3224"></a><tt class="py-lineno">3224</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">" get"</tt> </tt>
+<a name="L3225"></a><tt class="py-lineno">3225</tt>  <tt class="py-line">            <tt class="py-name">componentStr</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L3226"></a><tt class="py-lineno">3226</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">component</tt><tt class="py-op">:</tt> </tt>
+<a name="L3227"></a><tt class="py-lineno">3227</tt>  <tt class="py-line">                <tt class="py-name">componentStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">component</tt> </tt>
+<a name="L3228"></a><tt class="py-lineno">3228</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">propName</tt><tt class="py-op">:</tt> </tt>
+<a name="L3229"></a><tt class="py-lineno">3229</tt>  <tt class="py-line">                    <tt class="py-name">componentStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">propName</tt> </tt>
+<a name="L3230"></a><tt class="py-lineno">3230</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L3231"></a><tt class="py-lineno">3231</tt>  <tt class="py-line">                <tt class="py-name">baseStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L3232"></a><tt class="py-lineno">3232</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">short</tt><tt class="py-op">:</tt> </tt>
+<a name="L3233"></a><tt class="py-lineno">3233</tt>  <tt class="py-line">                <tt class="py-name">baseStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -s"</tt> </tt>
+<a name="L3234"></a><tt class="py-lineno">3234</tt>  <tt class="py-line">            <tt id="link-1165" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1165', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1166" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1166', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">baseStr</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">+</tt> <tt class="py-name">componentStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3235"></a><tt class="py-lineno">3235</tt>  <tt class="py-line">            <tt class="py-keyword">assert</tt> <tt class="py-string">"Error executing command"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1167" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1167', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3236"></a><tt class="py-lineno">3236</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-1168" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1168', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3237"></a><tt class="py-lineno">3237</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3238"></a><tt class="py-lineno">3238</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1169" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1169', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1170" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1170', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing 'cfg get' command: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3239"></a><tt class="py-lineno">3239</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1171" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1171', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3240"></a><tt class="py-lineno">3240</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3241"></a><tt class="py-lineno">3241</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3242"></a><tt class="py-lineno">3242</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1172" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1172', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3243"></a><tt class="py-lineno">3243</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3244"></a><tt class="py-lineno">3244</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L3245"></a><tt class="py-lineno">3245</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1173" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1173', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1174" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1174', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3246"></a><tt class="py-lineno">3246</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1175" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1175', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1176" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1176', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3247"></a><tt class="py-lineno">3247</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1177" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1177', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3248"></a><tt class="py-lineno">3248</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1178" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1178', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3249"></a><tt class="py-lineno">3249</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L3250"></a><tt class="py-lineno">3250</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1179" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1179', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3251"></a><tt class="py-lineno">3251</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1180" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1180', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3252"></a><tt class="py-lineno">3252</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1181" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1181', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3253"></a><tt class="py-lineno">3253</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.setCfg"></a><div id="OnosCliDriver.setCfg-def"><a name="L3254"></a><tt class="py-lineno">3254</tt> <a class="py-toggle" href="#" id="OnosCliDriver.setCfg-toggle" onclick="return toggle('OnosCliDriver.setCfg');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCfg">setCfg</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">component</tt><tt class="py-op">,</tt> <tt class="py-param">propName</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">check</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.setCfg-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.setCfg-expanded"><a name="L3255"></a><tt class="py-lineno">3255</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L3256"></a><tt class="py-lineno">3256</tt>  <tt class="py-line"><tt class="py-docstring">        Set/Unset configuration settings from ONOS cli</tt> </tt>
+<a name="L3257"></a><tt class="py-lineno">3257</tt>  <tt class="py-line"><tt class="py-docstring">        Required arguments:</tt> </tt>
+<a name="L3258"></a><tt class="py-lineno">3258</tt>  <tt class="py-line"><tt class="py-docstring">            component - The case sensitive name of the component whose</tt> </tt>
+<a name="L3259"></a><tt class="py-lineno">3259</tt>  <tt class="py-line"><tt class="py-docstring">                        property is to be set</tt> </tt>
+<a name="L3260"></a><tt class="py-lineno">3260</tt>  <tt class="py-line"><tt class="py-docstring">            propName - The case sensitive name of the property to be set/unset</tt> </tt>
+<a name="L3261"></a><tt class="py-lineno">3261</tt>  <tt class="py-line"><tt class="py-docstring">        Optional arguments:</tt> </tt>
+<a name="L3262"></a><tt class="py-lineno">3262</tt>  <tt class="py-line"><tt class="py-docstring">            value - The value to set the property to. If None, will unset the</tt> </tt>
+<a name="L3263"></a><tt class="py-lineno">3263</tt>  <tt class="py-line"><tt class="py-docstring">                    property and revert it to it's default value(if applicable)</tt> </tt>
+<a name="L3264"></a><tt class="py-lineno">3264</tt>  <tt class="py-line"><tt class="py-docstring">            check - Boolean, Check whether the option was successfully set this</tt> </tt>
+<a name="L3265"></a><tt class="py-lineno">3265</tt>  <tt class="py-line"><tt class="py-docstring">                    only applies when a value is given.</tt> </tt>
+<a name="L3266"></a><tt class="py-lineno">3266</tt>  <tt class="py-line"><tt class="py-docstring">        returns:</tt> </tt>
+<a name="L3267"></a><tt class="py-lineno">3267</tt>  <tt class="py-line"><tt class="py-docstring">            main.TRUE on success or main.FALSE on failure. If check is False,</tt> </tt>
+<a name="L3268"></a><tt class="py-lineno">3268</tt>  <tt class="py-line"><tt class="py-docstring">            will return main.TRUE unless there is an error</tt> </tt>
+<a name="L3269"></a><tt class="py-lineno">3269</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L3270"></a><tt class="py-lineno">3270</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3271"></a><tt class="py-lineno">3271</tt>  <tt class="py-line">            <tt class="py-name">baseStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"cfg"</tt> </tt>
+<a name="L3272"></a><tt class="py-lineno">3272</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">component</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">propName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3273"></a><tt class="py-lineno">3273</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L3274"></a><tt class="py-lineno">3274</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">value</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3275"></a><tt class="py-lineno">3275</tt>  <tt class="py-line">            <tt id="link-1182" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1182', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1183" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1183', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">baseStr</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3276"></a><tt class="py-lineno">3276</tt>  <tt class="py-line">            <tt class="py-keyword">assert</tt> <tt class="py-string">"Error executing command"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1184" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1184', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3277"></a><tt class="py-lineno">3277</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">and</tt> <tt class="py-name">check</tt><tt class="py-op">:</tt> </tt>
+<a name="L3278"></a><tt class="py-lineno">3278</tt>  <tt class="py-line">                <tt class="py-name">results</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1185" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getCfg()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getCfg"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getCfg" class="py-name" href="#" onclick="return doclink('link-1185', 'getCfg', 'link-1185');">getCfg</a></tt><tt class="py-op">(</tt> <tt class="py-name">component</tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">component</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3279"></a><tt class="py-lineno">3279</tt>  <tt class="py-line">                                       <tt class="py-name">propName</tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">propName</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3280"></a><tt class="py-lineno">3280</tt>  <tt class="py-line">                                       <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3281"></a><tt class="py-lineno">3281</tt>  <tt class="py-line">                <tt class="py-comment"># Check if current value is what we just set</tt> </tt>
+<a name="L3282"></a><tt class="py-lineno">3282</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3283"></a><tt class="py-lineno">3283</tt>  <tt class="py-line">                    <tt class="py-name">jsonOutput</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">results</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3284"></a><tt class="py-lineno">3284</tt>  <tt class="py-line">                    <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">jsonOutput</tt><tt class="py-op">[</tt> <tt class="py-string">'value'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L3285"></a><tt class="py-lineno">3285</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3286"></a><tt class="py-lineno">3286</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1186" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1186', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing cfg output"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3287"></a><tt class="py-lineno">3287</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1187" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1187', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1188" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1188', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"output:"</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">results</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3288"></a><tt class="py-lineno">3288</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3289"></a><tt class="py-lineno">3289</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">current</tt> <tt class="py-op">==</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">value</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3290"></a><tt class="py-lineno">3290</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3291"></a><tt class="py-lineno">3291</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3292"></a><tt class="py-lineno">3292</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3293"></a><tt class="py-lineno">3293</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3294"></a><tt class="py-lineno">3294</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1189" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1189', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1190" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1190', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing 'cfg set' command: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3295"></a><tt class="py-lineno">3295</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1191" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1191', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3296"></a><tt class="py-lineno">3296</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3297"></a><tt class="py-lineno">3297</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3298"></a><tt class="py-lineno">3298</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1192" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1192', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3299"></a><tt class="py-lineno">3299</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3300"></a><tt class="py-lineno">3300</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L3301"></a><tt class="py-lineno">3301</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1193" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1193', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1194" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1194', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3302"></a><tt class="py-lineno">3302</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1195" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1195', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1196" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1196', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3303"></a><tt class="py-lineno">3303</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1197" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1197', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3304"></a><tt class="py-lineno">3304</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1198" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1198', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3305"></a><tt class="py-lineno">3305</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L3306"></a><tt class="py-lineno">3306</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1199" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1199', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3307"></a><tt class="py-lineno">3307</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1200" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1200', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3308"></a><tt class="py-lineno">3308</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1201" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1201', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3309"></a><tt class="py-lineno">3309</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.setTestAdd"></a><div id="OnosCliDriver.setTestAdd-def"><a name="L3310"></a><tt class="py-lineno">3310</tt> <a class="py-toggle" href="#" id="OnosCliDriver.setTestAdd-toggle" onclick="return toggle('OnosCliDriver.setTestAdd');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestAdd">setTestAdd</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">setName</tt><tt class="py-op">,</tt> <tt class="py-param">values</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.setTestAdd-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.setTestAdd-expanded"><a name="L3311"></a><tt class="py-lineno">3311</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L3312"></a><tt class="py-lineno">3312</tt>  <tt class="py-line"><tt class="py-docstring">        CLI command to add elements to a distributed set.</tt> </tt>
+<a name="L3313"></a><tt class="py-lineno">3313</tt>  <tt class="py-line"><tt class="py-docstring">        Arguments:</tt> </tt>
+<a name="L3314"></a><tt class="py-lineno">3314</tt>  <tt class="py-line"><tt class="py-docstring">            setName - The name of the set to add to.</tt> </tt>
+<a name="L3315"></a><tt class="py-lineno">3315</tt>  <tt class="py-line"><tt class="py-docstring">            values - The value(s) to add to the set, space seperated.</tt> </tt>
+<a name="L3316"></a><tt class="py-lineno">3316</tt>  <tt class="py-line"><tt class="py-docstring">        Example usages:</tt> </tt>
+<a name="L3317"></a><tt class="py-lineno">3317</tt>  <tt class="py-line"><tt class="py-docstring">            setTestAdd( "set1", "a b c" )</tt> </tt>
+<a name="L3318"></a><tt class="py-lineno">3318</tt>  <tt class="py-line"><tt class="py-docstring">            setTestAdd( "set2", "1" )</tt> </tt>
+<a name="L3319"></a><tt class="py-lineno">3319</tt>  <tt class="py-line"><tt class="py-docstring">        returns:</tt> </tt>
+<a name="L3320"></a><tt class="py-lineno">3320</tt>  <tt class="py-line"><tt class="py-docstring">            main.TRUE on success OR</tt> </tt>
+<a name="L3321"></a><tt class="py-lineno">3321</tt>  <tt class="py-line"><tt class="py-docstring">            main.FALSE if elements were already in the set OR</tt> </tt>
+<a name="L3322"></a><tt class="py-lineno">3322</tt>  <tt class="py-line"><tt class="py-docstring">            main.ERROR on error</tt> </tt>
+<a name="L3323"></a><tt class="py-lineno">3323</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L3324"></a><tt class="py-lineno">3324</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3325"></a><tt class="py-lineno">3325</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"set-test-add "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setName</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">values</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3326"></a><tt class="py-lineno">3326</tt>  <tt class="py-line">            <tt id="link-1202" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1202', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1203" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1203', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3327"></a><tt class="py-lineno">3327</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3328"></a><tt class="py-lineno">3328</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: Maybe make this less hardcoded</tt> </tt>
+<a name="L3329"></a><tt class="py-lineno">3329</tt>  <tt class="py-line">                <tt class="py-comment"># ConsistentMap Exceptions</tt> </tt>
+<a name="L3330"></a><tt class="py-lineno">3330</tt>  <tt class="py-line">                <tt class="py-keyword">assert</tt> <tt class="py-string">"org.onosproject.store.service"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1204" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1204', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3331"></a><tt class="py-lineno">3331</tt>  <tt class="py-line">                <tt class="py-comment"># Node not leader</tt> </tt>
+<a name="L3332"></a><tt class="py-lineno">3332</tt>  <tt class="py-line">                <tt class="py-keyword">assert</tt> <tt class="py-string">"java.lang.IllegalStateException"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1205" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1205', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3333"></a><tt class="py-lineno">3333</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3334"></a><tt class="py-lineno">3334</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1206" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1206', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1207" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1207', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing '"</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">+</tt> <tt class="py-string">"' "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3335"></a><tt class="py-lineno">3335</tt>  <tt class="py-line">                                <tt class="py-string">"command: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1208" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1208', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3336"></a><tt class="py-lineno">3336</tt>  <tt class="py-line">                <tt class="py-name">retryTime</tt> <tt class="py-op">=</tt> <tt class="py-number">30</tt>  <tt class="py-comment"># Conservative time, given by Madan</tt> </tt>
+<a name="L3337"></a><tt class="py-lineno">3337</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1209" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1209', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">retryTime</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3338"></a><tt class="py-lineno">3338</tt>  <tt class="py-line">                               <tt class="py-string">"seconds before retrying."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3339"></a><tt class="py-lineno">3339</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">retryTime</tt> <tt class="py-op">)</tt>  <tt class="py-comment"># Due to change in mastership</tt> </tt>
+<a name="L3340"></a><tt class="py-lineno">3340</tt>  <tt class="py-line">                <tt id="link-1210" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1210', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1211" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1211', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3341"></a><tt class="py-lineno">3341</tt>  <tt class="py-line">            <tt class="py-keyword">assert</tt> <tt class="py-string">"Error executing command"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1212" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1212', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3342"></a><tt class="py-lineno">3342</tt>  <tt class="py-line">            <tt class="py-name">positiveMatch</tt> <tt class="py-op">=</tt> <tt class="py-string">"\[(.*)\] was added to the set "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3343"></a><tt class="py-lineno">3343</tt>  <tt class="py-line">            <tt class="py-name">negativeMatch</tt> <tt class="py-op">=</tt> <tt class="py-string">"\[(.*)\] was already in set "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3344"></a><tt class="py-lineno">3344</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1213" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1213', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt id="link-1214" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1214', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L3345"></a><tt class="py-lineno">3345</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">positiveMatch</tt><tt class="py-op">,</tt> <tt id="link-1215" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1215', 'output', 'link-120');">output</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3346"></a><tt class="py-lineno">3346</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3347"></a><tt class="py-lineno">3347</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">negativeMatch</tt><tt class="py-op">,</tt> <tt id="link-1216" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1216', 'output', 'link-120');">output</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3348"></a><tt class="py-lineno">3348</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3349"></a><tt class="py-lineno">3349</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3350"></a><tt class="py-lineno">3350</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1217" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1217', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1218" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1218', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": setTestAdd did not"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3351"></a><tt class="py-lineno">3351</tt>  <tt class="py-line">                                <tt class="py-string">" match expected output"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3352"></a><tt class="py-lineno">3352</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1219" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1219', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-1220" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1220', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3353"></a><tt class="py-lineno">3353</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L3354"></a><tt class="py-lineno">3354</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3355"></a><tt class="py-lineno">3355</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1221" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1221', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1222" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1222', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing '"</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">+</tt> <tt class="py-string">"' command: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3356"></a><tt class="py-lineno">3356</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1223" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1223', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3357"></a><tt class="py-lineno">3357</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L3358"></a><tt class="py-lineno">3358</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3359"></a><tt class="py-lineno">3359</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1224" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1224', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3360"></a><tt class="py-lineno">3360</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L3361"></a><tt class="py-lineno">3361</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L3362"></a><tt class="py-lineno">3362</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1225" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1225', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1226" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1226', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3363"></a><tt class="py-lineno">3363</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1227" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1227', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1228" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1228', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3364"></a><tt class="py-lineno">3364</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1229" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1229', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3365"></a><tt class="py-lineno">3365</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1230" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1230', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3366"></a><tt class="py-lineno">3366</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L3367"></a><tt class="py-lineno">3367</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1231" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1231', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3368"></a><tt class="py-lineno">3368</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1232" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1232', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3369"></a><tt class="py-lineno">3369</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1233" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1233', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3370"></a><tt class="py-lineno">3370</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.setTestRemove"></a><div id="OnosCliDriver.setTestRemove-def"><a name="L3371"></a><tt class="py-lineno">3371</tt> <a class="py-toggle" href="#" id="OnosCliDriver.setTestRemove-toggle" onclick="return toggle('OnosCliDriver.setTestRemove');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestRemove">setTestRemove</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">setName</tt><tt class="py-op">,</tt> <tt class="py-param">values</tt><tt class="py-op">,</tt> <tt class="py-param">clear</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-param">retain</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.setTestRemove-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.setTestRemove-expanded"><a name="L3372"></a><tt class="py-lineno">3372</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L3373"></a><tt class="py-lineno">3373</tt>  <tt class="py-line"><tt class="py-docstring">        CLI command to remove elements from a distributed set.</tt> </tt>
+<a name="L3374"></a><tt class="py-lineno">3374</tt>  <tt class="py-line"><tt class="py-docstring">        Required arguments:</tt> </tt>
+<a name="L3375"></a><tt class="py-lineno">3375</tt>  <tt class="py-line"><tt class="py-docstring">            setName - The name of the set to remove from.</tt> </tt>
+<a name="L3376"></a><tt class="py-lineno">3376</tt>  <tt class="py-line"><tt class="py-docstring">            values - The value(s) to remove from the set, space seperated.</tt> </tt>
+<a name="L3377"></a><tt class="py-lineno">3377</tt>  <tt class="py-line"><tt class="py-docstring">        Optional arguments:</tt> </tt>
+<a name="L3378"></a><tt class="py-lineno">3378</tt>  <tt class="py-line"><tt class="py-docstring">            clear - Clear all elements from the set</tt> </tt>
+<a name="L3379"></a><tt class="py-lineno">3379</tt>  <tt class="py-line"><tt class="py-docstring">            retain - Retain only the  given values. (intersection of the</tt> </tt>
+<a name="L3380"></a><tt class="py-lineno">3380</tt>  <tt class="py-line"><tt class="py-docstring">                     original set and the given set)</tt> </tt>
+<a name="L3381"></a><tt class="py-lineno">3381</tt>  <tt class="py-line"><tt class="py-docstring">        returns:</tt> </tt>
+<a name="L3382"></a><tt class="py-lineno">3382</tt>  <tt class="py-line"><tt class="py-docstring">            main.TRUE on success OR</tt> </tt>
+<a name="L3383"></a><tt class="py-lineno">3383</tt>  <tt class="py-line"><tt class="py-docstring">            main.FALSE if the set was not changed OR</tt> </tt>
+<a name="L3384"></a><tt class="py-lineno">3384</tt>  <tt class="py-line"><tt class="py-docstring">            main.ERROR on error</tt> </tt>
+<a name="L3385"></a><tt class="py-lineno">3385</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L3386"></a><tt class="py-lineno">3386</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3387"></a><tt class="py-lineno">3387</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"set-test-remove "</tt> </tt>
+<a name="L3388"></a><tt class="py-lineno">3388</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">clear</tt><tt class="py-op">:</tt> </tt>
+<a name="L3389"></a><tt class="py-lineno">3389</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">"-c "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3390"></a><tt class="py-lineno">3390</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">retain</tt><tt class="py-op">:</tt> </tt>
+<a name="L3391"></a><tt class="py-lineno">3391</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">"-r "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setName</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">values</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3392"></a><tt class="py-lineno">3392</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3393"></a><tt class="py-lineno">3393</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setName</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">values</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3394"></a><tt class="py-lineno">3394</tt>  <tt class="py-line">            <tt id="link-1234" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1234', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1235" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1235', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3395"></a><tt class="py-lineno">3395</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3396"></a><tt class="py-lineno">3396</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: Maybe make this less hardcoded</tt> </tt>
+<a name="L3397"></a><tt class="py-lineno">3397</tt>  <tt class="py-line">                <tt class="py-comment"># ConsistentMap Exceptions</tt> </tt>
+<a name="L3398"></a><tt class="py-lineno">3398</tt>  <tt class="py-line">                <tt class="py-keyword">assert</tt> <tt class="py-string">"org.onosproject.store.service"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1236" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1236', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3399"></a><tt class="py-lineno">3399</tt>  <tt class="py-line">                <tt class="py-comment"># Node not leader</tt> </tt>
+<a name="L3400"></a><tt class="py-lineno">3400</tt>  <tt class="py-line">                <tt class="py-keyword">assert</tt> <tt class="py-string">"java.lang.IllegalStateException"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1237" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1237', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3401"></a><tt class="py-lineno">3401</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3402"></a><tt class="py-lineno">3402</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1238" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1238', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1239" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1239', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing '"</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">+</tt> <tt class="py-string">"' "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3403"></a><tt class="py-lineno">3403</tt>  <tt class="py-line">                                <tt class="py-string">"command: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1240" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1240', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3404"></a><tt class="py-lineno">3404</tt>  <tt class="py-line">                <tt class="py-name">retryTime</tt> <tt class="py-op">=</tt> <tt class="py-number">30</tt>  <tt class="py-comment"># Conservative time, given by Madan</tt> </tt>
+<a name="L3405"></a><tt class="py-lineno">3405</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1241" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1241', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">retryTime</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3406"></a><tt class="py-lineno">3406</tt>  <tt class="py-line">                               <tt class="py-string">"seconds before retrying."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3407"></a><tt class="py-lineno">3407</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">retryTime</tt> <tt class="py-op">)</tt>  <tt class="py-comment"># Due to change in mastership</tt> </tt>
+<a name="L3408"></a><tt class="py-lineno">3408</tt>  <tt class="py-line">                <tt id="link-1242" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1242', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1243" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1243', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3409"></a><tt class="py-lineno">3409</tt>  <tt class="py-line">            <tt class="py-keyword">assert</tt> <tt class="py-string">"Error executing command"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1244" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1244', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3410"></a><tt class="py-lineno">3410</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1245" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1245', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt id="link-1246" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1246', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L3411"></a><tt class="py-lineno">3411</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">clear</tt><tt class="py-op">:</tt> </tt>
+<a name="L3412"></a><tt class="py-lineno">3412</tt>  <tt class="py-line">                <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"Set "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setName</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" cleared"</tt> </tt>
+<a name="L3413"></a><tt class="py-lineno">3413</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt id="link-1247" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1247', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3414"></a><tt class="py-lineno">3414</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3415"></a><tt class="py-lineno">3415</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">retain</tt><tt class="py-op">:</tt> </tt>
+<a name="L3416"></a><tt class="py-lineno">3416</tt>  <tt class="py-line">                <tt class="py-name">positivePattern</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setName</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" was pruned to contain "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L3417"></a><tt class="py-lineno">3417</tt>  <tt class="py-line">                                  <tt class="py-string">"only elements of set \[(.*)\]"</tt> </tt>
+<a name="L3418"></a><tt class="py-lineno">3418</tt>  <tt class="py-line">                <tt class="py-name">negativePattern</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setName</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" was not changed by "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L3419"></a><tt class="py-lineno">3419</tt>  <tt class="py-line">                                  <tt class="py-string">"retaining only elements of the set "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L3420"></a><tt class="py-lineno">3420</tt>  <tt class="py-line">                                  <tt class="py-string">"\[(.*)\]"</tt> </tt>
+<a name="L3421"></a><tt class="py-lineno">3421</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">positivePattern</tt><tt class="py-op">,</tt> <tt id="link-1248" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1248', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3422"></a><tt class="py-lineno">3422</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3423"></a><tt class="py-lineno">3423</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">negativePattern</tt><tt class="py-op">,</tt> <tt id="link-1249" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1249', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3424"></a><tt class="py-lineno">3424</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3425"></a><tt class="py-lineno">3425</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3426"></a><tt class="py-lineno">3426</tt>  <tt class="py-line">                <tt class="py-name">positivePattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"\[(.*)\] was removed from the set "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L3427"></a><tt class="py-lineno">3427</tt>  <tt class="py-line">                                  <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3428"></a><tt class="py-lineno">3428</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">values</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3429"></a><tt class="py-lineno">3429</tt>  <tt class="py-line">                    <tt class="py-name">negativePattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"\[(.*)\] was not in set "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L3430"></a><tt class="py-lineno">3430</tt>  <tt class="py-line">                                      <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3431"></a><tt class="py-lineno">3431</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3432"></a><tt class="py-lineno">3432</tt>  <tt class="py-line">                    <tt class="py-name">negativePattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"No element of \[(.*)\] was in set "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L3433"></a><tt class="py-lineno">3433</tt>  <tt class="py-line">                                      <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3434"></a><tt class="py-lineno">3434</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">positivePattern</tt><tt class="py-op">,</tt> <tt id="link-1250" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1250', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3435"></a><tt class="py-lineno">3435</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3436"></a><tt class="py-lineno">3436</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">negativePattern</tt><tt class="py-op">,</tt> <tt id="link-1251" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1251', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3437"></a><tt class="py-lineno">3437</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3438"></a><tt class="py-lineno">3438</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1252" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1252', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1253" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1253', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": setTestRemove did not"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3439"></a><tt class="py-lineno">3439</tt>  <tt class="py-line">                            <tt class="py-string">" match expected output"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3440"></a><tt class="py-lineno">3440</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1254" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1254', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">pattern</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3441"></a><tt class="py-lineno">3441</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1255" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1255', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-1256" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1256', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3442"></a><tt class="py-lineno">3442</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L3443"></a><tt class="py-lineno">3443</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3444"></a><tt class="py-lineno">3444</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1257" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1257', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1258" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1258', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing '"</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">+</tt> <tt class="py-string">"' command: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3445"></a><tt class="py-lineno">3445</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1259" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1259', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3446"></a><tt class="py-lineno">3446</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L3447"></a><tt class="py-lineno">3447</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3448"></a><tt class="py-lineno">3448</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1260" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1260', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3449"></a><tt class="py-lineno">3449</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L3450"></a><tt class="py-lineno">3450</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L3451"></a><tt class="py-lineno">3451</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1261" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1261', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1262" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1262', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3452"></a><tt class="py-lineno">3452</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1263" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1263', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1264" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1264', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3453"></a><tt class="py-lineno">3453</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1265" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1265', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3454"></a><tt class="py-lineno">3454</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1266" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1266', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3455"></a><tt class="py-lineno">3455</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L3456"></a><tt class="py-lineno">3456</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1267" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1267', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3457"></a><tt class="py-lineno">3457</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1268" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1268', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3458"></a><tt class="py-lineno">3458</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1269" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1269', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3459"></a><tt class="py-lineno">3459</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.setTestGet"></a><div id="OnosCliDriver.setTestGet-def"><a name="L3460"></a><tt class="py-lineno">3460</tt> <a class="py-toggle" href="#" id="OnosCliDriver.setTestGet-toggle" onclick="return toggle('OnosCliDriver.setTestGet');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestGet">setTestGet</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">setName</tt><tt class="py-op">,</tt> <tt class="py-param">values</tt><tt class="py-op">=</tt><tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.setTestGet-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.setTestGet-expanded"><a name="L3461"></a><tt class="py-lineno">3461</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L3462"></a><tt class="py-lineno">3462</tt>  <tt class="py-line"><tt class="py-docstring">        CLI command to get the elements in a distributed set.</tt> </tt>
+<a name="L3463"></a><tt class="py-lineno">3463</tt>  <tt class="py-line"><tt class="py-docstring">        Required arguments:</tt> </tt>
+<a name="L3464"></a><tt class="py-lineno">3464</tt>  <tt class="py-line"><tt class="py-docstring">            setName - The name of the set to remove from.</tt> </tt>
+<a name="L3465"></a><tt class="py-lineno">3465</tt>  <tt class="py-line"><tt class="py-docstring">        Optional arguments:</tt> </tt>
+<a name="L3466"></a><tt class="py-lineno">3466</tt>  <tt class="py-line"><tt class="py-docstring">            values - The value(s) to check if in the set, space seperated.</tt> </tt>
+<a name="L3467"></a><tt class="py-lineno">3467</tt>  <tt class="py-line"><tt class="py-docstring">        returns:</tt> </tt>
+<a name="L3468"></a><tt class="py-lineno">3468</tt>  <tt class="py-line"><tt class="py-docstring">            main.ERROR on error OR</tt> </tt>
+<a name="L3469"></a><tt class="py-lineno">3469</tt>  <tt class="py-line"><tt class="py-docstring">            A list of elements in the set if no optional arguments are</tt> </tt>
+<a name="L3470"></a><tt class="py-lineno">3470</tt>  <tt class="py-line"><tt class="py-docstring">                supplied OR</tt> </tt>
+<a name="L3471"></a><tt class="py-lineno">3471</tt>  <tt class="py-line"><tt class="py-docstring">            A tuple containing the list then:</tt> </tt>
+<a name="L3472"></a><tt class="py-lineno">3472</tt>  <tt class="py-line"><tt class="py-docstring">                main.FALSE if the given values are not in the set OR</tt> </tt>
+<a name="L3473"></a><tt class="py-lineno">3473</tt>  <tt class="py-line"><tt class="py-docstring">                main.TRUE if the given values are in the set OR</tt> </tt>
+<a name="L3474"></a><tt class="py-lineno">3474</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L3475"></a><tt class="py-lineno">3475</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3476"></a><tt class="py-lineno">3476</tt>  <tt class="py-line">            <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">values</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3477"></a><tt class="py-lineno">3477</tt>  <tt class="py-line">            <tt class="py-name">setName</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setName</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3478"></a><tt class="py-lineno">3478</tt>  <tt class="py-line">            <tt class="py-name">length</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">values</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3479"></a><tt class="py-lineno">3479</tt>  <tt class="py-line">            <tt class="py-name">containsCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3480"></a><tt class="py-lineno">3480</tt>  <tt class="py-line">            <tt class="py-comment"># Patterns to match</tt> </tt>
+<a name="L3481"></a><tt class="py-lineno">3481</tt>  <tt class="py-line">            <tt class="py-name">setPattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"\[(.*)\]"</tt> </tt>
+<a name="L3482"></a><tt class="py-lineno">3482</tt>  <tt class="py-line">            <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"Items in set "</tt> <tt class="py-op">+</tt> <tt class="py-name">setName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> <tt class="py-name">setPattern</tt> </tt>
+<a name="L3483"></a><tt class="py-lineno">3483</tt>  <tt class="py-line">            <tt class="py-name">containsTrue</tt> <tt class="py-op">=</tt> <tt class="py-string">"Set "</tt> <tt class="py-op">+</tt> <tt class="py-name">setName</tt> <tt class="py-op">+</tt> <tt class="py-string">" contains the value "</tt> <tt class="py-op">+</tt> <tt class="py-name">values</tt> </tt>
+<a name="L3484"></a><tt class="py-lineno">3484</tt>  <tt class="py-line">            <tt class="py-name">containsFalse</tt> <tt class="py-op">=</tt> <tt class="py-string">"Set "</tt> <tt class="py-op">+</tt> <tt class="py-name">setName</tt> <tt class="py-op">+</tt> <tt class="py-string">" did not contain the value "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L3485"></a><tt class="py-lineno">3485</tt>  <tt class="py-line">                            <tt class="py-name">values</tt> </tt>
+<a name="L3486"></a><tt class="py-lineno">3486</tt>  <tt class="py-line">            <tt class="py-name">containsAllTrue</tt> <tt class="py-op">=</tt> <tt class="py-string">"Set "</tt> <tt class="py-op">+</tt> <tt class="py-name">setName</tt> <tt class="py-op">+</tt> <tt class="py-string">" contains the the subset "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L3487"></a><tt class="py-lineno">3487</tt>  <tt class="py-line">                              <tt class="py-name">setPattern</tt> </tt>
+<a name="L3488"></a><tt class="py-lineno">3488</tt>  <tt class="py-line">            <tt class="py-name">containsAllFalse</tt> <tt class="py-op">=</tt> <tt class="py-string">"Set "</tt> <tt class="py-op">+</tt> <tt class="py-name">setName</tt> <tt class="py-op">+</tt> <tt class="py-string">" did not contain the the"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L3489"></a><tt class="py-lineno">3489</tt>  <tt class="py-line">                               <tt class="py-string">" subset "</tt> <tt class="py-op">+</tt> <tt class="py-name">setPattern</tt> </tt>
+<a name="L3490"></a><tt class="py-lineno">3490</tt>  <tt class="py-line"> </tt>
+<a name="L3491"></a><tt class="py-lineno">3491</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"set-test-get "</tt> </tt>
+<a name="L3492"></a><tt class="py-lineno">3492</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-name">setName</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">values</tt> </tt>
+<a name="L3493"></a><tt class="py-lineno">3493</tt>  <tt class="py-line">            <tt id="link-1270" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1270', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1271" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1271', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3494"></a><tt class="py-lineno">3494</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3495"></a><tt class="py-lineno">3495</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: Maybe make this less hardcoded</tt> </tt>
+<a name="L3496"></a><tt class="py-lineno">3496</tt>  <tt class="py-line">                <tt class="py-comment"># ConsistentMap Exceptions</tt> </tt>
+<a name="L3497"></a><tt class="py-lineno">3497</tt>  <tt class="py-line">                <tt class="py-keyword">assert</tt> <tt class="py-string">"org.onosproject.store.service"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1272" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1272', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3498"></a><tt class="py-lineno">3498</tt>  <tt class="py-line">                <tt class="py-comment"># Node not leader</tt> </tt>
+<a name="L3499"></a><tt class="py-lineno">3499</tt>  <tt class="py-line">                <tt class="py-keyword">assert</tt> <tt class="py-string">"java.lang.IllegalStateException"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1273" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1273', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3500"></a><tt class="py-lineno">3500</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3501"></a><tt class="py-lineno">3501</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1274" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1274', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1275" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1275', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing '"</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">+</tt> <tt class="py-string">"' "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3502"></a><tt class="py-lineno">3502</tt>  <tt class="py-line">                                <tt class="py-string">"command: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1276" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1276', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3503"></a><tt class="py-lineno">3503</tt>  <tt class="py-line">                <tt class="py-name">retryTime</tt> <tt class="py-op">=</tt> <tt class="py-number">30</tt>  <tt class="py-comment"># Conservative time, given by Madan</tt> </tt>
+<a name="L3504"></a><tt class="py-lineno">3504</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1277" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1277', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">retryTime</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3505"></a><tt class="py-lineno">3505</tt>  <tt class="py-line">                               <tt class="py-string">"seconds before retrying."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3506"></a><tt class="py-lineno">3506</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">retryTime</tt> <tt class="py-op">)</tt>  <tt class="py-comment"># Due to change in mastership</tt> </tt>
+<a name="L3507"></a><tt class="py-lineno">3507</tt>  <tt class="py-line">                <tt id="link-1278" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1278', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1279" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1279', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3508"></a><tt class="py-lineno">3508</tt>  <tt class="py-line">            <tt class="py-keyword">assert</tt> <tt class="py-string">"Error executing command"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1280" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1280', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3509"></a><tt class="py-lineno">3509</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1281" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1281', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt id="link-1282" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1282', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L3510"></a><tt class="py-lineno">3510</tt>  <tt class="py-line"> </tt>
+<a name="L3511"></a><tt class="py-lineno">3511</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">length</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L3512"></a><tt class="py-lineno">3512</tt>  <tt class="py-line">                <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt id="link-1283" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1283', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L3513"></a><tt class="py-lineno">3513</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># if given values</tt> </tt>
+<a name="L3514"></a><tt class="py-lineno">3514</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">length</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt>  <tt class="py-comment"># Contains output</tt> </tt>
+<a name="L3515"></a><tt class="py-lineno">3515</tt>  <tt class="py-line">                    <tt class="py-name">patternTrue</tt> <tt class="py-op">=</tt> <tt class="py-name">pattern</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-name">containsTrue</tt> </tt>
+<a name="L3516"></a><tt class="py-lineno">3516</tt>  <tt class="py-line">                    <tt class="py-name">patternFalse</tt> <tt class="py-op">=</tt> <tt class="py-name">pattern</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-name">containsFalse</tt> </tt>
+<a name="L3517"></a><tt class="py-lineno">3517</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># ContainsAll output</tt> </tt>
+<a name="L3518"></a><tt class="py-lineno">3518</tt>  <tt class="py-line">                    <tt class="py-name">patternTrue</tt> <tt class="py-op">=</tt> <tt class="py-name">pattern</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-name">containsAllTrue</tt> </tt>
+<a name="L3519"></a><tt class="py-lineno">3519</tt>  <tt class="py-line">                    <tt class="py-name">patternFalse</tt> <tt class="py-op">=</tt> <tt class="py-name">pattern</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-name">containsAllFalse</tt> </tt>
+<a name="L3520"></a><tt class="py-lineno">3520</tt>  <tt class="py-line">                <tt class="py-name">matchTrue</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">patternTrue</tt><tt class="py-op">,</tt> <tt id="link-1284" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1284', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L3521"></a><tt class="py-lineno">3521</tt>  <tt class="py-line">                <tt class="py-name">matchFalse</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">patternFalse</tt><tt class="py-op">,</tt> <tt id="link-1285" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1285', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L3522"></a><tt class="py-lineno">3522</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">matchTrue</tt><tt class="py-op">:</tt> </tt>
+<a name="L3523"></a><tt class="py-lineno">3523</tt>  <tt class="py-line">                    <tt class="py-name">containsCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3524"></a><tt class="py-lineno">3524</tt>  <tt class="py-line">                    <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">matchTrue</tt> </tt>
+<a name="L3525"></a><tt class="py-lineno">3525</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">matchFalse</tt><tt class="py-op">:</tt> </tt>
+<a name="L3526"></a><tt class="py-lineno">3526</tt>  <tt class="py-line">                    <tt class="py-name">containsCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3527"></a><tt class="py-lineno">3527</tt>  <tt class="py-line">                    <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">matchFalse</tt> </tt>
+<a name="L3528"></a><tt class="py-lineno">3528</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3529"></a><tt class="py-lineno">3529</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1286" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1286', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1287" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1287', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" setTestGet did not match "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L3530"></a><tt class="py-lineno">3530</tt>  <tt class="py-line">                                    <tt class="py-string">"expected output"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3531"></a><tt class="py-lineno">3531</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1288" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1288', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">pattern</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3532"></a><tt class="py-lineno">3532</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1289" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1289', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-1290" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1290', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3533"></a><tt class="py-lineno">3533</tt>  <tt class="py-line">                    <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3534"></a><tt class="py-lineno">3534</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">match</tt><tt class="py-op">:</tt> </tt>
+<a name="L3535"></a><tt class="py-lineno">3535</tt>  <tt class="py-line">                <tt class="py-name">setMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3536"></a><tt class="py-lineno">3536</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">setMatch</tt> <tt class="py-op">==</tt> <tt class="py-string">''</tt><tt class="py-op">:</tt> </tt>
+<a name="L3537"></a><tt class="py-lineno">3537</tt>  <tt class="py-line">                    <tt class="py-name">setList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3538"></a><tt class="py-lineno">3538</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3539"></a><tt class="py-lineno">3539</tt>  <tt class="py-line">                    <tt class="py-name">setList</tt> <tt class="py-op">=</tt> <tt class="py-name">setMatch</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">", "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3540"></a><tt class="py-lineno">3540</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">length</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L3541"></a><tt class="py-lineno">3541</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt> <tt class="py-name">setList</tt><tt class="py-op">,</tt> <tt class="py-name">containsCheck</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3542"></a><tt class="py-lineno">3542</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3543"></a><tt class="py-lineno">3543</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">setList</tt> </tt>
+<a name="L3544"></a><tt class="py-lineno">3544</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># no match</tt> </tt>
+<a name="L3545"></a><tt class="py-lineno">3545</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1291" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1291', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1292" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1292', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": setTestGet did not"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3546"></a><tt class="py-lineno">3546</tt>  <tt class="py-line">                                <tt class="py-string">" match expected output"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3547"></a><tt class="py-lineno">3547</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1293" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1293', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">pattern</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3548"></a><tt class="py-lineno">3548</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1294" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1294', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-1295" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1295', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3549"></a><tt class="py-lineno">3549</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L3550"></a><tt class="py-lineno">3550</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3551"></a><tt class="py-lineno">3551</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1296" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1296', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1297" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1297', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing '"</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">+</tt> <tt class="py-string">"' command: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3552"></a><tt class="py-lineno">3552</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1298" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1298', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3553"></a><tt class="py-lineno">3553</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L3554"></a><tt class="py-lineno">3554</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3555"></a><tt class="py-lineno">3555</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1299" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1299', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3556"></a><tt class="py-lineno">3556</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L3557"></a><tt class="py-lineno">3557</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L3558"></a><tt class="py-lineno">3558</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1300" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1300', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1301" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1301', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3559"></a><tt class="py-lineno">3559</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1302" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1302', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1303" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1303', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3560"></a><tt class="py-lineno">3560</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1304" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1304', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3561"></a><tt class="py-lineno">3561</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1305" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1305', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3562"></a><tt class="py-lineno">3562</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L3563"></a><tt class="py-lineno">3563</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1306" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1306', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3564"></a><tt class="py-lineno">3564</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1307" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1307', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3565"></a><tt class="py-lineno">3565</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1308" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1308', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3566"></a><tt class="py-lineno">3566</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.setTestSize"></a><div id="OnosCliDriver.setTestSize-def"><a name="L3567"></a><tt class="py-lineno">3567</tt> <a class="py-toggle" href="#" id="OnosCliDriver.setTestSize-toggle" onclick="return toggle('OnosCliDriver.setTestSize');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestSize">setTestSize</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">setName</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.setTestSize-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.setTestSize-expanded"><a name="L3568"></a><tt class="py-lineno">3568</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L3569"></a><tt class="py-lineno">3569</tt>  <tt class="py-line"><tt class="py-docstring">        CLI command to get the elements in a distributed set.</tt> </tt>
+<a name="L3570"></a><tt class="py-lineno">3570</tt>  <tt class="py-line"><tt class="py-docstring">        Required arguments:</tt> </tt>
+<a name="L3571"></a><tt class="py-lineno">3571</tt>  <tt class="py-line"><tt class="py-docstring">            setName - The name of the set to remove from.</tt> </tt>
+<a name="L3572"></a><tt class="py-lineno">3572</tt>  <tt class="py-line"><tt class="py-docstring">        returns:</tt> </tt>
+<a name="L3573"></a><tt class="py-lineno">3573</tt>  <tt class="py-line"><tt class="py-docstring">            The integer value of the size returned or</tt> </tt>
+<a name="L3574"></a><tt class="py-lineno">3574</tt>  <tt class="py-line"><tt class="py-docstring">            None on error</tt> </tt>
+<a name="L3575"></a><tt class="py-lineno">3575</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L3576"></a><tt class="py-lineno">3576</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3577"></a><tt class="py-lineno">3577</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: Should this check against the number of elements returned</tt> </tt>
+<a name="L3578"></a><tt class="py-lineno">3578</tt>  <tt class="py-line">            <tt class="py-comment">#       and then return true/false based on that?</tt> </tt>
+<a name="L3579"></a><tt class="py-lineno">3579</tt>  <tt class="py-line">            <tt class="py-name">setName</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">setName</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3580"></a><tt class="py-lineno">3580</tt>  <tt class="py-line">            <tt class="py-comment"># Patterns to match</tt> </tt>
+<a name="L3581"></a><tt class="py-lineno">3581</tt>  <tt class="py-line">            <tt class="py-name">setPattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"\[(.*)\]"</tt> </tt>
+<a name="L3582"></a><tt class="py-lineno">3582</tt>  <tt class="py-line">            <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"There are (\d+) items in set "</tt> <tt class="py-op">+</tt> <tt class="py-name">setName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L3583"></a><tt class="py-lineno">3583</tt>  <tt class="py-line">                          <tt class="py-name">setPattern</tt> </tt>
+<a name="L3584"></a><tt class="py-lineno">3584</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"set-test-get -s "</tt> </tt>
+<a name="L3585"></a><tt class="py-lineno">3585</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-name">setName</tt> </tt>
+<a name="L3586"></a><tt class="py-lineno">3586</tt>  <tt class="py-line">            <tt id="link-1309" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1309', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1310" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1310', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3587"></a><tt class="py-lineno">3587</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3588"></a><tt class="py-lineno">3588</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: Maybe make this less hardcoded</tt> </tt>
+<a name="L3589"></a><tt class="py-lineno">3589</tt>  <tt class="py-line">                <tt class="py-comment"># ConsistentMap Exceptions</tt> </tt>
+<a name="L3590"></a><tt class="py-lineno">3590</tt>  <tt class="py-line">                <tt class="py-keyword">assert</tt> <tt class="py-string">"org.onosproject.store.service"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1311" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1311', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3591"></a><tt class="py-lineno">3591</tt>  <tt class="py-line">                <tt class="py-comment"># Node not leader</tt> </tt>
+<a name="L3592"></a><tt class="py-lineno">3592</tt>  <tt class="py-line">                <tt class="py-keyword">assert</tt> <tt class="py-string">"java.lang.IllegalStateException"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1312" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1312', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3593"></a><tt class="py-lineno">3593</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3594"></a><tt class="py-lineno">3594</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1313" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1313', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1314" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1314', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing '"</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">+</tt> <tt class="py-string">"' "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3595"></a><tt class="py-lineno">3595</tt>  <tt class="py-line">                                <tt class="py-string">"command: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1315" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1315', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3596"></a><tt class="py-lineno">3596</tt>  <tt class="py-line">                <tt class="py-name">retryTime</tt> <tt class="py-op">=</tt> <tt class="py-number">30</tt>  <tt class="py-comment"># Conservative time, given by Madan</tt> </tt>
+<a name="L3597"></a><tt class="py-lineno">3597</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1316" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1316', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">retryTime</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3598"></a><tt class="py-lineno">3598</tt>  <tt class="py-line">                               <tt class="py-string">"seconds before retrying."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3599"></a><tt class="py-lineno">3599</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">retryTime</tt> <tt class="py-op">)</tt>  <tt class="py-comment"># Due to change in mastership</tt> </tt>
+<a name="L3600"></a><tt class="py-lineno">3600</tt>  <tt class="py-line">                <tt id="link-1317" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1317', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1318" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1318', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3601"></a><tt class="py-lineno">3601</tt>  <tt class="py-line">            <tt class="py-keyword">assert</tt> <tt class="py-string">"Error executing command"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1319" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1319', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3602"></a><tt class="py-lineno">3602</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1320" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1320', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt id="link-1321" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1321', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L3603"></a><tt class="py-lineno">3603</tt>  <tt class="py-line">            <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt id="link-1322" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1322', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L3604"></a><tt class="py-lineno">3604</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">match</tt><tt class="py-op">:</tt> </tt>
+<a name="L3605"></a><tt class="py-lineno">3605</tt>  <tt class="py-line">                <tt class="py-name">setSize</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3606"></a><tt class="py-lineno">3606</tt>  <tt class="py-line">                <tt class="py-name">setMatch</tt> <tt class="py-op">=</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3607"></a><tt class="py-lineno">3607</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">setMatch</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">setSize</tt><tt class="py-op">:</tt> </tt>
+<a name="L3608"></a><tt class="py-lineno">3608</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1323" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1323', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"The size returned by "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3609"></a><tt class="py-lineno">3609</tt>  <tt class="py-line">                                   <tt class="py-string">" matches the number of elements in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3610"></a><tt class="py-lineno">3610</tt>  <tt class="py-line">                                   <tt class="py-string">"the returned set"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3611"></a><tt class="py-lineno">3611</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3612"></a><tt class="py-lineno">3612</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1324" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1324', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1325" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1325', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"The size returned by "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3613"></a><tt class="py-lineno">3613</tt>  <tt class="py-line">                                    <tt class="py-string">" does not match the number of "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3614"></a><tt class="py-lineno">3614</tt>  <tt class="py-line">                                    <tt class="py-string">"elements in the returned set."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3615"></a><tt class="py-lineno">3615</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">setSize</tt> </tt>
+<a name="L3616"></a><tt class="py-lineno">3616</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># no match</tt> </tt>
+<a name="L3617"></a><tt class="py-lineno">3617</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1326" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1326', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1327" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1327', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": setTestGet did not"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3618"></a><tt class="py-lineno">3618</tt>  <tt class="py-line">                                <tt class="py-string">" match expected output"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3619"></a><tt class="py-lineno">3619</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1328" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1328', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">pattern</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3620"></a><tt class="py-lineno">3620</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1329" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1329', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-1330" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1330', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3621"></a><tt class="py-lineno">3621</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3622"></a><tt class="py-lineno">3622</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3623"></a><tt class="py-lineno">3623</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1331" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1331', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1332" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1332', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing '"</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">+</tt> <tt class="py-string">"' command: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3624"></a><tt class="py-lineno">3624</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1333" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1333', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3625"></a><tt class="py-lineno">3625</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3626"></a><tt class="py-lineno">3626</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3627"></a><tt class="py-lineno">3627</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1334" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1334', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3628"></a><tt class="py-lineno">3628</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3629"></a><tt class="py-lineno">3629</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L3630"></a><tt class="py-lineno">3630</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1335" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1335', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1336" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1336', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3631"></a><tt class="py-lineno">3631</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1337" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1337', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1338" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1338', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3632"></a><tt class="py-lineno">3632</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1339" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1339', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3633"></a><tt class="py-lineno">3633</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1340" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1340', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3634"></a><tt class="py-lineno">3634</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L3635"></a><tt class="py-lineno">3635</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1341" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1341', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3636"></a><tt class="py-lineno">3636</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1342" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1342', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3637"></a><tt class="py-lineno">3637</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1343" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1343', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3638"></a><tt class="py-lineno">3638</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.counters"></a><div id="OnosCliDriver.counters-def"><a name="L3639"></a><tt class="py-lineno">3639</tt> <a class="py-toggle" href="#" id="OnosCliDriver.counters-toggle" onclick="return toggle('OnosCliDriver.counters');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counters">counters</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.counters-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.counters-expanded"><a name="L3640"></a><tt class="py-lineno">3640</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L3641"></a><tt class="py-lineno">3641</tt>  <tt class="py-line"><tt class="py-docstring">        Command to list the various counters in the system.</tt> </tt>
+<a name="L3642"></a><tt class="py-lineno">3642</tt>  <tt class="py-line"><tt class="py-docstring">        returns:</tt> </tt>
+<a name="L3643"></a><tt class="py-lineno">3643</tt>  <tt class="py-line"><tt class="py-docstring">            if jsonFormat, a string of the json object returned by the cli</tt> </tt>
+<a name="L3644"></a><tt class="py-lineno">3644</tt>  <tt class="py-line"><tt class="py-docstring">            command</tt> </tt>
+<a name="L3645"></a><tt class="py-lineno">3645</tt>  <tt class="py-line"><tt class="py-docstring">            if not jsonFormat, the normal string output of the cli command</tt> </tt>
+<a name="L3646"></a><tt class="py-lineno">3646</tt>  <tt class="py-line"><tt class="py-docstring">            None on error</tt> </tt>
+<a name="L3647"></a><tt class="py-lineno">3647</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L3648"></a><tt class="py-lineno">3648</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3649"></a><tt class="py-lineno">3649</tt>  <tt class="py-line">            <tt id="link-1344" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counters"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters" class="py-name" href="#" onclick="return doclink('link-1344', 'counters', 'link-1344');">counters</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L3650"></a><tt class="py-lineno">3650</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"counters"</tt> </tt>
+<a name="L3651"></a><tt class="py-lineno">3651</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L3652"></a><tt class="py-lineno">3652</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L3653"></a><tt class="py-lineno">3653</tt>  <tt class="py-line">            <tt id="link-1345" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1345', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1346" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1346', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3654"></a><tt class="py-lineno">3654</tt>  <tt class="py-line">            <tt class="py-keyword">assert</tt> <tt class="py-string">"Error executing command"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1347" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1347', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3655"></a><tt class="py-lineno">3655</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1348" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1348', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt id="link-1349" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1349', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L3656"></a><tt class="py-lineno">3656</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-1350" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1350', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3657"></a><tt class="py-lineno">3657</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3658"></a><tt class="py-lineno">3658</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1351" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1351', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1352" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1352', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing 'counters' command: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3659"></a><tt class="py-lineno">3659</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1353" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1353', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3660"></a><tt class="py-lineno">3660</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3661"></a><tt class="py-lineno">3661</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3662"></a><tt class="py-lineno">3662</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1354" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1354', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3663"></a><tt class="py-lineno">3663</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3664"></a><tt class="py-lineno">3664</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L3665"></a><tt class="py-lineno">3665</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1355" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1355', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1356" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1356', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3666"></a><tt class="py-lineno">3666</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1357" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1357', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1358" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1358', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3667"></a><tt class="py-lineno">3667</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1359" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1359', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3668"></a><tt class="py-lineno">3668</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1360" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1360', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3669"></a><tt class="py-lineno">3669</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L3670"></a><tt class="py-lineno">3670</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1361" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1361', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3671"></a><tt class="py-lineno">3671</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1362" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1362', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3672"></a><tt class="py-lineno">3672</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1363" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1363', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3673"></a><tt class="py-lineno">3673</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.counterTestAddAndGet"></a><div id="OnosCliDriver.counterTestAddAndGet-def"><a name="L3674"></a><tt class="py-lineno">3674</tt> <a class="py-toggle" href="#" id="OnosCliDriver.counterTestAddAndGet-toggle" onclick="return toggle('OnosCliDriver.counterTestAddAndGet');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counterTestAddAndGet">counterTestAddAndGet</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">counter</tt><tt class="py-op">,</tt> <tt class="py-param">delta</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-param">inMemory</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.counterTestAddAndGet-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.counterTestAddAndGet-expanded"><a name="L3675"></a><tt class="py-lineno">3675</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L3676"></a><tt class="py-lineno">3676</tt>  <tt class="py-line"><tt class="py-docstring">        CLI command to add a delta to then get a distributed counter.</tt> </tt>
+<a name="L3677"></a><tt class="py-lineno">3677</tt>  <tt class="py-line"><tt class="py-docstring">        Required arguments:</tt> </tt>
+<a name="L3678"></a><tt class="py-lineno">3678</tt>  <tt class="py-line"><tt class="py-docstring">            counter - The name of the counter to increment.</tt> </tt>
+<a name="L3679"></a><tt class="py-lineno">3679</tt>  <tt class="py-line"><tt class="py-docstring">        Optional arguments:</tt> </tt>
+<a name="L3680"></a><tt class="py-lineno">3680</tt>  <tt class="py-line"><tt class="py-docstring">            delta - The long to add to the counter</tt> </tt>
+<a name="L3681"></a><tt class="py-lineno">3681</tt>  <tt class="py-line"><tt class="py-docstring">            inMemory - use in memory map for the counter</tt> </tt>
+<a name="L3682"></a><tt class="py-lineno">3682</tt>  <tt class="py-line"><tt class="py-docstring">        returns:</tt> </tt>
+<a name="L3683"></a><tt class="py-lineno">3683</tt>  <tt class="py-line"><tt class="py-docstring">            integer value of the counter or</tt> </tt>
+<a name="L3684"></a><tt class="py-lineno">3684</tt>  <tt class="py-line"><tt class="py-docstring">            None on Error</tt> </tt>
+<a name="L3685"></a><tt class="py-lineno">3685</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L3686"></a><tt class="py-lineno">3686</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3687"></a><tt class="py-lineno">3687</tt>  <tt class="py-line">            <tt class="py-name">counter</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">counter</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3688"></a><tt class="py-lineno">3688</tt>  <tt class="py-line">            <tt class="py-name">delta</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">delta</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3689"></a><tt class="py-lineno">3689</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"counter-test-increment "</tt> </tt>
+<a name="L3690"></a><tt class="py-lineno">3690</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">inMemory</tt><tt class="py-op">:</tt> </tt>
+<a name="L3691"></a><tt class="py-lineno">3691</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">"-i "</tt> </tt>
+<a name="L3692"></a><tt class="py-lineno">3692</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-name">counter</tt> </tt>
+<a name="L3693"></a><tt class="py-lineno">3693</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">delta</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L3694"></a><tt class="py-lineno">3694</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">delta</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3695"></a><tt class="py-lineno">3695</tt>  <tt class="py-line">            <tt id="link-1364" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1364', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1365" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1365', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3696"></a><tt class="py-lineno">3696</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3697"></a><tt class="py-lineno">3697</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: Maybe make this less hardcoded</tt> </tt>
+<a name="L3698"></a><tt class="py-lineno">3698</tt>  <tt class="py-line">                <tt class="py-comment"># ConsistentMap Exceptions</tt> </tt>
+<a name="L3699"></a><tt class="py-lineno">3699</tt>  <tt class="py-line">                <tt class="py-keyword">assert</tt> <tt class="py-string">"org.onosproject.store.service"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1366" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1366', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3700"></a><tt class="py-lineno">3700</tt>  <tt class="py-line">                <tt class="py-comment"># Node not leader</tt> </tt>
+<a name="L3701"></a><tt class="py-lineno">3701</tt>  <tt class="py-line">                <tt class="py-keyword">assert</tt> <tt class="py-string">"java.lang.IllegalStateException"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1367" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1367', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3702"></a><tt class="py-lineno">3702</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3703"></a><tt class="py-lineno">3703</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1368" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1368', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1369" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1369', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing '"</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">+</tt> <tt class="py-string">"' "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3704"></a><tt class="py-lineno">3704</tt>  <tt class="py-line">                                <tt class="py-string">"command: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1370" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1370', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3705"></a><tt class="py-lineno">3705</tt>  <tt class="py-line">                <tt class="py-name">retryTime</tt> <tt class="py-op">=</tt> <tt class="py-number">30</tt>  <tt class="py-comment"># Conservative time, given by Madan</tt> </tt>
+<a name="L3706"></a><tt class="py-lineno">3706</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1371" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1371', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">retryTime</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3707"></a><tt class="py-lineno">3707</tt>  <tt class="py-line">                               <tt class="py-string">"seconds before retrying."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3708"></a><tt class="py-lineno">3708</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">retryTime</tt> <tt class="py-op">)</tt>  <tt class="py-comment"># Due to change in mastership</tt> </tt>
+<a name="L3709"></a><tt class="py-lineno">3709</tt>  <tt class="py-line">                <tt id="link-1372" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1372', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1373" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1373', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3710"></a><tt class="py-lineno">3710</tt>  <tt class="py-line">            <tt class="py-keyword">assert</tt> <tt class="py-string">"Error executing command"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1374" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1374', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3711"></a><tt class="py-lineno">3711</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1375" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1375', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt id="link-1376" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1376', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L3712"></a><tt class="py-lineno">3712</tt>  <tt class="py-line">            <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-name">counter</tt> <tt class="py-op">+</tt> <tt class="py-string">" was updated to (-?\d+)"</tt> </tt>
+<a name="L3713"></a><tt class="py-lineno">3713</tt>  <tt class="py-line">            <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt id="link-1377" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1377', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L3714"></a><tt class="py-lineno">3714</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">match</tt><tt class="py-op">:</tt> </tt>
+<a name="L3715"></a><tt class="py-lineno">3715</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3716"></a><tt class="py-lineno">3716</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3717"></a><tt class="py-lineno">3717</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1378" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1378', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1379" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1379', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": counterTestAddAndGet did not"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3718"></a><tt class="py-lineno">3718</tt>  <tt class="py-line">                                <tt class="py-string">" match expected output."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3719"></a><tt class="py-lineno">3719</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1380" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1380', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">pattern</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3720"></a><tt class="py-lineno">3720</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1381" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1381', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-1382" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1382', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3721"></a><tt class="py-lineno">3721</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3722"></a><tt class="py-lineno">3722</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3723"></a><tt class="py-lineno">3723</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1383" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1383', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1384" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1384', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing '"</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">+</tt> <tt class="py-string">"'"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3724"></a><tt class="py-lineno">3724</tt>  <tt class="py-line">                            <tt class="py-string">" command: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1385" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1385', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3725"></a><tt class="py-lineno">3725</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3726"></a><tt class="py-lineno">3726</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3727"></a><tt class="py-lineno">3727</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1386" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1386', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3728"></a><tt class="py-lineno">3728</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3729"></a><tt class="py-lineno">3729</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L3730"></a><tt class="py-lineno">3730</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1387" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1387', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1388" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1388', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3731"></a><tt class="py-lineno">3731</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1389" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1389', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1390" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1390', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3732"></a><tt class="py-lineno">3732</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1391" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1391', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3733"></a><tt class="py-lineno">3733</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1392" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1392', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3734"></a><tt class="py-lineno">3734</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L3735"></a><tt class="py-lineno">3735</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1393" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1393', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3736"></a><tt class="py-lineno">3736</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1394" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1394', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3737"></a><tt class="py-lineno">3737</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1395" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1395', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3738"></a><tt class="py-lineno">3738</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.counterTestGetAndAdd"></a><div id="OnosCliDriver.counterTestGetAndAdd-def"><a name="L3739"></a><tt class="py-lineno">3739</tt> <a class="py-toggle" href="#" id="OnosCliDriver.counterTestGetAndAdd-toggle" onclick="return toggle('OnosCliDriver.counterTestGetAndAdd');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counterTestGetAndAdd">counterTestGetAndAdd</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">counter</tt><tt class="py-op">,</tt> <tt class="py-param">delta</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-param">inMemory</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.counterTestGetAndAdd-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.counterTestGetAndAdd-expanded"><a name="L3740"></a><tt class="py-lineno">3740</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L3741"></a><tt class="py-lineno">3741</tt>  <tt class="py-line"><tt class="py-docstring">        CLI command to get a distributed counter then add a delta to it.</tt> </tt>
+<a name="L3742"></a><tt class="py-lineno">3742</tt>  <tt class="py-line"><tt class="py-docstring">        Required arguments:</tt> </tt>
+<a name="L3743"></a><tt class="py-lineno">3743</tt>  <tt class="py-line"><tt class="py-docstring">            counter - The name of the counter to increment.</tt> </tt>
+<a name="L3744"></a><tt class="py-lineno">3744</tt>  <tt class="py-line"><tt class="py-docstring">        Optional arguments:</tt> </tt>
+<a name="L3745"></a><tt class="py-lineno">3745</tt>  <tt class="py-line"><tt class="py-docstring">            delta - The long to add to the counter</tt> </tt>
+<a name="L3746"></a><tt class="py-lineno">3746</tt>  <tt class="py-line"><tt class="py-docstring">            inMemory - use in memory map for the counter</tt> </tt>
+<a name="L3747"></a><tt class="py-lineno">3747</tt>  <tt class="py-line"><tt class="py-docstring">        returns:</tt> </tt>
+<a name="L3748"></a><tt class="py-lineno">3748</tt>  <tt class="py-line"><tt class="py-docstring">            integer value of the counter or</tt> </tt>
+<a name="L3749"></a><tt class="py-lineno">3749</tt>  <tt class="py-line"><tt class="py-docstring">            None on Error</tt> </tt>
+<a name="L3750"></a><tt class="py-lineno">3750</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L3751"></a><tt class="py-lineno">3751</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3752"></a><tt class="py-lineno">3752</tt>  <tt class="py-line">            <tt class="py-name">counter</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">counter</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3753"></a><tt class="py-lineno">3753</tt>  <tt class="py-line">            <tt class="py-name">delta</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">delta</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3754"></a><tt class="py-lineno">3754</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"counter-test-increment -g "</tt> </tt>
+<a name="L3755"></a><tt class="py-lineno">3755</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">inMemory</tt><tt class="py-op">:</tt> </tt>
+<a name="L3756"></a><tt class="py-lineno">3756</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">"-i "</tt> </tt>
+<a name="L3757"></a><tt class="py-lineno">3757</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-name">counter</tt> </tt>
+<a name="L3758"></a><tt class="py-lineno">3758</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">delta</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L3759"></a><tt class="py-lineno">3759</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">delta</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3760"></a><tt class="py-lineno">3760</tt>  <tt class="py-line">            <tt id="link-1396" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1396', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1397" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1397', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3761"></a><tt class="py-lineno">3761</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3762"></a><tt class="py-lineno">3762</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: Maybe make this less hardcoded</tt> </tt>
+<a name="L3763"></a><tt class="py-lineno">3763</tt>  <tt class="py-line">                <tt class="py-comment"># ConsistentMap Exceptions</tt> </tt>
+<a name="L3764"></a><tt class="py-lineno">3764</tt>  <tt class="py-line">                <tt class="py-keyword">assert</tt> <tt class="py-string">"org.onosproject.store.service"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1398" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1398', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3765"></a><tt class="py-lineno">3765</tt>  <tt class="py-line">                <tt class="py-comment"># Node not leader</tt> </tt>
+<a name="L3766"></a><tt class="py-lineno">3766</tt>  <tt class="py-line">                <tt class="py-keyword">assert</tt> <tt class="py-string">"java.lang.IllegalStateException"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1399" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1399', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3767"></a><tt class="py-lineno">3767</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3768"></a><tt class="py-lineno">3768</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1400" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1400', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1401" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1401', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing '"</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">+</tt> <tt class="py-string">"' "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3769"></a><tt class="py-lineno">3769</tt>  <tt class="py-line">                                <tt class="py-string">"command: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1402" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1402', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3770"></a><tt class="py-lineno">3770</tt>  <tt class="py-line">                <tt class="py-name">retryTime</tt> <tt class="py-op">=</tt> <tt class="py-number">30</tt>  <tt class="py-comment"># Conservative time, given by Madan</tt> </tt>
+<a name="L3771"></a><tt class="py-lineno">3771</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1403" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1403', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">retryTime</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3772"></a><tt class="py-lineno">3772</tt>  <tt class="py-line">                               <tt class="py-string">"seconds before retrying."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3773"></a><tt class="py-lineno">3773</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">retryTime</tt> <tt class="py-op">)</tt>  <tt class="py-comment"># Due to change in mastership</tt> </tt>
+<a name="L3774"></a><tt class="py-lineno">3774</tt>  <tt class="py-line">                <tt id="link-1404" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1404', 'output', 'link-120');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1405" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1405', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3775"></a><tt class="py-lineno">3775</tt>  <tt class="py-line">            <tt class="py-keyword">assert</tt> <tt class="py-string">"Error executing command"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-1406" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1406', 'output', 'link-120');">output</a></tt> </tt>
+<a name="L3776"></a><tt class="py-lineno">3776</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1407" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1407', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt id="link-1408" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1408', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L3777"></a><tt class="py-lineno">3777</tt>  <tt class="py-line">            <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-name">counter</tt> <tt class="py-op">+</tt> <tt class="py-string">" was updated to (-?\d+)"</tt> </tt>
+<a name="L3778"></a><tt class="py-lineno">3778</tt>  <tt class="py-line">            <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt id="link-1409" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1409', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L3779"></a><tt class="py-lineno">3779</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">match</tt><tt class="py-op">:</tt> </tt>
+<a name="L3780"></a><tt class="py-lineno">3780</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3781"></a><tt class="py-lineno">3781</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3782"></a><tt class="py-lineno">3782</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1410" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1410', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1411" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1411', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": counterTestGetAndAdd did not"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3783"></a><tt class="py-lineno">3783</tt>  <tt class="py-line">                                <tt class="py-string">" match expected output."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3784"></a><tt class="py-lineno">3784</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1412" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1412', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">pattern</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3785"></a><tt class="py-lineno">3785</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1413" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1413', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-1414" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1414', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3786"></a><tt class="py-lineno">3786</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3787"></a><tt class="py-lineno">3787</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3788"></a><tt class="py-lineno">3788</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1415" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1415', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1416" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1416', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in processing '"</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">+</tt> <tt class="py-string">"'"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3789"></a><tt class="py-lineno">3789</tt>  <tt class="py-line">                            <tt class="py-string">" command: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-1417" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-1417', 'output', 'link-120');">output</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3790"></a><tt class="py-lineno">3790</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3791"></a><tt class="py-lineno">3791</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3792"></a><tt class="py-lineno">3792</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1418" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1418', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3793"></a><tt class="py-lineno">3793</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3794"></a><tt class="py-lineno">3794</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L3795"></a><tt class="py-lineno">3795</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1419" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1419', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1420" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1420', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3796"></a><tt class="py-lineno">3796</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1421" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1421', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1422" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1422', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3797"></a><tt class="py-lineno">3797</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1423" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1423', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3798"></a><tt class="py-lineno">3798</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1424" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1424', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3799"></a><tt class="py-lineno">3799</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L3800"></a><tt class="py-lineno">3800</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1425" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1425', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3801"></a><tt class="py-lineno">3801</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1426" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1426', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3802"></a><tt class="py-lineno">3802</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1427" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1427', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3803"></a><tt class="py-lineno">3803</tt>  <tt class="py-line"> </tt>
+<a name="L3804"></a><tt class="py-lineno">3804</tt>  <tt class="py-line"> </tt>
+<a name="OnosCliDriver.summary"></a><div id="OnosCliDriver.summary-def"><a name="L3805"></a><tt class="py-lineno">3805</tt> <a class="py-toggle" href="#" id="OnosCliDriver.summary-toggle" onclick="return toggle('OnosCliDriver.summary');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#summary">summary</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosCliDriver.summary-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosCliDriver.summary-expanded"><a name="L3806"></a><tt class="py-lineno">3806</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L3807"></a><tt class="py-lineno">3807</tt>  <tt class="py-line"><tt class="py-docstring">        Description: Execute summary command in onos</tt> </tt>
+<a name="L3808"></a><tt class="py-lineno">3808</tt>  <tt class="py-line"><tt class="py-docstring">        Returns: json object ( summary -j ), returns main.FALSE if there is</tt> </tt>
+<a name="L3809"></a><tt class="py-lineno">3809</tt>  <tt class="py-line"><tt class="py-docstring">        no output</tt> </tt>
+<a name="L3810"></a><tt class="py-lineno">3810</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L3811"></a><tt class="py-lineno">3811</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L3812"></a><tt class="py-lineno">3812</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3813"></a><tt class="py-lineno">3813</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"summary"</tt> </tt>
+<a name="L3814"></a><tt class="py-lineno">3814</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">:</tt> </tt>
+<a name="L3815"></a><tt class="py-lineno">3815</tt>  <tt class="py-line">                <tt class="py-name">cmdStr</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j"</tt> </tt>
+<a name="L3816"></a><tt class="py-lineno">3816</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1428" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-1428', 'sendline', 'link-12');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3817"></a><tt class="py-lineno">3817</tt>  <tt class="py-line"> </tt>
+<a name="L3818"></a><tt class="py-lineno">3818</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"Error:"</tt><tt class="py-op">,</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3819"></a><tt class="py-lineno">3819</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1429" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1429', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1430" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1430', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": summary() response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3820"></a><tt class="py-lineno">3820</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3821"></a><tt class="py-lineno">3821</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L3822"></a><tt class="py-lineno">3822</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1431" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1431', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1432" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1432', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": There is no output in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3823"></a><tt class="py-lineno">3823</tt>  <tt class="py-line">                                <tt class="py-string">"summary command"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3824"></a><tt class="py-lineno">3824</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3825"></a><tt class="py-lineno">3825</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L3826"></a><tt class="py-lineno">3826</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3827"></a><tt class="py-lineno">3827</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1433" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1433', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3828"></a><tt class="py-lineno">3828</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L3829"></a><tt class="py-lineno">3829</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L3830"></a><tt class="py-lineno">3830</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1434" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1434', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1435" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1435', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3831"></a><tt class="py-lineno">3831</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1436" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1436', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt id="link-1437" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1437', 'error', 'link-9');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3832"></a><tt class="py-lineno">3832</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1438" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1438', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3833"></a><tt class="py-lineno">3833</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1439" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1439', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3834"></a><tt class="py-lineno">3834</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L3835"></a><tt class="py-lineno">3835</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1440" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1440', 'log', 'link-6');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3836"></a><tt class="py-lineno">3836</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1441" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-1441', 'cleanup', 'link-19');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3837"></a><tt class="py-lineno">3837</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1442" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-1442', 'exit', 'link-20');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L3838"></a><tt class="py-lineno">3838</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html
new file mode 100644
index 0000000..0c710a1
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html
@@ -0,0 +1,4087 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.onosclidriver.OnosCliDriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.onosclidriver-module.html">Module&nbsp;onosclidriver</a> ::
+        Class&nbsp;OnosCliDriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class OnosCliDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_onosclidri" name="class_hierarchy_for_onosclidri">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html" title="OnosCliDriver" alt="" coords="5,6,109,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="134,6,225,31"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="component.Component" alt="" coords="251,6,408,31"/>
+</map>
+  <img src="class_hierarchy_for_onosclidri.gif" alt='' usemap="#class_hierarchy_for_onosclidri" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Initialize client</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**connectargs</span>)</span><br />
+      Creates ssh handle for ONOS cli.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.connect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Called when Test is complete to disconnect the ONOS handle.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.disconnect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#logout" class="summary-sig-name">logout</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Sends 'logout' command to ONOS cli...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.logout">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell" class="summary-sig-name">setCell</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">cellname</span>)</span><br />
+      Calls 'cell &lt;name&gt;' to set the environment variables on 
+      ONOSbench</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.setCell">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#startOnosCli" class="summary-sig-name">startOnosCli</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ONOSIp</span>,
+        <span class="summary-sig-arg">karafTimeout</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">commandlineTimeout</span>=<span class="summary-sig-default">10</span>,
+        <span class="summary-sig-arg">onosStartTimeout</span>=<span class="summary-sig-default">60</span>)</span><br />
+      karafTimeout is an optional argument.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.startOnosCli">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log" class="summary-sig-name">log</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">cmdStr</span>,
+        <span class="summary-sig-arg">level</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
+      log  the commands in the onos CLI.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.log">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline" class="summary-sig-name">sendline</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">cmdStr</span>,
+        <span class="summary-sig-arg">debug</span>=<span class="summary-sig-default">False</span>)</span><br />
+      Send a completely user specified string to the onos&gt; prompt.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.sendline">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addNode" class="summary-sig-name">addNode</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">nodeId</span>,
+        <span class="summary-sig-arg">ONOSIp</span>,
+        <span class="summary-sig-arg">tcpPort</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
+      Adds a new cluster node by ID and address information.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.addNode">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#removeNode" class="summary-sig-name">removeNode</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">nodeId</span>)</span><br />
+      Removes a cluster by ID...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.removeNode">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#nodes" class="summary-sig-name">nodes</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      List the nodes currently visible...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.nodes">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topology" class="summary-sig-name">topology</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Definition:
+    Returns the output of topology command.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.topology">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#featureInstall" class="summary-sig-name">featureInstall</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">featureStr</span>)</span><br />
+      Installs a specified feature by issuing command:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.featureInstall">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#featureUninstall" class="summary-sig-name">featureUninstall</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">featureStr</span>)</span><br />
+      Uninstalls a specified feature by issuing command:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.featureUninstall">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deviceRemove" class="summary-sig-name">deviceRemove</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">deviceId</span>)</span><br />
+      Removes particular device from storage</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.deviceRemove">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#devices" class="summary-sig-name">devices</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Lists all infrastructure devices or switches...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.devices">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="balanceMasters"></a><span class="summary-sig-name">balanceMasters</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      This balances the devices across all controllers by issuing command: 
+      'onos&gt; onos:balance-masters' If required this could be extended to
+      return devices balanced output.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.balanceMasters">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkMasters" class="summary-sig-name">checkMasters</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Returns the output of the masters command.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.checkMasters">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkBalanceMasters" class="summary-sig-name">checkBalanceMasters</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Uses the master command to check that the devices' leadership is 
+      evenly divided</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.checkBalanceMasters">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#links" class="summary-sig-name">links</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Lists all core links...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.links">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#ports" class="summary-sig-name">ports</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Lists all ports...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.ports">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#roles" class="summary-sig-name">roles</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Lists all devices and the controllers with roles assigned to them...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.roles">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getRole" class="summary-sig-name">getRole</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">deviceId</span>)</span><br />
+      Given the a string containing the json representation of the 
+      &quot;roles&quot; cli command and a partial or whole device id, 
+      returns a json object containing the roles output for the first 
+      device whose id contains &quot;device_id&quot;</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getRole">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#rolesNotNull" class="summary-sig-name">rolesNotNull</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Iterates through each device and checks if there is a master assigned...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.rolesNotNull">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#paths" class="summary-sig-name">paths</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">srcId</span>,
+        <span class="summary-sig-arg">dstId</span>)</span><br />
+      Returns string of paths, and the cost.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.paths">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#hosts" class="summary-sig-name">hosts</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Lists all discovered hosts...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.hosts">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getHost" class="summary-sig-name">getHost</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">mac</span>)</span><br />
+      Return the first host from the hosts api whose 'id' contains 'mac'</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getHost">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getHostsId" class="summary-sig-name">getHostsId</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">hostList</span>)</span><br />
+      Obtain list of hosts
+Issues command: 'onos&gt; hosts'</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getHostsId">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addHostIntent" class="summary-sig-name">addHostIntent</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">hostIdOne</span>,
+        <span class="summary-sig-arg">hostIdTwo</span>)</span><br />
+      Required:
+    * hostIdOne: ONOS host id for host1
+    * hostIdTwo: ONOS host id for host2
+Description:
+    Adds a host-to-host intent ( bidirectional ) by
+    specifying the two hosts.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.addHostIntent">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addOpticalIntent" class="summary-sig-name">addOpticalIntent</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ingressDevice</span>,
+        <span class="summary-sig-arg">egressDevice</span>)</span><br />
+      Required:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.addOpticalIntent">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addPointIntent" class="summary-sig-name">addPointIntent</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ingressDevice</span>,
+        <span class="summary-sig-arg">egressDevice</span>,
+        <span class="summary-sig-arg">portIngress</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">portEgress</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ethType</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ethSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ethDst</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">bandwidth</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">lambdaAlloc</span>=<span class="summary-sig-default">False</span>,
+        <span class="summary-sig-arg">ipProto</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ipSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ipDst</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">tcpSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">tcpDst</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
+      Required:
+    * ingressDevice: device id of ingress device
+    * egressDevice: device id of egress device
+Optional:
+    * ethType: specify ethType
+    * ethSrc: specify ethSrc ( i.e.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.addPointIntent">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addMultipointToSinglepointIntent" class="summary-sig-name">addMultipointToSinglepointIntent</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ingressDeviceList</span>,
+        <span class="summary-sig-arg">egressDevice</span>,
+        <span class="summary-sig-arg">portIngressList</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">portEgress</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ethType</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ethSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ethDst</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">bandwidth</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">lambdaAlloc</span>=<span class="summary-sig-default">False</span>,
+        <span class="summary-sig-arg">ipProto</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ipSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ipDst</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">tcpSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">tcpDst</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">setEthSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">setEthDst</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
+      Note:
+    This function assumes the format of all ingress devices
+    is same.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.addMultipointToSinglepointIntent">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addSinglepointToMultipointIntent" class="summary-sig-name">addSinglepointToMultipointIntent</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ingressDevice</span>,
+        <span class="summary-sig-arg">egressDeviceList</span>,
+        <span class="summary-sig-arg">portIngress</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">portEgressList</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">ethType</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ethSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ethDst</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">bandwidth</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">lambdaAlloc</span>=<span class="summary-sig-default">False</span>,
+        <span class="summary-sig-arg">ipProto</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ipSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ipDst</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">tcpSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">tcpDst</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">setEthSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">setEthDst</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
+      Note:
+    This function assumes the format of all egress devices
+    is same.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.addSinglepointToMultipointIntent">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addMplsIntent" class="summary-sig-name">addMplsIntent</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ingressDevice</span>,
+        <span class="summary-sig-arg">egressDevice</span>,
+        <span class="summary-sig-arg">ingressPort</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">egressPort</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ethType</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ethSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ethDst</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">bandwidth</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">lambdaAlloc</span>=<span class="summary-sig-default">False</span>,
+        <span class="summary-sig-arg">ipProto</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ipSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ipDst</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">tcpSrc</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">tcpDst</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">ingressLabel</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">egressLabel</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">priority</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
+      Required:
+    * ingressDevice: device id of ingress device
+    * egressDevice: device id of egress device
+Optional:
+    * ethType: specify ethType
+    * ethSrc: specify ethSrc ( i.e.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.addMplsIntent">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#removeIntent" class="summary-sig-name">removeIntent</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">intentId</span>,
+        <span class="summary-sig-arg">app</span>=<span class="summary-sig-default">'org.onosproject.cli'</span>,
+        <span class="summary-sig-arg">purge</span>=<span class="summary-sig-default">False</span>,
+        <span class="summary-sig-arg">sync</span>=<span class="summary-sig-default">False</span>)</span><br />
+      Remove intent for specified application id and intent id
+Optional args:-
+-s or --sync: Waits for the removal before returning
+-p or --purge: Purge the intent from the store after removal</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.removeIntent">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="purgeWithdrawnIntents"></a><span class="summary-sig-name">purgeWithdrawnIntents</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Purges all WITHDRAWN Intents</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.purgeWithdrawnIntents">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#routes" class="summary-sig-name">routes</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">False</span>)</span><br />
+      NOTE: This method should be used after installing application:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.routes">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intents" class="summary-sig-name">intents</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Optional:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.intents">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getIntentState" class="summary-sig-name">getIntentState</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">intentsId</span>,
+        <span class="summary-sig-arg">intentsJson</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Check intent state.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getIntentState">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkIntentState" class="summary-sig-name">checkIntentState</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">intentsId</span>,
+        <span class="summary-sig-arg">expectedState</span>=<span class="summary-sig-default">'INSTALLED'</span>)</span><br />
+      Description:
+    Check intents state
+Required:
+    intentsId - List of intents ID to be checked
+Optional:
+    expectedState - Check the expected state(s) of each intents
+                    state in the list.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.checkIntentState">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#flows" class="summary-sig-name">flows</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Optional:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.flows">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="checkFlowsState"></a><span class="summary-sig-name">checkFlowsState</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Description:
+    Check the if all the current flows are in ADDED state or
+    PENDING_ADD state
+Return:
+    returnValue - Returns main.TRUE only if all flows are in
+                  ADDED state or PENDING_ADD, return main.FALSE
+                  otherwise.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.checkFlowsState">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#pushTestIntents" class="summary-sig-name">pushTestIntents</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">dpidSrc</span>,
+        <span class="summary-sig-arg">dpidDst</span>,
+        <span class="summary-sig-arg">numIntents</span>,
+        <span class="summary-sig-arg">numMult</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">appId</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">report</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Description:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.pushTestIntents">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intentsEventsMetrics" class="summary-sig-name">intentsEventsMetrics</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Description:Returns topology metrics...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.intentsEventsMetrics">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topologyEventsMetrics" class="summary-sig-name">topologyEventsMetrics</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Description:Returns topology metrics...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.topologyEventsMetrics">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllIntentsId" class="summary-sig-name">getAllIntentsId</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Description:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getAllIntentsId">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="FlowAddedCount"></a><span class="summary-sig-name">FlowAddedCount</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">deviceId</span>)</span><br />
+      Determine the number of flow rules for the given device id that are 
+      in the added state</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.FlowAddedCount">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllDevicesId" class="summary-sig-name">getAllDevicesId</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Use 'devices' function to obtain list of all devices and parse the 
+      result to obtain a list of all device id's.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getAllDevicesId">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllNodesId" class="summary-sig-name">getAllNodesId</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Uses 'nodes' function to obtain list of all nodes
+and parse the result of nodes to obtain just the
+node id's.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getAllNodesId">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getDevice"></a><span class="summary-sig-name">getDevice</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">dpid</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Return the first device from the devices api whose 'id' contains 
+      'dpid' Return None if there is no match</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getDevice">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkStatus" class="summary-sig-name">checkStatus</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ip</span>,
+        <span class="summary-sig-arg">numoswitch</span>,
+        <span class="summary-sig-arg">numolink</span>,
+        <span class="summary-sig-arg">logLevel</span>=<span class="summary-sig-default">&quot;info&quot;</span>)</span><br />
+      Checks the number of switches &amp; links that ONOS sees against the
+supplied values.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.checkStatus">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deviceRole" class="summary-sig-name">deviceRole</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">deviceId</span>,
+        <span class="summary-sig-arg">onosNode</span>,
+        <span class="summary-sig-arg">role</span>=<span class="summary-sig-default">&quot;master&quot;</span>)</span><br />
+      Calls the device-role cli command.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.deviceRole">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#clusters" class="summary-sig-name">clusters</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Lists all clusters...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.clusters">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestLeader" class="summary-sig-name">electionTestLeader</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      CLI command to get the current leader for the Election test application...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.electionTestLeader">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestRun" class="summary-sig-name">electionTestRun</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      CLI command to run for leadership of the Election test application.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.electionTestRun">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestWithdraw" class="summary-sig-name">electionTestWithdraw</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      * CLI command to withdraw the local node from leadership election for
+* the Election test application.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.electionTestWithdraw">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getDevicePortsEnabledCount"></a><span class="summary-sig-name">getDevicePortsEnabledCount</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">dpid</span>)</span><br />
+      Get the count of all enabled ports on a particular device/switch</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getDevicePortsEnabledCount">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getDeviceLinksActiveCount"></a><span class="summary-sig-name">getDeviceLinksActiveCount</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">dpid</span>)</span><br />
+      Get the count of all enabled ports on a particular device/switch</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getDeviceLinksActiveCount">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getAllIntentIds"></a><span class="summary-sig-name">getAllIntentIds</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Return a list of all Intent IDs</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getAllIntentIds">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="intentSummary"></a><span class="summary-sig-name">intentSummary</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Returns a dictionary containing the current intent states and the 
+      count</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.intentSummary">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#leaders" class="summary-sig-name">leaders</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Returns the output of the leaders command.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.leaders">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#leaderCandidates" class="summary-sig-name">leaderCandidates</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Returns the output of the leaders -c command.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.leaderCandidates">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="specificLeaderCandidate"></a><span class="summary-sig-name">specificLeaderCandidate</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">topic</span>)</span><br />
+      Returns a list in format [leader,candidate1,candidate2,...] for a 
+      given topic parameter and an empty list if the topic doesn't exist If
+      no leader is elected leader in the returned list will be 
+      &quot;none&quot; Returns None if there is a type error processing the
+      json object</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.specificLeaderCandidate">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="pendingMap"></a><span class="summary-sig-name">pendingMap</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Returns the output of the intent Pending map.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.pendingMap">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="partitions"></a><span class="summary-sig-name">partitions</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Returns the output of the raft partitions command for ONOS.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.partitions">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#apps" class="summary-sig-name">apps</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Returns the output of the apps command for ONOS.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.apps">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appStatus" class="summary-sig-name">appStatus</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">appName</span>)</span><br />
+      Uses the onos:apps cli command to return the status of an application.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.appStatus">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#app" class="summary-sig-name">app</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">appName</span>,
+        <span class="summary-sig-arg">option</span>)</span><br />
+      Interacts with the app command for ONOS.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.app">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#activateApp" class="summary-sig-name">activateApp</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">appName</span>,
+        <span class="summary-sig-arg">check</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Activate an app that is already installed in ONOS...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.activateApp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deactivateApp" class="summary-sig-name">deactivateApp</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">appName</span>,
+        <span class="summary-sig-arg">check</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Deactivate an app that is already activated in ONOS...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.deactivateApp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#uninstallApp" class="summary-sig-name">uninstallApp</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">appName</span>,
+        <span class="summary-sig-arg">check</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Uninstall an app that is already installed in ONOS...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.uninstallApp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="appIDs"></a><span class="summary-sig-name">appIDs</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Show the mappings between app id and app names given by the 'app-ids'
+      cli command</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.appIDs">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appToIDCheck" class="summary-sig-name">appToIDCheck</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      This method will check that each application's ID listed in 'apps' is
+the same as the ID listed in 'app-ids'.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.appToIDCheck">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getCfg" class="summary-sig-name">getCfg</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">component</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">propName</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">short</span>=<span class="summary-sig-default">False</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Get configuration settings from onos cli
+Optional arguments:
+    component - Optionally only list configurations for a specific
+                component.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getCfg">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCfg" class="summary-sig-name">setCfg</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">component</span>,
+        <span class="summary-sig-arg">propName</span>,
+        <span class="summary-sig-arg">value</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">check</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Set/Unset configuration settings from ONOS cli
+Required arguments:
+    component - The case sensitive name of the component whose
+                property is to be set
+    propName - The case sensitive name of the property to be set/unset
+Optional arguments:
+    value - The value to set the property to.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.setCfg">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestAdd" class="summary-sig-name">setTestAdd</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">setName</span>,
+        <span class="summary-sig-arg">values</span>)</span><br />
+      CLI command to add elements to a distributed set.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.setTestAdd">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestRemove" class="summary-sig-name">setTestRemove</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">setName</span>,
+        <span class="summary-sig-arg">values</span>,
+        <span class="summary-sig-arg">clear</span>=<span class="summary-sig-default">False</span>,
+        <span class="summary-sig-arg">retain</span>=<span class="summary-sig-default">False</span>)</span><br />
+      CLI command to remove elements from a distributed set.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.setTestRemove">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestGet" class="summary-sig-name">setTestGet</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">setName</span>,
+        <span class="summary-sig-arg">values</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
+      CLI command to get the elements in a distributed set.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.setTestGet">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestSize" class="summary-sig-name">setTestSize</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">setName</span>)</span><br />
+      CLI command to get the elements in a distributed set.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.setTestSize">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counters" class="summary-sig-name">counters</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Command to list the various counters in the system.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.counters">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counterTestAddAndGet" class="summary-sig-name">counterTestAddAndGet</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">counter</span>,
+        <span class="summary-sig-arg">delta</span>=<span class="summary-sig-default">1</span>,
+        <span class="summary-sig-arg">inMemory</span>=<span class="summary-sig-default">False</span>)</span><br />
+      CLI command to add a delta to then get a distributed counter.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.counterTestAddAndGet">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counterTestGetAndAdd" class="summary-sig-name">counterTestGetAndAdd</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">counter</span>,
+        <span class="summary-sig-arg">delta</span>=<span class="summary-sig-default">1</span>,
+        <span class="summary-sig-arg">inMemory</span>=<span class="summary-sig-default">False</span>)</span><br />
+      CLI command to get a distributed counter then add a delta to it.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.counterTestGetAndAdd">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="summary"></a><span class="summary-sig-name">summary</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">jsonFormat</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Description: Execute summary command in onos Returns: json object ( 
+      summary -j ), returns main.FALSE if there is no output</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.summary">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**execparams</span>)</span><br />
+      It facilitates the command line execution of a given command.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">default</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">user_name</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">filepath</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">dst_path</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Initialize client</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="connect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">**connectargs</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.connect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Creates ssh handle for ONOS cli.</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.connect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="disconnect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">disconnect</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.disconnect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Called when Test is complete to disconnect the ONOS handle.</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.disconnect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="logout"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">logout</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.logout">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Sends 'logout' command to ONOS cli
+Returns main.TRUE if exited CLI and
+        main.FALSE on timeout (not guranteed you are disconnected)
+        None on TypeError
+        Exits test on unknown error or pexpect exits unexpectedly
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="setCell"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">setCell</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">cellname</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.setCell">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Calls 'cell &lt;name&gt;' to set the environment variables on 
+  ONOSbench</p>
+  <p>Before issuing any cli commands, set the environment variable 
+  first.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="startOnosCli"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">startOnosCli</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ONOSIp</span>,
+        <span class="sig-arg">karafTimeout</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">commandlineTimeout</span>=<span class="sig-default">10</span>,
+        <span class="sig-arg">onosStartTimeout</span>=<span class="sig-default">60</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.startOnosCli">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>karafTimeout is an optional argument. karafTimeout value passed by 
+  user would be used to set the current karaf shell idle timeout. Note that
+  when ever this property is modified the shell will exit and the 
+  subsequent login would reflect new idle timeout. Below is an example to 
+  start a session with 60 seconds idle timeout ( input value is in 
+  milliseconds ):</p>
+  <p>tValue = &quot;60000&quot; main.ONOScli1.startOnosCli( ONOSIp, 
+  karafTimeout=tValue )</p>
+  <p>Note: karafTimeout is left as str so that this could be read and 
+  passed to startOnosCli from PARAMS file as str.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="log"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">log</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">cmdStr</span>,
+        <span class="sig-arg">level</span>=<span class="sig-default">&quot;&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.log">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>log  the commands in the onos CLI. returns main.TRUE on success 
+  returns main.FALSE if Error occurred Available level: DEBUG, TRACE, INFO,
+  WARN, ERROR Level defaults to INFO</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.log
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="sendline"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">sendline</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">cmdStr</span>,
+        <span class="sig-arg">debug</span>=<span class="sig-default">False</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.sendline">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Send a completely user specified string to the onos&gt; prompt. Use 
+  this function if you have a very specific command to send.</p>
+  <p>Warning: There are no sanity checking to commands sent using this 
+  method.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="addNode"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">addNode</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">nodeId</span>,
+        <span class="sig-arg">ONOSIp</span>,
+        <span class="sig-arg">tcpPort</span>=<span class="sig-default">&quot;&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.addNode">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Adds a new cluster node by ID and address information.
+Required:
+    * nodeId
+    * ONOSIp
+Optional:
+    * tcpPort
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="removeNode"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">removeNode</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">nodeId</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.removeNode">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Removes a cluster by ID
+Issues command: 'remove-node [&lt;node-id&gt;]'
+Required:
+    * nodeId
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="nodes"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">nodes</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.nodes">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+List the nodes currently visible
+Issues command: 'nodes'
+Optional argument:
+    * jsonFormat - boolean indicating if you want output in json
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="topology"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">topology</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.topology">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Definition:
+    Returns the output of topology command.
+Return:
+    topology = current ONOS topology
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="featureInstall"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">featureInstall</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">featureStr</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.featureInstall">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Installs a specified feature by issuing command:
+    'feature:install &lt;feature_str&gt;'
+NOTE: This is now deprecated, you should use the activateApp method
+      instead
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="featureUninstall"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">featureUninstall</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">featureStr</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.featureUninstall">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Uninstalls a specified feature by issuing command:
+    'feature:uninstall &lt;feature_str&gt;'
+NOTE: This is now deprecated, you should use the deactivateApp method
+      instead
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="deviceRemove"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">deviceRemove</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">deviceId</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.deviceRemove">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Removes particular device from storage</p>
+  <p>TODO: refactor this function</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="devices"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">devices</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.devices">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Lists all infrastructure devices or switches
+Optional argument:
+    * jsonFormat - boolean indicating if you want output in json
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="checkMasters"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">checkMasters</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.checkMasters">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Returns the output of the masters command.
+Optional argument:
+    * jsonFormat - boolean indicating if you want output in json
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="checkBalanceMasters"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">checkBalanceMasters</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.checkBalanceMasters">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Uses the master command to check that the devices' leadership is 
+  evenly divided</p>
+  <p>Dependencies: checkMasters() and summary()</p>
+  <p>Returns main.True if the devices are balanced Returns main.False if 
+  the devices are unbalanced Exits on Exception Returns None on 
+  TypeError</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="links"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">links</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.links">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Lists all core links
+Optional argument:
+    * jsonFormat - boolean indicating if you want output in json
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="ports"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">ports</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.ports">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Lists all ports
+Optional argument:
+    * jsonFormat - boolean indicating if you want output in json
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="roles"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">roles</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.roles">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Lists all devices and the controllers with roles assigned to them
+Optional argument:
+    * jsonFormat - boolean indicating if you want output in json
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getRole"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getRole</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">deviceId</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getRole">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Given the a string containing the json representation of the 
+  &quot;roles&quot; cli command and a partial or whole device id, returns a
+  json object containing the roles output for the first device whose id 
+  contains &quot;device_id&quot;</p>
+  <p>Returns: A dict of the role assignments for the given device or None 
+  if no match</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="rolesNotNull"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">rolesNotNull</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.rolesNotNull">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Iterates through each device and checks if there is a master assigned
+Returns: main.TRUE if each device has a master
+         main.FALSE any device has no master
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="paths"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">paths</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">srcId</span>,
+        <span class="sig-arg">dstId</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.paths">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Returns string of paths, and the cost. Issues command: onos:paths 
+  &lt;src&gt; &lt;dst&gt;</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="hosts"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">hosts</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.hosts">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Lists all discovered hosts
+Optional argument:
+    * jsonFormat - boolean indicating if you want output in json
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getHost"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getHost</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">mac</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getHost">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Return the first host from the hosts api whose 'id' contains 'mac'
+
+Note: mac must be a colon separated mac address, but could be a
+      partial mac address
+
+Return None if there is no match
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getHostsId"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getHostsId</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">hostList</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getHostsId">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Obtain list of hosts
+Issues command: 'onos&gt; hosts'
+
+Required:
+    * hostList: List of hosts obtained by Mininet
+IMPORTANT:
+    This function assumes that you started your
+    topology with the option '--mac'.
+    Furthermore, it assumes that value of VLAN is '-1'
+Description:
+    Converts mininet hosts ( h1, h2, h3... ) into
+    ONOS format ( 00:00:00:00:00:01/-1 , ... )
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="addHostIntent"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">addHostIntent</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">hostIdOne</span>,
+        <span class="sig-arg">hostIdTwo</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.addHostIntent">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Required:
+    * hostIdOne: ONOS host id for host1
+    * hostIdTwo: ONOS host id for host2
+Description:
+    Adds a host-to-host intent ( bidirectional ) by
+    specifying the two hosts.
+Returns:
+    A string of the intent id or None on Error
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="addOpticalIntent"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">addOpticalIntent</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ingressDevice</span>,
+        <span class="sig-arg">egressDevice</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.addOpticalIntent">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Required:
+    * ingressDevice: device id of ingress device
+    * egressDevice: device id of egress device
+Optional:
+    TODO: Still needs to be implemented via dev side
+Description:
+    Adds an optical intent by specifying an ingress and egress device
+Returns:
+    A string of the intent id or None on error
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="addPointIntent"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">addPointIntent</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ingressDevice</span>,
+        <span class="sig-arg">egressDevice</span>,
+        <span class="sig-arg">portIngress</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">portEgress</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ethType</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ethSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ethDst</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">bandwidth</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">lambdaAlloc</span>=<span class="sig-default">False</span>,
+        <span class="sig-arg">ipProto</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ipSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ipDst</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">tcpSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">tcpDst</span>=<span class="sig-default">&quot;&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.addPointIntent">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Required:
+    * ingressDevice: device id of ingress device
+    * egressDevice: device id of egress device
+Optional:
+    * ethType: specify ethType
+    * ethSrc: specify ethSrc ( i.e. src mac addr )
+    * ethDst: specify ethDst ( i.e. dst mac addr )
+    * bandwidth: specify bandwidth capacity of link
+    * lambdaAlloc: if True, intent will allocate lambda
+      for the specified intent
+    * ipProto: specify ip protocol
+    * ipSrc: specify ip source address
+    * ipDst: specify ip destination address
+    * tcpSrc: specify tcp source port
+    * tcpDst: specify tcp destination port
+Description:
+    Adds a point-to-point intent ( uni-directional ) by
+    specifying device id's and optional fields
+Returns:
+    A string of the intent id or None on error
+
+NOTE: This function may change depending on the
+      options developers provide for point-to-point
+      intent via cli
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="addMultipointToSinglepointIntent"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">addMultipointToSinglepointIntent</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ingressDeviceList</span>,
+        <span class="sig-arg">egressDevice</span>,
+        <span class="sig-arg">portIngressList</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">portEgress</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ethType</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ethSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ethDst</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">bandwidth</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">lambdaAlloc</span>=<span class="sig-default">False</span>,
+        <span class="sig-arg">ipProto</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ipSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ipDst</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">tcpSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">tcpDst</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">setEthSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">setEthDst</span>=<span class="sig-default">&quot;&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.addMultipointToSinglepointIntent">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Note:
+    This function assumes the format of all ingress devices
+    is same. That is, all ingress devices include port numbers
+    with a &quot;/&quot; or all ingress devices could specify device
+    ids and port numbers seperately.
+Required:
+    * ingressDeviceList: List of device ids of ingress device
+        ( Atleast 2 ingress devices required in the list )
+    * egressDevice: device id of egress device
+Optional:
+    * ethType: specify ethType
+    * ethSrc: specify ethSrc ( i.e. src mac addr )
+    * ethDst: specify ethDst ( i.e. dst mac addr )
+    * bandwidth: specify bandwidth capacity of link
+    * lambdaAlloc: if True, intent will allocate lambda
+      for the specified intent
+    * ipProto: specify ip protocol
+    * ipSrc: specify ip source address
+    * ipDst: specify ip destination address
+    * tcpSrc: specify tcp source port
+    * tcpDst: specify tcp destination port
+    * setEthSrc: action to Rewrite Source MAC Address
+    * setEthDst: action to Rewrite Destination MAC Address
+Description:
+    Adds a multipoint-to-singlepoint intent ( uni-directional ) by
+    specifying device id's and optional fields
+Returns:
+    A string of the intent id or None on error
+
+NOTE: This function may change depending on the
+      options developers provide for multipoint-to-singlepoint
+      intent via cli
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="addSinglepointToMultipointIntent"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">addSinglepointToMultipointIntent</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ingressDevice</span>,
+        <span class="sig-arg">egressDeviceList</span>,
+        <span class="sig-arg">portIngress</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">portEgressList</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">ethType</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ethSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ethDst</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">bandwidth</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">lambdaAlloc</span>=<span class="sig-default">False</span>,
+        <span class="sig-arg">ipProto</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ipSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ipDst</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">tcpSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">tcpDst</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">setEthSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">setEthDst</span>=<span class="sig-default">&quot;&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.addSinglepointToMultipointIntent">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Note:
+    This function assumes the format of all egress devices
+    is same. That is, all egress devices include port numbers
+    with a &quot;/&quot; or all egress devices could specify device
+    ids and port numbers seperately.
+Required:
+    * EgressDeviceList: List of device ids of egress device
+        ( Atleast 2 eress devices required in the list )
+    * ingressDevice: device id of ingress device
+Optional:
+    * ethType: specify ethType
+    * ethSrc: specify ethSrc ( i.e. src mac addr )
+    * ethDst: specify ethDst ( i.e. dst mac addr )
+    * bandwidth: specify bandwidth capacity of link
+    * lambdaAlloc: if True, intent will allocate lambda
+      for the specified intent
+    * ipProto: specify ip protocol
+    * ipSrc: specify ip source address
+    * ipDst: specify ip destination address
+    * tcpSrc: specify tcp source port
+    * tcpDst: specify tcp destination port
+    * setEthSrc: action to Rewrite Source MAC Address
+    * setEthDst: action to Rewrite Destination MAC Address
+Description:
+    Adds a singlepoint-to-multipoint intent ( uni-directional ) by
+    specifying device id's and optional fields
+Returns:
+    A string of the intent id or None on error
+
+NOTE: This function may change depending on the
+      options developers provide for singlepoint-to-multipoint
+      intent via cli
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="addMplsIntent"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">addMplsIntent</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ingressDevice</span>,
+        <span class="sig-arg">egressDevice</span>,
+        <span class="sig-arg">ingressPort</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">egressPort</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ethType</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ethSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ethDst</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">bandwidth</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">lambdaAlloc</span>=<span class="sig-default">False</span>,
+        <span class="sig-arg">ipProto</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ipSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ipDst</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">tcpSrc</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">tcpDst</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">ingressLabel</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">egressLabel</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">priority</span>=<span class="sig-default">&quot;&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.addMplsIntent">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Required:
+    * ingressDevice: device id of ingress device
+    * egressDevice: device id of egress device
+Optional:
+    * ethType: specify ethType
+    * ethSrc: specify ethSrc ( i.e. src mac addr )
+    * ethDst: specify ethDst ( i.e. dst mac addr )
+    * bandwidth: specify bandwidth capacity of link
+    * lambdaAlloc: if True, intent will allocate lambda
+      for the specified intent
+    * ipProto: specify ip protocol
+    * ipSrc: specify ip source address
+    * ipDst: specify ip destination address
+    * tcpSrc: specify tcp source port
+    * tcpDst: specify tcp destination port
+    * ingressLabel: Ingress MPLS label
+    * egressLabel: Egress MPLS label
+Description:
+    Adds MPLS intent by
+    specifying device id's and optional fields
+Returns:
+    A string of the intent id or None on error
+
+NOTE: This function may change depending on the
+      options developers provide for MPLS
+      intent via cli
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="removeIntent"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">removeIntent</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">intentId</span>,
+        <span class="sig-arg">app</span>=<span class="sig-default">'org.onosproject.cli'</span>,
+        <span class="sig-arg">purge</span>=<span class="sig-default">False</span>,
+        <span class="sig-arg">sync</span>=<span class="sig-default">False</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.removeIntent">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Remove intent for specified application id and intent id
+Optional args:-
+-s or --sync: Waits for the removal before returning
+-p or --purge: Purge the intent from the store after removal
+
+Returns:
+    main.False on error and
+    cli output otherwise
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="routes"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">routes</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">False</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.routes">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+NOTE: This method should be used after installing application:
+      onos-app-sdnip
+Optional:
+    * jsonFormat: enable output formatting in json
+Description:
+    Obtain all routes in the system
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="intents"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">intents</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.intents">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Optional:
+    * jsonFormat: enable output formatting in json
+Description:
+    Obtain intents currently installed
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getIntentState"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getIntentState</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">intentsId</span>,
+        <span class="sig-arg">intentsJson</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getIntentState">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Check intent state. Accepts a single intent ID (string type) or a list
+  of intent IDs. Returns the state(string type) of the id if a single 
+  intent ID is accepted. Returns a dictionary with intent IDs as the key 
+  and its corresponding states as the values Parameters: intentId: intent 
+  ID (string type) intentsJson: parsed json object from the onos:intents 
+  api Returns: state = An intent's state- INSTALL,WITHDRAWN etc. stateDict 
+  = Dictionary of intent's state. intent ID as the keys and state as the 
+  values.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="checkIntentState"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">checkIntentState</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">intentsId</span>,
+        <span class="sig-arg">expectedState</span>=<span class="sig-default">'INSTALLED'</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.checkIntentState">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Check intents state
+Required:
+    intentsId - List of intents ID to be checked
+Optional:
+    expectedState - Check the expected state(s) of each intents
+                    state in the list.
+                    *NOTE: You can pass in a list of expected state,
+                    Eg: expectedState = [ 'INSTALLED' , 'INSTALLING' ]
+Return:
+    Returns main.TRUE only if all intent are the same as expected states
+    , otherwise, returns main.FALSE.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="flows"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">flows</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.flows">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Optional:
+    * jsonFormat: enable output formatting in json
+Description:
+    Obtain flows currently installed
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="pushTestIntents"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">pushTestIntents</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">dpidSrc</span>,
+        <span class="sig-arg">dpidDst</span>,
+        <span class="sig-arg">numIntents</span>,
+        <span class="sig-arg">numMult</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">appId</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">report</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.pushTestIntents">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Push a number of intents in a batch format to
+    a specific point-to-point intent definition
+Required:
+    * dpidSrc: specify source dpid
+    * dpidDst: specify destination dpid
+    * numIntents: specify number of intents to push
+Optional:
+    * numMult: number multiplier for multiplying
+      the number of intents specified
+    * appId: specify the application id init to further
+      modularize the intents
+    * report: default True, returns latency information
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="intentsEventsMetrics"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">intentsEventsMetrics</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.intentsEventsMetrics">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:Returns topology metrics
+Optional:
+    * jsonFormat: enable json formatting of output
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="topologyEventsMetrics"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">topologyEventsMetrics</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.topologyEventsMetrics">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:Returns topology metrics
+Optional:
+    * jsonFormat: enable json formatting of output
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getAllIntentsId"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getAllIntentsId</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getAllIntentsId">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Obtain all intent id's in a list
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getAllDevicesId"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getAllDevicesId</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getAllDevicesId">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Use 'devices' function to obtain list of all devices and parse the 
+  result to obtain a list of all device id's. Returns this list. Returns 
+  empty list if no devices exist List is ordered sequentially</p>
+  <p>This function may be useful if you are not sure of the device id, and 
+  wish to execute other commands using the ids. By obtaining the list of 
+  device ids on the fly, you can iterate through the list to get 
+  mastership, etc.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getAllNodesId"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getAllNodesId</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getAllNodesId">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Uses 'nodes' function to obtain list of all nodes
+and parse the result of nodes to obtain just the
+node id's.
+Returns:
+    list of node id's
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="checkStatus"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">checkStatus</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ip</span>,
+        <span class="sig-arg">numoswitch</span>,
+        <span class="sig-arg">numolink</span>,
+        <span class="sig-arg">logLevel</span>=<span class="sig-default">&quot;info&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.checkStatus">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Checks the number of switches &amp; links that ONOS sees against the
+supplied values. By default this will report to main.log, but the
+log level can be specified.
+
+Params: ip = ip used for the onos cli
+        numoswitch = expected number of switches
+        numolink = expected number of links
+        logLevel = level to log to. Currently accepts
+        'info', 'warn' and 'report'
+
+
+logLevel can
+
+Returns: main.TRUE if the number of switches and links are correct,
+         main.FALSE if the number of switches and links is incorrect,
+         and main.ERROR otherwise
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="deviceRole"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">deviceRole</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">deviceId</span>,
+        <span class="sig-arg">onosNode</span>,
+        <span class="sig-arg">role</span>=<span class="sig-default">&quot;master&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.deviceRole">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Calls the device-role cli command.
+deviceId must be the id of a device as seen in the onos devices command
+onosNode is the ip of one of the onos nodes in the cluster
+role must be either master, standby, or none
+
+Returns:
+    main.TRUE or main.FALSE based on argument verification and
+    main.ERROR if command returns and error
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="clusters"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">clusters</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.clusters">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Lists all clusters
+Optional argument:
+    * jsonFormat - boolean indicating if you want output in json
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="electionTestLeader"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">electionTestLeader</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.electionTestLeader">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+CLI command to get the current leader for the Election test application
+NOTE: Requires installation of the onos-app-election feature
+Returns: Node IP of the leader if one exists
+         None if none exists
+         Main.FALSE on error
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="electionTestRun"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">electionTestRun</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.electionTestRun">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+CLI command to run for leadership of the Election test application.
+NOTE: Requires installation of the onos-app-election feature
+Returns: Main.TRUE on success
+         Main.FALSE on error
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="electionTestWithdraw"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">electionTestWithdraw</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.electionTestWithdraw">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+* CLI command to withdraw the local node from leadership election for
+* the Election test application.
+#NOTE: Requires installation of the onos-app-election feature
+Returns: Main.TRUE on success
+         Main.FALSE on error
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="leaders"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">leaders</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.leaders">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Returns the output of the leaders command.
+Optional argument:
+    * jsonFormat - boolean indicating if you want output in json
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="leaderCandidates"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">leaderCandidates</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.leaderCandidates">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Returns the output of the leaders -c command.
+Optional argument:
+    * jsonFormat - boolean indicating if you want output in json
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="apps"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">apps</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.apps">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Returns the output of the apps command for ONOS. This command lists 
+  information about installed ONOS applications</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="appStatus"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">appStatus</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">appName</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.appStatus">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Uses the onos:apps cli command to return the status of an application.
+Returns:
+    &quot;ACTIVE&quot; - If app is installed and activated
+    &quot;INSTALLED&quot; - If app is installed and deactivated
+    &quot;UNINSTALLED&quot; - If app is not installed
+    None - on error
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="app"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">app</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">appName</span>,
+        <span class="sig-arg">option</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.app">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Interacts with the app command for ONOS. This command manages 
+  application inventory.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="activateApp"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">activateApp</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">appName</span>,
+        <span class="sig-arg">check</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.activateApp">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Activate an app that is already installed in ONOS
+appName is the hierarchical app name, not the feature name
+If check is True, method will check the status of the app after the
+command is issued
+Returns main.TRUE if the command was successfully sent
+        main.FALSE if the cli responded with an error or given
+            incorrect input
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="deactivateApp"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">deactivateApp</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">appName</span>,
+        <span class="sig-arg">check</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.deactivateApp">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Deactivate an app that is already activated in ONOS
+appName is the hierarchical app name, not the feature name
+If check is True, method will check the status of the app after the
+command is issued
+Returns main.TRUE if the command was successfully sent
+        main.FALSE if the cli responded with an error or given
+            incorrect input
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="uninstallApp"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">uninstallApp</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">appName</span>,
+        <span class="sig-arg">check</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.uninstallApp">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Uninstall an app that is already installed in ONOS
+appName is the hierarchical app name, not the feature name
+If check is True, method will check the status of the app after the
+command is issued
+Returns main.TRUE if the command was successfully sent
+        main.FALSE if the cli responded with an error or given
+            incorrect input
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="appToIDCheck"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">appToIDCheck</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.appToIDCheck">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+This method will check that each application's ID listed in 'apps' is
+the same as the ID listed in 'app-ids'. The check will also check that
+there are no duplicate IDs issued. Note that an app ID should be
+a globaly unique numerical identifier for app/app-like features. Once
+an ID is registered, the ID is never freed up so that if an app is
+reinstalled it will have the same ID.
+
+Returns: main.TRUE  if the check passes and
+         main.FALSE if the check fails or
+         main.ERROR if there is some error in processing the test
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getCfg"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getCfg</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">component</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">propName</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">short</span>=<span class="sig-default">False</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.getCfg">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Get configuration settings from onos cli
+Optional arguments:
+    component - Optionally only list configurations for a specific
+                component. If None, all components with configurations
+                are displayed. Case Sensitive string.
+    propName - If component is specified, propName option will show
+               only this specific configuration from that component.
+               Case Sensitive string.
+    jsonFormat - Returns output as json. Note that this will override
+                 the short option
+    short - Short, less verbose, version of configurations.
+            This is overridden by the json option
+returns:
+    Output from cli as a string or None on error
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="setCfg"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">setCfg</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">component</span>,
+        <span class="sig-arg">propName</span>,
+        <span class="sig-arg">value</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">check</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.setCfg">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Set/Unset configuration settings from ONOS cli
+Required arguments:
+    component - The case sensitive name of the component whose
+                property is to be set
+    propName - The case sensitive name of the property to be set/unset
+Optional arguments:
+    value - The value to set the property to. If None, will unset the
+            property and revert it to it's default value(if applicable)
+    check - Boolean, Check whether the option was successfully set this
+            only applies when a value is given.
+returns:
+    main.TRUE on success or main.FALSE on failure. If check is False,
+    will return main.TRUE unless there is an error
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="setTestAdd"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">setTestAdd</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">setName</span>,
+        <span class="sig-arg">values</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.setTestAdd">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+CLI command to add elements to a distributed set.
+Arguments:
+    setName - The name of the set to add to.
+    values - The value(s) to add to the set, space seperated.
+Example usages:
+    setTestAdd( &quot;set1&quot;, &quot;a b c&quot; )
+    setTestAdd( &quot;set2&quot;, &quot;1&quot; )
+returns:
+    main.TRUE on success OR
+    main.FALSE if elements were already in the set OR
+    main.ERROR on error
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="setTestRemove"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">setTestRemove</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">setName</span>,
+        <span class="sig-arg">values</span>,
+        <span class="sig-arg">clear</span>=<span class="sig-default">False</span>,
+        <span class="sig-arg">retain</span>=<span class="sig-default">False</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.setTestRemove">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+CLI command to remove elements from a distributed set.
+Required arguments:
+    setName - The name of the set to remove from.
+    values - The value(s) to remove from the set, space seperated.
+Optional arguments:
+    clear - Clear all elements from the set
+    retain - Retain only the  given values. (intersection of the
+             original set and the given set)
+returns:
+    main.TRUE on success OR
+    main.FALSE if the set was not changed OR
+    main.ERROR on error
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="setTestGet"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">setTestGet</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">setName</span>,
+        <span class="sig-arg">values</span>=<span class="sig-default">&quot;&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.setTestGet">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+CLI command to get the elements in a distributed set.
+Required arguments:
+    setName - The name of the set to remove from.
+Optional arguments:
+    values - The value(s) to check if in the set, space seperated.
+returns:
+    main.ERROR on error OR
+    A list of elements in the set if no optional arguments are
+        supplied OR
+    A tuple containing the list then:
+        main.FALSE if the given values are not in the set OR
+        main.TRUE if the given values are in the set OR
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="setTestSize"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">setTestSize</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">setName</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.setTestSize">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+CLI command to get the elements in a distributed set.
+Required arguments:
+    setName - The name of the set to remove from.
+returns:
+    The integer value of the size returned or
+    None on error
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="counters"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">counters</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">jsonFormat</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.counters">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Command to list the various counters in the system.
+returns:
+    if jsonFormat, a string of the json object returned by the cli
+    command
+    if not jsonFormat, the normal string output of the cli command
+    None on error
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="counterTestAddAndGet"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">counterTestAddAndGet</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">counter</span>,
+        <span class="sig-arg">delta</span>=<span class="sig-default">1</span>,
+        <span class="sig-arg">inMemory</span>=<span class="sig-default">False</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.counterTestAddAndGet">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+CLI command to add a delta to then get a distributed counter.
+Required arguments:
+    counter - The name of the counter to increment.
+Optional arguments:
+    delta - The long to add to the counter
+    inMemory - use in memory map for the counter
+returns:
+    integer value of the counter or
+    None on Error
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="counterTestGetAndAdd"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">counterTestGetAndAdd</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">counter</span>,
+        <span class="sig-arg">delta</span>=<span class="sig-default">1</span>,
+        <span class="sig-arg">inMemory</span>=<span class="sig-default">False</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosclidriver-pysrc.html#OnosCliDriver.counterTestGetAndAdd">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+CLI command to get a distributed counter then add a delta to it.
+Required arguments:
+    counter - The name of the counter to increment.
+Optional arguments:
+    delta - The long to add to the counter
+    inMemory - use in memory map for the counter
+returns:
+    integer value of the counter or
+    None on Error
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosdriver-module.html
similarity index 74%
copy from TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
copy to TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosdriver-module.html
index 053b957..9b4ed34 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosdriver-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.drivers.common.cli.remotesys.hpswitchdriver</title>
+  <title>TestON.drivers.common.cli.onosdriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -41,8 +46,7 @@
         <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
         <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
         <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
-        <a href="TestON.drivers.common.cli.remotesys-module.html">Package&nbsp;remotesys</a> ::
-        Module&nbsp;hpswitchdriver
+        Module&nbsp;onosdriver
       </span>
     </td>
     <td>
@@ -52,23 +56,24 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.onosdriver-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module hpswitchdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 12-Feb-2013</p>
+<h1 class="epydoc">Module onosdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html">source&nbsp;code</a></span></p>
+<p>This driver interacts with ONOS bench, the OSGi platform that 
+  configures the ONOS nodes. ( aka ONOS-next )</p>
+  <p>Please follow the coding style demonstrated by existing functions and 
+  document properly.</p>
+  <p>If you are a contributor to the driver, please list your email here 
+  for future contact:</p>
+  <p>jhall@onlab.us andrew@onlab.us</p>
+  <p>OCT 9 2014</p>
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-        <p>HPSwitchDriver is the basic driver which will handle the Mininet
-        functions</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -89,9 +94,7 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html" class="summary-name">HPSwitchDriver</a><br />
-      HPSwitchDriver is the basic driver which will handle the Mininet 
-      functions
+        <a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html" class="summary-name">OnosDriver</a>
     </td>
   </tr>
 </table>
@@ -115,13 +118,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosdriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosdriver-pysrc.html
new file mode 100644
index 0000000..0ef1bea
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosdriver-pysrc.html
@@ -0,0 +1,2462 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.onosdriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        Module&nbsp;onosdriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.onosdriver-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.onosdriver-module.html">Module TestON.drivers.common.cli.onosdriver</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"> </tt>
+<a name="L3"></a><tt class="py-lineno">   3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"><tt class="py-docstring">This driver interacts with ONOS bench, the OSGi platform</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">   5</tt>  <tt class="py-line"><tt class="py-docstring">that configures the ONOS nodes. ( aka ONOS-next )</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"><tt class="py-docstring">Please follow the coding style demonstrated by existing</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">   8</tt>  <tt class="py-line"><tt class="py-docstring">functions and document properly.</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">   9</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line"><tt class="py-docstring">If you are a contributor to the driver, please</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">  11</tt>  <tt class="py-line"><tt class="py-docstring">list your email here for future contact:</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"><tt class="py-docstring">jhall@onlab.us</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line"><tt class="py-docstring">andrew@onlab.us</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt class="py-docstring">OCT 9 2014</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">types</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">  22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-0', 'path', 'link-0');">path</a></tt> </tt>
+<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">requests</tt><tt class="py-op">.</tt><tt class="py-name">models</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Response</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-1', 'drivers', 'link-1');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-2', 'common', 'link-2');">common</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module TestON.drivers.common.clidriver=TestON.drivers.common.clidriver-module.html"><a title="TestON.drivers.common.clidriver" class="py-name" href="#" onclick="return doclink('link-3', 'clidriver', 'link-3');">clidriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-4', 'CLI', 'link-4');">CLI</a></tt> </tt>
+<a name="L26"></a><tt class="py-lineno">  26</tt>  <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno">  27</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver"></a><div id="OnosDriver-def"><a name="L28"></a><tt class="py-lineno">  28</tt> <a class="py-toggle" href="#" id="OnosDriver-toggle" onclick="return toggle('OnosDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a><tt class="py-op">(</tt> <tt class="py-base-class">CLI</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="OnosDriver-expanded"><a name="L29"></a><tt class="py-lineno">  29</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.__init__"></a><div id="OnosDriver.__init__-def"><a name="L30"></a><tt class="py-lineno">  30</tt> <a class="py-toggle" href="#" id="OnosDriver.__init__-toggle" onclick="return toggle('OnosDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.__init__-expanded"><a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">  32</tt>  <tt class="py-line"><tt class="py-docstring">        Initialize client</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">  33</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">  36</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-5" class="py-name"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-5', 'CLI', 'link-4');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-6', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L38"></a><tt class="py-lineno">  38</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.connect"></a><div id="OnosDriver.connect-def"><a name="L39"></a><tt class="py-lineno">  39</tt> <a class="py-toggle" href="#" id="OnosDriver.connect-toggle" onclick="return toggle('OnosDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.connect-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.connect-expanded"><a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line"><tt class="py-docstring">        Creates ssh handle for ONOS "bench".</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE:</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">  43</tt>  <tt class="py-line"><tt class="py-docstring">        The ip_address would come from the topo file using the host tag, the</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line"><tt class="py-docstring">        value can be an environment variable as well as a "localhost" to get</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line"><tt class="py-docstring">        the ip address needed to ssh to the "bench"</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">  47</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">  48</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line">                <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">=</tt> <tt class="py-string">"~/onos"</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">  51</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">  52</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-op">==</tt> <tt class="py-string">"home"</tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'home'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">  55</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">==</tt> <tt class="py-string">""</tt><tt class="py-op">:</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">  56</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">=</tt> <tt class="py-string">"~/onos"</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line"> </tt>
+<a name="L58"></a><tt class="py-lineno">  58</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line"> </tt>
+<a name="L60"></a><tt class="py-lineno">  60</tt>  <tt class="py-line">            <tt class="py-comment"># The 'nodes' tag is optional and it is not required in .topo file</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">  61</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">  62</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-op">==</tt> <tt class="py-string">"nodes"</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">  63</tt>  <tt class="py-line">                    <tt class="py-comment"># Maximum number of ONOS nodes to run, if there is any</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'nodes'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line"> </tt>
+<a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">==</tt> <tt class="py-string">""</tt><tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-number">100</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">  70</tt>  <tt class="py-line"> </tt>
+<a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line"> </tt>
+<a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line">            <tt class="py-comment"># Grabs all OC environment variables based on max number of nodes</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">onosIps</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt>  <tt class="py-comment"># Dictionary of all possible ONOS ip</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">  74</tt>  <tt class="py-line"> </tt>
+<a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt><tt class="py-op">:</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">  78</tt>  <tt class="py-line">                        <tt class="py-name">envString</tt> <tt class="py-op">=</tt> <tt class="py-string">"OC"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line">                        <tt class="py-comment"># If there is no more OC# then break the loop</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getenv</tt><tt class="py-op">(</tt> <tt class="py-name">envString</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">  81</tt>  <tt class="py-line">                            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">onosIps</tt><tt class="py-op">[</tt> <tt class="py-name">envString</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getenv</tt><tt class="py-op">(</tt> <tt class="py-name">envString</tt> <tt class="py-op">)</tt> </tt>
+<a name="L82"></a><tt class="py-lineno">  82</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L83"></a><tt class="py-lineno">  83</tt>  <tt class="py-line">                            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">onosIps</tt> <tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-7', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line">                                           <tt class="py-string">": Created cluster data with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L86"></a><tt class="py-lineno">  86</tt>  <tt class="py-line">                                           <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L87"></a><tt class="py-lineno">  87</tt>  <tt class="py-line">                                           <tt class="py-string">" maximum number"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line">                                           <tt class="py-string">" of nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
+<a name="L90"></a><tt class="py-lineno">  90</tt>  <tt class="py-line"> </tt>
+<a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">onosIps</tt><tt class="py-op">:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno">  92</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-8', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Could not read any environment variable"</tt> </tt>
+<a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line">                                       <tt class="py-op">+</tt> <tt class="py-string">" please load a cell file with all"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L94"></a><tt class="py-lineno">  94</tt>  <tt class="py-line">                                        <tt class="py-string">" onos IP"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno">  95</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Found "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L98"></a><tt class="py-lineno">  98</tt>  <tt class="py-line">                                       <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">onosIps</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line">                                       <tt class="py-string">" ONOS IPs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno"> 100</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-10', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Invalid environment variable"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno"> 102</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">inst</tt><tt class="py-op">:</tt> </tt>
+<a name="L103"></a><tt class="py-lineno"> 103</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-11', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-12', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Uncaught exception: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">inst</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line"> </tt>
+<a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L106"></a><tt class="py-lineno"> 106</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getenv</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno"> 107</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getenv</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno"> 109</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line">                                   <tt class="py-string">": Trying to connect to "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L111"></a><tt class="py-lineno"> 111</tt>  <tt class="py-line">                                   <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno"> 112</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L113"></a><tt class="py-lineno"> 113</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-14', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Invalid host name,"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line">                               <tt class="py-string">" connecting to local host instead"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno"> 115</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-string">'localhost'</tt> </tt>
+<a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">inst</tt><tt class="py-op">:</tt> </tt>
+<a name="L117"></a><tt class="py-lineno"> 117</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-15', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-16', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Uncaught exception: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">inst</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno"> 118</tt>  <tt class="py-line"> </tt>
+<a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-17" class="py-name" targets="Class TestON.drivers.common.cli.onosdriver.OnosDriver=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver" class="py-name" href="#" onclick="return doclink('link-17', 'OnosDriver', 'link-17');">OnosDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-18', 'connect', 'link-18');">connect</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line">                <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L121"></a><tt class="py-lineno"> 121</tt>  <tt class="py-line">                <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L122"></a><tt class="py-lineno"> 122</tt>  <tt class="py-line">                <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">,</tt> </tt>
+<a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line">                <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt><tt class="py-op">,</tt> </tt>
+<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line">                <tt class="py-name">home</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno"> 125</tt>  <tt class="py-line"> </tt>
+<a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L127"></a><tt class="py-lineno"> 127</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-19', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"cd "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">)</tt> </tt>
+<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+<a name="L130"></a><tt class="py-lineno"> 130</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-20', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to create ONOS handle"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno"> 134</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-21', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-22', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-23', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-24', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-25', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-26', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-27', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno"> 140</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-28', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-29', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.disconnect"></a><div id="OnosDriver.disconnect-def"><a name="L143"></a><tt class="py-lineno"> 143</tt> <a class="py-toggle" href="#" id="OnosDriver.disconnect-toggle" onclick="return toggle('OnosDriver.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#disconnect">disconnect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.disconnect-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.disconnect-expanded"><a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line"><tt class="py-docstring">        Called when Test is complete to disconnect the ONOS handle.</tt> </tt>
+<a name="L146"></a><tt class="py-lineno"> 146</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L147"></a><tt class="py-lineno"> 147</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L148"></a><tt class="py-lineno"> 148</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-30', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-31', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"exit"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L153"></a><tt class="py-lineno"> 153</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"closed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-32', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-33', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno"> 156</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-34', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-35', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-36', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Exception in disconnect of "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> </tt>
+<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L161"></a><tt class="py-lineno"> 161</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-37', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Connection failed to the host"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno"> 162</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+</div><a name="L164"></a><tt class="py-lineno"> 164</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.getEpochMs"></a><div id="OnosDriver.getEpochMs-def"><a name="L165"></a><tt class="py-lineno"> 165</tt> <a class="py-toggle" href="#" id="OnosDriver.getEpochMs-toggle" onclick="return toggle('OnosDriver.getEpochMs');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getEpochMs">getEpochMs</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.getEpochMs-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.getEpochMs-expanded"><a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line"><tt class="py-docstring">        Returns milliseconds since epoch</tt> </tt>
+<a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L169"></a><tt class="py-lineno"> 169</tt>  <tt class="py-line"><tt class="py-docstring">        When checking multiple nodes in a for loop,</tt> </tt>
+<a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line"><tt class="py-docstring">        around a hundred milliseconds of difference (ascending) is</tt> </tt>
+<a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line"><tt class="py-docstring">        generally acceptable due to calltime of the function.</tt> </tt>
+<a name="L172"></a><tt class="py-lineno"> 172</tt>  <tt class="py-line"><tt class="py-docstring">        Few seconds, however, is not and it means clocks</tt> </tt>
+<a name="L173"></a><tt class="py-lineno"> 173</tt>  <tt class="py-line"><tt class="py-docstring">        are off sync.</tt> </tt>
+<a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L176"></a><tt class="py-lineno"> 176</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-38', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">'date +%s.%N'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">'date \+\%s\.\%N'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">'\$'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line">            <tt class="py-name">epochMs</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L180"></a><tt class="py-lineno"> 180</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">epochMs</tt> </tt>
+<a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-39', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">'Uncaught exception getting epoch time'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-40', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-41', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L185"></a><tt class="py-lineno"> 185</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.onosPackage"></a><div id="OnosDriver.onosPackage-def"><a name="L186"></a><tt class="py-lineno"> 186</tt> <a class="py-toggle" href="#" id="OnosDriver.onosPackage-toggle" onclick="return toggle('OnosDriver.onosPackage');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage">onosPackage</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">opTimeout</tt><tt class="py-op">=</tt><tt class="py-number">30</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.onosPackage-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.onosPackage-expanded"><a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line"><tt class="py-docstring">        Produce a self-contained tar.gz file that can be deployed</tt> </tt>
+<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line"><tt class="py-docstring">        and executed on any platform with Java 7 JRE.</tt> </tt>
+<a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L191"></a><tt class="py-lineno"> 191</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-42', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onos-package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"onos-package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"tar.gz"</tt><tt class="py-op">,</tt> <tt class="py-name">opTimeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno"> 195</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L196"></a><tt class="py-lineno"> 196</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-43', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"onos-package command returned: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L197"></a><tt class="py-lineno"> 197</tt>  <tt class="py-line">                           <tt class="py-name">handle</tt> <tt class="py-op">)</tt> </tt>
+<a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line">            <tt class="py-comment"># As long as the sendline does not time out,</tt> </tt>
+<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line">            <tt class="py-comment"># return true. However, be careful to interpret</tt> </tt>
+<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line">            <tt class="py-comment"># the results of the onos-package command return</tt> </tt>
+<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line"> </tt>
+<a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L204"></a><tt class="py-lineno"> 204</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-44', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-45', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno"> 205</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-46', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-47', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L207"></a><tt class="py-lineno"> 207</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-48', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to package ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-49', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-50', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.onosBuild"></a><div id="OnosDriver.onosBuild-def"><a name="L211"></a><tt class="py-lineno"> 211</tt> <a class="py-toggle" href="#" id="OnosDriver.onosBuild-toggle" onclick="return toggle('OnosDriver.onosBuild');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosBuild">onosBuild</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.onosBuild-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.onosBuild-expanded"><a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line"><tt class="py-docstring">        Use the pre defined script to build onos via mvn</tt> </tt>
+<a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L216"></a><tt class="py-lineno"> 216</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-51', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onos-build"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L217"></a><tt class="py-lineno"> 217</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"onos-build"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L218"></a><tt class="py-lineno"> 218</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line">                <tt class="py-string">"BUILD SUCCESS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line">                <tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> </tt>
+<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line">                <tt class="py-string">"BUILD FAILED"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line"> </tt>
+<a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-52', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"onos-build command returned: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L226"></a><tt class="py-lineno"> 226</tt>  <tt class="py-line">                           <tt class="py-name">handle</tt> <tt class="py-op">)</tt> </tt>
+<a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line"> </tt>
+<a name="L228"></a><tt class="py-lineno"> 228</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L229"></a><tt class="py-lineno"> 229</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L232"></a><tt class="py-lineno"> 232</tt>  <tt class="py-line"> </tt>
+<a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L234"></a><tt class="py-lineno"> 234</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-53', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-54', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-55', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-56', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-57', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to build ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-58', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-59', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.cleanInstall"></a><div id="OnosDriver.cleanInstall-def"><a name="L241"></a><tt class="py-lineno"> 241</tt> <a class="py-toggle" href="#" id="OnosDriver.cleanInstall-toggle" onclick="return toggle('OnosDriver.cleanInstall');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cleanInstall">cleanInstall</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">skipTest</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-param">mciTimeout</tt><tt class="py-op">=</tt><tt class="py-number">600</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.cleanInstall-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.cleanInstall-expanded"><a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line"><tt class="py-docstring">        Runs mvn clean install in the root of the ONOS directory.</tt> </tt>
+<a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line"><tt class="py-docstring">        This will clean all ONOS artifacts then compile each module</tt> </tt>
+<a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line"><tt class="py-docstring">            skipTest - Does "-DskipTests -Dcheckstyle.skip -U -T 1C" which</tt> </tt>
+<a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line"><tt class="py-docstring">                       skip the test. This will make the building faster.</tt> </tt>
+<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line"><tt class="py-docstring">                       Disregarding the credibility of the build</tt> </tt>
+<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line"><tt class="py-docstring">        Returns: main.TRUE on success</tt> </tt>
+<a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line"><tt class="py-docstring">        On Failure, exits the test</tt> </tt>
+<a name="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-60', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Running 'mvn clean install' on "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line">                           <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line">                           <tt class="py-string">". This may take some time."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-61', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"cd "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">)</tt> </tt>
+<a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line"> </tt>
+<a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-62', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line"> </tt>
+<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">skipTest</tt><tt class="py-op">:</tt> </tt>
+<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-63', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"mvn clean install"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mvn clean install"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L265"></a><tt class="py-lineno"> 265</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-64', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"mvn clean install -DskipTests"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line">                                      <tt class="py-string">" -Dcheckstyle.skip -U -T 1C"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mvn clean install -DskipTests"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line">                                      <tt class="py-string">" -Dcheckstyle.skip -U -T 1C"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L272"></a><tt class="py-lineno"> 272</tt>  <tt class="py-line">                    <tt class="py-string">'There\sis\sinsufficient\smemory\sfor\sthe\sJava\s'</tt> <tt class="py-op">+</tt> </tt>
+<a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line">                    <tt class="py-string">'Runtime\sEnvironment\sto\scontinue'</tt><tt class="py-op">,</tt> </tt>
+<a name="L274"></a><tt class="py-lineno"> 274</tt>  <tt class="py-line">                    <tt class="py-string">'BUILD\sFAILURE'</tt><tt class="py-op">,</tt> </tt>
+<a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line">                    <tt class="py-string">'BUILD\sSUCCESS'</tt><tt class="py-op">,</tt> </tt>
+<a name="L276"></a><tt class="py-lineno"> 276</tt>  <tt class="py-line">                    <tt class="py-string">'onos\$'</tt><tt class="py-op">,</tt>  <tt class="py-comment">#TODO: fix this to be more generic?</tt> </tt>
+<a name="L277"></a><tt class="py-lineno"> 277</tt>  <tt class="py-line">                    <tt class="py-string">'ONOS\$'</tt><tt class="py-op">,</tt> </tt>
+<a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line">                    <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">mciTimeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L280"></a><tt class="py-lineno"> 280</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-65', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-66', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":There is insufficient memory \</tt> </tt>
+<a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line"><tt class="py-string">                            for the Java Runtime Environment to continue."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">                    <tt class="py-comment"># return main.FALSE</tt> </tt>
+<a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-67', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-68', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-69', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-70', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Build failure!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line">                    <tt class="py-comment"># return main.FALSE</tt> </tt>
+<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-71', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-72', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-73', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Build success!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt> <tt class="py-keyword">or</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-74', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Build complete"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line">                    <tt class="py-comment"># Print the build time</tt> </tt>
+<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-string">"Total time:"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-75', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> </tt>
+<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-76', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">5</tt><tt class="py-op">:</tt> </tt>
+<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-77', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-78', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line">                        <tt class="py-string">": mvn clean install TIMEOUT!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line">                    <tt class="py-comment"># return main.FALSE</tt> </tt>
+<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-79', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-80', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L309"></a><tt class="py-lineno"> 309</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-81', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-82', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": unexpected response from "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L310"></a><tt class="py-lineno"> 310</tt>  <tt class="py-line">                                    <tt class="py-string">"mvn clean install"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line">                    <tt class="py-comment"># return main.FALSE</tt> </tt>
+<a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-83', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-84', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L314"></a><tt class="py-lineno"> 314</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L315"></a><tt class="py-lineno"> 315</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-85', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-86', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-87', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-88', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L317"></a><tt class="py-lineno"> 317</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-89', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L318"></a><tt class="py-lineno"> 318</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-90', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L319"></a><tt class="py-lineno"> 319</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L320"></a><tt class="py-lineno"> 320</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-91', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-92', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L322"></a><tt class="py-lineno"> 322</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-93', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.gitPull"></a><div id="OnosDriver.gitPull-def"><a name="L324"></a><tt class="py-lineno"> 324</tt> <a class="py-toggle" href="#" id="OnosDriver.gitPull-toggle" onclick="return toggle('OnosDriver.gitPull');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull">gitPull</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">comp1</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-param">fastForward</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.gitPull-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.gitPull-expanded"><a name="L325"></a><tt class="py-lineno"> 325</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line"><tt class="py-docstring">        Assumes that "git pull" works without login</tt> </tt>
+<a name="L327"></a><tt class="py-lineno"> 327</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line"><tt class="py-docstring">        If the fastForward boolean is set to true, only git pulls that can</tt> </tt>
+<a name="L329"></a><tt class="py-lineno"> 329</tt>  <tt class="py-line"><tt class="py-docstring">        be fast forwarded will be performed. IE if you have not local commits</tt> </tt>
+<a name="L330"></a><tt class="py-lineno"> 330</tt>  <tt class="py-line"><tt class="py-docstring">        in your branch.</tt> </tt>
+<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L332"></a><tt class="py-lineno"> 332</tt>  <tt class="py-line"><tt class="py-docstring">        This function will perform a git pull on the ONOS instance.</tt> </tt>
+<a name="L333"></a><tt class="py-lineno"> 333</tt>  <tt class="py-line"><tt class="py-docstring">        If used as gitPull( "NODE" ) it will do git pull + NODE. This is</tt> </tt>
+<a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line"><tt class="py-docstring">        for the purpose of pulling from other nodes if necessary.</tt> </tt>
+<a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line"><tt class="py-docstring">        Otherwise, this function will perform a git pull in the</tt> </tt>
+<a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line"><tt class="py-docstring">        ONOS repository. If it has any problems, it will return main.ERROR</tt> </tt>
+<a name="L338"></a><tt class="py-lineno"> 338</tt>  <tt class="py-line"><tt class="py-docstring">        If it successfully does a gitPull, it will return a 1 ( main.TRUE )</tt> </tt>
+<a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line"><tt class="py-docstring">        If it has no updates, it will return 3.</tt> </tt>
+<a name="L340"></a><tt class="py-lineno"> 340</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L341"></a><tt class="py-lineno"> 341</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line">            <tt class="py-comment"># main.log.info( self.name + ": Stopping ONOS" )</tt> </tt>
+<a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line">            <tt class="py-comment"># self.stop()</tt> </tt>
+<a name="L345"></a><tt class="py-lineno"> 345</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-94', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"cd "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">)</tt> </tt>
+<a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"git pull"</tt> </tt>
+<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">comp1</tt> <tt class="py-op">!=</tt> <tt class="py-string">""</tt><tt class="py-op">:</tt> </tt>
+<a name="L349"></a><tt class="py-lineno"> 349</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">' '</tt> <tt class="py-op">+</tt>  <tt class="py-name">comp1</tt> </tt>
+<a name="L350"></a><tt class="py-lineno"> 350</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">fastForward</tt><tt class="py-op">:</tt> </tt>
+<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">' '</tt> <tt class="py-op">+</tt> <tt class="py-string">" --ff-only"</tt> </tt>
+<a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-95', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L353"></a><tt class="py-lineno"> 353</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> </tt>
+<a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line">                <tt class="py-op">[</tt> </tt>
+<a name="L355"></a><tt class="py-lineno"> 355</tt>  <tt class="py-line">                    <tt class="py-string">'fatal'</tt><tt class="py-op">,</tt> </tt>
+<a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line">                    <tt class="py-string">'Username\sfor\s(.*):\s'</tt><tt class="py-op">,</tt> </tt>
+<a name="L357"></a><tt class="py-lineno"> 357</tt>  <tt class="py-line">                    <tt class="py-string">'\sfile(s*) changed,\s'</tt><tt class="py-op">,</tt> </tt>
+<a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line">                    <tt class="py-string">'Already up-to-date'</tt><tt class="py-op">,</tt> </tt>
+<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line">                    <tt class="py-string">'Aborting'</tt><tt class="py-op">,</tt> </tt>
+<a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line">                    <tt class="py-string">'You\sare\snot\scurrently\son\sa\sbranch'</tt><tt class="py-op">,</tt> </tt>
+<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line">                    <tt class="py-string">'You asked me to pull without telling me which branch you'</tt><tt class="py-op">,</tt> </tt>
+<a name="L362"></a><tt class="py-lineno"> 362</tt>  <tt class="py-line">                    <tt class="py-string">'Pull is not possible because you have unmerged files'</tt><tt class="py-op">,</tt> </tt>
+<a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line">                    <tt class="py-string">'Please enter a commit message to explain why this merge'</tt><tt class="py-op">,</tt> </tt>
+<a name="L364"></a><tt class="py-lineno"> 364</tt>  <tt class="py-line">                    <tt class="py-string">'Found a swap file by the name'</tt><tt class="py-op">,</tt> </tt>
+<a name="L365"></a><tt class="py-lineno"> 365</tt>  <tt class="py-line">                    <tt class="py-string">'Please, commit your changes before you can merge.'</tt><tt class="py-op">,</tt> </tt>
+<a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line">                    <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L367"></a><tt class="py-lineno"> 367</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">300</tt> <tt class="py-op">)</tt> </tt>
+<a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line">            <tt class="py-comment"># debug</tt> </tt>
+<a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line">            <tt class="py-comment"># main.log.report( self.name +": DEBUG:  \n"+</tt> </tt>
+<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line">            <tt class="py-comment"># "git pull response: " +</tt> </tt>
+<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line">            <tt class="py-comment"># str( self.handle.before ) + str( self.handle.after ) )</tt> </tt>
+<a name="L372"></a><tt class="py-lineno"> 372</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L373"></a><tt class="py-lineno"> 373</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-96', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-97', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Git pull had some issue"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line">                <tt id="link-98" class="py-name" targets="Function TestON.bin.cli.output()=TestON.bin.cli-module.html#output"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-98', 'output', 'link-98');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">after</tt> </tt>
+<a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">'\$'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L376"></a><tt class="py-lineno"> 376</tt>  <tt class="py-line">                <tt id="link-99" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-99', 'output', 'link-98');">output</a></tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-100', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt id="link-101" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-101', 'output', 'link-98');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-102', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-103', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L381"></a><tt class="py-lineno"> 381</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L382"></a><tt class="py-lineno"> 382</tt>  <tt class="py-line">                    <tt class="py-string">": Git Pull Asking for username. "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L383"></a><tt class="py-lineno"> 383</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L384"></a><tt class="py-lineno"> 384</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L385"></a><tt class="py-lineno"> 385</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-104', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L386"></a><tt class="py-lineno"> 386</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line">                    <tt class="py-string">": Git Pull - pulling repository now"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> <tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line">            <tt class="py-comment"># So that only when git pull is done, we do mvn clean compile</tt> </tt>
+<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L391"></a><tt class="py-lineno"> 391</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L392"></a><tt class="py-lineno"> 392</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-105', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Git Pull - Already up to date"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">i</tt> </tt>
+<a name="L394"></a><tt class="py-lineno"> 394</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L395"></a><tt class="py-lineno"> 395</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-106', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L396"></a><tt class="py-lineno"> 396</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line">                    <tt class="py-string">": Git Pull - Aborting..."</tt> <tt class="py-op">+</tt> </tt>
+<a name="L398"></a><tt class="py-lineno"> 398</tt>  <tt class="py-line">                    <tt class="py-string">"Are there conflicting git files?"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L399"></a><tt class="py-lineno"> 399</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">5</tt><tt class="py-op">:</tt> </tt>
+<a name="L401"></a><tt class="py-lineno"> 401</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-107', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L402"></a><tt class="py-lineno"> 402</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line">                    <tt class="py-string">": Git Pull - You are not currently "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L404"></a><tt class="py-lineno"> 404</tt>  <tt class="py-line">                    <tt class="py-string">"on a branch so git pull failed!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L405"></a><tt class="py-lineno"> 405</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L406"></a><tt class="py-lineno"> 406</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">6</tt><tt class="py-op">:</tt> </tt>
+<a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-108', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L408"></a><tt class="py-lineno"> 408</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L409"></a><tt class="py-lineno"> 409</tt>  <tt class="py-line">                    <tt class="py-string">": Git Pull - You have not configured an upstream "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L410"></a><tt class="py-lineno"> 410</tt>  <tt class="py-line">                    <tt class="py-string">"branch to pull from. Git pull failed!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L411"></a><tt class="py-lineno"> 411</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">7</tt><tt class="py-op">:</tt> </tt>
+<a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-109', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line">                    <tt class="py-string">": Git Pull - Pull is not possible because "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line">                    <tt class="py-string">"you have unmerged files."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L418"></a><tt class="py-lineno"> 418</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">8</tt><tt class="py-op">:</tt> </tt>
+<a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line">                <tt class="py-comment"># NOTE: abandoning test since we can't reliably handle this</tt> </tt>
+<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line">                <tt class="py-comment">#       there could be different default text editors and we</tt> </tt>
+<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line">                <tt class="py-comment">#       also don't know if we actually want to make the commit</tt> </tt>
+<a name="L422"></a><tt class="py-lineno"> 422</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-110', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-111', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Git pull resulted in a merge commit message"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line">                                <tt class="py-string">". Exiting test!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-112', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L425"></a><tt class="py-lineno"> 425</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-113', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">9</tt><tt class="py-op">:</tt>  <tt class="py-comment"># Merge commit message but swap file exists</tt> </tt>
+<a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-114', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-115', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Git pull resulted in a merge commit message"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L428"></a><tt class="py-lineno"> 428</tt>  <tt class="py-line">                                <tt class="py-string">" but a swap file exists."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#send"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-116', 'send', 'link-116');">send</a></tt><tt class="py-op">(</tt> <tt class="py-string">'A'</tt> <tt class="py-op">)</tt>  <tt class="py-comment"># Abort</tt> </tt>
+<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-117', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Couldn't exit editor prompt!"</tt><tt class="py-op">)</tt> </tt>
+<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-118', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L436"></a><tt class="py-lineno"> 436</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-119', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">10</tt><tt class="py-op">:</tt>  <tt class="py-comment"># In the middle of a merge commit</tt> </tt>
+<a name="L438"></a><tt class="py-lineno"> 438</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-120', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-121', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Git branch is in the middle of a merge. "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L439"></a><tt class="py-lineno"> 439</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-122', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">after</tt> <tt class="py-op">)</tt> </tt>
+<a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">11</tt><tt class="py-op">:</tt> </tt>
+<a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-123', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-124', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Git Pull - TIMEOUT"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-125', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-126', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L444"></a><tt class="py-lineno"> 444</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" Response was: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L446"></a><tt class="py-lineno"> 446</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L447"></a><tt class="py-lineno"> 447</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L448"></a><tt class="py-lineno"> 448</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-127', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-128', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line">                    <tt class="py-string">": Git Pull - Unexpected response, check for pull errors"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L451"></a><tt class="py-lineno"> 451</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L452"></a><tt class="py-lineno"> 452</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L453"></a><tt class="py-lineno"> 453</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-129', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-130', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-131', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-132', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-133', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L456"></a><tt class="py-lineno"> 456</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-134', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-135', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-136', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-137', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L461"></a><tt class="py-lineno"> 461</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.gitCheckout"></a><div id="OnosDriver.gitCheckout-def"><a name="L462"></a><tt class="py-lineno"> 462</tt> <a class="py-toggle" href="#" id="OnosDriver.gitCheckout-toggle" onclick="return toggle('OnosDriver.gitCheckout');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitCheckout">gitCheckout</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">branch</tt><tt class="py-op">=</tt><tt class="py-string">"master"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.gitCheckout-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.gitCheckout-expanded"><a name="L463"></a><tt class="py-lineno"> 463</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L464"></a><tt class="py-lineno"> 464</tt>  <tt class="py-line"><tt class="py-docstring">        Assumes that "git pull" works without login</tt> </tt>
+<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L466"></a><tt class="py-lineno"> 466</tt>  <tt class="py-line"><tt class="py-docstring">        This function will perform a git git checkout on the ONOS instance.</tt> </tt>
+<a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line"><tt class="py-docstring">        If used as gitCheckout( "branch" ) it will do git checkout</tt> </tt>
+<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line"><tt class="py-docstring">        of the "branch".</tt> </tt>
+<a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line"><tt class="py-docstring">        Otherwise, this function will perform a git checkout of the master</tt> </tt>
+<a name="L471"></a><tt class="py-lineno"> 471</tt>  <tt class="py-line"><tt class="py-docstring">        branch of the ONOS repository. If it has any problems, it will return</tt> </tt>
+<a name="L472"></a><tt class="py-lineno"> 472</tt>  <tt class="py-line"><tt class="py-docstring">        main.ERROR.</tt> </tt>
+<a name="L473"></a><tt class="py-lineno"> 473</tt>  <tt class="py-line"><tt class="py-docstring">        If the branch was already the specified branch, or the git checkout was</tt> </tt>
+<a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line"><tt class="py-docstring">        successful then the function will return main.TRUE.</tt> </tt>
+<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L476"></a><tt class="py-lineno"> 476</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L478"></a><tt class="py-lineno"> 478</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-138', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"cd "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">)</tt> </tt>
+<a name="L479"></a><tt class="py-lineno"> 479</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-139', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L481"></a><tt class="py-lineno"> 481</tt>  <tt class="py-line">                           <tt class="py-string">": Checking out git branch/ref: "</tt> <tt class="py-op">+</tt> <tt class="py-name">branch</tt> <tt class="py-op">+</tt> <tt class="py-string">"..."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"git checkout "</tt> <tt class="py-op">+</tt> <tt class="py-name">branch</tt> </tt>
+<a name="L483"></a><tt class="py-lineno"> 483</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-140', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L485"></a><tt class="py-lineno"> 485</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> </tt>
+<a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line">                <tt class="py-op">[</tt> <tt class="py-string">'fatal'</tt><tt class="py-op">,</tt> </tt>
+<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line">                  <tt class="py-string">'Username for (.*): '</tt><tt class="py-op">,</tt> </tt>
+<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line">                  <tt class="py-string">'Already on \''</tt><tt class="py-op">,</tt> </tt>
+<a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line">                  <tt class="py-string">'Switched to (a new )?branch \''</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">branch</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L490"></a><tt class="py-lineno"> 490</tt>  <tt class="py-line">                  <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">,</tt> </tt>
+<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line">                  <tt class="py-string">'error: Your local changes to the following files'</tt> <tt class="py-op">+</tt> </tt>
+<a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line">                  <tt class="py-string">'would be overwritten by checkout:'</tt><tt class="py-op">,</tt> </tt>
+<a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line">                  <tt class="py-string">'error: you need to resolve your current index first'</tt><tt class="py-op">,</tt> </tt>
+<a name="L494"></a><tt class="py-lineno"> 494</tt>  <tt class="py-line">                  <tt class="py-string">"You are in 'detached HEAD' state."</tt><tt class="py-op">,</tt> </tt>
+<a name="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line">                  <tt class="py-string">"HEAD is now at "</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L497"></a><tt class="py-lineno"> 497</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-141', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-142', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line">                    <tt class="py-string">": Git checkout had some issue..."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-143', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-144', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L504"></a><tt class="py-lineno"> 504</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-145', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-146', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line">                    <tt class="py-string">": Git checkout asking for username."</tt> <tt class="py-op">+</tt> </tt>
+<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line">                    <tt class="py-string">" Please configure your local git repository to be able "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line">                    <tt class="py-string">"to access your remote repository passwordlessly"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L509"></a><tt class="py-lineno"> 509</tt>  <tt class="py-line">                <tt class="py-comment"># TODO add support for authenticating</tt> </tt>
+<a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L512"></a><tt class="py-lineno"> 512</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-147', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line">                    <tt class="py-string">": Git Checkout %s : Already on this branch"</tt> <tt class="py-op">%</tt> <tt class="py-name">branch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line">                <tt class="py-comment"># main.log.info( "DEBUG: after checkout cmd = "+</tt> </tt>
+<a name="L517"></a><tt class="py-lineno"> 517</tt>  <tt class="py-line">                <tt class="py-comment"># self.handle.before )</tt> </tt>
+<a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L519"></a><tt class="py-lineno"> 519</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L520"></a><tt class="py-lineno"> 520</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-148', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L521"></a><tt class="py-lineno"> 521</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L522"></a><tt class="py-lineno"> 522</tt>  <tt class="py-line">                    <tt class="py-string">": Git checkout %s - Switched to this branch"</tt> <tt class="py-op">%</tt> <tt class="py-name">branch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line">                <tt class="py-comment"># main.log.info( "DEBUG: after checkout cmd = "+</tt> </tt>
+<a name="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line">                <tt class="py-comment"># self.handle.before )</tt> </tt>
+<a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L527"></a><tt class="py-lineno"> 527</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-149', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-150', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Git Checkout- TIMEOUT"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-151', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-152', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L530"></a><tt class="py-lineno"> 530</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" Response was: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L532"></a><tt class="py-lineno"> 532</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">5</tt><tt class="py-op">:</tt> </tt>
+<a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"Aborting"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L534"></a><tt class="py-lineno"> 534</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-153', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-154', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L535"></a><tt class="py-lineno"> 535</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line">                    <tt class="py-string">": Git checkout error: \n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L537"></a><tt class="py-lineno"> 537</tt>  <tt class="py-line">                    <tt class="py-string">"Your local changes to the following files would"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line">                    <tt class="py-string">" be overwritten by checkout:"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L542"></a><tt class="py-lineno"> 542</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">6</tt><tt class="py-op">:</tt> </tt>
+<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-155', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-156', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line">                    <tt class="py-string">": Git checkout error: \n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line">                    <tt class="py-string">"You need to resolve your current index first:"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">7</tt><tt class="py-op">:</tt> </tt>
+<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-157', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line">                    <tt class="py-string">": Git checkout "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">branch</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">                    <tt class="py-string">" - You are in 'detached HEAD' state. HEAD is now at "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">branch</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">8</tt><tt class="py-op">:</tt>  <tt class="py-comment"># Already in detached HEAD on the specified commit</tt> </tt>
+<a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-158', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line">                    <tt class="py-string">": Git Checkout %s : Already on commit"</tt> <tt class="py-op">%</tt> <tt class="py-name">branch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-159', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-160', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line">                    <tt class="py-string">": Git Checkout - Unexpected response, "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line">                    <tt class="py-string">"check for pull errors"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-161', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-162', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L570"></a><tt class="py-lineno"> 570</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line"> </tt>
+<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-163', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-164', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-165', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-166', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-167', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-168', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-169', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-170', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L580"></a><tt class="py-lineno"> 580</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-171', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.getBranchName"></a><div id="OnosDriver.getBranchName-def"><a name="L582"></a><tt class="py-lineno"> 582</tt> <a class="py-toggle" href="#" id="OnosDriver.getBranchName-toggle" onclick="return toggle('OnosDriver.getBranchName');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getBranchName">getBranchName</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.getBranchName-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.getBranchName-expanded"><a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-172', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"self.home = "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-173', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">)</tt> </tt>
+<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-174', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"cd "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">)</tt> </tt>
+<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-175', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"git name-rev --name-only HEAD"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"git name-rev --name-only HEAD"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line"> </tt>
+<a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line">        <tt class="py-name">lines</tt> <tt class="py-op">=</tt>  <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">lines</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"master"</tt><tt class="py-op">:</tt> </tt>
+<a name="L593"></a><tt class="py-lineno"> 593</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-string">"master"</tt> </tt>
+<a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">lines</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"onos-1.0"</tt><tt class="py-op">:</tt> </tt>
+<a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-string">"onos-1.0"</tt> </tt>
+<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-176', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">lines</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-string">"unexpected ONOS branch for SDN-IP test"</tt> </tt>
+</div><a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.getVersion"></a><div id="OnosDriver.getVersion-def"><a name="L600"></a><tt class="py-lineno"> 600</tt> <a class="py-toggle" href="#" id="OnosDriver.getVersion-toggle" onclick="return toggle('OnosDriver.getVersion');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getVersion">getVersion</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">report</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.getVersion-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.getVersion-expanded"><a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line"><tt class="py-docstring">        Writes the COMMIT number to the report to be parsed</tt> </tt>
+<a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line"><tt class="py-docstring">                by Jenkins data collector.</tt> </tt>
+<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-177', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-178', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line">                <tt class="py-string">"cd "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L610"></a><tt class="py-lineno"> 610</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> </tt>
+<a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line">                <tt class="py-string">"; git log -1 --pretty=fuller --decorate=short | grep -A 6 "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L612"></a><tt class="py-lineno"> 612</tt>  <tt class="py-line">                <tt class="py-string">" \"commit\" --color=never"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: for some reason there are backspaces inserted in this</tt> </tt>
+<a name="L614"></a><tt class="py-lineno"> 614</tt>  <tt class="py-line">            <tt class="py-comment"># phrase when run from Jenkins on some tests</tt> </tt>
+<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"never"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L616"></a><tt class="py-lineno"> 616</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": \n"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">after</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-179', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"cd "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">)</tt> </tt>
+<a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line">            <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-name">response</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">lines</tt><tt class="py-op">:</tt> </tt>
+<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-name">line</tt> </tt>
+<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">report</tt><tt class="py-op">:</tt> </tt>
+<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-180', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-string">"&lt;blockquote&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">lines</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L627"></a><tt class="py-lineno"> 627</tt>  <tt class="py-line">                    <tt class="py-comment"># Bracket replacement is for Wiki-compliant</tt> </tt>
+<a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line">                    <tt class="py-comment"># formatting. '&lt;' or '&gt;' are interpreted</tt> </tt>
+<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line">                    <tt class="py-comment"># as xml specific tags that cause errors</tt> </tt>
+<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line">                    <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"&lt;"</tt><tt class="py-op">,</tt> <tt class="py-string">"["</tt> <tt class="py-op">)</tt> </tt>
+<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line">                    <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"&gt;"</tt><tt class="py-op">,</tt> <tt class="py-string">"]"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line">                    <tt class="py-comment">#main.log.wiki( "\t" + line )</tt> </tt>
+<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-181', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-name">line</tt> <tt class="py-op">+</tt> <tt class="py-string">"&lt;br /&gt; "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L634"></a><tt class="py-lineno"> 634</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-182', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-183" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.summary()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#summary"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.summary" class="py-name" href="#" onclick="return doclink('link-183', 'summary', 'link-183');">summary</a></tt><tt class="py-op">(</tt> <tt class="py-name">line</tt> <tt class="py-op">)</tt> </tt>
+<a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-184', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt> <tt class="py-string">"&lt;/blockquote&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-185', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.summary" class="py-name" href="#" onclick="return doclink('link-186', 'summary', 'link-183');">summary</a></tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">lines</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt> <tt class="py-op">]</tt> </tt>
+<a name="L638"></a><tt class="py-lineno"> 638</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-187', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-188', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-189', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-190', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-191', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-192', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">:</tt> </tt>
+<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-193', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-194', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": TIMEOUT exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-195', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-196', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-197', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-198', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-199', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-200', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-201', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.createCellFile"></a><div id="OnosDriver.createCellFile-def"><a name="L653"></a><tt class="py-lineno"> 653</tt> <a class="py-toggle" href="#" id="OnosDriver.createCellFile-toggle" onclick="return toggle('OnosDriver.createCellFile');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile">createCellFile</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">benchIp</tt><tt class="py-op">,</tt> <tt class="py-param">fileName</tt><tt class="py-op">,</tt> <tt class="py-param">mnIpAddrs</tt><tt class="py-op">,</tt> </tt>
+<a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line">                        <tt class="py-param">appString</tt><tt class="py-op">,</tt> <tt class="py-param">onosIpAddrs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.createCellFile-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.createCellFile-expanded"><a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line"><tt class="py-docstring">        Creates a cell file based on arguments</tt> </tt>
+<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line"><tt class="py-docstring">            * Bench IP address ( benchIp )</tt> </tt>
+<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line"><tt class="py-docstring">                - Needed to copy the cell file over</tt> </tt>
+<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line"><tt class="py-docstring">            * File name of the cell file ( fileName )</tt> </tt>
+<a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line"><tt class="py-docstring">            * Mininet IP address ( mnIpAddrs )</tt> </tt>
+<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line"><tt class="py-docstring">                - Note that only 1 ip address is</tt> </tt>
+<a name="L663"></a><tt class="py-lineno"> 663</tt>  <tt class="py-line"><tt class="py-docstring">                  supported currently</tt> </tt>
+<a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line"><tt class="py-docstring">            * ONOS IP addresses ( onosIpAddrs )</tt> </tt>
+<a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line"><tt class="py-docstring">                - Must be passed in as last arguments</tt> </tt>
+<a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: Assumes cells are located at:</tt> </tt>
+<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line"><tt class="py-docstring">            ~/&lt;self.home&gt;/tools/test/cells/</tt> </tt>
+<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line">        <tt class="py-comment"># Variable initialization</tt> </tt>
+<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line">        <tt class="py-name">cellDirectory</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> <tt class="py-string">"/tools/test/cells/"</tt> </tt>
+<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line">        <tt class="py-comment"># We want to create the cell file in the dependencies directory</tt> </tt>
+<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line">        <tt class="py-comment"># of TestON first, then copy over to ONOS bench</tt> </tt>
+<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line">        <tt class="py-name">tempDirectory</tt> <tt class="py-op">=</tt> <tt class="py-string">"/tmp/"</tt> </tt>
+<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line">        <tt class="py-comment"># Create the cell file in the directory for writing ( w+ )</tt> </tt>
+<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line">        <tt class="py-name">cellFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt> <tt class="py-name">tempDirectory</tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt><tt class="py-op">,</tt> <tt class="py-string">'w+'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">onosIpAddrs</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line">            <tt class="py-name">onosIpAddrs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">onosIpAddrs</tt> <tt class="py-op">]</tt> </tt>
+<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line"> </tt>
+<a name="L680"></a><tt class="py-lineno"> 680</tt>  <tt class="py-line">        <tt class="py-comment"># App string is hardcoded environment variables</tt> </tt>
+<a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line">        <tt class="py-comment"># That you may wish to use by default on startup.</tt> </tt>
+<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line">        <tt class="py-comment"># Note that you  may not want certain apps listed</tt> </tt>
+<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line">        <tt class="py-comment"># on here.</tt> </tt>
+<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line">        <tt class="py-name">appString</tt> <tt class="py-op">=</tt> <tt class="py-string">"export ONOS_APPS="</tt> <tt class="py-op">+</tt> <tt class="py-name">appString</tt> </tt>
+<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line">        <tt class="py-name">mnString</tt> <tt class="py-op">=</tt> <tt class="py-string">"export OCN="</tt> </tt>
+<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">mnIpAddrs</tt> <tt class="py-op">==</tt> <tt class="py-string">""</tt><tt class="py-op">:</tt> </tt>
+<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line">            <tt class="py-name">mnString</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">        <tt class="py-name">onosString</tt> <tt class="py-op">=</tt> <tt class="py-string">"export OC"</tt> </tt>
+<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line">        <tt class="py-name">tempCount</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line"> </tt>
+<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line">        <tt class="py-comment"># Create ONOSNIC ip address prefix</tt> </tt>
+<a name="L692"></a><tt class="py-lineno"> 692</tt>  <tt class="py-line">        <tt class="py-name">tempOnosIp</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosIpAddrs</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">        <tt class="py-name">tempList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line">        <tt class="py-name">tempList</tt> <tt class="py-op">=</tt> <tt class="py-name">tempOnosIp</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line">        <tt class="py-comment"># Omit last element of list to format for NIC</tt> </tt>
+<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line">        <tt class="py-name">tempList</tt> <tt class="py-op">=</tt> <tt class="py-name">tempList</tt><tt class="py-op">[</tt> <tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line">        <tt class="py-comment"># Structure the nic string ip</tt> </tt>
+<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line">        <tt class="py-name">nicAddr</tt> <tt class="py-op">=</tt> <tt class="py-string">"."</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt> <tt class="py-name">tempList</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">".*"</tt> </tt>
+<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line">        <tt class="py-name">onosNicString</tt> <tt class="py-op">=</tt> <tt class="py-string">"export ONOS_NIC="</tt> <tt class="py-op">+</tt> <tt class="py-name">nicAddr</tt> </tt>
+<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line"> </tt>
+<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line">            <tt class="py-comment"># Start writing to file</tt> </tt>
+<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line">            <tt class="py-name">cellFile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt> <tt class="py-name">onosNicString</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line"> </tt>
+<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosIpAddrs</tt><tt class="py-op">:</tt> </tt>
+<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line">                <tt class="py-comment"># For each argument in onosIpAddrs, write to file</tt> </tt>
+<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line">                <tt class="py-comment"># Output should look like the following:</tt> </tt>
+<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line">                <tt class="py-comment">#   export OC1="10.128.20.11"</tt> </tt>
+<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line">                <tt class="py-comment">#   export OC2="10.128.20.12"</tt> </tt>
+<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line">                <tt class="py-name">cellFile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt> <tt class="py-name">onosString</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tempCount</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line">                                <tt class="py-string">"="</tt> <tt class="py-op">+</tt> <tt class="py-string">"\""</tt> <tt class="py-op">+</tt> <tt class="py-name">arg</tt> <tt class="py-op">+</tt> <tt class="py-string">"\""</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line">                <tt class="py-name">tempCount</tt> <tt class="py-op">=</tt> <tt class="py-name">tempCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line"> </tt>
+<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line">            <tt class="py-name">cellFile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt> <tt class="py-name">mnString</tt> <tt class="py-op">+</tt> <tt class="py-string">"\""</tt> <tt class="py-op">+</tt> <tt class="py-name">mnIpAddrs</tt> <tt class="py-op">+</tt> <tt class="py-string">"\""</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line">            <tt class="py-name">cellFile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt> <tt class="py-name">appString</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line">            <tt class="py-name">cellFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line"> </tt>
+<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line">            <tt class="py-comment"># We use os.system to send the command to TestON cluster</tt> </tt>
+<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line">            <tt class="py-comment"># to account for the case in which TestON is not located</tt> </tt>
+<a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line">            <tt class="py-comment"># on the same cluster as the ONOS bench</tt> </tt>
+<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line">            <tt class="py-comment"># Note that even if TestON is located on the same cluster</tt> </tt>
+<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">            <tt class="py-comment"># as ONOS bench, you must setup passwordless ssh</tt> </tt>
+<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line">            <tt class="py-comment"># between TestON and ONOS bench in order to automate the test.</tt> </tt>
+<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">system</tt><tt class="py-op">(</tt> <tt class="py-string">"scp "</tt> <tt class="py-op">+</tt> <tt class="py-name">tempDirectory</tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line">                       <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">+</tt> <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">cellDirectory</tt> <tt class="py-op">)</tt> </tt>
+<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line"> </tt>
+<a name="L727"></a><tt class="py-lineno"> 727</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line"> </tt>
+<a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-202', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-203', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-204" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-204', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-205" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-205', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-206', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-207', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-208', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-209', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-210" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-210', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.setCell"></a><div id="OnosDriver.setCell-def"><a name="L739"></a><tt class="py-lineno"> 739</tt> <a class="py-toggle" href="#" id="OnosDriver.setCell-toggle" onclick="return toggle('OnosDriver.setCell');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell">setCell</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">cellname</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.setCell-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.setCell-expanded"><a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line"><tt class="py-docstring">        Calls 'cell &lt;name&gt;' to set the environment variables on ONOSbench</tt> </tt>
+<a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">cellname</tt><tt class="py-op">:</tt> </tt>
+<a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-211" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-211', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-212', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Must define cellname"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-213', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-214', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-215', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"cell "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">cellname</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line">                <tt class="py-comment"># Expect the cellname in the ONOSCELL variable.</tt> </tt>
+<a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line">                <tt class="py-comment"># Note that this variable name is subject to change</tt> </tt>
+<a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line">                <tt class="py-comment">#   and that this driver will have to change accordingly</tt> </tt>
+<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">cellname</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line">                <tt class="py-name">handleBefore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line">                <tt class="py-name">handleAfter</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">after</tt> </tt>
+<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line">                <tt class="py-comment"># Get the rest of the handle</tt> </tt>
+<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-216', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">"\$"</tt><tt class="py-op">)</tt> </tt>
+<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line">                <tt class="py-name">handleMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line"> </tt>
+<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line">                <tt class="py-name">cell_result</tt> <tt class="py-op">=</tt> <tt class="py-name">handleBefore</tt> <tt class="py-op">+</tt> <tt class="py-name">handleAfter</tt> <tt class="py-op">+</tt> <tt class="py-name">handleMore</tt> </tt>
+<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-name">cell_result</tt> </tt>
+<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt><tt class="py-op">(</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"No such cell"</tt><tt class="py-op">,</tt> <tt class="py-name">cell_result</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-217', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-218', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cell call returned: "</tt> <tt class="py-op">+</tt> <tt class="py-name">handleBefore</tt> <tt class="py-op">+</tt> </tt>
+<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line">                               <tt class="py-name">handleAfter</tt> <tt class="py-op">+</tt> <tt class="py-name">handleMore</tt> <tt class="py-op">)</tt> </tt>
+<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-219', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-220', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L769"></a><tt class="py-lineno"> 769</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L770"></a><tt class="py-lineno"> 770</tt>  <tt class="py-line"> </tt>
+<a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-221', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-222', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-223" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-223', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-224" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-224', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-225" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-225', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-226', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-227', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-228', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-229', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.verifyCell"></a><div id="OnosDriver.verifyCell-def"><a name="L781"></a><tt class="py-lineno"> 781</tt> <a class="py-toggle" href="#" id="OnosDriver.verifyCell-toggle" onclick="return toggle('OnosDriver.verifyCell');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifyCell">verifyCell</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.verifyCell-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.verifyCell-expanded"><a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line"><tt class="py-docstring">        Calls 'onos-verify-cell' to check for cell installation</tt> </tt>
+<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Add meaningful expect value</tt> </tt>
+<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line"> </tt>
+<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line">            <tt class="py-comment"># Clean handle by sending empty and expecting $</tt> </tt>
+<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-230" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-230', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-231" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-231', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onos-verify-cell"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line">            <tt class="py-name">handleBefore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line">            <tt class="py-name">handleAfter</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">after</tt> </tt>
+<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">            <tt class="py-comment"># Get the rest of the handle</tt> </tt>
+<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-232" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-232', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line">            <tt class="py-name">handleMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line"> </tt>
+<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-233', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Verify cell returned: "</tt> <tt class="py-op">+</tt> <tt class="py-name">handleBefore</tt> <tt class="py-op">+</tt> </tt>
+<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">                           <tt class="py-name">handleAfter</tt> <tt class="py-op">+</tt> <tt class="py-name">handleMore</tt> <tt class="py-op">)</tt> </tt>
+<a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line"> </tt>
+<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">ExceptionPexpect</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-234" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-234', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-235', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Pexpect exception found of type "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-236" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-236', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-237', 'error', 'link-12');">error</a></tt> <tt class="py-op">(</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">get_trace</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-238', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-239" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-239', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-240" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-240', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-241" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-241', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-242', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-243', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-244', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.onosCfgSet"></a><div id="OnosDriver.onosCfgSet-def"><a name="L816"></a><tt class="py-lineno"> 816</tt> <a class="py-toggle" href="#" id="OnosDriver.onosCfgSet-toggle" onclick="return toggle('OnosDriver.onosCfgSet');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosCfgSet">onosCfgSet</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ONOSIp</tt><tt class="py-op">,</tt> <tt class="py-param">configName</tt><tt class="py-op">,</tt> <tt class="py-param">configParam</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.onosCfgSet-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.onosCfgSet-expanded"><a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line"><tt class="py-docstring">        Uses 'onos &lt;node-ip&gt; cfg set' to change a parameter value of an</tt> </tt>
+<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line"><tt class="py-docstring">        application.</tt> </tt>
+<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line"><tt class="py-docstring">        ex)</tt> </tt>
+<a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line"><tt class="py-docstring">            onos 10.0.0.1 cfg set org.onosproject.myapp appSetting 1</tt> </tt>
+<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line"><tt class="py-docstring">        ONOSIp = '10.0.0.1'</tt> </tt>
+<a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line"><tt class="py-docstring">        configName = 'org.onosproject.myapp'</tt> </tt>
+<a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line"><tt class="py-docstring">        configParam = 'appSetting 1'</tt> </tt>
+<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L829"></a><tt class="py-lineno"> 829</tt>  <tt class="py-line">                <tt class="py-name">cfgStr</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-string">"onos "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">" cfg set "</tt><tt class="py-op">+</tt> </tt>
+<a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line">                           <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">configName</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line">                           <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">configParam</tt><tt class="py-op">)</tt> </tt>
+<a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line">                         <tt class="py-op">)</tt> </tt>
+<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line"> </tt>
+<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-245" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-245', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">":~"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-246" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-246', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cfgStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">"cfg set"</tt><tt class="py-op">)</tt> </tt>
+<a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">":~"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line"> </tt>
+<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line">                <tt class="py-name">paramValue</tt> <tt class="py-op">=</tt> <tt class="py-name">configParam</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line">                <tt class="py-name">paramName</tt> <tt class="py-op">=</tt> <tt class="py-name">configParam</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line"> </tt>
+<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line">                <tt class="py-name">checkStr</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-string">"onos "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">""" cfg get " """</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">configName</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">paramName</tt> <tt class="py-op">+</tt> <tt class="py-string">""" " """</tt><tt class="py-op">)</tt> </tt>
+<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line"> </tt>
+<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-247" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-247', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">checkStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">":~"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line"> </tt>
+<a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-string">"value="</tt> <tt class="py-op">+</tt> <tt class="py-name">paramValue</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt><tt class="py-op">:</tt> </tt>
+<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-248', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"cfg "</tt> <tt class="py-op">+</tt> <tt class="py-name">configName</tt> <tt class="py-op">+</tt> <tt class="py-string">" successfully set to "</tt> <tt class="py-op">+</tt> <tt class="py-name">configParam</tt><tt class="py-op">)</tt> </tt>
+<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line"> </tt>
+<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">ExceptionPexpect</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-249" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-249', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-250" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-250', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Pexpect exception found of type "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-251" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-251', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-252" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-252', 'error', 'link-12');">error</a></tt> <tt class="py-op">(</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">get_trace</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L856"></a><tt class="py-lineno"> 856</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-253" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-253', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-254" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-254', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-255" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-255', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-256" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-256', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-257" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-257', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-258" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-258', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-259" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-259', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line"> </tt>
+<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line"> </tt>
+<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-260" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-260', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-261" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-261', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"CFG SET FAILURE: "</tt> <tt class="py-op">+</tt> <tt class="py-name">configName</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">configParam</tt> <tt class="py-op">)</tt> </tt>
+<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-262', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 cfg get"</tt><tt class="py-op">)</tt> </tt>
+<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">"\$"</tt><tt class="py-op">)</tt> </tt>
+<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-263" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.logReport()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#logReport"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-263', 'logReport', 'link-263');">logReport</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt><tt class="py-string">"WARN"</tt><tt class="py-op">,</tt><tt class="py-string">"EXCEPT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"d"</tt><tt class="py-op">)</tt> </tt>
+<a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line"> </tt>
+<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.onosCli"></a><div id="OnosDriver.onosCli-def"><a name="L874"></a><tt class="py-lineno"> 874</tt> <a class="py-toggle" href="#" id="OnosDriver.onosCli-toggle" onclick="return toggle('OnosDriver.onosCli');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosCli">onosCli</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ONOSIp</tt><tt class="py-op">,</tt> <tt class="py-param">cmdstr</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.onosCli-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.onosCli-expanded"><a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L876"></a><tt class="py-lineno"> 876</tt>  <tt class="py-line"><tt class="py-docstring">        Uses 'onos' command to send various ONOS CLI arguments.</tt> </tt>
+<a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line"><tt class="py-docstring">            * ONOSIp: specify the ip of the cell machine</tt> </tt>
+<a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line"><tt class="py-docstring">            * cmdstr: specify the command string to send</tt> </tt>
+<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line"><tt class="py-docstring">        This function is intended to expose the entire karaf</tt> </tt>
+<a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line"><tt class="py-docstring">        CLI commands for ONOS. Try to use this function first</tt> </tt>
+<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line"><tt class="py-docstring">        before attempting to write a ONOS CLI specific driver</tt> </tt>
+<a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line"><tt class="py-docstring">        function.</tt> </tt>
+<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line"><tt class="py-docstring">        You can see a list of available 'cmdstr' arguments</tt> </tt>
+<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line"><tt class="py-docstring">        by starting onos, and typing in 'onos' to enter the</tt> </tt>
+<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line"><tt class="py-docstring">        onos&gt; CLI. Then, type 'help' to see the list of</tt> </tt>
+<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line"><tt class="py-docstring">        available commands.</tt> </tt>
+<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">:</tt> </tt>
+<a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-264" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-264', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-265" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-265', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"You must specify the IP address"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">cmdstr</tt><tt class="py-op">:</tt> </tt>
+<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-266" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-266', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-267" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-267', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"You must specify the command string"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line"> </tt>
+<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line">            <tt class="py-name">cmdstr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">cmdstr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-268" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-268', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line"> </tt>
+<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-269" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-269', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onos -w "</tt> <tt class="py-op">+</tt> <tt class="py-name">ONOSIp</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">cmdstr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line"> </tt>
+<a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line">            <tt class="py-name">handleBefore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L906"></a><tt class="py-lineno"> 906</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"handle_before = "</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line">            <tt class="py-comment"># handleAfter = str( self.handle.after )</tt> </tt>
+<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line"> </tt>
+<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.sendline( "" )</tt> </tt>
+<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "\$" )</tt> </tt>
+<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line">            <tt class="py-comment"># handleMore = str( self.handle.before )</tt> </tt>
+<a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line"> </tt>
+<a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-270" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-270', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Command sent successfully"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line"> </tt>
+<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line">            <tt class="py-comment"># Obtain return handle that consists of result from</tt> </tt>
+<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line">            <tt class="py-comment"># the onos command. The string may need to be</tt> </tt>
+<a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line">            <tt class="py-comment"># configured further.</tt> </tt>
+<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line">            <tt class="py-comment"># returnString = handleBefore + handleAfter</tt> </tt>
+<a name="L919"></a><tt class="py-lineno"> 919</tt>  <tt class="py-line">            <tt class="py-name">returnString</tt> <tt class="py-op">=</tt> <tt class="py-name">handleBefore</tt> </tt>
+<a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"return_string = "</tt><tt class="py-op">,</tt> <tt class="py-name">returnString</tt> </tt>
+<a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">returnString</tt> </tt>
+<a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line"> </tt>
+<a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-271" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-271', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-272" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-272', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-273" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-273', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-274" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-274', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-275" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-275', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-276" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-276', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-277" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-277', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-278" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-278', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-279" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-279', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.onosInstall"></a><div id="OnosDriver.onosInstall-def"><a name="L933"></a><tt class="py-lineno"> 933</tt> <a class="py-toggle" href="#" id="OnosDriver.onosInstall-toggle" onclick="return toggle('OnosDriver.onosInstall');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall">onosInstall</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-string">"-f"</tt><tt class="py-op">,</tt> <tt class="py-param">node</tt><tt class="py-op">=</tt><tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.onosInstall-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.onosInstall-expanded"><a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L935"></a><tt class="py-lineno"> 935</tt>  <tt class="py-line"><tt class="py-docstring">        Installs ONOS bits on the designated cell machine.</tt> </tt>
+<a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line"><tt class="py-docstring">        If -f option is provided, it also forces an uninstall.</tt> </tt>
+<a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line"><tt class="py-docstring">        Presently, install also includes onos-push-bits and</tt> </tt>
+<a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line"><tt class="py-docstring">        onos-config within.</tt> </tt>
+<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line"><tt class="py-docstring">        The node option allows you to selectively only push the jar</tt> </tt>
+<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line"><tt class="py-docstring">        files to certain onos nodes</tt> </tt>
+<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line"><tt class="py-docstring">        Returns: main.TRUE on success and main.FALSE on failure</tt> </tt>
+<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-280" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-280', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onos-install "</tt> <tt class="py-op">+</tt> <tt class="py-name">options</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt> <tt class="py-op">)</tt> </tt>
+<a name="L947"></a><tt class="py-lineno"> 947</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-281" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-281', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onos-install "</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt> <tt class="py-op">)</tt> </tt>
+<a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"onos-install "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: this timeout may need to change depending on the network</tt> </tt>
+<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line">            <tt class="py-comment"># and size of ONOS</tt> </tt>
+<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"Network\sis\sunreachable"</tt><tt class="py-op">,</tt> </tt>
+<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line">                                      <tt class="py-string">"onos\sstart/running,\sprocess"</tt><tt class="py-op">,</tt> </tt>
+<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line">                                      <tt class="py-string">"ONOS\sis\salready\sinstalled"</tt><tt class="py-op">,</tt> </tt>
+<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line">                                      <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line"> </tt>
+<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-282', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Network is unreachable"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-283" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-283', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line">                    <tt class="py-string">"ONOS was installed on "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L963"></a><tt class="py-lineno"> 963</tt>  <tt class="py-line">                    <tt class="py-name">node</tt> <tt class="py-op">+</tt> </tt>
+<a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line">                    <tt class="py-string">" and started"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-284" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-284', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS is already installed on "</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt> <tt class="py-op">)</tt> </tt>
+<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L969"></a><tt class="py-lineno"> 969</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-285" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-285', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line">                    <tt class="py-string">"Installation of ONOS on "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line">                    <tt class="py-name">node</tt> <tt class="py-op">+</tt> </tt>
+<a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line">                    <tt class="py-string">" timed out"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line"> </tt>
+<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-286" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-286', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-287" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-287', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-288', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-289" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-289', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-290" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-290', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-291" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-291', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-292', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-293" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-293', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-294" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-294', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.onosStart"></a><div id="OnosDriver.onosStart-def"><a name="L986"></a><tt class="py-lineno"> 986</tt> <a class="py-toggle" href="#" id="OnosDriver.onosStart-toggle" onclick="return toggle('OnosDriver.onosStart');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStart">onosStart</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nodeIp</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.onosStart-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.onosStart-expanded"><a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line"><tt class="py-docstring">        Calls onos command: 'onos-service [&lt;node-ip&gt;] start'</tt> </tt>
+<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line"><tt class="py-docstring">        This command is a remote management of the ONOS upstart daemon</tt> </tt>
+<a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-295" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-295', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-296" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-296', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onos-service "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">nodeIp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line">                                  <tt class="py-string">" start"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line">                <tt class="py-string">"Job\sis\salready\srunning"</tt><tt class="py-op">,</tt> </tt>
+<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line">                <tt class="py-string">"start/running"</tt><tt class="py-op">,</tt> </tt>
+<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line">                <tt class="py-string">"Unknown\sinstance"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line">                <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line"> </tt>
+<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-297" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-297', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Service is already running"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-298" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-298', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS service started"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1008"></a><tt class="py-lineno">1008</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-299" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-299', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-300" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-300', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS service failed to start"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-301" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-301', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-302" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-302', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-303" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-303', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-304" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-304', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-305" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-305', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-306" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-306', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-307', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-308" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-308', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1017"></a><tt class="py-lineno">1017</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-309" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-309', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-310" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-310', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-311" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-311', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.onosStop"></a><div id="OnosDriver.onosStop-def"><a name="L1022"></a><tt class="py-lineno">1022</tt> <a class="py-toggle" href="#" id="OnosDriver.onosStop-toggle" onclick="return toggle('OnosDriver.onosStop');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStop">onosStop</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nodeIp</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.onosStop-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.onosStop-expanded"><a name="L1023"></a><tt class="py-lineno">1023</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1024"></a><tt class="py-lineno">1024</tt>  <tt class="py-line"><tt class="py-docstring">        Calls onos command: 'onos-service [&lt;node-ip&gt;] stop'</tt> </tt>
+<a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line"><tt class="py-docstring">        This command is a remote management of the ONOS upstart daemon</tt> </tt>
+<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-312" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-312', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-313" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-313', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onos-service "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">nodeIp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line">                                  <tt class="py-string">" stop"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line">                <tt class="py-string">"stop/waiting"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line">                <tt class="py-string">"Could not resolve hostname"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1035"></a><tt class="py-lineno">1035</tt>  <tt class="py-line">                <tt class="py-string">"Unknown\sinstance"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line">                <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line"> </tt>
+<a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-314" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-314', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS service stopped"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-315" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-315', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"onosStop() Unknown ONOS instance specified: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">nodeIp</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1044"></a><tt class="py-lineno">1044</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1045"></a><tt class="py-lineno">1045</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-316" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-316', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS wasn't running"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-317" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-317', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-318" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-318', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS service failed to stop"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1051"></a><tt class="py-lineno">1051</tt>  <tt class="py-line"> </tt>
+<a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1053"></a><tt class="py-lineno">1053</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-319" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-319', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-320" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-320', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-321" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-321', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-322', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-323" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-323', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-324" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-324', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-325" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-325', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-326" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-326', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1060"></a><tt class="py-lineno">1060</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-327" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-327', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.onosUninstall"></a><div id="OnosDriver.onosUninstall-def"><a name="L1062"></a><tt class="py-lineno">1062</tt> <a class="py-toggle" href="#" id="OnosDriver.onosUninstall-toggle" onclick="return toggle('OnosDriver.onosUninstall');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosUninstall">onosUninstall</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nodeIp</tt><tt class="py-op">=</tt><tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.onosUninstall-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.onosUninstall-expanded"><a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line"><tt class="py-docstring">        Calls the command: 'onos-uninstall'</tt> </tt>
+<a name="L1065"></a><tt class="py-lineno">1065</tt>  <tt class="py-line"><tt class="py-docstring">        Uninstalls ONOS from the designated cell machine, stopping</tt> </tt>
+<a name="L1066"></a><tt class="py-lineno">1066</tt>  <tt class="py-line"><tt class="py-docstring">        if needed</tt> </tt>
+<a name="L1067"></a><tt class="py-lineno">1067</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1068"></a><tt class="py-lineno">1068</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1069"></a><tt class="py-lineno">1069</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-328" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-328', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1070"></a><tt class="py-lineno">1070</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1071"></a><tt class="py-lineno">1071</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-329" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-329', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onos-uninstall "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">nodeIp</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1072"></a><tt class="py-lineno">1072</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1073"></a><tt class="py-lineno">1073</tt>  <tt class="py-line"> </tt>
+<a name="L1074"></a><tt class="py-lineno">1074</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-330" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-330', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">nodeIp</tt> <tt class="py-op">+</tt> <tt class="py-string">" was uninstalled"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line"> </tt>
+<a name="L1076"></a><tt class="py-lineno">1076</tt>  <tt class="py-line">            <tt class="py-comment"># onos-uninstall command does not return any text</tt> </tt>
+<a name="L1077"></a><tt class="py-lineno">1077</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line"> </tt>
+<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">:</tt> </tt>
+<a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-331" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-331', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Timeout in onosUninstall"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1081"></a><tt class="py-lineno">1081</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-332" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-332', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-333" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-333', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-334" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-334', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-335" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-335', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-336" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-336', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-337" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-337', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1087"></a><tt class="py-lineno">1087</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-338" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-338', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-339" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-339', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1090"></a><tt class="py-lineno">1090</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-340" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-340', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1091"></a><tt class="py-lineno">1091</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.onosDie"></a><div id="OnosDriver.onosDie-def"><a name="L1092"></a><tt class="py-lineno">1092</tt> <a class="py-toggle" href="#" id="OnosDriver.onosDie-toggle" onclick="return toggle('OnosDriver.onosDie');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosDie">onosDie</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nodeIp</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.onosDie-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.onosDie-expanded"><a name="L1093"></a><tt class="py-lineno">1093</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1094"></a><tt class="py-lineno">1094</tt>  <tt class="py-line"><tt class="py-docstring">        Issues the command 'onos-die &lt;node-ip&gt;'</tt> </tt>
+<a name="L1095"></a><tt class="py-lineno">1095</tt>  <tt class="py-line"><tt class="py-docstring">        This command calls onos-kill and also stops the node</tt> </tt>
+<a name="L1096"></a><tt class="py-lineno">1096</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1097"></a><tt class="py-lineno">1097</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1098"></a><tt class="py-lineno">1098</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-341" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-341', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1099"></a><tt class="py-lineno">1099</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1100"></a><tt class="py-lineno">1100</tt>  <tt class="py-line">            <tt class="py-name">cmdStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos-kill "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">nodeIp</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1101"></a><tt class="py-lineno">1101</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-342" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-342', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmdStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1102"></a><tt class="py-lineno">1102</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L1103"></a><tt class="py-lineno">1103</tt>  <tt class="py-line">                <tt class="py-string">"Killing\sONOS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1104"></a><tt class="py-lineno">1104</tt>  <tt class="py-line">                <tt class="py-string">"ONOS\sprocess\sis\snot\srunning"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1105"></a><tt class="py-lineno">1105</tt>  <tt class="py-line">                <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">20</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1106"></a><tt class="py-lineno">1106</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L1107"></a><tt class="py-lineno">1107</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-343" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-343', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS instance "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">nodeIp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1108"></a><tt class="py-lineno">1108</tt>  <tt class="py-line">                               <tt class="py-string">" was killed and stopped"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1109"></a><tt class="py-lineno">1109</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1110"></a><tt class="py-lineno">1110</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1111"></a><tt class="py-lineno">1111</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-344" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-344', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS process was not running"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1112"></a><tt class="py-lineno">1112</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1113"></a><tt class="py-lineno">1113</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1114"></a><tt class="py-lineno">1114</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-345" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-345', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-346" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-346', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1115"></a><tt class="py-lineno">1115</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-347" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-347', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-348" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-348', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1116"></a><tt class="py-lineno">1116</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-349" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-349', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1117"></a><tt class="py-lineno">1117</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-350" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-350', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1118"></a><tt class="py-lineno">1118</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1119"></a><tt class="py-lineno">1119</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-351" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-351', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1120"></a><tt class="py-lineno">1120</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-352" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-352', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1121"></a><tt class="py-lineno">1121</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-353" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-353', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1122"></a><tt class="py-lineno">1122</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.onosKill"></a><div id="OnosDriver.onosKill-def"><a name="L1123"></a><tt class="py-lineno">1123</tt> <a class="py-toggle" href="#" id="OnosDriver.onosKill-toggle" onclick="return toggle('OnosDriver.onosKill');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosKill">onosKill</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nodeIp</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.onosKill-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.onosKill-expanded"><a name="L1124"></a><tt class="py-lineno">1124</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1125"></a><tt class="py-lineno">1125</tt>  <tt class="py-line"><tt class="py-docstring">        Calls the command: 'onos-kill [&lt;node-ip&gt;]'</tt> </tt>
+<a name="L1126"></a><tt class="py-lineno">1126</tt>  <tt class="py-line"><tt class="py-docstring">        "Remotely, and unceremoniously kills the ONOS instance running on</tt> </tt>
+<a name="L1127"></a><tt class="py-lineno">1127</tt>  <tt class="py-line"><tt class="py-docstring">        the specified cell machine" - Tom V</tt> </tt>
+<a name="L1128"></a><tt class="py-lineno">1128</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1129"></a><tt class="py-lineno">1129</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1130"></a><tt class="py-lineno">1130</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-354" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-354', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1131"></a><tt class="py-lineno">1131</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1132"></a><tt class="py-lineno">1132</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-355" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-355', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onos-kill "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">nodeIp</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1133"></a><tt class="py-lineno">1133</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L1134"></a><tt class="py-lineno">1134</tt>  <tt class="py-line">                <tt class="py-string">"\$"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1135"></a><tt class="py-lineno">1135</tt>  <tt class="py-line">                <tt class="py-string">"No\sroute\sto\shost"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1136"></a><tt class="py-lineno">1136</tt>  <tt class="py-line">                <tt class="py-string">"password:"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1137"></a><tt class="py-lineno">1137</tt>  <tt class="py-line">                <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">20</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1138"></a><tt class="py-lineno">1138</tt>  <tt class="py-line"> </tt>
+<a name="L1139"></a><tt class="py-lineno">1139</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L1140"></a><tt class="py-lineno">1140</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-356" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-356', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L1141"></a><tt class="py-lineno">1141</tt>  <tt class="py-line">                    <tt class="py-string">"ONOS instance "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L1142"></a><tt class="py-lineno">1142</tt>  <tt class="py-line">                        <tt class="py-name">nodeIp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" was killed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1143"></a><tt class="py-lineno">1143</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1144"></a><tt class="py-lineno">1144</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1145"></a><tt class="py-lineno">1145</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-357" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-357', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"No route to host"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1146"></a><tt class="py-lineno">1146</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1147"></a><tt class="py-lineno">1147</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L1148"></a><tt class="py-lineno">1148</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-358" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-358', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L1149"></a><tt class="py-lineno">1149</tt>  <tt class="py-line">                    <tt class="py-string">"Passwordless login for host: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1150"></a><tt class="py-lineno">1150</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">nodeIp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1151"></a><tt class="py-lineno">1151</tt>  <tt class="py-line">                    <tt class="py-string">" not configured"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1152"></a><tt class="py-lineno">1152</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1153"></a><tt class="py-lineno">1153</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1154"></a><tt class="py-lineno">1154</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-359" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-359', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS instance was not killed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1155"></a><tt class="py-lineno">1155</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1156"></a><tt class="py-lineno">1156</tt>  <tt class="py-line"> </tt>
+<a name="L1157"></a><tt class="py-lineno">1157</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1158"></a><tt class="py-lineno">1158</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-360" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-360', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-361" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-361', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1159"></a><tt class="py-lineno">1159</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-362" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-362', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-363" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-363', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1160"></a><tt class="py-lineno">1160</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-364" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-364', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1161"></a><tt class="py-lineno">1161</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-365" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-365', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1162"></a><tt class="py-lineno">1162</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1163"></a><tt class="py-lineno">1163</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-366" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-366', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1164"></a><tt class="py-lineno">1164</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-367" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-367', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1165"></a><tt class="py-lineno">1165</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-368" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-368', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1166"></a><tt class="py-lineno">1166</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.onosRemoveRaftLogs"></a><div id="OnosDriver.onosRemoveRaftLogs-def"><a name="L1167"></a><tt class="py-lineno">1167</tt> <a class="py-toggle" href="#" id="OnosDriver.onosRemoveRaftLogs-toggle" onclick="return toggle('OnosDriver.onosRemoveRaftLogs');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosRemoveRaftLogs">onosRemoveRaftLogs</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.onosRemoveRaftLogs-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.onosRemoveRaftLogs-expanded"><a name="L1168"></a><tt class="py-lineno">1168</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1169"></a><tt class="py-lineno">1169</tt>  <tt class="py-line"><tt class="py-docstring">        Removes Raft / Copy cat files from ONOS to ensure</tt> </tt>
+<a name="L1170"></a><tt class="py-lineno">1170</tt>  <tt class="py-line"><tt class="py-docstring">        a cleaner environment.</tt> </tt>
+<a name="L1171"></a><tt class="py-lineno">1171</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1172"></a><tt class="py-lineno">1172</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1173"></a><tt class="py-lineno">1173</tt>  <tt class="py-line"><tt class="py-docstring">            Stops all ONOS defined in the cell,</tt> </tt>
+<a name="L1174"></a><tt class="py-lineno">1174</tt>  <tt class="py-line"><tt class="py-docstring">            wipes the raft / copycat log files</tt> </tt>
+<a name="L1175"></a><tt class="py-lineno">1175</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1176"></a><tt class="py-lineno">1176</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1177"></a><tt class="py-lineno">1177</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-369" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-369', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1178"></a><tt class="py-lineno">1178</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1179"></a><tt class="py-lineno">1179</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-370" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-370', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onos-remove-raft-logs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1180"></a><tt class="py-lineno">1180</tt>  <tt class="py-line">            <tt class="py-comment"># Sometimes this command hangs</tt> </tt>
+<a name="L1181"></a><tt class="py-lineno">1181</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1182"></a><tt class="py-lineno">1182</tt>  <tt class="py-line">                                    <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1183"></a><tt class="py-lineno">1183</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1184"></a><tt class="py-lineno">1184</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1185"></a><tt class="py-lineno">1185</tt>  <tt class="py-line">                                        <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1186"></a><tt class="py-lineno">1186</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1187"></a><tt class="py-lineno">1187</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1188"></a><tt class="py-lineno">1188</tt>  <tt class="py-line">            <tt class="py-comment">#self.handle.sendline( "" )</tt> </tt>
+<a name="L1189"></a><tt class="py-lineno">1189</tt>  <tt class="py-line">            <tt class="py-comment">#self.handle.expect( "\$" )</tt> </tt>
+<a name="L1190"></a><tt class="py-lineno">1190</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1191"></a><tt class="py-lineno">1191</tt>  <tt class="py-line"> </tt>
+<a name="L1192"></a><tt class="py-lineno">1192</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1193"></a><tt class="py-lineno">1193</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-371" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-371', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-372" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-372', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1194"></a><tt class="py-lineno">1194</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-373" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-373', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-374" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-374', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1195"></a><tt class="py-lineno">1195</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-375" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-375', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1196"></a><tt class="py-lineno">1196</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-376" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-376', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1197"></a><tt class="py-lineno">1197</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1198"></a><tt class="py-lineno">1198</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-377" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-377', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1199"></a><tt class="py-lineno">1199</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-378" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-378', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1200"></a><tt class="py-lineno">1200</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-379" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-379', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1201"></a><tt class="py-lineno">1201</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.onosStartNetwork"></a><div id="OnosDriver.onosStartNetwork-def"><a name="L1202"></a><tt class="py-lineno">1202</tt> <a class="py-toggle" href="#" id="OnosDriver.onosStartNetwork-toggle" onclick="return toggle('OnosDriver.onosStartNetwork');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStartNetwork">onosStartNetwork</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">mntopo</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.onosStartNetwork-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.onosStartNetwork-expanded"><a name="L1203"></a><tt class="py-lineno">1203</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1204"></a><tt class="py-lineno">1204</tt>  <tt class="py-line"><tt class="py-docstring">        Calls the command 'onos-start-network [ &lt;mininet-topo&gt; ]</tt> </tt>
+<a name="L1205"></a><tt class="py-lineno">1205</tt>  <tt class="py-line"><tt class="py-docstring">        "remotely starts the specified topology on the cell's</tt> </tt>
+<a name="L1206"></a><tt class="py-lineno">1206</tt>  <tt class="py-line"><tt class="py-docstring">        mininet machine against all controllers configured in the</tt> </tt>
+<a name="L1207"></a><tt class="py-lineno">1207</tt>  <tt class="py-line"><tt class="py-docstring">        cell."</tt> </tt>
+<a name="L1208"></a><tt class="py-lineno">1208</tt>  <tt class="py-line"><tt class="py-docstring">        * Specify mininet topology file name for mntopo</tt> </tt>
+<a name="L1209"></a><tt class="py-lineno">1209</tt>  <tt class="py-line"><tt class="py-docstring">        * Topo files should be placed at:</tt> </tt>
+<a name="L1210"></a><tt class="py-lineno">1210</tt>  <tt class="py-line"><tt class="py-docstring">          ~/&lt;your-onos-directory&gt;/tools/test/topos</tt> </tt>
+<a name="L1211"></a><tt class="py-lineno">1211</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1212"></a><tt class="py-lineno">1212</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: This function will take you to the mininet prompt</tt> </tt>
+<a name="L1213"></a><tt class="py-lineno">1213</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1214"></a><tt class="py-lineno">1214</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1215"></a><tt class="py-lineno">1215</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">mntopo</tt><tt class="py-op">:</tt> </tt>
+<a name="L1216"></a><tt class="py-lineno">1216</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-380" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-380', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-381" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-381', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"You must specify a topo file to execute"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1217"></a><tt class="py-lineno">1217</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1218"></a><tt class="py-lineno">1218</tt>  <tt class="py-line"> </tt>
+<a name="L1219"></a><tt class="py-lineno">1219</tt>  <tt class="py-line">            <tt class="py-name">mntopo</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mntopo</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1220"></a><tt class="py-lineno">1220</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-382" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-382', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1221"></a><tt class="py-lineno">1221</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1222"></a><tt class="py-lineno">1222</tt>  <tt class="py-line"> </tt>
+<a name="L1223"></a><tt class="py-lineno">1223</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-383" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-383', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onos-start-network "</tt> <tt class="py-op">+</tt> <tt class="py-name">mntopo</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1224"></a><tt class="py-lineno">1224</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"mininet&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1225"></a><tt class="py-lineno">1225</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-384" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-384', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Network started, entered mininet prompt"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1226"></a><tt class="py-lineno">1226</tt>  <tt class="py-line"> </tt>
+<a name="L1227"></a><tt class="py-lineno">1227</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: Think about whether return is necessary or not</tt> </tt>
+<a name="L1228"></a><tt class="py-lineno">1228</tt>  <tt class="py-line"> </tt>
+<a name="L1229"></a><tt class="py-lineno">1229</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1230"></a><tt class="py-lineno">1230</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-385" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-385', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-386" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-386', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1231"></a><tt class="py-lineno">1231</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-387" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-387', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-388" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-388', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1232"></a><tt class="py-lineno">1232</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-389" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-389', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1233"></a><tt class="py-lineno">1233</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-390" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-390', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1234"></a><tt class="py-lineno">1234</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1235"></a><tt class="py-lineno">1235</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-391" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-391', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1236"></a><tt class="py-lineno">1236</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-392" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-392', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1237"></a><tt class="py-lineno">1237</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-393" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-393', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1238"></a><tt class="py-lineno">1238</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.isup"></a><div id="OnosDriver.isup-def"><a name="L1239"></a><tt class="py-lineno">1239</tt> <a class="py-toggle" href="#" id="OnosDriver.isup-toggle" onclick="return toggle('OnosDriver.isup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#isup">isup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">node</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">120</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.isup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.isup-expanded"><a name="L1240"></a><tt class="py-lineno">1240</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1241"></a><tt class="py-lineno">1241</tt>  <tt class="py-line"><tt class="py-docstring">        Run's onos-wait-for-start which only returns once ONOS is at run</tt> </tt>
+<a name="L1242"></a><tt class="py-lineno">1242</tt>  <tt class="py-line"><tt class="py-docstring">        level 100(ready for use)</tt> </tt>
+<a name="L1243"></a><tt class="py-lineno">1243</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1244"></a><tt class="py-lineno">1244</tt>  <tt class="py-line"><tt class="py-docstring">        Returns: main.TRUE if ONOS is running and main.FALSE on timeout</tt> </tt>
+<a name="L1245"></a><tt class="py-lineno">1245</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1246"></a><tt class="py-lineno">1246</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1247"></a><tt class="py-lineno">1247</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-394" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-394', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos-wait-for-start "</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1248"></a><tt class="py-lineno">1248</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">"onos-wait-for-start"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1249"></a><tt class="py-lineno">1249</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: this timeout is arbitrary"</tt> </tt>
+<a name="L1250"></a><tt class="py-lineno">1250</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L1251"></a><tt class="py-lineno">1251</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L1252"></a><tt class="py-lineno">1252</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-395" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-395', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt> <tt class="py-op">+</tt> <tt class="py-string">" is up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1253"></a><tt class="py-lineno">1253</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1254"></a><tt class="py-lineno">1254</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1255"></a><tt class="py-lineno">1255</tt>  <tt class="py-line">                <tt class="py-comment"># NOTE: since this function won't return until ONOS is ready,</tt> </tt>
+<a name="L1256"></a><tt class="py-lineno">1256</tt>  <tt class="py-line">                <tt class="py-comment">#   we will kill it on timeout</tt> </tt>
+<a name="L1257"></a><tt class="py-lineno">1257</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-396" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-396', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-397" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-397', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS has not started yet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1258"></a><tt class="py-lineno">1258</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-398" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-398', 'send', 'link-116');">send</a></tt><tt class="py-op">(</tt> <tt class="py-string">"\x03"</tt> <tt class="py-op">)</tt>  <tt class="py-comment"># Control-C</tt> </tt>
+<a name="L1259"></a><tt class="py-lineno">1259</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1260"></a><tt class="py-lineno">1260</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1261"></a><tt class="py-lineno">1261</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1262"></a><tt class="py-lineno">1262</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-399" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-399', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-400" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-400', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1263"></a><tt class="py-lineno">1263</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-401" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-401', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-402" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-402', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1264"></a><tt class="py-lineno">1264</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-403" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-403', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1265"></a><tt class="py-lineno">1265</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-404" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-404', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1266"></a><tt class="py-lineno">1266</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1267"></a><tt class="py-lineno">1267</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-405" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-405', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1268"></a><tt class="py-lineno">1268</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-406" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-406', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1269"></a><tt class="py-lineno">1269</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-407" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-407', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1270"></a><tt class="py-lineno">1270</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.pushTestIntentsShell"></a><div id="OnosDriver.pushTestIntentsShell-def"><a name="L1271"></a><tt class="py-lineno">1271</tt> <a class="py-toggle" href="#" id="OnosDriver.pushTestIntentsShell-toggle" onclick="return toggle('OnosDriver.pushTestIntentsShell');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#pushTestIntentsShell">pushTestIntentsShell</a><tt class="py-op">(</tt> </tt>
+<a name="L1272"></a><tt class="py-lineno">1272</tt>  <tt class="py-line">            <tt class="py-param">self</tt><tt class="py-op">,</tt> </tt>
+<a name="L1273"></a><tt class="py-lineno">1273</tt>  <tt class="py-line">            <tt class="py-param">dpidSrc</tt><tt class="py-op">,</tt> </tt>
+<a name="L1274"></a><tt class="py-lineno">1274</tt>  <tt class="py-line">            <tt class="py-param">dpidDst</tt><tt class="py-op">,</tt> </tt>
+<a name="L1275"></a><tt class="py-lineno">1275</tt>  <tt class="py-line">            <tt class="py-param">numIntents</tt><tt class="py-op">,</tt> </tt>
+<a name="L1276"></a><tt class="py-lineno">1276</tt>  <tt class="py-line">            <tt class="py-param">dirFile</tt><tt class="py-op">,</tt> </tt>
+<a name="L1277"></a><tt class="py-lineno">1277</tt>  <tt class="py-line">            <tt class="py-param">onosIp</tt><tt class="py-op">,</tt> </tt>
+<a name="L1278"></a><tt class="py-lineno">1278</tt>  <tt class="py-line">            <tt class="py-param">numMult</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1279"></a><tt class="py-lineno">1279</tt>  <tt class="py-line">            <tt class="py-param">appId</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1280"></a><tt class="py-lineno">1280</tt>  <tt class="py-line">            <tt class="py-param">report</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1281"></a><tt class="py-lineno">1281</tt>  <tt class="py-line">            <tt class="py-param">options</tt><tt class="py-op">=</tt><tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.pushTestIntentsShell-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.pushTestIntentsShell-expanded"><a name="L1282"></a><tt class="py-lineno">1282</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1283"></a><tt class="py-lineno">1283</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1284"></a><tt class="py-lineno">1284</tt>  <tt class="py-line"><tt class="py-docstring">            Use the linux prompt to push test intents to</tt> </tt>
+<a name="L1285"></a><tt class="py-lineno">1285</tt>  <tt class="py-line"><tt class="py-docstring">            better parallelize the results than the CLI</tt> </tt>
+<a name="L1286"></a><tt class="py-lineno">1286</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L1287"></a><tt class="py-lineno">1287</tt>  <tt class="py-line"><tt class="py-docstring">            * dpidSrc: specify source dpid</tt> </tt>
+<a name="L1288"></a><tt class="py-lineno">1288</tt>  <tt class="py-line"><tt class="py-docstring">            * dpidDst: specify destination dpid</tt> </tt>
+<a name="L1289"></a><tt class="py-lineno">1289</tt>  <tt class="py-line"><tt class="py-docstring">            * numIntents: specify number of intents to push</tt> </tt>
+<a name="L1290"></a><tt class="py-lineno">1290</tt>  <tt class="py-line"><tt class="py-docstring">            * dirFile: specify directory and file name to save</tt> </tt>
+<a name="L1291"></a><tt class="py-lineno">1291</tt>  <tt class="py-line"><tt class="py-docstring">              results</tt> </tt>
+<a name="L1292"></a><tt class="py-lineno">1292</tt>  <tt class="py-line"><tt class="py-docstring">            * onosIp: specify the IP of ONOS to install on</tt> </tt>
+<a name="L1293"></a><tt class="py-lineno">1293</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE:</tt> </tt>
+<a name="L1294"></a><tt class="py-lineno">1294</tt>  <tt class="py-line"><tt class="py-docstring">            You must invoke this command at linux shell prompt</tt> </tt>
+<a name="L1295"></a><tt class="py-lineno">1295</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1296"></a><tt class="py-lineno">1296</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1297"></a><tt class="py-lineno">1297</tt>  <tt class="py-line">            <tt class="py-comment"># Create the string to sendline</tt> </tt>
+<a name="L1298"></a><tt class="py-lineno">1298</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L1299"></a><tt class="py-lineno">1299</tt>  <tt class="py-line">                <tt class="py-name">baseCmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosIp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" push-test-intents "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1300"></a><tt class="py-lineno">1300</tt>  <tt class="py-line">                    <tt class="py-name">options</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L1301"></a><tt class="py-lineno">1301</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1302"></a><tt class="py-lineno">1302</tt>  <tt class="py-line">                <tt class="py-name">baseCmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosIp</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" push-test-intents "</tt> </tt>
+<a name="L1303"></a><tt class="py-lineno">1303</tt>  <tt class="py-line"> </tt>
+<a name="L1304"></a><tt class="py-lineno">1304</tt>  <tt class="py-line">            <tt class="py-name">addDpid</tt> <tt class="py-op">=</tt> <tt class="py-name">baseCmd</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dpidSrc</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dpidDst</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1305"></a><tt class="py-lineno">1305</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">numMult</tt><tt class="py-op">:</tt> </tt>
+<a name="L1306"></a><tt class="py-lineno">1306</tt>  <tt class="py-line">                <tt class="py-name">addIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">addDpid</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">numIntents</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1307"></a><tt class="py-lineno">1307</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">numMult</tt><tt class="py-op">:</tt> </tt>
+<a name="L1308"></a><tt class="py-lineno">1308</tt>  <tt class="py-line">                <tt class="py-name">addIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">addDpid</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">numIntents</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1309"></a><tt class="py-lineno">1309</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">numMult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1310"></a><tt class="py-lineno">1310</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">appId</tt><tt class="py-op">:</tt> </tt>
+<a name="L1311"></a><tt class="py-lineno">1311</tt>  <tt class="py-line">                    <tt class="py-name">addApp</tt> <tt class="py-op">=</tt> <tt class="py-name">addIntents</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">appId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1312"></a><tt class="py-lineno">1312</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1313"></a><tt class="py-lineno">1313</tt>  <tt class="py-line">                    <tt class="py-name">addApp</tt> <tt class="py-op">=</tt> <tt class="py-name">addIntents</tt> </tt>
+<a name="L1314"></a><tt class="py-lineno">1314</tt>  <tt class="py-line"> </tt>
+<a name="L1315"></a><tt class="py-lineno">1315</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">report</tt><tt class="py-op">:</tt> </tt>
+<a name="L1316"></a><tt class="py-lineno">1316</tt>  <tt class="py-line">                <tt class="py-name">sendCmd</tt> <tt class="py-op">=</tt> <tt class="py-name">addApp</tt> <tt class="py-op">+</tt> <tt class="py-string">" &gt; "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dirFile</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" &amp;"</tt> </tt>
+<a name="L1317"></a><tt class="py-lineno">1317</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1318"></a><tt class="py-lineno">1318</tt>  <tt class="py-line">                <tt class="py-name">sendCmd</tt> <tt class="py-op">=</tt> <tt class="py-name">addApp</tt> <tt class="py-op">+</tt> <tt class="py-string">" &amp;"</tt> </tt>
+<a name="L1319"></a><tt class="py-lineno">1319</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-408" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-408', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Send cmd: "</tt> <tt class="py-op">+</tt> <tt class="py-name">sendCmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1320"></a><tt class="py-lineno">1320</tt>  <tt class="py-line"> </tt>
+<a name="L1321"></a><tt class="py-lineno">1321</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-409" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-409', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">sendCmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1322"></a><tt class="py-lineno">1322</tt>  <tt class="py-line"> </tt>
+<a name="L1323"></a><tt class="py-lineno">1323</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1324"></a><tt class="py-lineno">1324</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-410" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-410', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-411" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-411', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1325"></a><tt class="py-lineno">1325</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-412" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-412', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-413" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-413', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1326"></a><tt class="py-lineno">1326</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-414" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-414', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1327"></a><tt class="py-lineno">1327</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-415" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-415', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1328"></a><tt class="py-lineno">1328</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1329"></a><tt class="py-lineno">1329</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-416" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-416', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1330"></a><tt class="py-lineno">1330</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-417" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-417', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1331"></a><tt class="py-lineno">1331</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-418" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-418', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1332"></a><tt class="py-lineno">1332</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.getTopology"></a><div id="OnosDriver.getTopology-def"><a name="L1333"></a><tt class="py-lineno">1333</tt> <a class="py-toggle" href="#" id="OnosDriver.getTopology-toggle" onclick="return toggle('OnosDriver.getTopology');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getTopology">getTopology</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">topologyOutput</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.getTopology-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.getTopology-expanded"><a name="L1334"></a><tt class="py-lineno">1334</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1335"></a><tt class="py-lineno">1335</tt>  <tt class="py-line"><tt class="py-docstring">        Definition:</tt> </tt>
+<a name="L1336"></a><tt class="py-lineno">1336</tt>  <tt class="py-line"><tt class="py-docstring">            Loads a json topology output</tt> </tt>
+<a name="L1337"></a><tt class="py-lineno">1337</tt>  <tt class="py-line"><tt class="py-docstring">        Return:</tt> </tt>
+<a name="L1338"></a><tt class="py-lineno">1338</tt>  <tt class="py-line"><tt class="py-docstring">            topology = current ONOS topology</tt> </tt>
+<a name="L1339"></a><tt class="py-lineno">1339</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1340"></a><tt class="py-lineno">1340</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L1341"></a><tt class="py-lineno">1341</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1342"></a><tt class="py-lineno">1342</tt>  <tt class="py-line">            <tt class="py-comment"># either onos:topology or 'topology' will work in CLI</tt> </tt>
+<a name="L1343"></a><tt class="py-lineno">1343</tt>  <tt class="py-line">            <tt id="link-419" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#topology,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topology"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-419', 'topology', 'link-419');">topology</a></tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">topologyOutput</tt><tt class="py-op">)</tt> </tt>
+<a name="L1344"></a><tt class="py-lineno">1344</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt id="link-420" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-420', 'topology', 'link-419');">topology</a></tt> </tt>
+<a name="L1345"></a><tt class="py-lineno">1345</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-421" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-421', 'topology', 'link-419');">topology</a></tt> </tt>
+<a name="L1346"></a><tt class="py-lineno">1346</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1347"></a><tt class="py-lineno">1347</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-422" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-422', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-423" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-423', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1348"></a><tt class="py-lineno">1348</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-424" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-424', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-425" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-425', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1349"></a><tt class="py-lineno">1349</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-426" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-426', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1350"></a><tt class="py-lineno">1350</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-427" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-427', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1351"></a><tt class="py-lineno">1351</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1352"></a><tt class="py-lineno">1352</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-428" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-428', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1353"></a><tt class="py-lineno">1353</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-429" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-429', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1354"></a><tt class="py-lineno">1354</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-430" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-430', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1355"></a><tt class="py-lineno">1355</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.checkStatus"></a><div id="OnosDriver.checkStatus-def"><a name="L1356"></a><tt class="py-lineno">1356</tt> <a class="py-toggle" href="#" id="OnosDriver.checkStatus-toggle" onclick="return toggle('OnosDriver.checkStatus');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#checkStatus">checkStatus</a><tt class="py-op">(</tt> </tt>
+<a name="L1357"></a><tt class="py-lineno">1357</tt>  <tt class="py-line">            <tt class="py-param">self</tt><tt class="py-op">,</tt> </tt>
+<a name="L1358"></a><tt class="py-lineno">1358</tt>  <tt class="py-line">            <tt class="py-param">topologyResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1359"></a><tt class="py-lineno">1359</tt>  <tt class="py-line">            <tt class="py-param">numoswitch</tt><tt class="py-op">,</tt> </tt>
+<a name="L1360"></a><tt class="py-lineno">1360</tt>  <tt class="py-line">            <tt class="py-param">numolink</tt><tt class="py-op">,</tt> </tt>
+<a name="L1361"></a><tt class="py-lineno">1361</tt>  <tt class="py-line">            <tt class="py-param">logLevel</tt><tt class="py-op">=</tt><tt class="py-string">"info"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.checkStatus-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.checkStatus-expanded"><a name="L1362"></a><tt class="py-lineno">1362</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1363"></a><tt class="py-lineno">1363</tt>  <tt class="py-line"><tt class="py-docstring">        Checks the number of switches &amp; links that ONOS sees against the</tt> </tt>
+<a name="L1364"></a><tt class="py-lineno">1364</tt>  <tt class="py-line"><tt class="py-docstring">        supplied values. By default this will report to main.log, but the</tt> </tt>
+<a name="L1365"></a><tt class="py-lineno">1365</tt>  <tt class="py-line"><tt class="py-docstring">        log level can be specific.</tt> </tt>
+<a name="L1366"></a><tt class="py-lineno">1366</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1367"></a><tt class="py-lineno">1367</tt>  <tt class="py-line"><tt class="py-docstring">        Params: ip = ip used for the onos cli</tt> </tt>
+<a name="L1368"></a><tt class="py-lineno">1368</tt>  <tt class="py-line"><tt class="py-docstring">                numoswitch = expected number of switches</tt> </tt>
+<a name="L1369"></a><tt class="py-lineno">1369</tt>  <tt class="py-line"><tt class="py-docstring">                numolink = expected number of links</tt> </tt>
+<a name="L1370"></a><tt class="py-lineno">1370</tt>  <tt class="py-line"><tt class="py-docstring">                logLevel = level to log to.</tt> </tt>
+<a name="L1371"></a><tt class="py-lineno">1371</tt>  <tt class="py-line"><tt class="py-docstring">                Currently accepts 'info', 'warn' and 'report'</tt> </tt>
+<a name="L1372"></a><tt class="py-lineno">1372</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1373"></a><tt class="py-lineno">1373</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1374"></a><tt class="py-lineno">1374</tt>  <tt class="py-line"><tt class="py-docstring">        logLevel can</tt> </tt>
+<a name="L1375"></a><tt class="py-lineno">1375</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1376"></a><tt class="py-lineno">1376</tt>  <tt class="py-line"><tt class="py-docstring">        Returns: main.TRUE if the number of switches and links are correct,</tt> </tt>
+<a name="L1377"></a><tt class="py-lineno">1377</tt>  <tt class="py-line"><tt class="py-docstring">                 main.FALSE if the number of switches and links is incorrect,</tt> </tt>
+<a name="L1378"></a><tt class="py-lineno">1378</tt>  <tt class="py-line"><tt class="py-docstring">                 and main.ERROR otherwise</tt> </tt>
+<a name="L1379"></a><tt class="py-lineno">1379</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1380"></a><tt class="py-lineno">1380</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1381"></a><tt class="py-lineno">1381</tt>  <tt class="py-line">            <tt id="link-431" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-431', 'topology', 'link-419');">topology</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-432" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.getTopology()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getTopology"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.getTopology" class="py-name" href="#" onclick="return doclink('link-432', 'getTopology', 'link-432');">getTopology</a></tt><tt class="py-op">(</tt> <tt class="py-name">topologyResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1382"></a><tt class="py-lineno">1382</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-433" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-433', 'topology', 'link-419');">topology</a></tt> <tt class="py-op">==</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">:</tt> </tt>
+<a name="L1383"></a><tt class="py-lineno">1383</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L1384"></a><tt class="py-lineno">1384</tt>  <tt class="py-line">            <tt id="link-434" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-434', 'output', 'link-98');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L1385"></a><tt class="py-lineno">1385</tt>  <tt class="py-line">            <tt class="py-comment"># Is the number of switches is what we expected</tt> </tt>
+<a name="L1386"></a><tt class="py-lineno">1386</tt>  <tt class="py-line">            <tt id="link-435" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#devices"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-435', 'devices', 'link-435');">devices</a></tt> <tt class="py-op">=</tt> <tt id="link-436" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-436', 'topology', 'link-419');">topology</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'devices'</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1387"></a><tt class="py-lineno">1387</tt>  <tt class="py-line">            <tt id="link-437" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#links,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#links"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-437', 'links', 'link-437');">links</a></tt> <tt class="py-op">=</tt> <tt id="link-438" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-438', 'topology', 'link-419');">topology</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'links'</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1388"></a><tt class="py-lineno">1388</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-439" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-439', 'devices', 'link-435');">devices</a></tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt id="link-440" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-440', 'links', 'link-437');">links</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L1389"></a><tt class="py-lineno">1389</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L1390"></a><tt class="py-lineno">1390</tt>  <tt class="py-line">            <tt class="py-name">switchCheck</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt id="link-441" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-441', 'devices', 'link-435');">devices</a></tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">numoswitch</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1391"></a><tt class="py-lineno">1391</tt>  <tt class="py-line">            <tt class="py-comment"># Is the number of links is what we expected</tt> </tt>
+<a name="L1392"></a><tt class="py-lineno">1392</tt>  <tt class="py-line">            <tt class="py-name">linkCheck</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt id="link-442" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-442', 'links', 'link-437');">links</a></tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">numolink</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1393"></a><tt class="py-lineno">1393</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">switchCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">linkCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L1394"></a><tt class="py-lineno">1394</tt>  <tt class="py-line">                <tt class="py-comment"># We expected the correct numbers</tt> </tt>
+<a name="L1395"></a><tt class="py-lineno">1395</tt>  <tt class="py-line">                <tt id="link-443" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-443', 'output', 'link-98');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-444" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-444', 'output', 'link-98');">output</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"The number of links and switches match "</tt>\ </tt>
+<a name="L1396"></a><tt class="py-lineno">1396</tt>  <tt class="py-line">                    <tt class="py-op">+</tt> <tt class="py-string">"what was expected"</tt> </tt>
+<a name="L1397"></a><tt class="py-lineno">1397</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1398"></a><tt class="py-lineno">1398</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1399"></a><tt class="py-lineno">1399</tt>  <tt class="py-line">                <tt id="link-445" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-445', 'output', 'link-98');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-446" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-446', 'output', 'link-98');">output</a></tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L1400"></a><tt class="py-lineno">1400</tt>  <tt class="py-line">                    <tt class="py-string">"The number of links and switches does not match "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L1401"></a><tt class="py-lineno">1401</tt>  <tt class="py-line">                    <tt class="py-string">"what was expected"</tt> </tt>
+<a name="L1402"></a><tt class="py-lineno">1402</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1403"></a><tt class="py-lineno">1403</tt>  <tt class="py-line">            <tt id="link-447" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-447', 'output', 'link-98');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-448" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-448', 'output', 'link-98');">output</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"\n ONOS sees %i devices"</tt> <tt class="py-op">%</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt id="link-449" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-449', 'devices', 'link-435');">devices</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L1404"></a><tt class="py-lineno">1404</tt>  <tt class="py-line">            <tt id="link-450" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-450', 'output', 'link-98');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-451" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-451', 'output', 'link-98');">output</a></tt> <tt class="py-op">+</tt> <tt class="py-string">" (%i expected) "</tt> <tt class="py-op">%</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">numoswitch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1405"></a><tt class="py-lineno">1405</tt>  <tt class="py-line">            <tt id="link-452" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-452', 'output', 'link-98');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-453" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-453', 'output', 'link-98');">output</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"and %i links "</tt> <tt class="py-op">%</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt id="link-454" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-454', 'links', 'link-437');">links</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L1406"></a><tt class="py-lineno">1406</tt>  <tt class="py-line">            <tt id="link-455" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-455', 'output', 'link-98');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-456" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-456', 'output', 'link-98');">output</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"(%i expected)"</tt> <tt class="py-op">%</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">numolink</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1407"></a><tt class="py-lineno">1407</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">logLevel</tt> <tt class="py-op">==</tt> <tt class="py-string">"report"</tt><tt class="py-op">:</tt> </tt>
+<a name="L1408"></a><tt class="py-lineno">1408</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-457" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-457', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt id="link-458" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-458', 'output', 'link-98');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L1409"></a><tt class="py-lineno">1409</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">logLevel</tt> <tt class="py-op">==</tt> <tt class="py-string">"warn"</tt><tt class="py-op">:</tt> </tt>
+<a name="L1410"></a><tt class="py-lineno">1410</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-459" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-459', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt id="link-460" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-460', 'output', 'link-98');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L1411"></a><tt class="py-lineno">1411</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1412"></a><tt class="py-lineno">1412</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-461" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-461', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt id="link-462" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-462', 'output', 'link-98');">output</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L1413"></a><tt class="py-lineno">1413</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
+<a name="L1414"></a><tt class="py-lineno">1414</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1415"></a><tt class="py-lineno">1415</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-463" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-463', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-464" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-464', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1416"></a><tt class="py-lineno">1416</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-465" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-465', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-466" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-466', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1417"></a><tt class="py-lineno">1417</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-467" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-467', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1418"></a><tt class="py-lineno">1418</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-468" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-468', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1419"></a><tt class="py-lineno">1419</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1420"></a><tt class="py-lineno">1420</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-469" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-469', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1421"></a><tt class="py-lineno">1421</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-470" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-470', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1422"></a><tt class="py-lineno">1422</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-471" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-471', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1423"></a><tt class="py-lineno">1423</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.tsharkPcap"></a><div id="OnosDriver.tsharkPcap-def"><a name="L1424"></a><tt class="py-lineno">1424</tt> <a class="py-toggle" href="#" id="OnosDriver.tsharkPcap-toggle" onclick="return toggle('OnosDriver.tsharkPcap');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#tsharkPcap">tsharkPcap</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">interface</tt><tt class="py-op">,</tt> <tt class="py-param">dirFile</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.tsharkPcap-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.tsharkPcap-expanded"><a name="L1425"></a><tt class="py-lineno">1425</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1426"></a><tt class="py-lineno">1426</tt>  <tt class="py-line"><tt class="py-docstring">        Capture all packet activity and store in specified</tt> </tt>
+<a name="L1427"></a><tt class="py-lineno">1427</tt>  <tt class="py-line"><tt class="py-docstring">        directory/file</tt> </tt>
+<a name="L1428"></a><tt class="py-lineno">1428</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1429"></a><tt class="py-lineno">1429</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L1430"></a><tt class="py-lineno">1430</tt>  <tt class="py-line"><tt class="py-docstring">            * interface: interface to capture</tt> </tt>
+<a name="L1431"></a><tt class="py-lineno">1431</tt>  <tt class="py-line"><tt class="py-docstring">            * dir: directory/filename to store pcap</tt> </tt>
+<a name="L1432"></a><tt class="py-lineno">1432</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1433"></a><tt class="py-lineno">1433</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1434"></a><tt class="py-lineno">1434</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-472" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-472', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1435"></a><tt class="py-lineno">1435</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1436"></a><tt class="py-lineno">1436</tt>  <tt class="py-line"> </tt>
+<a name="L1437"></a><tt class="py-lineno">1437</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-473" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-473', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"tshark -i "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">interface</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" -t e -w "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dirFile</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" &amp;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1438"></a><tt class="py-lineno">1438</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-474" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-474', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"\r"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1439"></a><tt class="py-lineno">1439</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"Capturing on"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1440"></a><tt class="py-lineno">1440</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-475" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-475', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"\r"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1441"></a><tt class="py-lineno">1441</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1442"></a><tt class="py-lineno">1442</tt>  <tt class="py-line"> </tt>
+<a name="L1443"></a><tt class="py-lineno">1443</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-476" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-476', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Tshark started capturing files on "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1444"></a><tt class="py-lineno">1444</tt>  <tt class="py-line">                           <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">interface</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" and saving to directory: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1445"></a><tt class="py-lineno">1445</tt>  <tt class="py-line">                           <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">dirFile</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1446"></a><tt class="py-lineno">1446</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1447"></a><tt class="py-lineno">1447</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-477" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-477', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-478" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-478', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1448"></a><tt class="py-lineno">1448</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-479" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-479', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-480" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-480', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1449"></a><tt class="py-lineno">1449</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-481" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-481', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1450"></a><tt class="py-lineno">1450</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-482" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-482', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1451"></a><tt class="py-lineno">1451</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1452"></a><tt class="py-lineno">1452</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-483" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-483', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1453"></a><tt class="py-lineno">1453</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-484" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-484', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1454"></a><tt class="py-lineno">1454</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-485" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-485', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1455"></a><tt class="py-lineno">1455</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.runOnosTopoCfg"></a><div id="OnosDriver.runOnosTopoCfg-def"><a name="L1456"></a><tt class="py-lineno">1456</tt> <a class="py-toggle" href="#" id="OnosDriver.runOnosTopoCfg-toggle" onclick="return toggle('OnosDriver.runOnosTopoCfg');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#runOnosTopoCfg">runOnosTopoCfg</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">instanceName</tt><tt class="py-op">,</tt> <tt class="py-param">jsonFile</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.runOnosTopoCfg-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.runOnosTopoCfg-expanded"><a name="L1457"></a><tt class="py-lineno">1457</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1458"></a><tt class="py-lineno">1458</tt>  <tt class="py-line"><tt class="py-docstring">         On ONOS bench, run this command:</tt> </tt>
+<a name="L1459"></a><tt class="py-lineno">1459</tt>  <tt class="py-line"><tt class="py-docstring">         {ONOS_HOME}/tools/test/bin/onos-topo-cfg $OC1 filename</tt> </tt>
+<a name="L1460"></a><tt class="py-lineno">1460</tt>  <tt class="py-line"><tt class="py-docstring">         which starts the rest and copies</tt> </tt>
+<a name="L1461"></a><tt class="py-lineno">1461</tt>  <tt class="py-line"><tt class="py-docstring">         the json file to the onos instance</tt> </tt>
+<a name="L1462"></a><tt class="py-lineno">1462</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1463"></a><tt class="py-lineno">1463</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1464"></a><tt class="py-lineno">1464</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-486" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-486', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1465"></a><tt class="py-lineno">1465</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1466"></a><tt class="py-lineno">1466</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-487" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-487', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"cd "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> <tt class="py-string">"/tools/test/bin"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1467"></a><tt class="py-lineno">1467</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"/bin$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1468"></a><tt class="py-lineno">1468</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"./onos-topo-cfg "</tt> <tt class="py-op">+</tt> <tt class="py-name">instanceName</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">jsonFile</tt> </tt>
+<a name="L1469"></a><tt class="py-lineno">1469</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"cmd = "</tt><tt class="py-op">,</tt> <tt class="py-name">cmd</tt> </tt>
+<a name="L1470"></a><tt class="py-lineno">1470</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-488" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-488', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1471"></a><tt class="py-lineno">1471</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1472"></a><tt class="py-lineno">1472</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-489" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-489', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"cd ~"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1473"></a><tt class="py-lineno">1473</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1474"></a><tt class="py-lineno">1474</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1475"></a><tt class="py-lineno">1475</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1476"></a><tt class="py-lineno">1476</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-490" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-490', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-491" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-491', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1477"></a><tt class="py-lineno">1477</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-492" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-492', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-493" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-493', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1478"></a><tt class="py-lineno">1478</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-494" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-494', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1479"></a><tt class="py-lineno">1479</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-495" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-495', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1480"></a><tt class="py-lineno">1480</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1481"></a><tt class="py-lineno">1481</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-496" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-496', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1482"></a><tt class="py-lineno">1482</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-497" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-497', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1483"></a><tt class="py-lineno">1483</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-498" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-498', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1484"></a><tt class="py-lineno">1484</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.tsharkGrep"></a><div id="OnosDriver.tsharkGrep-def"><a name="L1485"></a><tt class="py-lineno">1485</tt> <a class="py-toggle" href="#" id="OnosDriver.tsharkGrep-toggle" onclick="return toggle('OnosDriver.tsharkGrep');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#tsharkGrep">tsharkGrep</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">grep</tt><tt class="py-op">,</tt> <tt class="py-param">directory</tt><tt class="py-op">,</tt> <tt class="py-param">interface</tt><tt class="py-op">=</tt><tt class="py-string">'eth0'</tt><tt class="py-op">,</tt> <tt class="py-param">grepOptions</tt><tt class="py-op">=</tt><tt class="py-string">''</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.tsharkGrep-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.tsharkGrep-expanded"><a name="L1486"></a><tt class="py-lineno">1486</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1487"></a><tt class="py-lineno">1487</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L1488"></a><tt class="py-lineno">1488</tt>  <tt class="py-line"><tt class="py-docstring">            * grep string</tt> </tt>
+<a name="L1489"></a><tt class="py-lineno">1489</tt>  <tt class="py-line"><tt class="py-docstring">            * directory to store results</tt> </tt>
+<a name="L1490"></a><tt class="py-lineno">1490</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L1491"></a><tt class="py-lineno">1491</tt>  <tt class="py-line"><tt class="py-docstring">            * interface - default: eth0</tt> </tt>
+<a name="L1492"></a><tt class="py-lineno">1492</tt>  <tt class="py-line"><tt class="py-docstring">            * grepOptions - options for grep</tt> </tt>
+<a name="L1493"></a><tt class="py-lineno">1493</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1494"></a><tt class="py-lineno">1494</tt>  <tt class="py-line"><tt class="py-docstring">            Uses tshark command to grep specific group of packets</tt> </tt>
+<a name="L1495"></a><tt class="py-lineno">1495</tt>  <tt class="py-line"><tt class="py-docstring">            and stores the results to specified directory.</tt> </tt>
+<a name="L1496"></a><tt class="py-lineno">1496</tt>  <tt class="py-line"><tt class="py-docstring">            The timestamp is hardcoded to be in epoch</tt> </tt>
+<a name="L1497"></a><tt class="py-lineno">1497</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1498"></a><tt class="py-lineno">1498</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1499"></a><tt class="py-lineno">1499</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-499" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-499', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1500"></a><tt class="py-lineno">1500</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1501"></a><tt class="py-lineno">1501</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-500" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-500', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1502"></a><tt class="py-lineno">1502</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">grepOptions</tt><tt class="py-op">:</tt> </tt>
+<a name="L1503"></a><tt class="py-lineno">1503</tt>  <tt class="py-line">                <tt class="py-name">grepStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"grep "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">grepOptions</tt><tt class="py-op">)</tt> </tt>
+<a name="L1504"></a><tt class="py-lineno">1504</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1505"></a><tt class="py-lineno">1505</tt>  <tt class="py-line">                <tt class="py-name">grepStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"grep"</tt> </tt>
+<a name="L1506"></a><tt class="py-lineno">1506</tt>  <tt class="py-line"> </tt>
+<a name="L1507"></a><tt class="py-lineno">1507</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> </tt>
+<a name="L1508"></a><tt class="py-lineno">1508</tt>  <tt class="py-line">                <tt class="py-string">"sudo tshark -i "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1509"></a><tt class="py-lineno">1509</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">interface</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1510"></a><tt class="py-lineno">1510</tt>  <tt class="py-line">                <tt class="py-string">" -t e | "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1511"></a><tt class="py-lineno">1511</tt>  <tt class="py-line">                <tt class="py-name">grepStr</tt> <tt class="py-op">+</tt> <tt class="py-string">" --line-buffered \""</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1512"></a><tt class="py-lineno">1512</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">grep</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1513"></a><tt class="py-lineno">1513</tt>  <tt class="py-line">                <tt class="py-string">"\" &gt;"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1514"></a><tt class="py-lineno">1514</tt>  <tt class="py-line">                <tt class="py-name">directory</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1515"></a><tt class="py-lineno">1515</tt>  <tt class="py-line">                <tt class="py-string">" &amp;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1516"></a><tt class="py-lineno">1516</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-501" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-501', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L1517"></a><tt class="py-lineno">1517</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-502" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-502', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L1518"></a><tt class="py-lineno">1518</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"Capturing on"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1519"></a><tt class="py-lineno">1519</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-503" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-503', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1520"></a><tt class="py-lineno">1520</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1521"></a><tt class="py-lineno">1521</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1522"></a><tt class="py-lineno">1522</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-504" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-504', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-505" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-505', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1523"></a><tt class="py-lineno">1523</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-506" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-506', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-507" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-507', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1524"></a><tt class="py-lineno">1524</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-508" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-508', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1525"></a><tt class="py-lineno">1525</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-509" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-509', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1526"></a><tt class="py-lineno">1526</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1527"></a><tt class="py-lineno">1527</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-510" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-510', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1528"></a><tt class="py-lineno">1528</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-511" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-511', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1529"></a><tt class="py-lineno">1529</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-512" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-512', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1530"></a><tt class="py-lineno">1530</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.tsharkStop"></a><div id="OnosDriver.tsharkStop-def"><a name="L1531"></a><tt class="py-lineno">1531</tt> <a class="py-toggle" href="#" id="OnosDriver.tsharkStop-toggle" onclick="return toggle('OnosDriver.tsharkStop');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#tsharkStop">tsharkStop</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.tsharkStop-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.tsharkStop-expanded"><a name="L1532"></a><tt class="py-lineno">1532</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1533"></a><tt class="py-lineno">1533</tt>  <tt class="py-line"><tt class="py-docstring">        Removes wireshark files from /tmp and kills all tshark processes</tt> </tt>
+<a name="L1534"></a><tt class="py-lineno">1534</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1535"></a><tt class="py-lineno">1535</tt>  <tt class="py-line">        <tt class="py-comment"># Remove all pcap from previous captures</tt> </tt>
+<a name="L1536"></a><tt class="py-lineno">1536</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1537"></a><tt class="py-lineno">1537</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-513" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-513', 'execute', 'link-513');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"sudo rm /tmp/wireshark*"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1538"></a><tt class="py-lineno">1538</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-514" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-514', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1539"></a><tt class="py-lineno">1539</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-515" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-515', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"sudo kill -9 `ps -ef | grep \"tshark -i\""</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1540"></a><tt class="py-lineno">1540</tt>  <tt class="py-line">                                  <tt class="py-string">" | grep -v grep | awk '{print $2}'`"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1541"></a><tt class="py-lineno">1541</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-516" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-516', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1542"></a><tt class="py-lineno">1542</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-517" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-517', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Tshark stopped"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1543"></a><tt class="py-lineno">1543</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1544"></a><tt class="py-lineno">1544</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-518" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-518', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-519" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-519', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1545"></a><tt class="py-lineno">1545</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-520" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-520', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-521" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-521', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1546"></a><tt class="py-lineno">1546</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-522" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-522', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1547"></a><tt class="py-lineno">1547</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-523" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-523', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1548"></a><tt class="py-lineno">1548</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1549"></a><tt class="py-lineno">1549</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-524" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-524', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1550"></a><tt class="py-lineno">1550</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-525" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-525', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1551"></a><tt class="py-lineno">1551</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-526" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-526', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1552"></a><tt class="py-lineno">1552</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.ptpd"></a><div id="OnosDriver.ptpd-def"><a name="L1553"></a><tt class="py-lineno">1553</tt> <a class="py-toggle" href="#" id="OnosDriver.ptpd-toggle" onclick="return toggle('OnosDriver.ptpd');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#ptpd">ptpd</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.ptpd-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.ptpd-expanded"><a name="L1554"></a><tt class="py-lineno">1554</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1555"></a><tt class="py-lineno">1555</tt>  <tt class="py-line"><tt class="py-docstring">        Initiate ptp with user-specified args.</tt> </tt>
+<a name="L1556"></a><tt class="py-lineno">1556</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L1557"></a><tt class="py-lineno">1557</tt>  <tt class="py-line"><tt class="py-docstring">            * args: specify string of args after command</tt> </tt>
+<a name="L1558"></a><tt class="py-lineno">1558</tt>  <tt class="py-line"><tt class="py-docstring">              'sudo ptpd'</tt> </tt>
+<a name="L1559"></a><tt class="py-lineno">1559</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1560"></a><tt class="py-lineno">1560</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1561"></a><tt class="py-lineno">1561</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-527" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-527', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"sudo ptpd "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">args</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1562"></a><tt class="py-lineno">1562</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L1563"></a><tt class="py-lineno">1563</tt>  <tt class="py-line">                <tt class="py-string">"Multiple"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1564"></a><tt class="py-lineno">1564</tt>  <tt class="py-line">                <tt class="py-string">"Error"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1565"></a><tt class="py-lineno">1565</tt>  <tt class="py-line">                <tt class="py-string">"\$"</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1566"></a><tt class="py-lineno">1566</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1567"></a><tt class="py-lineno">1567</tt>  <tt class="py-line"> </tt>
+<a name="L1568"></a><tt class="py-lineno">1568</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L1569"></a><tt class="py-lineno">1569</tt>  <tt class="py-line">                <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L1570"></a><tt class="py-lineno">1570</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-528" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-528', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ptpd returned an error: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1571"></a><tt class="py-lineno">1571</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1572"></a><tt class="py-lineno">1572</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L1573"></a><tt class="py-lineno">1573</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1574"></a><tt class="py-lineno">1574</tt>  <tt class="py-line">                <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L1575"></a><tt class="py-lineno">1575</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-529" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-529', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-530" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-530', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ptpd returned an error: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1576"></a><tt class="py-lineno">1576</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">handle</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1577"></a><tt class="py-lineno">1577</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L1578"></a><tt class="py-lineno">1578</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1579"></a><tt class="py-lineno">1579</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1580"></a><tt class="py-lineno">1580</tt>  <tt class="py-line"> </tt>
+<a name="L1581"></a><tt class="py-lineno">1581</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1582"></a><tt class="py-lineno">1582</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-531" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-531', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-532" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-532', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1583"></a><tt class="py-lineno">1583</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-533" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-533', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-534" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-534', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1584"></a><tt class="py-lineno">1584</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-535" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-535', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1585"></a><tt class="py-lineno">1585</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-536" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-536', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1586"></a><tt class="py-lineno">1586</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1587"></a><tt class="py-lineno">1587</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-537" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-537', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1588"></a><tt class="py-lineno">1588</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-538" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-538', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1589"></a><tt class="py-lineno">1589</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-539" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-539', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1590"></a><tt class="py-lineno">1590</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.cpLogsToDir"></a><div id="OnosDriver.cpLogsToDir-def"><a name="L1591"></a><tt class="py-lineno">1591</tt> <a class="py-toggle" href="#" id="OnosDriver.cpLogsToDir-toggle" onclick="return toggle('OnosDriver.cpLogsToDir');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cpLogsToDir">cpLogsToDir</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">logToCopy</tt><tt class="py-op">,</tt> </tt>
+<a name="L1592"></a><tt class="py-lineno">1592</tt>  <tt class="py-line">                     <tt class="py-param">destDir</tt><tt class="py-op">,</tt> <tt class="py-param">copyFileName</tt><tt class="py-op">=</tt><tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.cpLogsToDir-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.cpLogsToDir-expanded"><a name="L1593"></a><tt class="py-lineno">1593</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1594"></a><tt class="py-lineno">1594</tt>  <tt class="py-line"><tt class="py-docstring">        Copies logs to a desired directory.</tt> </tt>
+<a name="L1595"></a><tt class="py-lineno">1595</tt>  <tt class="py-line"><tt class="py-docstring">        Current implementation of ONOS deletes its karaf</tt> </tt>
+<a name="L1596"></a><tt class="py-lineno">1596</tt>  <tt class="py-line"><tt class="py-docstring">        logs on every iteration. For debugging purposes,</tt> </tt>
+<a name="L1597"></a><tt class="py-lineno">1597</tt>  <tt class="py-line"><tt class="py-docstring">        you may want to use this function to capture</tt> </tt>
+<a name="L1598"></a><tt class="py-lineno">1598</tt>  <tt class="py-line"><tt class="py-docstring">        certain karaf logs. ( or any other logs if needed )</tt> </tt>
+<a name="L1599"></a><tt class="py-lineno">1599</tt>  <tt class="py-line"><tt class="py-docstring">        Localtime will be attached to the filename</tt> </tt>
+<a name="L1600"></a><tt class="py-lineno">1600</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1601"></a><tt class="py-lineno">1601</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L1602"></a><tt class="py-lineno">1602</tt>  <tt class="py-line"><tt class="py-docstring">            * logToCopy: specify directory and log name to</tt> </tt>
+<a name="L1603"></a><tt class="py-lineno">1603</tt>  <tt class="py-line"><tt class="py-docstring">              copy.</tt> </tt>
+<a name="L1604"></a><tt class="py-lineno">1604</tt>  <tt class="py-line"><tt class="py-docstring">              ex ) /opt/onos/log/karaf.log.1</tt> </tt>
+<a name="L1605"></a><tt class="py-lineno">1605</tt>  <tt class="py-line"><tt class="py-docstring">              For copying multiple files, leave copyFileName</tt> </tt>
+<a name="L1606"></a><tt class="py-lineno">1606</tt>  <tt class="py-line"><tt class="py-docstring">              empty and only specify destDir -</tt> </tt>
+<a name="L1607"></a><tt class="py-lineno">1607</tt>  <tt class="py-line"><tt class="py-docstring">              ex ) /opt/onos/log/karaf*</tt> </tt>
+<a name="L1608"></a><tt class="py-lineno">1608</tt>  <tt class="py-line"><tt class="py-docstring">            * destDir: specify directory to copy to.</tt> </tt>
+<a name="L1609"></a><tt class="py-lineno">1609</tt>  <tt class="py-line"><tt class="py-docstring">              ex ) /tmp/</tt> </tt>
+<a name="L1610"></a><tt class="py-lineno">1610</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L1611"></a><tt class="py-lineno">1611</tt>  <tt class="py-line"><tt class="py-docstring">            * copyFileName: If you want to rename the log</tt> </tt>
+<a name="L1612"></a><tt class="py-lineno">1612</tt>  <tt class="py-line"><tt class="py-docstring">              file, specify copyFileName. This will not work</tt> </tt>
+<a name="L1613"></a><tt class="py-lineno">1613</tt>  <tt class="py-line"><tt class="py-docstring">              with multiple file copying</tt> </tt>
+<a name="L1614"></a><tt class="py-lineno">1614</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1615"></a><tt class="py-lineno">1615</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1616"></a><tt class="py-lineno">1616</tt>  <tt class="py-line">            <tt class="py-name">localtime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt> <tt class="py-string">'%x %X'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1617"></a><tt class="py-lineno">1617</tt>  <tt class="py-line">            <tt class="py-name">localtime</tt> <tt class="py-op">=</tt> <tt class="py-name">localtime</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"/"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1618"></a><tt class="py-lineno">1618</tt>  <tt class="py-line">            <tt class="py-name">localtime</tt> <tt class="py-op">=</tt> <tt class="py-name">localtime</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">" "</tt><tt class="py-op">,</tt> <tt class="py-string">"_"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1619"></a><tt class="py-lineno">1619</tt>  <tt class="py-line">            <tt class="py-name">localtime</tt> <tt class="py-op">=</tt> <tt class="py-name">localtime</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">":"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1620"></a><tt class="py-lineno">1620</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">destDir</tt><tt class="py-op">[</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> <tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">"/"</tt><tt class="py-op">:</tt> </tt>
+<a name="L1621"></a><tt class="py-lineno">1621</tt>  <tt class="py-line">                <tt class="py-name">destDir</tt> <tt class="py-op">+=</tt> <tt class="py-string">"/"</tt> </tt>
+<a name="L1622"></a><tt class="py-lineno">1622</tt>  <tt class="py-line"> </tt>
+<a name="L1623"></a><tt class="py-lineno">1623</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">copyFileName</tt><tt class="py-op">:</tt> </tt>
+<a name="L1624"></a><tt class="py-lineno">1624</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-540" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-540', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"cp "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">logToCopy</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1625"></a><tt class="py-lineno">1625</tt>  <tt class="py-line">                                      <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">destDir</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">copyFileName</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1626"></a><tt class="py-lineno">1626</tt>  <tt class="py-line">                                      <tt class="py-name">localtime</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1627"></a><tt class="py-lineno">1627</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"cp"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1628"></a><tt class="py-lineno">1628</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1629"></a><tt class="py-lineno">1629</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1630"></a><tt class="py-lineno">1630</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-541" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-541', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"cp "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">logToCopy</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1631"></a><tt class="py-lineno">1631</tt>  <tt class="py-line">                                      <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">destDir</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1632"></a><tt class="py-lineno">1632</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"cp"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1633"></a><tt class="py-lineno">1633</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1634"></a><tt class="py-lineno">1634</tt>  <tt class="py-line"> </tt>
+<a name="L1635"></a><tt class="py-lineno">1635</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L1636"></a><tt class="py-lineno">1636</tt>  <tt class="py-line"> </tt>
+<a name="L1637"></a><tt class="py-lineno">1637</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1638"></a><tt class="py-lineno">1638</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-542" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-542', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-543" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-543', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Copying files failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1639"></a><tt class="py-lineno">1639</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-544" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-544', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-545" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-545', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1640"></a><tt class="py-lineno">1640</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-546" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-546', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-547" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-547', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1641"></a><tt class="py-lineno">1641</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1642"></a><tt class="py-lineno">1642</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-548" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-548', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Copying files failed"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1643"></a><tt class="py-lineno">1643</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.checkLogs"></a><div id="OnosDriver.checkLogs-def"><a name="L1644"></a><tt class="py-lineno">1644</tt> <a class="py-toggle" href="#" id="OnosDriver.checkLogs-toggle" onclick="return toggle('OnosDriver.checkLogs');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#checkLogs">checkLogs</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">onosIp</tt><tt class="py-op">,</tt> <tt class="py-param">restart</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.checkLogs-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.checkLogs-expanded"><a name="L1645"></a><tt class="py-lineno">1645</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1646"></a><tt class="py-lineno">1646</tt>  <tt class="py-line"><tt class="py-docstring">        runs onos-check-logs on the given onos node</tt> </tt>
+<a name="L1647"></a><tt class="py-lineno">1647</tt>  <tt class="py-line"><tt class="py-docstring">        If restart is True, use the old version of onos-check-logs which</tt> </tt>
+<a name="L1648"></a><tt class="py-lineno">1648</tt>  <tt class="py-line"><tt class="py-docstring">            does not print the full stacktrace, but shows the entire log file,</tt> </tt>
+<a name="L1649"></a><tt class="py-lineno">1649</tt>  <tt class="py-line"><tt class="py-docstring">            including across restarts</tt> </tt>
+<a name="L1650"></a><tt class="py-lineno">1650</tt>  <tt class="py-line"><tt class="py-docstring">        returns the response</tt> </tt>
+<a name="L1651"></a><tt class="py-lineno">1651</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1652"></a><tt class="py-lineno">1652</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1653"></a><tt class="py-lineno">1653</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos-check-logs "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosIp</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1654"></a><tt class="py-lineno">1654</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">restart</tt><tt class="py-op">:</tt> </tt>
+<a name="L1655"></a><tt class="py-lineno">1655</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" old"</tt> </tt>
+<a name="L1656"></a><tt class="py-lineno">1656</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-549" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-549', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1657"></a><tt class="py-lineno">1657</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1658"></a><tt class="py-lineno">1658</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1659"></a><tt class="py-lineno">1659</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L1660"></a><tt class="py-lineno">1660</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+<a name="L1661"></a><tt class="py-lineno">1661</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1662"></a><tt class="py-lineno">1662</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-550" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-550', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-551" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-551', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Lost ssh connection"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1663"></a><tt class="py-lineno">1663</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-552" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-552', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-553" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-553', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1664"></a><tt class="py-lineno">1664</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-554" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-554', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-555" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-555', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1665"></a><tt class="py-lineno">1665</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1666"></a><tt class="py-lineno">1666</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-556" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-556', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1667"></a><tt class="py-lineno">1667</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-557" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-557', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1668"></a><tt class="py-lineno">1668</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-558" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-558', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1669"></a><tt class="py-lineno">1669</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.onosStatus"></a><div id="OnosDriver.onosStatus-def"><a name="L1670"></a><tt class="py-lineno">1670</tt> <a class="py-toggle" href="#" id="OnosDriver.onosStatus-toggle" onclick="return toggle('OnosDriver.onosStatus');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStatus">onosStatus</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">node</tt><tt class="py-op">=</tt><tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.onosStatus-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.onosStatus-expanded"><a name="L1671"></a><tt class="py-lineno">1671</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1672"></a><tt class="py-lineno">1672</tt>  <tt class="py-line"><tt class="py-docstring">        Calls onos command: 'onos-service [&lt;node-ip&gt;] status'</tt> </tt>
+<a name="L1673"></a><tt class="py-lineno">1673</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1674"></a><tt class="py-lineno">1674</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1675"></a><tt class="py-lineno">1675</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-559" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-559', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1676"></a><tt class="py-lineno">1676</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1677"></a><tt class="py-lineno">1677</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-560" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-560', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onos-service "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1678"></a><tt class="py-lineno">1678</tt>  <tt class="py-line">                                  <tt class="py-string">" status"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1679"></a><tt class="py-lineno">1679</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L1680"></a><tt class="py-lineno">1680</tt>  <tt class="py-line">                <tt class="py-string">"start/running"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1681"></a><tt class="py-lineno">1681</tt>  <tt class="py-line">                <tt class="py-string">"stop/waiting"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1682"></a><tt class="py-lineno">1682</tt>  <tt class="py-line">                <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1683"></a><tt class="py-lineno">1683</tt>  <tt class="py-line"> </tt>
+<a name="L1684"></a><tt class="py-lineno">1684</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L1685"></a><tt class="py-lineno">1685</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-561" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-561', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS is running"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1686"></a><tt class="py-lineno">1686</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1687"></a><tt class="py-lineno">1687</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1688"></a><tt class="py-lineno">1688</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-562" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-562', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS is stopped"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1689"></a><tt class="py-lineno">1689</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-563" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-563', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-564" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-564', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS service failed to check the status"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1690"></a><tt class="py-lineno">1690</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-565" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-565', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1691"></a><tt class="py-lineno">1691</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-566" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-566', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1692"></a><tt class="py-lineno">1692</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1693"></a><tt class="py-lineno">1693</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-567" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-567', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-568" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-568', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1694"></a><tt class="py-lineno">1694</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-569" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-569', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-570" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-570', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1695"></a><tt class="py-lineno">1695</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-571" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-571', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1696"></a><tt class="py-lineno">1696</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-572" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-572', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1697"></a><tt class="py-lineno">1697</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1698"></a><tt class="py-lineno">1698</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-573" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-573', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1699"></a><tt class="py-lineno">1699</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-574" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-574', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1700"></a><tt class="py-lineno">1700</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-575" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-575', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1701"></a><tt class="py-lineno">1701</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.setIpTables"></a><div id="OnosDriver.setIpTables-def"><a name="L1702"></a><tt class="py-lineno">1702</tt> <a class="py-toggle" href="#" id="OnosDriver.setIpTables-toggle" onclick="return toggle('OnosDriver.setIpTables');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setIpTables">setIpTables</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">,</tt> <tt class="py-param">port</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-param">action</tt><tt class="py-op">=</tt><tt class="py-string">'add'</tt><tt class="py-op">,</tt> <tt class="py-param">packet_type</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> </tt>
+<a name="L1703"></a><tt class="py-lineno">1703</tt>  <tt class="py-line">                     <tt class="py-param">direction</tt><tt class="py-op">=</tt><tt class="py-string">'INPUT'</tt><tt class="py-op">,</tt> <tt class="py-param">rule</tt><tt class="py-op">=</tt><tt class="py-string">'DROP'</tt><tt class="py-op">,</tt> <tt class="py-param">states</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.setIpTables-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.setIpTables-expanded"><a name="L1704"></a><tt class="py-lineno">1704</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1705"></a><tt class="py-lineno">1705</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L1706"></a><tt class="py-lineno">1706</tt>  <tt class="py-line"><tt class="py-docstring">            add or remove iptables rule to DROP (default) packets from</tt> </tt>
+<a name="L1707"></a><tt class="py-lineno">1707</tt>  <tt class="py-line"><tt class="py-docstring">            specific IP and PORT</tt> </tt>
+<a name="L1708"></a><tt class="py-lineno">1708</tt>  <tt class="py-line"><tt class="py-docstring">        Usage:</tt> </tt>
+<a name="L1709"></a><tt class="py-lineno">1709</tt>  <tt class="py-line"><tt class="py-docstring">        * specify action ('add' or 'remove')</tt> </tt>
+<a name="L1710"></a><tt class="py-lineno">1710</tt>  <tt class="py-line"><tt class="py-docstring">          when removing, pass in the same argument as you would add. It will</tt> </tt>
+<a name="L1711"></a><tt class="py-lineno">1711</tt>  <tt class="py-line"><tt class="py-docstring">          delete that specific rule.</tt> </tt>
+<a name="L1712"></a><tt class="py-lineno">1712</tt>  <tt class="py-line"><tt class="py-docstring">        * specify the ip to block</tt> </tt>
+<a name="L1713"></a><tt class="py-lineno">1713</tt>  <tt class="py-line"><tt class="py-docstring">        * specify the destination port to block (defaults to all ports)</tt> </tt>
+<a name="L1714"></a><tt class="py-lineno">1714</tt>  <tt class="py-line"><tt class="py-docstring">        * optional packet type to block (default tcp)</tt> </tt>
+<a name="L1715"></a><tt class="py-lineno">1715</tt>  <tt class="py-line"><tt class="py-docstring">        * optional iptables rule (default DROP)</tt> </tt>
+<a name="L1716"></a><tt class="py-lineno">1716</tt>  <tt class="py-line"><tt class="py-docstring">        * optional direction to block (default 'INPUT')</tt> </tt>
+<a name="L1717"></a><tt class="py-lineno">1717</tt>  <tt class="py-line"><tt class="py-docstring">        * States boolean toggles adding all supported tcp states to the</tt> </tt>
+<a name="L1718"></a><tt class="py-lineno">1718</tt>  <tt class="py-line"><tt class="py-docstring">          firewall rule</tt> </tt>
+<a name="L1719"></a><tt class="py-lineno">1719</tt>  <tt class="py-line"><tt class="py-docstring">        Returns:</tt> </tt>
+<a name="L1720"></a><tt class="py-lineno">1720</tt>  <tt class="py-line"><tt class="py-docstring">            main.TRUE on success or</tt> </tt>
+<a name="L1721"></a><tt class="py-lineno">1721</tt>  <tt class="py-line"><tt class="py-docstring">            main.FALSE if given invalid input or</tt> </tt>
+<a name="L1722"></a><tt class="py-lineno">1722</tt>  <tt class="py-line"><tt class="py-docstring">            main.ERROR if there is an error in response from iptables</tt> </tt>
+<a name="L1723"></a><tt class="py-lineno">1723</tt>  <tt class="py-line"><tt class="py-docstring">        WARNING:</tt> </tt>
+<a name="L1724"></a><tt class="py-lineno">1724</tt>  <tt class="py-line"><tt class="py-docstring">        * This function uses root privilege iptables command which may result</tt> </tt>
+<a name="L1725"></a><tt class="py-lineno">1725</tt>  <tt class="py-line"><tt class="py-docstring">          in unwanted network errors. USE WITH CAUTION</tt> </tt>
+<a name="L1726"></a><tt class="py-lineno">1726</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1727"></a><tt class="py-lineno">1727</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1728"></a><tt class="py-lineno">1728</tt>  <tt class="py-line"> </tt>
+<a name="L1729"></a><tt class="py-lineno">1729</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE*********</tt> </tt>
+<a name="L1730"></a><tt class="py-lineno">1730</tt>  <tt class="py-line">        <tt class="py-comment">#   The strict checking methods of this driver function is intentional</tt> </tt>
+<a name="L1731"></a><tt class="py-lineno">1731</tt>  <tt class="py-line">        <tt class="py-comment">#   to discourage any misuse or error of iptables, which can cause</tt> </tt>
+<a name="L1732"></a><tt class="py-lineno">1732</tt>  <tt class="py-line">        <tt class="py-comment">#   severe network errors</tt> </tt>
+<a name="L1733"></a><tt class="py-lineno">1733</tt>  <tt class="py-line">        <tt class="py-comment"># *************</tt> </tt>
+<a name="L1734"></a><tt class="py-lineno">1734</tt>  <tt class="py-line"> </tt>
+<a name="L1735"></a><tt class="py-lineno">1735</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: Sleep needed to give some time for rule to be added and</tt> </tt>
+<a name="L1736"></a><tt class="py-lineno">1736</tt>  <tt class="py-line">        <tt class="py-comment">#       registered to the instance. If you are calling this function</tt> </tt>
+<a name="L1737"></a><tt class="py-lineno">1737</tt>  <tt class="py-line">        <tt class="py-comment">#       multiple times this sleep will prevent any errors.</tt> </tt>
+<a name="L1738"></a><tt class="py-lineno">1738</tt>  <tt class="py-line">        <tt class="py-comment">#       DO NOT REMOVE</tt> </tt>
+<a name="L1739"></a><tt class="py-lineno">1739</tt>  <tt class="py-line">        <tt class="py-comment"># time.sleep( 5 )</tt> </tt>
+<a name="L1740"></a><tt class="py-lineno">1740</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1741"></a><tt class="py-lineno">1741</tt>  <tt class="py-line">            <tt class="py-comment"># input validation</tt> </tt>
+<a name="L1742"></a><tt class="py-lineno">1742</tt>  <tt class="py-line">            <tt class="py-name">action_type</tt> <tt class="py-op">=</tt> <tt class="py-name">action</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1743"></a><tt class="py-lineno">1743</tt>  <tt class="py-line">            <tt class="py-name">rule</tt> <tt class="py-op">=</tt> <tt class="py-name">rule</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1744"></a><tt class="py-lineno">1744</tt>  <tt class="py-line">            <tt class="py-name">direction</tt> <tt class="py-op">=</tt> <tt class="py-name">direction</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1745"></a><tt class="py-lineno">1745</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">action_type</tt> <tt class="py-op">!=</tt> <tt class="py-string">'add'</tt> <tt class="py-keyword">and</tt> <tt class="py-name">action_type</tt> <tt class="py-op">!=</tt> <tt class="py-string">'remove'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1746"></a><tt class="py-lineno">1746</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-576" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-576', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-577" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-577', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Invalid action type. Use 'add' or "</tt> </tt>
+<a name="L1747"></a><tt class="py-lineno">1747</tt>  <tt class="py-line">                                <tt class="py-string">"'remove' table rule"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1748"></a><tt class="py-lineno">1748</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">rule</tt> <tt class="py-op">!=</tt> <tt class="py-string">'DROP'</tt> <tt class="py-keyword">and</tt> <tt class="py-name">rule</tt> <tt class="py-op">!=</tt> <tt class="py-string">'ACCEPT'</tt> <tt class="py-keyword">and</tt> <tt class="py-name">rule</tt> <tt class="py-op">!=</tt> <tt class="py-string">'LOG'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1749"></a><tt class="py-lineno">1749</tt>  <tt class="py-line">                    <tt class="py-comment"># NOTE Currently only supports rules DROP, ACCEPT, and LOG</tt> </tt>
+<a name="L1750"></a><tt class="py-lineno">1750</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-578" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-578', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-579" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-579', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Invalid rule. Valid rules are 'DROP' or "</tt> </tt>
+<a name="L1751"></a><tt class="py-lineno">1751</tt>  <tt class="py-line">                                    <tt class="py-string">"'ACCEPT' or 'LOG' only."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1752"></a><tt class="py-lineno">1752</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">direction</tt> <tt class="py-op">!=</tt> <tt class="py-string">'INPUT'</tt> <tt class="py-keyword">and</tt> <tt class="py-name">direction</tt> <tt class="py-op">!=</tt> <tt class="py-string">'OUTPUT'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1753"></a><tt class="py-lineno">1753</tt>  <tt class="py-line">                        <tt class="py-comment"># NOTE currently only supports rules INPUT and OUPTUT</tt> </tt>
+<a name="L1754"></a><tt class="py-lineno">1754</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-580" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-580', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-581" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-581', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Invalid rule. Valid directions are"</tt> </tt>
+<a name="L1755"></a><tt class="py-lineno">1755</tt>  <tt class="py-line">                                        <tt class="py-string">" 'OUTPUT' or 'INPUT'"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1756"></a><tt class="py-lineno">1756</tt>  <tt class="py-line">                        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1757"></a><tt class="py-lineno">1757</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1758"></a><tt class="py-lineno">1758</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1759"></a><tt class="py-lineno">1759</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">action_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'add'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1760"></a><tt class="py-lineno">1760</tt>  <tt class="py-line">                <tt class="py-comment"># -A is the 'append' action of iptables</tt> </tt>
+<a name="L1761"></a><tt class="py-lineno">1761</tt>  <tt class="py-line">                <tt class="py-name">actionFlag</tt> <tt class="py-op">=</tt> <tt class="py-string">'-A'</tt> </tt>
+<a name="L1762"></a><tt class="py-lineno">1762</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">action_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'remove'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1763"></a><tt class="py-lineno">1763</tt>  <tt class="py-line">                <tt class="py-comment"># -D is the 'delete' rule of iptables</tt> </tt>
+<a name="L1764"></a><tt class="py-lineno">1764</tt>  <tt class="py-line">                <tt class="py-name">actionFlag</tt> <tt class="py-op">=</tt> <tt class="py-string">'-D'</tt> </tt>
+<a name="L1765"></a><tt class="py-lineno">1765</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-582" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-582', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1766"></a><tt class="py-lineno">1766</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1767"></a><tt class="py-lineno">1767</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"sudo iptables "</tt> <tt class="py-op">+</tt> <tt class="py-name">actionFlag</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1768"></a><tt class="py-lineno">1768</tt>  <tt class="py-line">                  <tt class="py-name">direction</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1769"></a><tt class="py-lineno">1769</tt>  <tt class="py-line">                  <tt class="py-string">" -s "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1770"></a><tt class="py-lineno">1770</tt>  <tt class="py-line">                  <tt class="py-comment"># " -p " + str( packet_type ) +\</tt> </tt>
+<a name="L1771"></a><tt class="py-lineno">1771</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">packet_type</tt><tt class="py-op">:</tt> </tt>
+<a name="L1772"></a><tt class="py-lineno">1772</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -p "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">packet_type</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1773"></a><tt class="py-lineno">1773</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">port</tt><tt class="py-op">:</tt> </tt>
+<a name="L1774"></a><tt class="py-lineno">1774</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" --dport "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1775"></a><tt class="py-lineno">1775</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">states</tt><tt class="py-op">:</tt> </tt>
+<a name="L1776"></a><tt class="py-lineno">1776</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -m state --state="</tt> </tt>
+<a name="L1777"></a><tt class="py-lineno">1777</tt>  <tt class="py-line">                <tt class="py-comment">#FIXME- Allow user to configure which states to block</tt> </tt>
+<a name="L1778"></a><tt class="py-lineno">1778</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">"INVALID,ESTABLISHED,NEW,RELATED,UNTRACKED"</tt> </tt>
+<a name="L1779"></a><tt class="py-lineno">1779</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -j "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">rule</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1780"></a><tt class="py-lineno">1780</tt>  <tt class="py-line"> </tt>
+<a name="L1781"></a><tt class="py-lineno">1781</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-583" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-583', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1782"></a><tt class="py-lineno">1782</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1783"></a><tt class="py-lineno">1783</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-584" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-584', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1784"></a><tt class="py-lineno">1784</tt>  <tt class="py-line"> </tt>
+<a name="L1785"></a><tt class="py-lineno">1785</tt>  <tt class="py-line">            <tt class="py-name">info_string</tt> <tt class="py-op">=</tt> <tt class="py-string">"On "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1786"></a><tt class="py-lineno">1786</tt>  <tt class="py-line">            <tt class="py-name">info_string</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">action_type</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1787"></a><tt class="py-lineno">1787</tt>  <tt class="py-line">            <tt class="py-name">info_string</tt> <tt class="py-op">+=</tt> <tt class="py-string">" iptable rule [ "</tt> </tt>
+<a name="L1788"></a><tt class="py-lineno">1788</tt>  <tt class="py-line">            <tt class="py-name">info_string</tt> <tt class="py-op">+=</tt> <tt class="py-string">" IP: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1789"></a><tt class="py-lineno">1789</tt>  <tt class="py-line">            <tt class="py-name">info_string</tt> <tt class="py-op">+=</tt> <tt class="py-string">" Port: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1790"></a><tt class="py-lineno">1790</tt>  <tt class="py-line">            <tt class="py-name">info_string</tt> <tt class="py-op">+=</tt> <tt class="py-string">" Rule: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">rule</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1791"></a><tt class="py-lineno">1791</tt>  <tt class="py-line">            <tt class="py-name">info_string</tt> <tt class="py-op">+=</tt> <tt class="py-string">" Direction: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">direction</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ]"</tt> </tt>
+<a name="L1792"></a><tt class="py-lineno">1792</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-585" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-585', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">info_string</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1793"></a><tt class="py-lineno">1793</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1794"></a><tt class="py-lineno">1794</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">:</tt> </tt>
+<a name="L1795"></a><tt class="py-lineno">1795</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-586" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-586', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Timeout exception in "</tt> </tt>
+<a name="L1796"></a><tt class="py-lineno">1796</tt>  <tt class="py-line">                                <tt class="py-string">"setIpTables function"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1797"></a><tt class="py-lineno">1797</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt> </tt>
+<a name="L1798"></a><tt class="py-lineno">1798</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1799"></a><tt class="py-lineno">1799</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-587" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-587', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-588" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-588', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1800"></a><tt class="py-lineno">1800</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-589" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-589', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-590" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-590', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1801"></a><tt class="py-lineno">1801</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-591" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-591', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1802"></a><tt class="py-lineno">1802</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-592" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-592', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1803"></a><tt class="py-lineno">1803</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1804"></a><tt class="py-lineno">1804</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-593" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-593', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1805"></a><tt class="py-lineno">1805</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-594" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-594', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1806"></a><tt class="py-lineno">1806</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-595" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-595', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1807"></a><tt class="py-lineno">1807</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.detailed_status"></a><div id="OnosDriver.detailed_status-def"><a name="L1808"></a><tt class="py-lineno">1808</tt> <a class="py-toggle" href="#" id="OnosDriver.detailed_status-toggle" onclick="return toggle('OnosDriver.detailed_status');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#detailed_status">detailed_status</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">log_filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.detailed_status-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.detailed_status-expanded"><a name="L1809"></a><tt class="py-lineno">1809</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1810"></a><tt class="py-lineno">1810</tt>  <tt class="py-line"><tt class="py-docstring">        This method is used by STS to check the status of the controller</tt> </tt>
+<a name="L1811"></a><tt class="py-lineno">1811</tt>  <tt class="py-line"><tt class="py-docstring">        Reports RUNNING, STARTING, STOPPED, FROZEN, ERROR (and reason)</tt> </tt>
+<a name="L1812"></a><tt class="py-lineno">1812</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1813"></a><tt class="py-lineno">1813</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L1814"></a><tt class="py-lineno">1814</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1815"></a><tt class="py-lineno">1815</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-596" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-596', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1816"></a><tt class="py-lineno">1816</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1817"></a><tt class="py-lineno">1817</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-597" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-597', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"cd "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1818"></a><tt class="py-lineno">1818</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1819"></a><tt class="py-lineno">1819</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-598" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-598', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"service onos status"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1820"></a><tt class="py-lineno">1820</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1821"></a><tt class="py-lineno">1821</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L1822"></a><tt class="py-lineno">1822</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"onos start/running"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1823"></a><tt class="py-lineno">1823</tt>  <tt class="py-line">                <tt class="py-comment"># onos start/running, process 10457</tt> </tt>
+<a name="L1824"></a><tt class="py-lineno">1824</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">'RUNNING'</tt> </tt>
+<a name="L1825"></a><tt class="py-lineno">1825</tt>  <tt class="py-line">            <tt class="py-comment"># FIXME: Implement this case</tt> </tt>
+<a name="L1826"></a><tt class="py-lineno">1826</tt>  <tt class="py-line">            <tt class="py-comment"># elif re.search( pattern, response ):</tt> </tt>
+<a name="L1827"></a><tt class="py-lineno">1827</tt>  <tt class="py-line">            <tt class="py-comment">#      return 'STARTING'</tt> </tt>
+<a name="L1828"></a><tt class="py-lineno">1828</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"onos stop/"</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1829"></a><tt class="py-lineno">1829</tt>  <tt class="py-line">                <tt class="py-comment"># onos stop/waiting</tt> </tt>
+<a name="L1830"></a><tt class="py-lineno">1830</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME handle this differently?:  onos stop/pre-stop</tt> </tt>
+<a name="L1831"></a><tt class="py-lineno">1831</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">'STOPPED'</tt> </tt>
+<a name="L1832"></a><tt class="py-lineno">1832</tt>  <tt class="py-line">            <tt class="py-comment"># FIXME: Implement this case</tt> </tt>
+<a name="L1833"></a><tt class="py-lineno">1833</tt>  <tt class="py-line">            <tt class="py-comment"># elif re.search( pattern, response ):</tt> </tt>
+<a name="L1834"></a><tt class="py-lineno">1834</tt>  <tt class="py-line">            <tt class="py-comment">#      return 'FROZEN'</tt> </tt>
+<a name="L1835"></a><tt class="py-lineno">1835</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1836"></a><tt class="py-lineno">1836</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-599" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-599', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1837"></a><tt class="py-lineno">1837</tt>  <tt class="py-line">                               <tt class="py-string">" WARNING: status received unknown response"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1838"></a><tt class="py-lineno">1838</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-600" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-600', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1839"></a><tt class="py-lineno">1839</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">'ERROR'</tt><tt class="py-op">,</tt> <tt class="py-string">"Unknown response: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">response</tt> </tt>
+<a name="L1840"></a><tt class="py-lineno">1840</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">:</tt> </tt>
+<a name="L1841"></a><tt class="py-lineno">1841</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-601" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-601', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Timeout exception in "</tt> </tt>
+<a name="L1842"></a><tt class="py-lineno">1842</tt>  <tt class="py-line">                                <tt class="py-string">"setIpTables function"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1843"></a><tt class="py-lineno">1843</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-string">'ERROR'</tt><tt class="py-op">,</tt> <tt class="py-string">"Pexpect Timeout"</tt> </tt>
+<a name="L1844"></a><tt class="py-lineno">1844</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L1845"></a><tt class="py-lineno">1845</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-602" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-602', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-603" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-603', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1846"></a><tt class="py-lineno">1846</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-604" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-604', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-605" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-605', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1847"></a><tt class="py-lineno">1847</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-606" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-606', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1848"></a><tt class="py-lineno">1848</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-607" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-607', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1849"></a><tt class="py-lineno">1849</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1850"></a><tt class="py-lineno">1850</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-608" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-608', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1851"></a><tt class="py-lineno">1851</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-609" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-609', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1852"></a><tt class="py-lineno">1852</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-610" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-610', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1853"></a><tt class="py-lineno">1853</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.createLinkGraphFile"></a><div id="OnosDriver.createLinkGraphFile-def"><a name="L1854"></a><tt class="py-lineno">1854</tt> <a class="py-toggle" href="#" id="OnosDriver.createLinkGraphFile-toggle" onclick="return toggle('OnosDriver.createLinkGraphFile');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createLinkGraphFile">createLinkGraphFile</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">benchIp</tt><tt class="py-op">,</tt> <tt class="py-param">ONOSIpList</tt><tt class="py-op">,</tt> <tt class="py-param">deviceCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.createLinkGraphFile-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.createLinkGraphFile-expanded"><a name="L1855"></a><tt class="py-lineno">1855</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L1856"></a><tt class="py-lineno">1856</tt>  <tt class="py-line"><tt class="py-docstring">            Create/formats the LinkGraph.cfg file based on arguments</tt> </tt>
+<a name="L1857"></a><tt class="py-lineno">1857</tt>  <tt class="py-line"><tt class="py-docstring">                -only creates a linear topology and connects islands</tt> </tt>
+<a name="L1858"></a><tt class="py-lineno">1858</tt>  <tt class="py-line"><tt class="py-docstring">                -evenly distributes devices</tt> </tt>
+<a name="L1859"></a><tt class="py-lineno">1859</tt>  <tt class="py-line"><tt class="py-docstring">                -must be called by ONOSbench</tt> </tt>
+<a name="L1860"></a><tt class="py-lineno">1860</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1861"></a><tt class="py-lineno">1861</tt>  <tt class="py-line"><tt class="py-docstring">                ONOSIpList - list of all of the node IPs to be used</tt> </tt>
+<a name="L1862"></a><tt class="py-lineno">1862</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1863"></a><tt class="py-lineno">1863</tt>  <tt class="py-line"><tt class="py-docstring">                deviceCount - number of switches to be assigned</tt> </tt>
+<a name="L1864"></a><tt class="py-lineno">1864</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L1865"></a><tt class="py-lineno">1865</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-611" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-611', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-612" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-612', 'step', 'link-612');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Creating link graph configuration file."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1866"></a><tt class="py-lineno">1866</tt>  <tt class="py-line">        <tt class="py-name">linkGraphPath</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> <tt class="py-string">"/tools/package/etc/linkGraph.cfg"</tt> </tt>
+<a name="L1867"></a><tt class="py-lineno">1867</tt>  <tt class="py-line">        <tt class="py-name">tempFile</tt> <tt class="py-op">=</tt> <tt class="py-string">"/tmp/linkGraph.cfg"</tt> </tt>
+<a name="L1868"></a><tt class="py-lineno">1868</tt>  <tt class="py-line"> </tt>
+<a name="L1869"></a><tt class="py-lineno">1869</tt>  <tt class="py-line">        <tt class="py-name">linkGraph</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">tempFile</tt><tt class="py-op">,</tt> <tt class="py-string">'w+'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1870"></a><tt class="py-lineno">1870</tt>  <tt class="py-line">        <tt class="py-name">linkGraph</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"# NullLinkProvider topology description (config file).\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1871"></a><tt class="py-lineno">1871</tt>  <tt class="py-line">        <tt class="py-name">linkGraph</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"# The NodeId is only added if the destination is another node's device.\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1872"></a><tt class="py-lineno">1872</tt>  <tt class="py-line">        <tt class="py-name">linkGraph</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"# Bugs: Comments cannot be appended to a line to be read.\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1873"></a><tt class="py-lineno">1873</tt>  <tt class="py-line"> </tt>
+<a name="L1874"></a><tt class="py-lineno">1874</tt>  <tt class="py-line">        <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIpList</tt><tt class="py-op">)</tt> </tt>
+<a name="L1875"></a><tt class="py-lineno">1875</tt>  <tt class="py-line"> </tt>
+<a name="L1876"></a><tt class="py-lineno">1876</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">deviceCount</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">int</tt> <tt class="py-keyword">or</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">deviceCount</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">str</tt><tt class="py-op">:</tt> </tt>
+<a name="L1877"></a><tt class="py-lineno">1877</tt>  <tt class="py-line">            <tt class="py-name">deviceCount</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">deviceCount</tt><tt class="py-op">)</tt> </tt>
+<a name="L1878"></a><tt class="py-lineno">1878</tt>  <tt class="py-line">            <tt class="py-name">switchList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L1879"></a><tt class="py-lineno">1879</tt>  <tt class="py-line">            <tt class="py-name">baselineSwitchCount</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceCount</tt><tt class="py-op">/</tt><tt class="py-name">clusterCount</tt> </tt>
+<a name="L1880"></a><tt class="py-lineno">1880</tt>  <tt class="py-line"> </tt>
+<a name="L1881"></a><tt class="py-lineno">1881</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1882"></a><tt class="py-lineno">1882</tt>  <tt class="py-line">                <tt class="py-name">switchList</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">baselineSwitchCount</tt> </tt>
+<a name="L1883"></a><tt class="py-lineno">1883</tt>  <tt class="py-line"> </tt>
+<a name="L1884"></a><tt class="py-lineno">1884</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">deviceCount</tt><tt class="py-op">%</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1885"></a><tt class="py-lineno">1885</tt>  <tt class="py-line">                <tt class="py-name">switchList</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1886"></a><tt class="py-lineno">1886</tt>  <tt class="py-line"> </tt>
+<a name="L1887"></a><tt class="py-lineno">1887</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">deviceCount</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">list</tt><tt class="py-op">:</tt> </tt>
+<a name="L1888"></a><tt class="py-lineno">1888</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-613" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-613', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Using provided device distribution"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1889"></a><tt class="py-lineno">1889</tt>  <tt class="py-line">            <tt class="py-name">switchList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L1890"></a><tt class="py-lineno">1890</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">deviceCount</tt><tt class="py-op">:</tt> </tt>
+<a name="L1891"></a><tt class="py-lineno">1891</tt>  <tt class="py-line">                <tt class="py-name">switchList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1892"></a><tt class="py-lineno">1892</tt>  <tt class="py-line"> </tt>
+<a name="L1893"></a><tt class="py-lineno">1893</tt>  <tt class="py-line">        <tt class="py-name">tempList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'0'</tt><tt class="py-op">]</tt> </tt>
+<a name="L1894"></a><tt class="py-lineno">1894</tt>  <tt class="py-line">        <tt class="py-name">tempList</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIpList</tt><tt class="py-op">)</tt> </tt>
+<a name="L1895"></a><tt class="py-lineno">1895</tt>  <tt class="py-line">        <tt class="py-name">ONOSIpList</tt> <tt class="py-op">=</tt> <tt class="py-name">tempList</tt> </tt>
+<a name="L1896"></a><tt class="py-lineno">1896</tt>  <tt class="py-line"> </tt>
+<a name="L1897"></a><tt class="py-lineno">1897</tt>  <tt class="py-line">        <tt class="py-name">myPort</tt> <tt class="py-op">=</tt> <tt class="py-number">6</tt> </tt>
+<a name="L1898"></a><tt class="py-lineno">1898</tt>  <tt class="py-line">        <tt class="py-name">lastSwitch</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L1899"></a><tt class="py-lineno">1899</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1900"></a><tt class="py-lineno">1900</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">switchList</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L1901"></a><tt class="py-lineno">1901</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+<a name="L1902"></a><tt class="py-lineno">1902</tt>  <tt class="py-line"> </tt>
+<a name="L1903"></a><tt class="py-lineno">1903</tt>  <tt class="py-line">            <tt class="py-name">linkGraph</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"graph "</tt> <tt class="py-op">+</tt> <tt class="py-name">ONOSIpList</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" {\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1904"></a><tt class="py-lineno">1904</tt>  <tt class="py-line"> </tt>
+<a name="L1905"></a><tt class="py-lineno">1905</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">node</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1906"></a><tt class="py-lineno">1906</tt>  <tt class="py-line">                <tt class="py-comment">#connect to last device on previous node</tt> </tt>
+<a name="L1907"></a><tt class="py-lineno">1907</tt>  <tt class="py-line">                <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">"\t0:5 -&gt; "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">lastSwitch</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":6:"</tt> <tt class="py-op">+</tt> <tt class="py-name">lastIp</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">)</tt>     <tt class="py-comment">#ONOSIpList[node-1]</tt> </tt>
+<a name="L1908"></a><tt class="py-lineno">1908</tt>  <tt class="py-line">                <tt class="py-name">linkGraph</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L1909"></a><tt class="py-lineno">1909</tt>  <tt class="py-line"> </tt>
+<a name="L1910"></a><tt class="py-lineno">1910</tt>  <tt class="py-line">            <tt class="py-name">lastSwitch</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L1911"></a><tt class="py-lineno">1911</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt> <tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">switchList</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1912"></a><tt class="py-lineno">1912</tt>  <tt class="py-line">                <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L1913"></a><tt class="py-lineno">1913</tt>  <tt class="py-line">                <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">"\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">myPort</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1914"></a><tt class="py-lineno">1914</tt>  <tt class="py-line">                <tt class="py-name">line</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -- "</tt> </tt>
+<a name="L1915"></a><tt class="py-lineno">1915</tt>  <tt class="py-line">                <tt class="py-name">line</tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">myPort</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1916"></a><tt class="py-lineno">1916</tt>  <tt class="py-line">                <tt class="py-name">linkGraph</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L1917"></a><tt class="py-lineno">1917</tt>  <tt class="py-line">                <tt class="py-name">lastSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">switch</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
+<a name="L1918"></a><tt class="py-lineno">1918</tt>  <tt class="py-line">            <tt class="py-name">lastIp</tt> <tt class="py-op">=</tt> <tt class="py-name">ONOSIpList</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> </tt>
+<a name="L1919"></a><tt class="py-lineno">1919</tt>  <tt class="py-line"> </tt>
+<a name="L1920"></a><tt class="py-lineno">1920</tt>  <tt class="py-line">            <tt class="py-comment">#lastSwitch += 1</tt> </tt>
+<a name="L1921"></a><tt class="py-lineno">1921</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">node</tt> <tt class="py-op">&lt;</tt> <tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1922"></a><tt class="py-lineno">1922</tt>  <tt class="py-line">                <tt class="py-comment">#connect to first device on the next node</tt> </tt>
+<a name="L1923"></a><tt class="py-lineno">1923</tt>  <tt class="py-line">                <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">"\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">lastSwitch</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":6 -&gt; 0:5:"</tt> <tt class="py-op">+</tt> <tt class="py-name">ONOSIpList</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1924"></a><tt class="py-lineno">1924</tt>  <tt class="py-line">                <tt class="py-name">linkGraph</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L1925"></a><tt class="py-lineno">1925</tt>  <tt class="py-line"> </tt>
+<a name="L1926"></a><tt class="py-lineno">1926</tt>  <tt class="py-line">            <tt class="py-name">linkGraph</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"}\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1927"></a><tt class="py-lineno">1927</tt>  <tt class="py-line">        <tt class="py-name">linkGraph</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1928"></a><tt class="py-lineno">1928</tt>  <tt class="py-line"> </tt>
+<a name="L1929"></a><tt class="py-lineno">1929</tt>  <tt class="py-line">        <tt class="py-comment">#SCP</tt> </tt>
+<a name="L1930"></a><tt class="py-lineno">1930</tt>  <tt class="py-line">        <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">system</tt><tt class="py-op">(</tt> <tt class="py-string">"scp "</tt> <tt class="py-op">+</tt> <tt class="py-name">tempFile</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">+</tt> <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> <tt class="py-name">benchIp</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">linkGraphPath</tt><tt class="py-op">)</tt> </tt>
+<a name="L1931"></a><tt class="py-lineno">1931</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-614" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-614', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"linkGraph.cfg creation complete"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1932"></a><tt class="py-lineno">1932</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.configNullDev"></a><div id="OnosDriver.configNullDev-def"><a name="L1933"></a><tt class="py-lineno">1933</tt> <a class="py-toggle" href="#" id="OnosDriver.configNullDev-toggle" onclick="return toggle('OnosDriver.configNullDev');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#configNullDev">configNullDev</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ONOSIpList</tt><tt class="py-op">,</tt> <tt class="py-param">deviceCount</tt><tt class="py-op">,</tt> <tt class="py-param">numPorts</tt><tt class="py-op">=</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.configNullDev-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.configNullDev-expanded"><a name="L1934"></a><tt class="py-lineno">1934</tt>  <tt class="py-line"> </tt>
+<a name="L1935"></a><tt class="py-lineno">1935</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L1936"></a><tt class="py-lineno">1936</tt>  <tt class="py-line"><tt class="py-docstring">            ONOSIpList = list of Ip addresses of nodes switches will be devided amongst</tt> </tt>
+<a name="L1937"></a><tt class="py-lineno">1937</tt>  <tt class="py-line"><tt class="py-docstring">            deviceCount = number of switches to distribute, or list of values to use as custom distribution</tt> </tt>
+<a name="L1938"></a><tt class="py-lineno">1938</tt>  <tt class="py-line"><tt class="py-docstring">            numPorts = number of ports per device. Defaults to 10 both in this function and in ONOS. Optional arg</tt> </tt>
+<a name="L1939"></a><tt class="py-lineno">1939</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L1940"></a><tt class="py-lineno">1940</tt>  <tt class="py-line"> </tt>
+<a name="L1941"></a><tt class="py-lineno">1941</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-615" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-615', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-616" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-616', 'step', 'link-612');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Configuring Null Device Provider"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1942"></a><tt class="py-lineno">1942</tt>  <tt class="py-line">        <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIpList</tt><tt class="py-op">)</tt> </tt>
+<a name="L1943"></a><tt class="py-lineno">1943</tt>  <tt class="py-line"> </tt>
+<a name="L1944"></a><tt class="py-lineno">1944</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1945"></a><tt class="py-lineno">1945</tt>  <tt class="py-line"> </tt>
+<a name="L1946"></a><tt class="py-lineno">1946</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">deviceCount</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">int</tt> <tt class="py-keyword">or</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">deviceCount</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">str</tt><tt class="py-op">:</tt> </tt>
+<a name="L1947"></a><tt class="py-lineno">1947</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-617" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-617', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-618" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-618', 'step', 'link-612');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Creating device distribution"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1948"></a><tt class="py-lineno">1948</tt>  <tt class="py-line">                <tt class="py-name">deviceCount</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">deviceCount</tt><tt class="py-op">)</tt> </tt>
+<a name="L1949"></a><tt class="py-lineno">1949</tt>  <tt class="py-line">                <tt class="py-name">switchList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L1950"></a><tt class="py-lineno">1950</tt>  <tt class="py-line">                <tt class="py-name">baselineSwitchCount</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceCount</tt><tt class="py-op">/</tt><tt class="py-name">clusterCount</tt> </tt>
+<a name="L1951"></a><tt class="py-lineno">1951</tt>  <tt class="py-line"> </tt>
+<a name="L1952"></a><tt class="py-lineno">1952</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1953"></a><tt class="py-lineno">1953</tt>  <tt class="py-line">                    <tt class="py-name">switchList</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">baselineSwitchCount</tt> </tt>
+<a name="L1954"></a><tt class="py-lineno">1954</tt>  <tt class="py-line"> </tt>
+<a name="L1955"></a><tt class="py-lineno">1955</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">deviceCount</tt><tt class="py-op">%</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1956"></a><tt class="py-lineno">1956</tt>  <tt class="py-line">                    <tt class="py-name">switchList</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1957"></a><tt class="py-lineno">1957</tt>  <tt class="py-line"> </tt>
+<a name="L1958"></a><tt class="py-lineno">1958</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">deviceCount</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">list</tt><tt class="py-op">:</tt> </tt>
+<a name="L1959"></a><tt class="py-lineno">1959</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-619" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-619', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Using provided device distribution"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1960"></a><tt class="py-lineno">1960</tt>  <tt class="py-line"> </tt>
+<a name="L1961"></a><tt class="py-lineno">1961</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">deviceCount</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">clusterCount</tt><tt class="py-op">:</tt> </tt>
+<a name="L1962"></a><tt class="py-lineno">1962</tt>  <tt class="py-line">                    <tt class="py-name">switchList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'0'</tt><tt class="py-op">]</tt> </tt>
+<a name="L1963"></a><tt class="py-lineno">1963</tt>  <tt class="py-line">                    <tt class="py-name">switchList</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">deviceCount</tt><tt class="py-op">)</tt> </tt>
+<a name="L1964"></a><tt class="py-lineno">1964</tt>  <tt class="py-line"> </tt>
+<a name="L1965"></a><tt class="py-lineno">1965</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">deviceCount</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-op">(</tt><tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1966"></a><tt class="py-lineno">1966</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">deviceCount</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'0'</tt> <tt class="py-keyword">or</tt> <tt class="py-name">deviceCount</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L1967"></a><tt class="py-lineno">1967</tt>  <tt class="py-line">                        <tt class="py-name">switchList</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceCount</tt> </tt>
+<a name="L1968"></a><tt class="py-lineno">1968</tt>  <tt class="py-line"> </tt>
+<a name="L1969"></a><tt class="py-lineno">1969</tt>  <tt class="py-line">                <tt class="py-keyword">assert</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">switchList</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-op">(</tt><tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L1970"></a><tt class="py-lineno">1970</tt>  <tt class="py-line"> </tt>
+<a name="L1971"></a><tt class="py-lineno">1971</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1972"></a><tt class="py-lineno">1972</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-620" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-620', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-621" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-621', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Bad device/Ip list match"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1973"></a><tt class="py-lineno">1973</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1974"></a><tt class="py-lineno">1974</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-622" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-622', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1975"></a><tt class="py-lineno">1975</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1976"></a><tt class="py-lineno">1976</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L1977"></a><tt class="py-lineno">1977</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-623" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-623', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1978"></a><tt class="py-lineno">1978</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-624" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-624', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1979"></a><tt class="py-lineno">1979</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-625" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-625', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1980"></a><tt class="py-lineno">1980</tt>  <tt class="py-line"> </tt>
+<a name="L1981"></a><tt class="py-lineno">1981</tt>  <tt class="py-line"> </tt>
+<a name="L1982"></a><tt class="py-lineno">1982</tt>  <tt class="py-line">        <tt class="py-name">ONOSIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L1983"></a><tt class="py-lineno">1983</tt>  <tt class="py-line">        <tt class="py-name">ONOSIp</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIpList</tt><tt class="py-op">)</tt> </tt>
+<a name="L1984"></a><tt class="py-lineno">1984</tt>  <tt class="py-line"> </tt>
+<a name="L1985"></a><tt class="py-lineno">1985</tt>  <tt class="py-line">        <tt class="py-name">devicesString</tt>  <tt class="py-op">=</tt> <tt class="py-string">"devConfigs = "</tt> </tt>
+<a name="L1986"></a><tt class="py-lineno">1986</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1987"></a><tt class="py-lineno">1987</tt>  <tt class="py-line">            <tt class="py-name">devicesString</tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">switchList</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1988"></a><tt class="py-lineno">1988</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">node</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">clusterCount</tt><tt class="py-op">:</tt> </tt>
+<a name="L1989"></a><tt class="py-lineno">1989</tt>  <tt class="py-line">                <tt class="py-name">devicesString</tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L1990"></a><tt class="py-lineno">1990</tt>  <tt class="py-line"> </tt>
+<a name="L1991"></a><tt class="py-lineno">1991</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1992"></a><tt class="py-lineno">1992</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-626" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-626', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 cfg set org.onosproject.provider.nil.device.impl.NullDeviceProvider devConfigs "</tt> <tt class="py-op">+</tt> <tt class="py-name">devicesString</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1993"></a><tt class="py-lineno">1993</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1994"></a><tt class="py-lineno">1994</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-627" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-627', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 cfg set org.onosproject.provider.nil.device.impl.NullDeviceProvider numPorts "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">numPorts</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1995"></a><tt class="py-lineno">1995</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1996"></a><tt class="py-lineno">1996</tt>  <tt class="py-line"> </tt>
+<a name="L1997"></a><tt class="py-lineno">1997</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1998"></a><tt class="py-lineno">1998</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-628" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-628', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 cfg get org.onosproject.provider.nil.device.impl.NullDeviceProvider"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1999"></a><tt class="py-lineno">1999</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2000"></a><tt class="py-lineno">2000</tt>  <tt class="py-line">                <tt class="py-name">verification</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L2001"></a><tt class="py-lineno">2001</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">" value="</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">numPorts</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">verification</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-string">" value="</tt> <tt class="py-op">+</tt> <tt class="py-name">devicesString</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">verification</tt><tt class="py-op">:</tt> </tt>
+<a name="L2002"></a><tt class="py-lineno">2002</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L2003"></a><tt class="py-lineno">2003</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2004"></a><tt class="py-lineno">2004</tt>  <tt class="py-line">                    <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L2005"></a><tt class="py-lineno">2005</tt>  <tt class="py-line"> </tt>
+<a name="L2006"></a><tt class="py-lineno">2006</tt>  <tt class="py-line">            <tt class="py-keyword">assert</tt> <tt class="py-op">(</tt><tt class="py-string">"value="</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">numPorts</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">verification</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-string">" value="</tt> <tt class="py-op">+</tt> <tt class="py-name">devicesString</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">verification</tt> </tt>
+<a name="L2007"></a><tt class="py-lineno">2007</tt>  <tt class="py-line"> </tt>
+<a name="L2008"></a><tt class="py-lineno">2008</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2009"></a><tt class="py-lineno">2009</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-629" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-629', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-630" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-630', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Incorrect Config settings: "</tt> <tt class="py-op">+</tt> <tt class="py-name">verification</tt><tt class="py-op">)</tt> </tt>
+<a name="L2010"></a><tt class="py-lineno">2010</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2011"></a><tt class="py-lineno">2011</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-631" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-631', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2012"></a><tt class="py-lineno">2012</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-632" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-632', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2013"></a><tt class="py-lineno">2013</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-633" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-633', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2014"></a><tt class="py-lineno">2014</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.configNullLink"></a><div id="OnosDriver.configNullLink-def"><a name="L2015"></a><tt class="py-lineno">2015</tt> <a class="py-toggle" href="#" id="OnosDriver.configNullLink-toggle" onclick="return toggle('OnosDriver.configNullLink');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#configNullLink">configNullLink</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">fileName</tt><tt class="py-op">=</tt><tt class="py-string">"/opt/onos/apache-karaf-3.0.3/etc/linkGraph.cfg"</tt><tt class="py-op">,</tt> <tt class="py-param">eventRate</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.configNullLink-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.configNullLink-expanded"><a name="L2016"></a><tt class="py-lineno">2016</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L2017"></a><tt class="py-lineno">2017</tt>  <tt class="py-line"><tt class="py-docstring">                fileName default is currently the same as the default on ONOS, specify alternate file if</tt> </tt>
+<a name="L2018"></a><tt class="py-lineno">2018</tt>  <tt class="py-line"><tt class="py-docstring">                you want to use a different topology file than linkGraph.cfg</tt> </tt>
+<a name="L2019"></a><tt class="py-lineno">2019</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L2020"></a><tt class="py-lineno">2020</tt>  <tt class="py-line"> </tt>
+<a name="L2021"></a><tt class="py-lineno">2021</tt>  <tt class="py-line"> </tt>
+<a name="L2022"></a><tt class="py-lineno">2022</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2023"></a><tt class="py-lineno">2023</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-634" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-634', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 cfg set org.onosproject.provider.nil.link.impl.NullLinkProvider eventRate "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">eventRate</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2024"></a><tt class="py-lineno">2024</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2025"></a><tt class="py-lineno">2025</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-635" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-635', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 cfg set org.onosproject.provider.nil.link.impl.NullLinkProvider cfgFile "</tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2026"></a><tt class="py-lineno">2026</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2027"></a><tt class="py-lineno">2027</tt>  <tt class="py-line"> </tt>
+<a name="L2028"></a><tt class="py-lineno">2028</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2029"></a><tt class="py-lineno">2029</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-636" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-636', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 cfg get org.onosproject.provider.nil.link.impl.NullLinkProvider"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2030"></a><tt class="py-lineno">2030</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2031"></a><tt class="py-lineno">2031</tt>  <tt class="py-line">                <tt class="py-name">verification</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L2032"></a><tt class="py-lineno">2032</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">" value="</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">eventRate</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">verification</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-string">" value="</tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">verification</tt><tt class="py-op">:</tt> </tt>
+<a name="L2033"></a><tt class="py-lineno">2033</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L2034"></a><tt class="py-lineno">2034</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2035"></a><tt class="py-lineno">2035</tt>  <tt class="py-line">                    <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L2036"></a><tt class="py-lineno">2036</tt>  <tt class="py-line"> </tt>
+<a name="L2037"></a><tt class="py-lineno">2037</tt>  <tt class="py-line">            <tt class="py-keyword">assert</tt> <tt class="py-op">(</tt><tt class="py-string">"value="</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">eventRate</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">verification</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-string">" value="</tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">verification</tt> </tt>
+<a name="L2038"></a><tt class="py-lineno">2038</tt>  <tt class="py-line"> </tt>
+<a name="L2039"></a><tt class="py-lineno">2039</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2040"></a><tt class="py-lineno">2040</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-637" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-637', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-638" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-638', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2041"></a><tt class="py-lineno">2041</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-639" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-639', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-640" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-640', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2042"></a><tt class="py-lineno">2042</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-641" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-641', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2043"></a><tt class="py-lineno">2043</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-642" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-642', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2044"></a><tt class="py-lineno">2044</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2045"></a><tt class="py-lineno">2045</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-643" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-643', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Settings did not post to ONOS"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2046"></a><tt class="py-lineno">2046</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-644" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-644', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-645" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-645', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt><tt class="py-name">varification</tt><tt class="py-op">)</tt> </tt>
+<a name="L2047"></a><tt class="py-lineno">2047</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L2048"></a><tt class="py-lineno">2048</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-646" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-646', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Uncaught exception!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2049"></a><tt class="py-lineno">2049</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-647" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-647', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-648" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-648', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt><tt class="py-name">varification</tt><tt class="py-op">)</tt> </tt>
+<a name="L2050"></a><tt class="py-lineno">2050</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-649" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-649', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2051"></a><tt class="py-lineno">2051</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-650" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-650', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2052"></a><tt class="py-lineno">2052</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.getOnosIps"></a><div id="OnosDriver.getOnosIps-def"><a name="L2053"></a><tt class="py-lineno">2053</tt> <a class="py-toggle" href="#" id="OnosDriver.getOnosIps-toggle" onclick="return toggle('OnosDriver.getOnosIps');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getOnosIps">getOnosIps</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.getOnosIps-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.getOnosIps-expanded"><a name="L2054"></a><tt class="py-lineno">2054</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2055"></a><tt class="py-lineno">2055</tt>  <tt class="py-line"><tt class="py-docstring">            Get all onos IPs stored in</tt> </tt>
+<a name="L2056"></a><tt class="py-lineno">2056</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2057"></a><tt class="py-lineno">2057</tt>  <tt class="py-line"> </tt>
+<a name="L2058"></a><tt class="py-lineno">2058</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">onosIps</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2059"></a><tt class="py-lineno">2059</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.logReport"></a><div id="OnosDriver.logReport-def"><a name="L2060"></a><tt class="py-lineno">2060</tt> <a class="py-toggle" href="#" id="OnosDriver.logReport-toggle" onclick="return toggle('OnosDriver.logReport');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#logReport">logReport</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nodeIp</tt><tt class="py-op">,</tt> <tt class="py-param">searchTerms</tt><tt class="py-op">,</tt> <tt class="py-param">outputMode</tt><tt class="py-op">=</tt><tt class="py-string">"s"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.logReport-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.logReport-expanded"><a name="L2061"></a><tt class="py-lineno">2061</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L2062"></a><tt class="py-lineno">2062</tt>  <tt class="py-line"><tt class="py-docstring">            - accepts either a list or a string for "searchTerms" these</tt> </tt>
+<a name="L2063"></a><tt class="py-lineno">2063</tt>  <tt class="py-line"><tt class="py-docstring">              terms will be searched for in the log and have their</tt> </tt>
+<a name="L2064"></a><tt class="py-lineno">2064</tt>  <tt class="py-line"><tt class="py-docstring">              instances counted</tt> </tt>
+<a name="L2065"></a><tt class="py-lineno">2065</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2066"></a><tt class="py-lineno">2066</tt>  <tt class="py-line"><tt class="py-docstring">            - nodeIp is the ip of the node whos log is to be scanned</tt> </tt>
+<a name="L2067"></a><tt class="py-lineno">2067</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2068"></a><tt class="py-lineno">2068</tt>  <tt class="py-line"><tt class="py-docstring">            - output modes:</tt> </tt>
+<a name="L2069"></a><tt class="py-lineno">2069</tt>  <tt class="py-line"><tt class="py-docstring">                "s" -   Simple. Quiet output mode that just prints</tt> </tt>
+<a name="L2070"></a><tt class="py-lineno">2070</tt>  <tt class="py-line"><tt class="py-docstring">                        the occurences of each search term</tt> </tt>
+<a name="L2071"></a><tt class="py-lineno">2071</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2072"></a><tt class="py-lineno">2072</tt>  <tt class="py-line"><tt class="py-docstring">                "d" -   Detailed. Prints number of occurences as well as the entire</tt> </tt>
+<a name="L2073"></a><tt class="py-lineno">2073</tt>  <tt class="py-line"><tt class="py-docstring">                        line for each of the last 5 occurences</tt> </tt>
+<a name="L2074"></a><tt class="py-lineno">2074</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2075"></a><tt class="py-lineno">2075</tt>  <tt class="py-line"><tt class="py-docstring">            - returns total of the number of instances of all search terms</tt> </tt>
+<a name="L2076"></a><tt class="py-lineno">2076</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L2077"></a><tt class="py-lineno">2077</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-651" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-651', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"========================== Log Report ===========================\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2078"></a><tt class="py-lineno">2078</tt>  <tt class="py-line"> </tt>
+<a name="L2079"></a><tt class="py-lineno">2079</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">searchTerms</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">str</tt><tt class="py-op">:</tt> </tt>
+<a name="L2080"></a><tt class="py-lineno">2080</tt>  <tt class="py-line">            <tt class="py-name">searchTerms</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">searchTerms</tt><tt class="py-op">]</tt> </tt>
+<a name="L2081"></a><tt class="py-lineno">2081</tt>  <tt class="py-line"> </tt>
+<a name="L2082"></a><tt class="py-lineno">2082</tt>  <tt class="py-line">        <tt class="py-name">logLines</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-op">[</tt><tt class="py-string">" "</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">searchTerms</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2083"></a><tt class="py-lineno">2083</tt>  <tt class="py-line"> </tt>
+<a name="L2084"></a><tt class="py-lineno">2084</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">term</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">searchTerms</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2085"></a><tt class="py-lineno">2085</tt>  <tt class="py-line">            <tt class="py-name">logLines</tt><tt class="py-op">[</tt><tt class="py-name">term</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">searchTerms</tt><tt class="py-op">[</tt><tt class="py-name">term</tt><tt class="py-op">]</tt> </tt>
+<a name="L2086"></a><tt class="py-lineno">2086</tt>  <tt class="py-line"> </tt>
+<a name="L2087"></a><tt class="py-lineno">2087</tt>  <tt class="py-line">        <tt class="py-name">totalHits</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2088"></a><tt class="py-lineno">2088</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">term</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">searchTerms</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2089"></a><tt class="py-lineno">2089</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos-ssh "</tt> <tt class="py-op">+</tt> <tt class="py-name">nodeIp</tt> <tt class="py-op">+</tt> <tt class="py-string">" cat /opt/onos/log/karaf.log | grep "</tt> <tt class="py-op">+</tt> <tt class="py-name">searchTerms</tt><tt class="py-op">[</tt><tt class="py-name">term</tt><tt class="py-op">]</tt> </tt>
+<a name="L2090"></a><tt class="py-lineno">2090</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-652" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-652', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L2091"></a><tt class="py-lineno">2091</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2092"></a><tt class="py-lineno">2092</tt>  <tt class="py-line">            <tt class="py-name">before</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2093"></a><tt class="py-lineno">2093</tt>  <tt class="py-line"> </tt>
+<a name="L2094"></a><tt class="py-lineno">2094</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">searchTerms</tt><tt class="py-op">[</tt><tt class="py-name">term</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L2095"></a><tt class="py-lineno">2095</tt>  <tt class="py-line"> </tt>
+<a name="L2096"></a><tt class="py-lineno">2096</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">before</tt><tt class="py-op">:</tt> </tt>
+<a name="L2097"></a><tt class="py-lineno">2097</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">searchTerms</tt><tt class="py-op">[</tt><tt class="py-name">term</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt> <tt class="py-keyword">and</tt> <tt class="py-string">"grep"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L2098"></a><tt class="py-lineno">2098</tt>  <tt class="py-line">                    <tt class="py-name">count</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2099"></a><tt class="py-lineno">2099</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">before</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">before</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">7</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2100"></a><tt class="py-lineno">2100</tt>  <tt class="py-line">                        <tt class="py-name">logLines</tt><tt class="py-op">[</tt><tt class="py-name">term</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L2101"></a><tt class="py-lineno">2101</tt>  <tt class="py-line"> </tt>
+<a name="L2102"></a><tt class="py-lineno">2102</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-653" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-653', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">count</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">count</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2103"></a><tt class="py-lineno">2103</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">term</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">searchTerms</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2104"></a><tt class="py-lineno">2104</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2105"></a><tt class="py-lineno">2105</tt>  <tt class="py-line">            <tt class="py-name">totalHits</tt> <tt class="py-op">+=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">count</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2106"></a><tt class="py-lineno">2106</tt>  <tt class="py-line"> </tt>
+<a name="L2107"></a><tt class="py-lineno">2107</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">outputMode</tt> <tt class="py-op">!=</tt> <tt class="py-string">"s"</tt> <tt class="py-keyword">and</tt> <tt class="py-name">outputMode</tt> <tt class="py-op">!=</tt> <tt class="py-string">"S"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2108"></a><tt class="py-lineno">2108</tt>  <tt class="py-line">            <tt class="py-name">outputString</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L2109"></a><tt class="py-lineno">2109</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">logLines</tt><tt class="py-op">:</tt> </tt>
+<a name="L2110"></a><tt class="py-lineno">2110</tt>  <tt class="py-line">                <tt class="py-name">outputString</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">": \n"</tt> </tt>
+<a name="L2111"></a><tt class="py-lineno">2111</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2112"></a><tt class="py-lineno">2112</tt>  <tt class="py-line">                    <tt class="py-name">outputString</tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt> <tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2113"></a><tt class="py-lineno">2113</tt>  <tt class="py-line"> </tt>
+<a name="L2114"></a><tt class="py-lineno">2114</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">outputString</tt> <tt class="py-op">!=</tt> <tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">": \n"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2115"></a><tt class="py-lineno">2115</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-654" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-654', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">outputString</tt><tt class="py-op">)</tt> </tt>
+<a name="L2116"></a><tt class="py-lineno">2116</tt>  <tt class="py-line"> </tt>
+<a name="L2117"></a><tt class="py-lineno">2117</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-655" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-655', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"================================================================\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2118"></a><tt class="py-lineno">2118</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">totalHits</tt> </tt>
+</div><a name="L2119"></a><tt class="py-lineno">2119</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.copyMininetFile"></a><div id="OnosDriver.copyMininetFile-def"><a name="L2120"></a><tt class="py-lineno">2120</tt> <a class="py-toggle" href="#" id="OnosDriver.copyMininetFile-toggle" onclick="return toggle('OnosDriver.copyMininetFile');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#copyMininetFile">copyMininetFile</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fileName</tt><tt class="py-op">,</tt> <tt class="py-param">localPath</tt><tt class="py-op">,</tt> <tt class="py-param">userName</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">,</tt> </tt>
+<a name="L2121"></a><tt class="py-lineno">2121</tt>  <tt class="py-line">                         <tt class="py-param">mnPath</tt><tt class="py-op">=</tt><tt class="py-string">'~/mininet/custom/'</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">60</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.copyMininetFile-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.copyMininetFile-expanded"><a name="L2122"></a><tt class="py-lineno">2122</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2123"></a><tt class="py-lineno">2123</tt>  <tt class="py-line"><tt class="py-docstring">        Description:</tt> </tt>
+<a name="L2124"></a><tt class="py-lineno">2124</tt>  <tt class="py-line"><tt class="py-docstring">            Copy mininet topology file from dependency folder in the test folder</tt> </tt>
+<a name="L2125"></a><tt class="py-lineno">2125</tt>  <tt class="py-line"><tt class="py-docstring">            and paste it to the mininet machine's mininet/custom folder</tt> </tt>
+<a name="L2126"></a><tt class="py-lineno">2126</tt>  <tt class="py-line"><tt class="py-docstring">        Required:</tt> </tt>
+<a name="L2127"></a><tt class="py-lineno">2127</tt>  <tt class="py-line"><tt class="py-docstring">            fileName - Name of the topology file to copy</tt> </tt>
+<a name="L2128"></a><tt class="py-lineno">2128</tt>  <tt class="py-line"><tt class="py-docstring">            localPath - File path of the mininet topology file</tt> </tt>
+<a name="L2129"></a><tt class="py-lineno">2129</tt>  <tt class="py-line"><tt class="py-docstring">            userName - User name of the mininet machine to send the file to</tt> </tt>
+<a name="L2130"></a><tt class="py-lineno">2130</tt>  <tt class="py-line"><tt class="py-docstring">            ip - Ip address of the mininet machine</tt> </tt>
+<a name="L2131"></a><tt class="py-lineno">2131</tt>  <tt class="py-line"><tt class="py-docstring">        Optional:</tt> </tt>
+<a name="L2132"></a><tt class="py-lineno">2132</tt>  <tt class="py-line"><tt class="py-docstring">            mnPath - of the mininet directory to send the file to</tt> </tt>
+<a name="L2133"></a><tt class="py-lineno">2133</tt>  <tt class="py-line"><tt class="py-docstring">        Return:</tt> </tt>
+<a name="L2134"></a><tt class="py-lineno">2134</tt>  <tt class="py-line"><tt class="py-docstring">            Return main.TRUE if successfully copied the file otherwise</tt> </tt>
+<a name="L2135"></a><tt class="py-lineno">2135</tt>  <tt class="py-line"><tt class="py-docstring">            return main.FALSE</tt> </tt>
+<a name="L2136"></a><tt class="py-lineno">2136</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2137"></a><tt class="py-lineno">2137</tt>  <tt class="py-line"> </tt>
+<a name="L2138"></a><tt class="py-lineno">2138</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2139"></a><tt class="py-lineno">2139</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"scp "</tt> <tt class="py-op">+</tt> <tt class="py-name">localPath</tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">userName</tt> <tt class="py-op">+</tt> <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L2140"></a><tt class="py-lineno">2140</tt>  <tt class="py-line">                  <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">mnPath</tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt> </tt>
+<a name="L2141"></a><tt class="py-lineno">2141</tt>  <tt class="py-line"> </tt>
+<a name="L2142"></a><tt class="py-lineno">2142</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-656" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-656', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2143"></a><tt class="py-lineno">2143</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2144"></a><tt class="py-lineno">2144</tt>  <tt class="py-line"> </tt>
+<a name="L2145"></a><tt class="py-lineno">2145</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-657" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-657', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Execute: "</tt> <tt class="py-op">+</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2146"></a><tt class="py-lineno">2146</tt>  <tt class="py-line"> </tt>
+<a name="L2147"></a><tt class="py-lineno">2147</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-658" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-658', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2148"></a><tt class="py-lineno">2148</tt>  <tt class="py-line"> </tt>
+<a name="L2149"></a><tt class="py-lineno">2149</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">'No such file'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2150"></a><tt class="py-lineno">2150</tt>  <tt class="py-line">                                      <tt class="py-string">"100%"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2151"></a><tt class="py-lineno">2151</tt>  <tt class="py-line">                                      <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2152"></a><tt class="py-lineno">2152</tt>  <tt class="py-line"> </tt>
+<a name="L2153"></a><tt class="py-lineno">2153</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L2154"></a><tt class="py-lineno">2154</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-659" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-659', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-660" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-660', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": File "</tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2155"></a><tt class="py-lineno">2155</tt>  <tt class="py-line">                                <tt class="py-string">" does not exist!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2156"></a><tt class="py-lineno">2156</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2157"></a><tt class="py-lineno">2157</tt>  <tt class="py-line"> </tt>
+<a name="L2158"></a><tt class="py-lineno">2158</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2159"></a><tt class="py-lineno">2159</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-661" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-661', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": File "</tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2160"></a><tt class="py-lineno">2160</tt>  <tt class="py-line">                                <tt class="py-string">" has been copied!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2161"></a><tt class="py-lineno">2161</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-662" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-662', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2162"></a><tt class="py-lineno">2162</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2163"></a><tt class="py-lineno">2163</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2164"></a><tt class="py-lineno">2164</tt>  <tt class="py-line"> </tt>
+<a name="L2165"></a><tt class="py-lineno">2165</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">:</tt> </tt>
+<a name="L2166"></a><tt class="py-lineno">2166</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-663" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-663', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-664" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-664', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": EOF exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2167"></a><tt class="py-lineno">2167</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-665" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-665', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-666" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-666', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":    "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2168"></a><tt class="py-lineno">2168</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-667" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-667', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2169"></a><tt class="py-lineno">2169</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-668" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-668', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2170"></a><tt class="py-lineno">2170</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">:</tt> </tt>
+<a name="L2171"></a><tt class="py-lineno">2171</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-669" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-669', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-670" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-670', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": TIMEOUT exception found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2172"></a><tt class="py-lineno">2172</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-671" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-671', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-672" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-672', 'error', 'link-12');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":     "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2173"></a><tt class="py-lineno">2173</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-673" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-673', 'cleanup', 'link-25');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2174"></a><tt class="py-lineno">2174</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-674" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-674', 'exit', 'link-26');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2175"></a><tt class="py-lineno">2175</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.jvmSet"></a><div id="OnosDriver.jvmSet-def"><a name="L2176"></a><tt class="py-lineno">2176</tt> <a class="py-toggle" href="#" id="OnosDriver.jvmSet-toggle" onclick="return toggle('OnosDriver.jvmSet');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#jvmSet">jvmSet</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">memory</tt><tt class="py-op">=</tt><tt class="py-number">8</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.jvmSet-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.jvmSet-expanded"><a name="L2177"></a><tt class="py-lineno">2177</tt>  <tt class="py-line"> </tt>
+<a name="L2178"></a><tt class="py-lineno">2178</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L2179"></a><tt class="py-lineno">2179</tt>  <tt class="py-line"> </tt>
+<a name="L2180"></a><tt class="py-lineno">2180</tt>  <tt class="py-line">        <tt class="py-name">homeDir</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-675" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-675', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt class="py-string">'~'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2181"></a><tt class="py-lineno">2181</tt>  <tt class="py-line">        <tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-string">"/onos/tools/package/bin/onos-service"</tt> </tt>
+<a name="L2182"></a><tt class="py-lineno">2182</tt>  <tt class="py-line"> </tt>
+<a name="L2183"></a><tt class="py-lineno">2183</tt>  <tt class="py-line">        <tt class="py-name">serviceConfig</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">homeDir</tt> <tt class="py-op">+</tt> <tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'w+'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2184"></a><tt class="py-lineno">2184</tt>  <tt class="py-line">        <tt class="py-name">serviceConfig</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"#!/bin/bash\n "</tt><tt class="py-op">)</tt> </tt>
+<a name="L2185"></a><tt class="py-lineno">2185</tt>  <tt class="py-line">        <tt class="py-name">serviceConfig</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"#------------------------------------- \n "</tt><tt class="py-op">)</tt> </tt>
+<a name="L2186"></a><tt class="py-lineno">2186</tt>  <tt class="py-line">        <tt class="py-name">serviceConfig</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"# Starts ONOS Apache Karaf container\n "</tt><tt class="py-op">)</tt> </tt>
+<a name="L2187"></a><tt class="py-lineno">2187</tt>  <tt class="py-line">        <tt class="py-name">serviceConfig</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"#------------------------------------- \n "</tt><tt class="py-op">)</tt> </tt>
+<a name="L2188"></a><tt class="py-lineno">2188</tt>  <tt class="py-line">        <tt class="py-name">serviceConfig</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"#export JAVA_HOME=${JAVA_HOME:-/usr/lib/jvm/java-7-openjdk-amd64/}\n "</tt><tt class="py-op">)</tt> </tt>
+<a name="L2189"></a><tt class="py-lineno">2189</tt>  <tt class="py-line">        <tt class="py-name">serviceConfig</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"""export JAVA_OPTS="${JAVA_OPTS:--Xms"""</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">memory</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"G -Xmx"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">memory</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"""G}" \n """</tt><tt class="py-op">)</tt> </tt>
+<a name="L2190"></a><tt class="py-lineno">2190</tt>  <tt class="py-line">        <tt class="py-name">serviceConfig</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"[ -d $ONOS_HOME ] &amp;&amp; cd $ONOS_HOME || ONOS_HOME=$(dirname $0)/..\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2191"></a><tt class="py-lineno">2191</tt>  <tt class="py-line">        <tt class="py-name">serviceConfig</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"""${ONOS_HOME}/apache-karaf-$KARAF_VERSION/bin/karaf "$@" \n """</tt><tt class="py-op">)</tt> </tt>
+<a name="L2192"></a><tt class="py-lineno">2192</tt>  <tt class="py-line">        <tt class="py-name">serviceConfig</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2193"></a><tt class="py-lineno">2193</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.createDBFile"></a><div id="OnosDriver.createDBFile-def"><a name="L2194"></a><tt class="py-lineno">2194</tt> <a class="py-toggle" href="#" id="OnosDriver.createDBFile-toggle" onclick="return toggle('OnosDriver.createDBFile');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createDBFile">createDBFile</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">testData</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.createDBFile-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.createDBFile-expanded"><a name="L2195"></a><tt class="py-lineno">2195</tt>  <tt class="py-line"> </tt>
+<a name="L2196"></a><tt class="py-lineno">2196</tt>  <tt class="py-line">        <tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">+</tt> <tt class="py-string">"DB"</tt> </tt>
+<a name="L2197"></a><tt class="py-lineno">2197</tt>  <tt class="py-line">        <tt class="py-name">DBString</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L2198"></a><tt class="py-lineno">2198</tt>  <tt class="py-line"> </tt>
+<a name="L2199"></a><tt class="py-lineno">2199</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">testData</tt><tt class="py-op">:</tt> </tt>
+<a name="L2200"></a><tt class="py-lineno">2200</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">string</tt><tt class="py-op">:</tt> </tt>
+<a name="L2201"></a><tt class="py-lineno">2201</tt>  <tt class="py-line">                <tt class="py-name">item</tt> <tt class="py-op">=</tt> <tt class="py-string">"'"</tt> <tt class="py-op">+</tt> <tt class="py-name">item</tt> <tt class="py-op">+</tt> <tt class="py-string">"'"</tt> </tt>
+<a name="L2202"></a><tt class="py-lineno">2202</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">testData</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">testData</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2203"></a><tt class="py-lineno">2203</tt>  <tt class="py-line">                <tt class="py-name">item</tt> <tt class="py-op">+=</tt> <tt class="py-string">","</tt> </tt>
+<a name="L2204"></a><tt class="py-lineno">2204</tt>  <tt class="py-line">            <tt class="py-name">DBString</tt> <tt class="py-op">+=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L2205"></a><tt class="py-lineno">2205</tt>  <tt class="py-line"> </tt>
+<a name="L2206"></a><tt class="py-lineno">2206</tt>  <tt class="py-line">        <tt class="py-name">DBFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2207"></a><tt class="py-lineno">2207</tt>  <tt class="py-line">        <tt class="py-name">DBFile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">DBString</tt><tt class="py-op">)</tt> </tt>
+<a name="L2208"></a><tt class="py-lineno">2208</tt>  <tt class="py-line">        <tt class="py-name">DBFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2209"></a><tt class="py-lineno">2209</tt>  <tt class="py-line"> </tt>
+<a name="OnosDriver.verifySummary"></a><div id="OnosDriver.verifySummary-def"><a name="L2210"></a><tt class="py-lineno">2210</tt> <a class="py-toggle" href="#" id="OnosDriver.verifySummary-toggle" onclick="return toggle('OnosDriver.verifySummary');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifySummary">verifySummary</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ONOSIp</tt><tt class="py-op">,</tt><tt class="py-op">*</tt><tt class="py-param">deviceCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OnosDriver.verifySummary-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OnosDriver.verifySummary-expanded"><a name="L2211"></a><tt class="py-lineno">2211</tt>  <tt class="py-line"> </tt>
+<a name="L2212"></a><tt class="py-lineno">2212</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-676" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-676', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos "</tt> <tt class="py-op">+</tt> <tt class="py-name">ONOSIp</tt>  <tt class="py-op">+</tt> <tt class="py-string">" summary"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2213"></a><tt class="py-lineno">2213</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2214"></a><tt class="py-lineno">2214</tt>  <tt class="py-line"> </tt>
+<a name="L2215"></a><tt class="py-lineno">2215</tt>  <tt class="py-line">        <tt class="py-name">summaryStr</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L2216"></a><tt class="py-lineno">2216</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"\nSummary\n==============\n"</tt> <tt class="py-op">+</tt> <tt class="py-name">summaryStr</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n\n"</tt> </tt>
+<a name="L2217"></a><tt class="py-lineno">2217</tt>  <tt class="py-line"> </tt>
+<a name="L2218"></a><tt class="py-lineno">2218</tt>  <tt class="py-line">        <tt class="py-comment">#passed = "SCC(s)=1" in summaryStr</tt> </tt>
+<a name="L2219"></a><tt class="py-lineno">2219</tt>  <tt class="py-line">        <tt class="py-comment">#if deviceCount:</tt> </tt>
+<a name="L2220"></a><tt class="py-lineno">2220</tt>  <tt class="py-line">        <tt class="py-comment">#    passed = "devices=" + str(deviceCount) + "," not in summaryStr</tt> </tt>
+<a name="L2221"></a><tt class="py-lineno">2221</tt>  <tt class="py-line"> </tt>
+<a name="L2222"></a><tt class="py-lineno">2222</tt>  <tt class="py-line"> </tt>
+<a name="L2223"></a><tt class="py-lineno">2223</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">"SCC(s)=1,"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">summaryStr</tt><tt class="py-op">:</tt> </tt>
+<a name="L2224"></a><tt class="py-lineno">2224</tt>  <tt class="py-line">            <tt class="py-name">passed</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2225"></a><tt class="py-lineno">2225</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Summary is verifed"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2226"></a><tt class="py-lineno">2226</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2227"></a><tt class="py-lineno">2227</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Summary failed"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2228"></a><tt class="py-lineno">2228</tt>  <tt class="py-line"> </tt>
+<a name="L2229"></a><tt class="py-lineno">2229</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">deviceCount</tt><tt class="py-op">:</tt> </tt>
+<a name="L2230"></a><tt class="py-lineno">2230</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-string">" ============================="</tt> </tt>
+<a name="L2231"></a><tt class="py-lineno">2231</tt>  <tt class="py-line">            <tt class="py-name">checkStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"devices="</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceCount</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> </tt>
+<a name="L2232"></a><tt class="py-lineno">2232</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Checkstr: "</tt> <tt class="py-op">+</tt> <tt class="py-name">checkStr</tt> </tt>
+<a name="L2233"></a><tt class="py-lineno">2233</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">checkStr</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">summaryStr</tt><tt class="py-op">:</tt> </tt>
+<a name="L2234"></a><tt class="py-lineno">2234</tt>  <tt class="py-line">                <tt class="py-name">passed</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2235"></a><tt class="py-lineno">2235</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Device count failed"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2236"></a><tt class="py-lineno">2236</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2237"></a><tt class="py-lineno">2237</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"device count verified"</tt> </tt>
+<a name="L2238"></a><tt class="py-lineno">2238</tt>  <tt class="py-line"> </tt>
+<a name="L2239"></a><tt class="py-lineno">2239</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">passed</tt> </tt>
+</div></div><a name="L2240"></a><tt class="py-lineno">2240</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosdriver.OnosDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosdriver.OnosDriver-class.html
new file mode 100644
index 0000000..a4d43f7
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.onosdriver.OnosDriver-class.html
@@ -0,0 +1,2120 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.onosdriver.OnosDriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.onosdriver-module.html">Module&nbsp;onosdriver</a> ::
+        Class&nbsp;OnosDriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class OnosDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_onosdriver" name="class_hierarchy_for_onosdriver">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html" title="OnosDriver" alt="" coords="5,6,93,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="118,6,209,31"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="component.Component" alt="" coords="235,6,392,31"/>
+</map>
+  <img src="class_hierarchy_for_onosdriver.gif" alt='' usemap="#class_hierarchy_for_onosdriver" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Initialize client</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**connectargs</span>)</span><br />
+      Creates ssh handle for ONOS &quot;bench&quot;.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.connect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Called when Test is complete to disconnect the ONOS handle.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.disconnect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getEpochMs" class="summary-sig-name">getEpochMs</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Returns milliseconds since epoch</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.getEpochMs">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onosPackage"></a><span class="summary-sig-name">onosPackage</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">opTimeout</span>=<span class="summary-sig-default">30</span>)</span><br />
+      Produce a self-contained tar.gz file that can be deployed and 
+      executed on any platform with Java 7 JRE.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosPackage">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onosBuild"></a><span class="summary-sig-name">onosBuild</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Use the pre defined script to build onos via mvn</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosBuild">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cleanInstall" class="summary-sig-name">cleanInstall</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">skipTest</span>=<span class="summary-sig-default">False</span>,
+        <span class="summary-sig-arg">mciTimeout</span>=<span class="summary-sig-default">600</span>)</span><br />
+      Runs mvn clean install in the root of the ONOS directory.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.cleanInstall">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull" class="summary-sig-name">gitPull</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">comp1</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">fastForward</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Assumes that &quot;git pull&quot; works without login</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.gitPull">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitCheckout" class="summary-sig-name">gitCheckout</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">branch</span>=<span class="summary-sig-default">&quot;master&quot;</span>)</span><br />
+      Assumes that &quot;git pull&quot; works without login</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.gitCheckout">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getBranchName"></a><span class="summary-sig-name">getBranchName</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.getBranchName">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getVersion"></a><span class="summary-sig-name">getVersion</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">report</span>=<span class="summary-sig-default">False</span>)</span><br />
+      Writes the COMMIT number to the report to be parsed
+        by Jenkins data collector.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.getVersion">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile" class="summary-sig-name">createCellFile</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">benchIp</span>,
+        <span class="summary-sig-arg">fileName</span>,
+        <span class="summary-sig-arg">mnIpAddrs</span>,
+        <span class="summary-sig-arg">appString</span>,
+        <span class="summary-sig-arg">onosIpAddrs</span>)</span><br />
+      Creates a cell file based on arguments
+Required:
+    * Bench IP address ( benchIp )
+        - Needed to copy the cell file over
+    * File name of the cell file ( fileName )
+    * Mininet IP address ( mnIpAddrs )
+        - Note that only 1 ip address is
+          supported currently
+    * ONOS IP addresses ( onosIpAddrs )
+        - Must be passed in as last arguments</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.createCellFile">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="setCell"></a><span class="summary-sig-name">setCell</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">cellname</span>)</span><br />
+      Calls 'cell &lt;name&gt;' to set the environment variables on 
+      ONOSbench</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.setCell">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="verifyCell"></a><span class="summary-sig-name">verifyCell</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Calls 'onos-verify-cell' to check for cell installation</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.verifyCell">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosCfgSet" class="summary-sig-name">onosCfgSet</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ONOSIp</span>,
+        <span class="summary-sig-arg">configName</span>,
+        <span class="summary-sig-arg">configParam</span>)</span><br />
+      Uses 'onos &lt;node-ip&gt; cfg set' to change a parameter value of an
+application.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosCfgSet">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosCli" class="summary-sig-name">onosCli</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ONOSIp</span>,
+        <span class="summary-sig-arg">cmdstr</span>)</span><br />
+      Uses 'onos' command to send various ONOS CLI arguments.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosCli">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall" class="summary-sig-name">onosInstall</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">&quot;-f&quot;</span>,
+        <span class="summary-sig-arg">node</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
+      Installs ONOS bits on the designated cell machine.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosInstall">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onosStart"></a><span class="summary-sig-name">onosStart</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">nodeIp</span>)</span><br />
+      Calls onos command: 'onos-service [&lt;node-ip&gt;] start' This 
+      command is a remote management of the ONOS upstart daemon</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosStart">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onosStop"></a><span class="summary-sig-name">onosStop</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">nodeIp</span>)</span><br />
+      Calls onos command: 'onos-service [&lt;node-ip&gt;] stop' This 
+      command is a remote management of the ONOS upstart daemon</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosStop">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onosUninstall"></a><span class="summary-sig-name">onosUninstall</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">nodeIp</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
+      Calls the command: 'onos-uninstall' Uninstalls ONOS from the 
+      designated cell machine, stopping if needed</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosUninstall">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onosDie"></a><span class="summary-sig-name">onosDie</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">nodeIp</span>)</span><br />
+      Issues the command 'onos-die &lt;node-ip&gt;' This command calls 
+      onos-kill and also stops the node</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosDie">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onosKill"></a><span class="summary-sig-name">onosKill</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">nodeIp</span>)</span><br />
+      Calls the command: 'onos-kill [&lt;node-ip&gt;]' &quot;Remotely, and 
+      unceremoniously kills the ONOS instance running on the specified cell
+      machine&quot; - Tom V</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosKill">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosRemoveRaftLogs" class="summary-sig-name">onosRemoveRaftLogs</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Removes Raft / Copy cat files from ONOS to ensure
+a cleaner environment.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosRemoveRaftLogs">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStartNetwork" class="summary-sig-name">onosStartNetwork</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">mntopo</span>)</span><br />
+      Calls the command 'onos-start-network [ &lt;mininet-topo&gt; ]
+&quot;remotely starts the specified topology on the cell's
+mininet machine against all controllers configured in the
+cell.&quot;
+* Specify mininet topology file name for mntopo
+* Topo files should be placed at:
+  ~/&lt;your-onos-directory&gt;/tools/test/topos</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosStartNetwork">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#isup" class="summary-sig-name">isup</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">node</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">120</span>)</span><br />
+      Run's onos-wait-for-start which only returns once ONOS is at run 
+      level 100(ready for use)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.isup">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#pushTestIntentsShell" class="summary-sig-name">pushTestIntentsShell</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">dpidSrc</span>,
+        <span class="summary-sig-arg">dpidDst</span>,
+        <span class="summary-sig-arg">numIntents</span>,
+        <span class="summary-sig-arg">dirFile</span>,
+        <span class="summary-sig-arg">onosIp</span>,
+        <span class="summary-sig-arg">numMult</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">appId</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">report</span>=<span class="summary-sig-default">True</span>,
+        <span class="summary-sig-arg">options</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
+      Description:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.pushTestIntentsShell">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getTopology" class="summary-sig-name">getTopology</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">topologyOutput</span>)</span><br />
+      Definition:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.getTopology">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#checkStatus" class="summary-sig-name">checkStatus</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">topologyResult</span>,
+        <span class="summary-sig-arg">numoswitch</span>,
+        <span class="summary-sig-arg">numolink</span>,
+        <span class="summary-sig-arg">logLevel</span>=<span class="summary-sig-default">&quot;info&quot;</span>)</span><br />
+      Checks the number of switches &amp; links that ONOS sees against the
+supplied values.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.checkStatus">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#tsharkPcap" class="summary-sig-name">tsharkPcap</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">interface</span>,
+        <span class="summary-sig-arg">dirFile</span>)</span><br />
+      Capture all packet activity and store in specified
+directory/file</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.tsharkPcap">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runOnosTopoCfg"></a><span class="summary-sig-name">runOnosTopoCfg</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">instanceName</span>,
+        <span class="summary-sig-arg">jsonFile</span>)</span><br />
+      On ONOS bench, run this command: 
+      {ONOS_HOME}/tools/test/bin/onos-topo-cfg $OC1 filename which starts 
+      the rest and copies the json file to the onos instance</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.runOnosTopoCfg">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#tsharkGrep" class="summary-sig-name">tsharkGrep</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">grep</span>,
+        <span class="summary-sig-arg">directory</span>,
+        <span class="summary-sig-arg">interface</span>=<span class="summary-sig-default">'eth0'</span>,
+        <span class="summary-sig-arg">grepOptions</span>=<span class="summary-sig-default">''</span>)</span><br />
+      Required:
+    * grep string
+    * directory to store results
+Optional:
+    * interface - default: eth0
+    * grepOptions - options for grep
+Description:
+    Uses tshark command to grep specific group of packets
+    and stores the results to specified directory.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.tsharkGrep">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="tsharkStop"></a><span class="summary-sig-name">tsharkStop</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Removes wireshark files from /tmp and kills all tshark processes</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.tsharkStop">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#ptpd" class="summary-sig-name">ptpd</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">args</span>)</span><br />
+      Initiate ptp with user-specified args.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.ptpd">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cpLogsToDir" class="summary-sig-name">cpLogsToDir</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">logToCopy</span>,
+        <span class="summary-sig-arg">destDir</span>,
+        <span class="summary-sig-arg">copyFileName</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
+      Copies logs to a desired directory.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.cpLogsToDir">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#checkLogs" class="summary-sig-name">checkLogs</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">onosIp</span>,
+        <span class="summary-sig-arg">restart</span>=<span class="summary-sig-default">False</span>)</span><br />
+      runs onos-check-logs on the given onos node...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.checkLogs">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onosStatus"></a><span class="summary-sig-name">onosStatus</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">node</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
+      Calls onos command: 'onos-service [&lt;node-ip&gt;] status'</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosStatus">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setIpTables" class="summary-sig-name">setIpTables</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ip</span>,
+        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">''</span>,
+        <span class="summary-sig-arg">action</span>=<span class="summary-sig-default">'add'</span>,
+        <span class="summary-sig-arg">packet_type</span>=<span class="summary-sig-default">''</span>,
+        <span class="summary-sig-arg">direction</span>=<span class="summary-sig-default">'INPUT'</span>,
+        <span class="summary-sig-arg">rule</span>=<span class="summary-sig-default">'DROP'</span>,
+        <span class="summary-sig-arg">states</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Description:
+    add or remove iptables rule to DROP (default) packets from
+    specific IP and PORT
+Usage:
+* specify action ('add' or 'remove')
+  when removing, pass in the same argument as you would add.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.setIpTables">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="detailed_status"></a><span class="summary-sig-name">detailed_status</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">log_filename</span>)</span><br />
+      This method is used by STS to check the status of the controller 
+      Reports RUNNING, STARTING, STOPPED, FROZEN, ERROR (and reason)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.detailed_status">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createLinkGraphFile" class="summary-sig-name">createLinkGraphFile</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">benchIp</span>,
+        <span class="summary-sig-arg">ONOSIpList</span>,
+        <span class="summary-sig-arg">deviceCount</span>)</span><br />
+      Create/formats the LinkGraph.cfg file based on arguments
+    -only creates a linear topology and connects islands
+    -evenly distributes devices
+    -must be called by ONOSbench</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.createLinkGraphFile">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#configNullDev" class="summary-sig-name">configNullDev</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ONOSIpList</span>,
+        <span class="summary-sig-arg">deviceCount</span>,
+        <span class="summary-sig-arg">numPorts</span>=<span class="summary-sig-default">10</span>)</span><br />
+      ONOSIpList = list of Ip addresses of nodes switches will be devided 
+      amongst deviceCount = number of switches to distribute, or list of 
+      values to use as custom distribution numPorts = number of ports per 
+      device.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.configNullDev">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="configNullLink"></a><span class="summary-sig-name">configNullLink</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fileName</span>=<span class="summary-sig-default">&quot;/opt/onos/apache-karaf-3.0.3/etc/linkGraph.cfg&quot;</span>,
+        <span class="summary-sig-arg">eventRate</span>=<span class="summary-sig-default">0</span>)</span><br />
+      fileName default is currently the same as the default on ONOS, 
+      specify alternate file if you want to use a different topology file 
+      than linkGraph.cfg</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.configNullLink">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getOnosIps"></a><span class="summary-sig-name">getOnosIps</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Get all onos IPs stored in</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.getOnosIps">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#logReport" class="summary-sig-name">logReport</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">nodeIp</span>,
+        <span class="summary-sig-arg">searchTerms</span>,
+        <span class="summary-sig-arg">outputMode</span>=<span class="summary-sig-default">&quot;s&quot;</span>)</span><br />
+      - accepts either a list or a string for &quot;searchTerms&quot; these
+  terms will be searched for in the log and have their
+  instances counted</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.logReport">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#copyMininetFile" class="summary-sig-name">copyMininetFile</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fileName</span>,
+        <span class="summary-sig-arg">localPath</span>,
+        <span class="summary-sig-arg">userName</span>,
+        <span class="summary-sig-arg">ip</span>,
+        <span class="summary-sig-arg">mnPath</span>=<span class="summary-sig-default">'~/mininet/custom/'</span>,
+        <span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">60</span>)</span><br />
+      Description:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.copyMininetFile">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="jvmSet"></a><span class="summary-sig-name">jvmSet</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">memory</span>=<span class="summary-sig-default">8</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.jvmSet">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="createDBFile"></a><span class="summary-sig-name">createDBFile</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">testData</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.createDBFile">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="verifySummary"></a><span class="summary-sig-name">verifySummary</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ONOSIp</span>,
+        <span class="summary-sig-arg">*deviceCount</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.verifySummary">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**execparams</span>)</span><br />
+      It facilitates the command line execution of a given command.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">default</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">user_name</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">filepath</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">dst_path</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Initialize client</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="connect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">**connectargs</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.connect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Creates ssh handle for ONOS &quot;bench&quot;. NOTE: The ip_address 
+  would come from the topo file using the host tag, the value can be an 
+  environment variable as well as a &quot;localhost&quot; to get the ip 
+  address needed to ssh to the &quot;bench&quot;</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.connect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="disconnect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">disconnect</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.disconnect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Called when Test is complete to disconnect the ONOS handle.</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.disconnect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getEpochMs"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getEpochMs</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.getEpochMs">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Returns milliseconds since epoch</p>
+  <p>When checking multiple nodes in a for loop, around a hundred 
+  milliseconds of difference (ascending) is generally acceptable due to 
+  calltime of the function. Few seconds, however, is not and it means 
+  clocks are off sync.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="cleanInstall"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">cleanInstall</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">skipTest</span>=<span class="sig-default">False</span>,
+        <span class="sig-arg">mciTimeout</span>=<span class="sig-default">600</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.cleanInstall">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Runs mvn clean install in the root of the ONOS directory.
+This will clean all ONOS artifacts then compile each module
+Optional:
+    skipTest - Does &quot;-DskipTests -Dcheckstyle.skip -U -T 1C&quot; which
+               skip the test. This will make the building faster.
+               Disregarding the credibility of the build
+Returns: main.TRUE on success
+On Failure, exits the test
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="gitPull"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">gitPull</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">comp1</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">fastForward</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.gitPull">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Assumes that &quot;git pull&quot; works without login</p>
+  <p>If the fastForward boolean is set to true, only git pulls that can be 
+  fast forwarded will be performed. IE if you have not local commits in 
+  your branch.</p>
+  <p>This function will perform a git pull on the ONOS instance. If used as
+  gitPull( &quot;NODE&quot; ) it will do git pull + NODE. This is for the 
+  purpose of pulling from other nodes if necessary.</p>
+  <p>Otherwise, this function will perform a git pull in the ONOS 
+  repository. If it has any problems, it will return main.ERROR If it 
+  successfully does a gitPull, it will return a 1 ( main.TRUE ) If it has 
+  no updates, it will return 3.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="gitCheckout"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">gitCheckout</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">branch</span>=<span class="sig-default">&quot;master&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.gitCheckout">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Assumes that &quot;git pull&quot; works without login</p>
+  <p>This function will perform a git git checkout on the ONOS instance. If
+  used as gitCheckout( &quot;branch&quot; ) it will do git checkout of the 
+  &quot;branch&quot;.</p>
+  <p>Otherwise, this function will perform a git checkout of the master 
+  branch of the ONOS repository. If it has any problems, it will return 
+  main.ERROR. If the branch was already the specified branch, or the git 
+  checkout was successful then the function will return main.TRUE.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="createCellFile"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">createCellFile</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">benchIp</span>,
+        <span class="sig-arg">fileName</span>,
+        <span class="sig-arg">mnIpAddrs</span>,
+        <span class="sig-arg">appString</span>,
+        <span class="sig-arg">onosIpAddrs</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.createCellFile">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Creates a cell file based on arguments
+Required:
+    * Bench IP address ( benchIp )
+        - Needed to copy the cell file over
+    * File name of the cell file ( fileName )
+    * Mininet IP address ( mnIpAddrs )
+        - Note that only 1 ip address is
+          supported currently
+    * ONOS IP addresses ( onosIpAddrs )
+        - Must be passed in as last arguments
+
+NOTE: Assumes cells are located at:
+    ~/&lt;self.home&gt;/tools/test/cells/
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="onosCfgSet"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">onosCfgSet</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ONOSIp</span>,
+        <span class="sig-arg">configName</span>,
+        <span class="sig-arg">configParam</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosCfgSet">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Uses 'onos &lt;node-ip&gt; cfg set' to change a parameter value of an
+application.
+
+ex)
+    onos 10.0.0.1 cfg set org.onosproject.myapp appSetting 1
+ONOSIp = '10.0.0.1'
+configName = 'org.onosproject.myapp'
+configParam = 'appSetting 1'
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="onosCli"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">onosCli</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ONOSIp</span>,
+        <span class="sig-arg">cmdstr</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosCli">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Uses 'onos' command to send various ONOS CLI arguments.
+Required:
+    * ONOSIp: specify the ip of the cell machine
+    * cmdstr: specify the command string to send
+
+This function is intended to expose the entire karaf
+CLI commands for ONOS. Try to use this function first
+before attempting to write a ONOS CLI specific driver
+function.
+You can see a list of available 'cmdstr' arguments
+by starting onos, and typing in 'onos' to enter the
+onos&gt; CLI. Then, type 'help' to see the list of
+available commands.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="onosInstall"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">onosInstall</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">options</span>=<span class="sig-default">&quot;-f&quot;</span>,
+        <span class="sig-arg">node</span>=<span class="sig-default">&quot;&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosInstall">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Installs ONOS bits on the designated cell machine. If -f option is 
+  provided, it also forces an uninstall. Presently, install also includes 
+  onos-push-bits and onos-config within. The node option allows you to 
+  selectively only push the jar files to certain onos nodes</p>
+  <p>Returns: main.TRUE on success and main.FALSE on failure</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="onosRemoveRaftLogs"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">onosRemoveRaftLogs</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosRemoveRaftLogs">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Removes Raft / Copy cat files from ONOS to ensure
+a cleaner environment.
+
+Description:
+    Stops all ONOS defined in the cell,
+    wipes the raft / copycat log files
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="onosStartNetwork"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">onosStartNetwork</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">mntopo</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.onosStartNetwork">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Calls the command 'onos-start-network [ &lt;mininet-topo&gt; ]
+&quot;remotely starts the specified topology on the cell's
+mininet machine against all controllers configured in the
+cell.&quot;
+* Specify mininet topology file name for mntopo
+* Topo files should be placed at:
+  ~/&lt;your-onos-directory&gt;/tools/test/topos
+
+NOTE: This function will take you to the mininet prompt
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="isup"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">isup</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">node</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">timeout</span>=<span class="sig-default">120</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.isup">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Run's onos-wait-for-start which only returns once ONOS is at run level
+  100(ready for use)</p>
+  <p>Returns: main.TRUE if ONOS is running and main.FALSE on timeout</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="pushTestIntentsShell"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">pushTestIntentsShell</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">dpidSrc</span>,
+        <span class="sig-arg">dpidDst</span>,
+        <span class="sig-arg">numIntents</span>,
+        <span class="sig-arg">dirFile</span>,
+        <span class="sig-arg">onosIp</span>,
+        <span class="sig-arg">numMult</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">appId</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">report</span>=<span class="sig-default">True</span>,
+        <span class="sig-arg">options</span>=<span class="sig-default">&quot;&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.pushTestIntentsShell">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Use the linux prompt to push test intents to
+    better parallelize the results than the CLI
+Required:
+    * dpidSrc: specify source dpid
+    * dpidDst: specify destination dpid
+    * numIntents: specify number of intents to push
+    * dirFile: specify directory and file name to save
+      results
+    * onosIp: specify the IP of ONOS to install on
+NOTE:
+    You must invoke this command at linux shell prompt
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getTopology"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getTopology</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">topologyOutput</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.getTopology">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Definition:
+    Loads a json topology output
+Return:
+    topology = current ONOS topology
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="checkStatus"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">checkStatus</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">topologyResult</span>,
+        <span class="sig-arg">numoswitch</span>,
+        <span class="sig-arg">numolink</span>,
+        <span class="sig-arg">logLevel</span>=<span class="sig-default">&quot;info&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.checkStatus">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Checks the number of switches &amp; links that ONOS sees against the
+supplied values. By default this will report to main.log, but the
+log level can be specific.
+
+Params: ip = ip used for the onos cli
+        numoswitch = expected number of switches
+        numolink = expected number of links
+        logLevel = level to log to.
+        Currently accepts 'info', 'warn' and 'report'
+
+
+logLevel can
+
+Returns: main.TRUE if the number of switches and links are correct,
+         main.FALSE if the number of switches and links is incorrect,
+         and main.ERROR otherwise
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="tsharkPcap"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">tsharkPcap</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">interface</span>,
+        <span class="sig-arg">dirFile</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.tsharkPcap">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Capture all packet activity and store in specified
+directory/file
+
+Required:
+    * interface: interface to capture
+    * dir: directory/filename to store pcap
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="tsharkGrep"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">tsharkGrep</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">grep</span>,
+        <span class="sig-arg">directory</span>,
+        <span class="sig-arg">interface</span>=<span class="sig-default">'eth0'</span>,
+        <span class="sig-arg">grepOptions</span>=<span class="sig-default">''</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.tsharkGrep">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Required:
+    * grep string
+    * directory to store results
+Optional:
+    * interface - default: eth0
+    * grepOptions - options for grep
+Description:
+    Uses tshark command to grep specific group of packets
+    and stores the results to specified directory.
+    The timestamp is hardcoded to be in epoch
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="ptpd"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">ptpd</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">args</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.ptpd">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Initiate ptp with user-specified args.
+Required:
+    * args: specify string of args after command
+      'sudo ptpd'
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="cpLogsToDir"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">cpLogsToDir</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">logToCopy</span>,
+        <span class="sig-arg">destDir</span>,
+        <span class="sig-arg">copyFileName</span>=<span class="sig-default">&quot;&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.cpLogsToDir">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Copies logs to a desired directory.
+Current implementation of ONOS deletes its karaf
+logs on every iteration. For debugging purposes,
+you may want to use this function to capture
+certain karaf logs. ( or any other logs if needed )
+Localtime will be attached to the filename
+
+Required:
+    * logToCopy: specify directory and log name to
+      copy.
+      ex ) /opt/onos/log/karaf.log.1
+      For copying multiple files, leave copyFileName
+      empty and only specify destDir -
+      ex ) /opt/onos/log/karaf*
+    * destDir: specify directory to copy to.
+      ex ) /tmp/
+Optional:
+    * copyFileName: If you want to rename the log
+      file, specify copyFileName. This will not work
+      with multiple file copying
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="checkLogs"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">checkLogs</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">onosIp</span>,
+        <span class="sig-arg">restart</span>=<span class="sig-default">False</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.checkLogs">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+runs onos-check-logs on the given onos node
+If restart is True, use the old version of onos-check-logs which
+    does not print the full stacktrace, but shows the entire log file,
+    including across restarts
+returns the response
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="setIpTables"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">setIpTables</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ip</span>,
+        <span class="sig-arg">port</span>=<span class="sig-default">''</span>,
+        <span class="sig-arg">action</span>=<span class="sig-default">'add'</span>,
+        <span class="sig-arg">packet_type</span>=<span class="sig-default">''</span>,
+        <span class="sig-arg">direction</span>=<span class="sig-default">'INPUT'</span>,
+        <span class="sig-arg">rule</span>=<span class="sig-default">'DROP'</span>,
+        <span class="sig-arg">states</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.setIpTables">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    add or remove iptables rule to DROP (default) packets from
+    specific IP and PORT
+Usage:
+* specify action ('add' or 'remove')
+  when removing, pass in the same argument as you would add. It will
+  delete that specific rule.
+* specify the ip to block
+* specify the destination port to block (defaults to all ports)
+* optional packet type to block (default tcp)
+* optional iptables rule (default DROP)
+* optional direction to block (default 'INPUT')
+* States boolean toggles adding all supported tcp states to the
+  firewall rule
+Returns:
+    main.TRUE on success or
+    main.FALSE if given invalid input or
+    main.ERROR if there is an error in response from iptables
+WARNING:
+* This function uses root privilege iptables command which may result
+  in unwanted network errors. USE WITH CAUTION
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="createLinkGraphFile"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">createLinkGraphFile</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">benchIp</span>,
+        <span class="sig-arg">ONOSIpList</span>,
+        <span class="sig-arg">deviceCount</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.createLinkGraphFile">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Create/formats the LinkGraph.cfg file based on arguments
+    -only creates a linear topology and connects islands
+    -evenly distributes devices
+    -must be called by ONOSbench
+
+    ONOSIpList - list of all of the node IPs to be used
+
+    deviceCount - number of switches to be assigned
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="configNullDev"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">configNullDev</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">ONOSIpList</span>,
+        <span class="sig-arg">deviceCount</span>,
+        <span class="sig-arg">numPorts</span>=<span class="sig-default">10</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.configNullDev">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>ONOSIpList = list of Ip addresses of nodes switches will be devided 
+  amongst deviceCount = number of switches to distribute, or list of values
+  to use as custom distribution numPorts = number of ports per device. 
+  Defaults to 10 both in this function and in ONOS. Optional arg</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="logReport"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">logReport</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">nodeIp</span>,
+        <span class="sig-arg">searchTerms</span>,
+        <span class="sig-arg">outputMode</span>=<span class="sig-default">&quot;s&quot;</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.logReport">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+- accepts either a list or a string for &quot;searchTerms&quot; these
+  terms will be searched for in the log and have their
+  instances counted
+
+- nodeIp is the ip of the node whos log is to be scanned
+
+- output modes:
+    &quot;s&quot; -   Simple. Quiet output mode that just prints
+            the occurences of each search term
+
+    &quot;d&quot; -   Detailed. Prints number of occurences as well as the entire
+            line for each of the last 5 occurences
+
+- returns total of the number of instances of all search terms
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="copyMininetFile"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">copyMininetFile</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fileName</span>,
+        <span class="sig-arg">localPath</span>,
+        <span class="sig-arg">userName</span>,
+        <span class="sig-arg">ip</span>,
+        <span class="sig-arg">mnPath</span>=<span class="sig-default">'~/mininet/custom/'</span>,
+        <span class="sig-arg">timeout</span>=<span class="sig-default">60</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.onosdriver-pysrc.html#OnosDriver.copyMininetFile">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Description:
+    Copy mininet topology file from dependency folder in the test folder
+    and paste it to the mininet machine's mininet/custom folder
+Required:
+    fileName - Name of the topology file to copy
+    localPath - File path of the mininet topology file
+    userName - User name of the mininet machine to send the file to
+    ip - Ip address of the mininet machine
+Optional:
+    mnPath - of the mininet directory to send the file to
+Return:
+    Return main.TRUE if successfully copied the file otherwise
+    return main.FALSE
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.quaggaclidriver-module.html
similarity index 77%
copy from TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
copy to TestON/Documentation/TestON_Document/TestON.drivers.common.cli.quaggaclidriver-module.html
index 053b957..c05463e 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.quaggaclidriver-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.drivers.common.cli.remotesys.hpswitchdriver</title>
+  <title>TestON.drivers.common.cli.quaggaclidriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -41,8 +46,7 @@
         <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
         <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
         <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
-        <a href="TestON.drivers.common.cli.remotesys-module.html">Package&nbsp;remotesys</a> ::
-        Module&nbsp;hpswitchdriver
+        Module&nbsp;quaggaclidriver
       </span>
     </td>
     <td>
@@ -52,23 +56,15 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module hpswitchdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 12-Feb-2013</p>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-        <p>HPSwitchDriver is the basic driver which will handle the Mininet
-        functions</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+<h1 class="epydoc">Module quaggaclidriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -89,9 +85,7 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html" class="summary-name">HPSwitchDriver</a><br />
-      HPSwitchDriver is the basic driver which will handle the Mininet 
-      functions
+        <a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html" class="summary-name">QuaggaCliDriver</a>
     </td>
   </tr>
 </table>
@@ -115,13 +109,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.quaggaclidriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.quaggaclidriver-pysrc.html
new file mode 100644
index 0000000..def5d2d
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.quaggaclidriver-pysrc.html
@@ -0,0 +1,1145 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.quaggaclidriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        Module&nbsp;quaggaclidriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.quaggaclidriver-module.html">Module TestON.drivers.common.cli.quaggaclidriver</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.drivers.common.clidriver=TestON.drivers.common.clidriver-module.html"><a title="TestON.drivers.common.clidriver" class="py-name" href="#" onclick="return doclink('link-2', 'clidriver', 'link-2');">clidriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-3', 'CLI', 'link-3');">CLI</a></tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"> </tt>
+<a name="QuaggaCliDriver"></a><div id="QuaggaCliDriver-def"><a name="L10"></a><tt class="py-lineno"> 10</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver-toggle" onclick="return toggle('QuaggaCliDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a><tt class="py-op">(</tt> <tt class="py-base-class">CLI</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="QuaggaCliDriver-expanded"><a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"> </tt>
+<a name="QuaggaCliDriver.__init__"></a><div id="QuaggaCliDriver.__init__-def"><a name="L12"></a><tt class="py-lineno"> 12</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.__init__-toggle" onclick="return toggle('QuaggaCliDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.__init__-expanded"><a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-4" class="py-name"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-4', 'CLI', 'link-3');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-5', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line">    <tt class="py-comment"># TODO: simplify this method</tt> </tt>
+<a name="QuaggaCliDriver.connect"></a><div id="QuaggaCliDriver.connect-def"><a name="L16"></a><tt class="py-lineno"> 16</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.connect-toggle" onclick="return toggle('QuaggaCliDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.connect-expanded"><a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-6" class="py-name" targets="Class TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html"><a title="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver" class="py-name" href="#" onclick="return doclink('link-6', 'QuaggaCliDriver', 'link-6');">QuaggaCliDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-7', 'connect', 'link-7');">connect</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">                <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">                <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-string">"127.0.0.1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">                <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">,</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">                <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-8', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"NO HANDLE"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
+<a name="QuaggaCliDriver.connectQuagga"></a><div id="QuaggaCliDriver.connectQuagga-def"><a name="L31"></a><tt class="py-lineno"> 31</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.connectQuagga-toggle" onclick="return toggle('QuaggaCliDriver.connectQuagga');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connectQuagga">connectQuagga</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.connectQuagga-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.connectQuagga-expanded"><a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-comment"># self.handle = super( QuaggaCliDriver,self ).connect(</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-comment"># user_name=self.user_name, ip_address=self.ip_address,port=self.port,</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-comment"># pwd=self.pwd )</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver" class="py-name" href="#" onclick="return doclink('link-9', 'QuaggaCliDriver', 'link-6');">QuaggaCliDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-10', 'connect', 'link-7');">connect</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">                <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">                <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-string">"1.1.1.1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">                <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">,</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">                <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-comment">#main.log.info( "connect parameters:" + str( self.user_name ) + ";"</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-comment">#               + str( self.ip_address ) + ";" + str( self.port )</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-comment">#               + ";" + str(self.pwd ) )</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "",timeout=10 )</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "\$",timeout=10 )</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-11', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"telnet localhost 2605"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "Password:", timeout=5 )</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"Password:"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-12', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"hello"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "bgpd", timeout=5 )</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"bgpd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-13', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"enable"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "bgpd#", timeout=5 )</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"bgpd#"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-14', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"NO HANDLE"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
+<a name="QuaggaCliDriver.loginQuagga"></a><div id="QuaggaCliDriver.loginQuagga-def"><a name="L62"></a><tt class="py-lineno"> 62</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.loginQuagga-toggle" onclick="return toggle('QuaggaCliDriver.loginQuagga');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#loginQuagga">loginQuagga</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ip_address</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.loginQuagga-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.loginQuagga-expanded"><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver" class="py-name" href="#" onclick="return doclink('link-15', 'QuaggaCliDriver', 'link-6');">QuaggaCliDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-16', 'connect', 'link-7');">connect</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-17', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"connect parameters:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">";"</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">                       <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">";"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> <tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">                       <tt class="py-op">+</tt> <tt class="py-string">";"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "" )</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "\$" )</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-18', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"telnet localhost 2605"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "Password:", timeout=5 )</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"Password:"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-19', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"hello"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "bgpd", timeout=5 )</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"bgpd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-20', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"enable"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "bgpd#", timeout=5 )</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"bgpd#"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-21', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"I am in quagga on host "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-22', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"NO HANDLE"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"> </tt>
+<a name="QuaggaCliDriver.enterConfig"></a><div id="QuaggaCliDriver.enterConfig-def"><a name="L90"></a><tt class="py-lineno"> 90</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.enterConfig-toggle" onclick="return toggle('QuaggaCliDriver.enterConfig');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#enterConfig">enterConfig</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">asn</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.enterConfig-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.enterConfig-expanded"><a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-23', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"I am in enter_config method!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-24', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"bgpd#"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-25', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Probably not currently in enable mode!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.disconnect()=TestON.bin.generatedriver.GenerateDriver-class.html#disconnect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#disconnect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#disconnect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#disconnect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#disconnect,Method TestON.drivers.common.clidriver.CLI.disconnect()=TestON.drivers.common.clidriver.CLI-class.html#disconnect"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-26', 'disconnect', 'link-26');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-27', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"configure terminal"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"config"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-name">routerAS</tt> <tt class="py-op">=</tt> <tt class="py-string">"router bgp "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">asn</tt> <tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-28', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">routerAS</tt> <tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"config-router"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"> </tt>
+<a name="QuaggaCliDriver.generatePrefixes"></a><div id="QuaggaCliDriver.generatePrefixes-def"><a name="L109"></a><tt class="py-lineno">109</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.generatePrefixes-toggle" onclick="return toggle('QuaggaCliDriver.generatePrefixes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#generatePrefixes">generatePrefixes</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">net</tt><tt class="py-op">,</tt> <tt class="py-param">numRoutes</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.generatePrefixes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.generatePrefixes-expanded"><a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-29', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"I am in generate_prefixes method!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-comment"># each IP prefix is composed by "net" + "." + m + "." + n + "." + x</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-comment"># the length of each IP prefix is 24</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt id="link-30" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.routes()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#routes"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.routes" class="py-name" href="#" onclick="return doclink('link-30', 'routes', 'link-30');">routes</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-name">routesGen</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">numRoutes</tt> <tt class="py-op">/</tt> <tt class="py-number">256</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">numRoutes</tt> <tt class="py-op">%</tt> <tt class="py-number">256</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">m</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">256</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">                <tt class="py-name">network</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-31" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#net"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-31', 'net', 'link-31');">net</a></tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">j</tt> <tt class="py-op">)</tt> \ </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">                    <tt class="py-op">+</tt> <tt class="py-string">".0/24"</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">                <tt id="link-32" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.routes" class="py-name" href="#" onclick="return doclink('link-32', 'routes', 'link-30');">routes</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">network</tt> <tt class="py-op">)</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">                <tt class="py-name">routesGen</tt> <tt class="py-op">=</tt> <tt class="py-name">routesGen</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">n</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt class="py-name">network</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-33" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-33', 'net', 'link-31');">net</a></tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">m</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">j</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">".0/24"</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">            <tt id="link-34" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.routes" class="py-name" href="#" onclick="return doclink('link-34', 'routes', 'link-30');">routes</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">network</tt> <tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            <tt class="py-name">routesGen</tt> <tt class="py-op">=</tt> <tt class="py-name">routesGen</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">routesGen</tt> <tt class="py-op">==</tt> <tt class="py-name">numRoutes</tt><tt class="py-op">:</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-35', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Successfully generated "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">numRoutes</tt> <tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">                           <tt class="py-op">+</tt> <tt class="py-string">" prefixes!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.routes" class="py-name" href="#" onclick="return doclink('link-36', 'routes', 'link-30');">routes</a></tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">    <tt class="py-comment"># This method generates a multiple to single point intent(</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">    <tt class="py-comment"># MultiPointToSinglePointIntent ) for a given route</tt> </tt>
+<a name="QuaggaCliDriver.generateExpectedSingleRouteIntent"></a><div id="QuaggaCliDriver.generateExpectedSingleRouteIntent-def"><a name="L139"></a><tt class="py-lineno">139</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.generateExpectedSingleRouteIntent-toggle" onclick="return toggle('QuaggaCliDriver.generateExpectedSingleRouteIntent');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#generateExpectedSingleRouteIntent">generateExpectedSingleRouteIntent</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">prefix</tt><tt class="py-op">,</tt> <tt class="py-param">nextHop</tt><tt class="py-op">,</tt> <tt class="py-param">nextHopMac</tt><tt class="py-op">,</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">                                           <tt class="py-param">sdnipData</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.generateExpectedSingleRouteIntent-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.generateExpectedSingleRouteIntent-expanded"><a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-name">ingresses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-name">egress</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">peer</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sdnipData</tt><tt class="py-op">[</tt> <tt class="py-string">'bgpPeers'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">peer</tt><tt class="py-op">[</tt> <tt class="py-string">'ipAddress'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">nextHop</tt><tt class="py-op">:</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">                <tt class="py-name">egress</tt> <tt class="py-op">=</tt> <tt class="py-string">"of:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">                    <tt class="py-name">peer</tt><tt class="py-op">[</tt> <tt class="py-string">'attachmentDpid'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">":"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> \ </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">                    <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">peer</tt><tt class="py-op">[</tt> <tt class="py-string">'attachmentPort'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">peer</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sdnipData</tt><tt class="py-op">[</tt> <tt class="py-string">'bgpPeers'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">peer</tt><tt class="py-op">[</tt> <tt class="py-string">'ipAddress'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">nextHop</tt><tt class="py-op">:</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">                <tt class="py-name">ingress</tt> <tt class="py-op">=</tt> <tt class="py-string">"of:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">                    <tt class="py-name">peer</tt><tt class="py-op">[</tt> <tt class="py-string">'attachmentDpid'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">":"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> \ </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">                    <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">peer</tt><tt class="py-op">[</tt> <tt class="py-string">'attachmentPort'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ingress</tt> <tt class="py-op">==</tt> <tt class="py-name">egress</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ingress</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ingresses</tt><tt class="py-op">:</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">                    <tt class="py-name">ingresses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">ingress</tt> <tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">                    <tt class="py-comment"># ingresses.append( "of:" + str( peer[ 'attachmentDpid' ]</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">                    <tt class="py-comment"># ).replace( ":", "" ) + ":" + str( peer[ 'attachmentPort'</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">                    <tt class="py-comment"># ] ) )</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-name">selector</tt> <tt class="py-op">=</tt> <tt class="py-string">"ETH_TYPE{ethType=800},IPV4_DST{ip="</tt> <tt class="py-op">+</tt> <tt class="py-name">prefix</tt> <tt class="py-op">+</tt> <tt class="py-string">"}"</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-name">treatment</tt> <tt class="py-op">=</tt> <tt class="py-string">"[ETH_DST{mac="</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">nextHopMac</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"}]"</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt id="link-37" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intent"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-37', 'intent', 'link-37');">intent</a></tt> <tt class="py-op">=</tt> <tt class="py-name">egress</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">ingresses</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">            <tt class="py-name">selector</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">treatment</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-38" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-38', 'intent', 'link-37');">intent</a></tt> </tt>
+</div><a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"> </tt>
+<a name="QuaggaCliDriver.generateExpectedOnePeerRouteIntents"></a><div id="QuaggaCliDriver.generateExpectedOnePeerRouteIntents-def"><a name="L167"></a><tt class="py-lineno">167</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.generateExpectedOnePeerRouteIntents-toggle" onclick="return toggle('QuaggaCliDriver.generateExpectedOnePeerRouteIntents');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#generateExpectedOnePeerRouteIntents">generateExpectedOnePeerRouteIntents</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">prefixes</tt><tt class="py-op">,</tt> <tt class="py-param">nextHop</tt><tt class="py-op">,</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">                                             <tt class="py-param">nextHopMac</tt><tt class="py-op">,</tt> <tt class="py-param">sdnipJsonFilePath</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.generateExpectedOnePeerRouteIntents-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.generateExpectedOnePeerRouteIntents-expanded"><a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt id="link-39" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intents,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intents"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-39', 'intents', 'link-39');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-name">sdnipJsonFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt> <tt class="py-name">sdnipJsonFilePath</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-name">sdnipData</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">sdnipJsonFile</tt> <tt class="py-op">)</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">prefix</tt> <tt class="py-keyword">in</tt> <tt class="py-name">prefixes</tt><tt class="py-op">:</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">            <tt id="link-40" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-40', 'intents', 'link-39');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.generateExpectedSingleRouteIntent()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#generateExpectedSingleRouteIntent"><a title="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.generateExpectedSingleRouteIntent" class="py-name" href="#" onclick="return doclink('link-41', 'generateExpectedSingleRouteIntent', 'link-41');">generateExpectedSingleRouteIntent</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">                    <tt class="py-name">prefix</tt><tt class="py-op">,</tt> <tt class="py-name">nextHop</tt><tt class="py-op">,</tt> <tt class="py-name">nextHopMac</tt><tt class="py-op">,</tt> <tt class="py-name">sdnipData</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt id="link-42" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-42', 'intents', 'link-39');">intents</a></tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">    <tt class="py-comment"># TODO</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">    <tt class="py-comment"># This method generates all expected route intents for all BGP peers</tt> </tt>
+<a name="QuaggaCliDriver.generateExpectedRouteIntents"></a><div id="QuaggaCliDriver.generateExpectedRouteIntents-def"><a name="L182"></a><tt class="py-lineno">182</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.generateExpectedRouteIntents-toggle" onclick="return toggle('QuaggaCliDriver.generateExpectedRouteIntents');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#generateExpectedRouteIntents">generateExpectedRouteIntents</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.generateExpectedRouteIntents-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.generateExpectedRouteIntents-expanded"><a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt id="link-43" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-43', 'intents', 'link-39');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-44" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-44', 'intents', 'link-39');">intents</a></tt> </tt>
+</div><a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">    <tt class="py-comment"># This method extracts all actual routes from ONOS CLI</tt> </tt>
+<a name="QuaggaCliDriver.extractActualRoutesOneDotZero"></a><div id="QuaggaCliDriver.extractActualRoutesOneDotZero-def"><a name="L187"></a><tt class="py-lineno">187</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.extractActualRoutesOneDotZero-toggle" onclick="return toggle('QuaggaCliDriver.extractActualRoutesOneDotZero');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualRoutesOneDotZero">extractActualRoutesOneDotZero</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">getRoutesResult</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.extractActualRoutesOneDotZero-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.extractActualRoutesOneDotZero-expanded"><a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-name">routesJsonObj</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">getRoutesResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-name">allRoutesActual</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">route</tt> <tt class="py-keyword">in</tt> <tt class="py-name">routesJsonObj</tt><tt class="py-op">[</tt><tt class="py-string">'routes4'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">'prefix'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">route</tt><tt class="py-op">:</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">route</tt><tt class="py-op">[</tt> <tt class="py-string">'prefix'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'172.16.10.0/24'</tt><tt class="py-op">:</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">                    <tt class="py-keyword">continue</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">                <tt class="py-name">allRoutesActual</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">                    <tt class="py-name">route</tt><tt class="py-op">[</tt> <tt class="py-string">'prefix'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">route</tt><tt class="py-op">[</tt> <tt class="py-string">'nextHop'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">allRoutesActual</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line"> </tt>
+<a name="QuaggaCliDriver.extractActualRoutesMaster"></a><div id="QuaggaCliDriver.extractActualRoutesMaster-def"><a name="L200"></a><tt class="py-lineno">200</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.extractActualRoutesMaster-toggle" onclick="return toggle('QuaggaCliDriver.extractActualRoutesMaster');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualRoutesMaster">extractActualRoutesMaster</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">getRoutesResult</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.extractActualRoutesMaster-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.extractActualRoutesMaster-expanded"><a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-name">routesJsonObj</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">getRoutesResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-name">allRoutesActual</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">route</tt> <tt class="py-keyword">in</tt> <tt class="py-name">routesJsonObj</tt><tt class="py-op">[</tt><tt class="py-string">'routes4'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">route</tt><tt class="py-op">[</tt> <tt class="py-string">'prefix'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'172.16.10.0/24'</tt><tt class="py-op">:</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-name">allRoutesActual</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">                <tt class="py-name">route</tt><tt class="py-op">[</tt> <tt class="py-string">'prefix'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">route</tt><tt class="py-op">[</tt> <tt class="py-string">'nextHop'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">allRoutesActual</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">    <tt class="py-comment"># This method extracts all actual route intents from ONOS CLI</tt> </tt>
+<a name="QuaggaCliDriver.extractActualRouteIntents"></a><div id="QuaggaCliDriver.extractActualRouteIntents-def"><a name="L213"></a><tt class="py-lineno">213</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.extractActualRouteIntents-toggle" onclick="return toggle('QuaggaCliDriver.extractActualRouteIntents');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualRouteIntents">extractActualRouteIntents</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">getIntentsResult</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.extractActualRouteIntents-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.extractActualRouteIntents-expanded"><a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt id="link-45" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-45', 'intents', 'link-39');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: delete the line below when change to Mininet demo script</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">        <tt class="py-comment"># getIntentsResult=open( "../tests/SdnIpTest/intents.json" ).read()</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-name">intentsJsonObj</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">getIntentsResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-46" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-46', 'intent', 'link-37');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsJsonObj</tt><tt class="py-op">:</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">            <tt class="py-comment">#if intent[ 'appId' ] != "org.onosproject.sdnip":</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">            <tt class="py-comment">#    continue</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-47" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-47', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'type'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"MultiPointToSinglePointIntent"</tt> \ </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">            <tt class="py-keyword">and</tt> <tt id="link-48" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-48', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'INSTALLED'</tt><tt class="py-op">:</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">                <tt class="py-name">egress</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-49" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-49', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'egress'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'device'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> \ </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">                    <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-50" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-50', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'egress'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">                <tt class="py-name">ingress</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">attachmentPoint</tt> <tt class="py-keyword">in</tt> <tt id="link-51" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-51', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'ingress'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">                    <tt class="py-name">ingress</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">attachmentPoint</tt><tt class="py-op">[</tt> <tt class="py-string">'device'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">                        <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">attachmentPoint</tt><tt class="py-op">[</tt> <tt class="py-string">'port'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">                <tt class="py-name">selector</tt> <tt class="py-op">=</tt> <tt id="link-52" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-52', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">                    <tt class="py-string">"["</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"]"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">" "</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">selector</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt> <tt class="py-string">"IPV4"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">                    <tt class="py-name">str1</tt><tt class="py-op">,</tt> <tt class="py-name">str2</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">selector</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">","</tt> <tt class="py-op">)</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">                    <tt class="py-name">selector</tt> <tt class="py-op">=</tt> <tt class="py-name">str2</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> <tt class="py-op">+</tt> <tt class="py-name">str1</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">                <tt id="link-53" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-53', 'intent', 'link-37');">intent</a></tt> <tt class="py-op">=</tt> <tt class="py-name">egress</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">ingress</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">                    <tt class="py-name">selector</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt id="link-54" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-54', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'treatment'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">                <tt id="link-55" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-55', 'intents', 'link-39');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-56" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-56', 'intent', 'link-37');">intent</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt id="link-57" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-57', 'intents', 'link-39');">intents</a></tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">    <tt class="py-comment"># This method calculates the MultiPointToSinglePointIntent number installed</tt> </tt>
+<a name="QuaggaCliDriver.extractActualRouteIntentNum"></a><div id="QuaggaCliDriver.extractActualRouteIntentNum-def"><a name="L244"></a><tt class="py-lineno">244</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.extractActualRouteIntentNum-toggle" onclick="return toggle('QuaggaCliDriver.extractActualRouteIntentNum');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualRouteIntentNum">extractActualRouteIntentNum</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">getIntentsResult</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.extractActualRouteIntentNum-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.extractActualRouteIntentNum-expanded"><a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">        <tt class="py-name">intentsJsonObj</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">getIntentsResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-58" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-58', 'intent', 'link-37');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsJsonObj</tt><tt class="py-op">:</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-59" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-59', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'type'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"MultiPointToSinglePointIntent"</tt> \ </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">            <tt class="py-keyword">and</tt> <tt id="link-60" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-60', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'INSTALLED'</tt><tt class="py-op">:</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">                <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">num</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">num</tt> </tt>
+</div><a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">    <tt class="py-comment"># This method calculates the PointToPointIntent number installed</tt> </tt>
+<a name="QuaggaCliDriver.extractActualBgpIntentNum"></a><div id="QuaggaCliDriver.extractActualBgpIntentNum-def"><a name="L254"></a><tt class="py-lineno">254</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.extractActualBgpIntentNum-toggle" onclick="return toggle('QuaggaCliDriver.extractActualBgpIntentNum');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualBgpIntentNum">extractActualBgpIntentNum</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">getIntentsResult</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.extractActualBgpIntentNum-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.extractActualBgpIntentNum-expanded"><a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">        <tt class="py-name">intentsJsonObj</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">getIntentsResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">        <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-61" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-61', 'intent', 'link-37');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsJsonObj</tt><tt class="py-op">:</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-62" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-62', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'type'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"PointToPointIntent"</tt> \ </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">            <tt class="py-keyword">and</tt> <tt id="link-63" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-63', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'INSTALLED'</tt><tt class="py-op">:</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">                <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">num</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">num</tt> </tt>
+</div><a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">    <tt class="py-comment"># This method extracts all actual BGP intents from ONOS CLI</tt> </tt>
+<a name="QuaggaCliDriver.extractActualBgpIntents"></a><div id="QuaggaCliDriver.extractActualBgpIntents-def"><a name="L264"></a><tt class="py-lineno">264</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.extractActualBgpIntents-toggle" onclick="return toggle('QuaggaCliDriver.extractActualBgpIntents');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualBgpIntents">extractActualBgpIntents</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">getIntentsResult</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.extractActualBgpIntents-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.extractActualBgpIntents-expanded"><a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt id="link-64" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-64', 'intents', 'link-39');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: delete the line below when change to Mininet demo script</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">        <tt class="py-comment"># getIntentsResult=open( "../tests/SdnIpTest/intents.json" ).read()</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-name">intentsJsonObj</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">getIntentsResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-65" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-65', 'intent', 'link-37');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsJsonObj</tt><tt class="py-op">:</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">            <tt class="py-comment">#if intent[ 'appId' ] != "org.onosproject.sdnip":</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">            <tt class="py-comment">#    continue</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-66" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-66', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'type'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"PointToPointIntent"</tt> \ </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">            <tt class="py-keyword">and</tt> <tt class="py-string">"protocol=6"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-67" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-67', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">                <tt class="py-name">ingress</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-68" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-68', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'ingress'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'device'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> \ </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">                    <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-69" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-69', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'ingress'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">                <tt class="py-name">egress</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-70" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-70', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'egress'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'device'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-71" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-71', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'egress'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">                <tt class="py-name">selector</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-72" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-72', 'intent', 'link-37');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'selector'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">" "</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt>\ </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">                    <tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"["</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"]"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">","</tt> <tt class="py-op">)</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">                <tt id="link-73" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-73', 'intent', 'link-37');">intent</a></tt> <tt class="py-op">=</tt> <tt class="py-name">ingress</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">egress</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">selector</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">                <tt id="link-74" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-74', 'intents', 'link-39');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-75" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-75', 'intent', 'link-37');">intent</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt id="link-76" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-76', 'intents', 'link-39');">intents</a></tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line"> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">    <tt class="py-comment"># This method generates a single point to single point intent(</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">    <tt class="py-comment"># PointToPointIntent ) for BGP path</tt> </tt>
+<a name="QuaggaCliDriver.generateExpectedBgpIntents"></a><div id="QuaggaCliDriver.generateExpectedBgpIntents-def"><a name="L289"></a><tt class="py-lineno">289</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.generateExpectedBgpIntents-toggle" onclick="return toggle('QuaggaCliDriver.generateExpectedBgpIntents');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#generateExpectedBgpIntents">generateExpectedBgpIntents</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sdnipJsonFilePath</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.generateExpectedBgpIntents-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.generateExpectedBgpIntents-expanded"><a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">        <tt class="py-keyword">from</tt> <tt class="py-name">operator</tt> <tt class="py-keyword">import</tt> <tt class="py-name">eq</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line"> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">        <tt class="py-name">sdnipJsonFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt> <tt class="py-name">sdnipJsonFilePath</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">        <tt class="py-name">sdnipData</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">sdnipJsonFile</tt> <tt class="py-op">)</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">        <tt id="link-77" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-77', 'intents', 'link-39');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">        <tt class="py-name">bgpPeerAttachmentPoint</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">        <tt class="py-name">bgpSpeakerAttachmentPoint</tt> <tt class="py-op">=</tt> <tt class="py-string">"of:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">            <tt class="py-name">sdnipData</tt><tt class="py-op">[</tt> <tt class="py-string">'bgpSpeakers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'attachmentDpid'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt>\ </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">            <tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">":"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> \ </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">            <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sdnipData</tt><tt class="py-op">[</tt> <tt class="py-string">'bgpSpeakers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'attachmentPort'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">peer</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sdnipData</tt><tt class="py-op">[</tt> <tt class="py-string">'bgpPeers'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">            <tt class="py-name">bgpPeerAttachmentPoint</tt> <tt class="py-op">=</tt> <tt class="py-string">"of:"</tt> \ </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">                <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">peer</tt><tt class="py-op">[</tt> <tt class="py-string">'attachmentDpid'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">":"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> \ </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">                <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">peer</tt><tt class="py-op">[</tt> <tt class="py-string">'attachmentPort'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">            <tt class="py-comment"># find out the BGP speaker IP address for this BGP peer</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">            <tt class="py-name">bgpSpeakerIpAddress</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">interfaceAddress</tt> <tt class="py-keyword">in</tt> \ </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">            <tt class="py-name">sdnipData</tt><tt class="py-op">[</tt> <tt class="py-string">'bgpSpeakers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'interfaceAddresses'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">                <tt class="py-comment"># if eq( interfaceAddress[ 'interfaceDpid' ],sdnipData[</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">                <tt class="py-comment"># 'bgpSpeakers' ][ 0 ][ 'attachmentDpid' ] ) and eq(</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">                <tt class="py-comment"># interfaceAddress[ 'interfacePort' ], sdnipData[ 'bgpSpeakers'</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">                <tt class="py-comment"># ][ 0 ][ 'attachmentPort' ] ):</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">eq</tt><tt class="py-op">(</tt> <tt class="py-name">interfaceAddress</tt><tt class="py-op">[</tt> <tt class="py-string">'interfaceDpid'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">                       <tt class="py-name">peer</tt><tt class="py-op">[</tt> <tt class="py-string">'attachmentDpid'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> \ </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">                <tt class="py-keyword">and</tt> <tt class="py-name">eq</tt><tt class="py-op">(</tt> <tt class="py-name">interfaceAddress</tt><tt class="py-op">[</tt> <tt class="py-string">'interfacePort'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">                        <tt class="py-name">peer</tt><tt class="py-op">[</tt> <tt class="py-string">'attachmentPort'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">                    <tt class="py-name">bgpSpeakerIpAddress</tt> <tt class="py-op">=</tt> <tt class="py-name">interfaceAddress</tt><tt class="py-op">[</tt> <tt class="py-string">'ipAddress'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">                    <tt class="py-keyword">continue</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line"> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">            <tt class="py-comment"># from bgpSpeakerAttachmentPoint to bgpPeerAttachmentPoint</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">            <tt class="py-comment"># direction</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">            <tt class="py-name">selectorStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"IPV4_SRC{ip="</tt> <tt class="py-op">+</tt> <tt class="py-name">bgpSpeakerIpAddress</tt> <tt class="py-op">+</tt> <tt class="py-string">"/32},"</tt> \ </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">                <tt class="py-op">+</tt> <tt class="py-string">"IPV4_DST{ip="</tt> <tt class="py-op">+</tt> <tt class="py-name">peer</tt><tt class="py-op">[</tt> <tt class="py-string">'ipAddress'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"/32},"</tt> \ </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">                <tt class="py-op">+</tt> <tt class="py-string">"IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, \</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line"><tt class="py-string">                TCP_DST{tcpPort=179}"</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">            <tt class="py-name">selector</tt> <tt class="py-op">=</tt> <tt class="py-name">selectorStr</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">" "</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"["</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt>\ </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">                <tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"]"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">","</tt> <tt class="py-op">)</tt> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">            <tt id="link-78" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-78', 'intent', 'link-37');">intent</a></tt> <tt class="py-op">=</tt> <tt class="py-name">bgpSpeakerAttachmentPoint</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">                <tt class="py-name">bgpPeerAttachmentPoint</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">selector</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">            <tt id="link-79" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-79', 'intents', 'link-39');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-80" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-80', 'intent', 'link-37');">intent</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">            <tt class="py-name">selectorStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"IPV4_SRC{ip="</tt> <tt class="py-op">+</tt> <tt class="py-name">bgpSpeakerIpAddress</tt> <tt class="py-op">+</tt> <tt class="py-string">"/32},"</tt> \ </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">                <tt class="py-op">+</tt> <tt class="py-string">"IPV4_DST{ip="</tt> <tt class="py-op">+</tt> <tt class="py-name">peer</tt><tt class="py-op">[</tt> <tt class="py-string">'ipAddress'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"/32},"</tt> \ </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">                <tt class="py-op">+</tt> <tt class="py-string">"IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, \</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line"><tt class="py-string">                TCP_SRC{tcpPort=179}"</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">            <tt class="py-name">selector</tt> <tt class="py-op">=</tt> <tt class="py-name">selectorStr</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">" "</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"["</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt>\ </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">                <tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"]"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">","</tt> <tt class="py-op">)</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">            <tt id="link-81" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-81', 'intent', 'link-37');">intent</a></tt> <tt class="py-op">=</tt> <tt class="py-name">bgpSpeakerAttachmentPoint</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> \ </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">                <tt class="py-op">+</tt> <tt class="py-name">bgpPeerAttachmentPoint</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">selector</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">            <tt id="link-82" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-82', 'intents', 'link-39');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-83" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-83', 'intent', 'link-37');">intent</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line"> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">            <tt class="py-comment"># from bgpPeerAttachmentPoint to bgpSpeakerAttachmentPoint</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">            <tt class="py-comment"># direction</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">            <tt class="py-name">selectorStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"IPV4_SRC{ip="</tt> <tt class="py-op">+</tt> <tt class="py-name">peer</tt><tt class="py-op">[</tt> <tt class="py-string">'ipAddress'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"/32},"</tt> \ </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">                <tt class="py-op">+</tt> <tt class="py-string">"IPV4_DST{ip="</tt> <tt class="py-op">+</tt> <tt class="py-name">bgpSpeakerIpAddress</tt> <tt class="py-op">+</tt> <tt class="py-string">"/32},"</tt> \ </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">                <tt class="py-op">+</tt> <tt class="py-string">"IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, \</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"><tt class="py-string">                TCP_DST{tcpPort=179}"</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">            <tt class="py-name">selector</tt> <tt class="py-op">=</tt> <tt class="py-name">selectorStr</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">" "</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"["</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt>\ </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">                <tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"]"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">","</tt> <tt class="py-op">)</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">            <tt id="link-84" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-84', 'intent', 'link-37');">intent</a></tt> <tt class="py-op">=</tt> <tt class="py-name">bgpPeerAttachmentPoint</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> \ </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">                <tt class="py-op">+</tt> <tt class="py-name">bgpSpeakerAttachmentPoint</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">selector</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">            <tt id="link-85" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-85', 'intents', 'link-39');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-86" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-86', 'intent', 'link-37');">intent</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line"> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">            <tt class="py-name">selectorStr</tt> <tt class="py-op">=</tt> <tt class="py-string">"IPV4_SRC{ip="</tt> <tt class="py-op">+</tt> <tt class="py-name">peer</tt><tt class="py-op">[</tt> <tt class="py-string">'ipAddress'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"/32},"</tt> \ </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">                <tt class="py-op">+</tt> <tt class="py-string">"IPV4_DST{ip="</tt> <tt class="py-op">+</tt> <tt class="py-name">bgpSpeakerIpAddress</tt> <tt class="py-op">+</tt> <tt class="py-string">"/32},"</tt> \ </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">                <tt class="py-op">+</tt> <tt class="py-string">"IP_PROTO{protocol=6}, ETH_TYPE{ethType=800}, \</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line"><tt class="py-string">                TCP_SRC{tcpPort=179}"</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">            <tt class="py-name">selector</tt> <tt class="py-op">=</tt> <tt class="py-name">selectorStr</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">" "</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"["</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt>\ </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">                <tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"]"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">","</tt> <tt class="py-op">)</tt> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">            <tt id="link-87" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-87', 'intent', 'link-37');">intent</a></tt> <tt class="py-op">=</tt> <tt class="py-name">bgpPeerAttachmentPoint</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> \ </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">                <tt class="py-op">+</tt> <tt class="py-name">bgpSpeakerAttachmentPoint</tt> <tt class="py-op">+</tt> <tt class="py-string">"/"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">selector</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">            <tt id="link-88" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-88', 'intents', 'link-39');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-89" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-89', 'intent', 'link-37');">intent</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line"> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt id="link-90" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-90', 'intents', 'link-39');">intents</a></tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line"> </tt>
+<a name="QuaggaCliDriver.addRoutes"></a><div id="QuaggaCliDriver.addRoutes-def"><a name="L368"></a><tt class="py-lineno">368</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.addRoutes-toggle" onclick="return toggle('QuaggaCliDriver.addRoutes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#addRoutes">addRoutes</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">routes</tt><tt class="py-op">,</tt> <tt class="py-param">routeRate</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.addRoutes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.addRoutes-expanded"><a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-91', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"I am in add_routes method!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line"> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">        <tt class="py-name">routesAdded</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-92', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "config-router" )</tt> </tt>
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"config-router"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-93', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Probably not in config-router mode!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-94', 'disconnect', 'link-26');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-95', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Start to add routes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line"> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">        <tt class="py-name">chunk_size</tt> <tt class="py-op">=</tt> <tt class="py-number">20</tt> </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line"> </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-96" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.routes" class="py-name" href="#" onclick="return doclink('link-96', 'routes', 'link-30');">routes</a></tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">chunk_size</tt><tt class="py-op">:</tt> </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">            <tt class="py-name">num_iter</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">)</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-97" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.routes" class="py-name" href="#" onclick="return doclink('link-97', 'routes', 'link-30');">routes</a></tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> <tt class="py-name">chunk_size</tt><tt class="py-op">)</tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">            <tt class="py-name">num_iter</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt><tt class="py-op">;</tt> </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line"> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">        <tt class="py-name">total</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">num_iter</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">            <tt class="py-name">routeCmd</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-98" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.routes" class="py-name" href="#" onclick="return doclink('link-98', 'routes', 'link-30');">routes</a></tt> <tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-op">(</tt><tt class="py-name">n</tt> <tt class="py-op">*</tt> <tt class="py-name">chunk_size</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">chunk_size</tt><tt class="py-op">:</tt> </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">                <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">n</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">chunk_size</tt> </tt>
+<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">                <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-99" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.routes" class="py-name" href="#" onclick="return doclink('link-99', 'routes', 'link-30');">routes</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">*</tt> <tt class="py-name">chunk_size</tt><tt class="py-op">,</tt> <tt class="py-name">m</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">                <tt class="py-name">routeCmd</tt> <tt class="py-op">=</tt> <tt class="py-name">routeCmd</tt> <tt class="py-op">+</tt> <tt class="py-string">"network "</tt> <tt class="py-op">+</tt> <tt id="link-100" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.routes" class="py-name" href="#" onclick="return doclink('link-100', 'routes', 'link-30');">routes</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> </tt>
+<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line">                <tt class="py-name">total</tt> <tt class="py-op">=</tt> <tt class="py-name">total</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line"> </tt>
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-101', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">routeCmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-102', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">routeCmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"bgpd"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-103', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to add route"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-104', 'disconnect', 'link-26');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line"> </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">            <tt class="py-comment"># waitTimer = 1.00 / routeRate</tt> </tt>
+<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-105', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Total routes so far "</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">)</tt> <tt class="py-op">(</tt><tt class="py-name">total</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" wait for 0 sec"</tt><tt class="py-op">)</tt> </tt>
+<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">            <tt class="py-comment">#time.sleep( 1 )</tt> </tt>
+<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">routesAdded</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-106" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.routes" class="py-name" href="#" onclick="return doclink('link-106', 'routes', 'link-30');">routes</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-107', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Finished adding routes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line"> </tt>
+<a name="QuaggaCliDriver.deleteRoutes"></a><div id="QuaggaCliDriver.deleteRoutes-def"><a name="L415"></a><tt class="py-lineno">415</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.deleteRoutes-toggle" onclick="return toggle('QuaggaCliDriver.deleteRoutes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#deleteRoutes">deleteRoutes</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">routes</tt><tt class="py-op">,</tt> <tt class="py-param">routeRate</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.deleteRoutes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.deleteRoutes-expanded"><a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-108', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"I am in delete_routes method!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line"> </tt>
+<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line">        <tt class="py-name">routesAdded</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-109', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "config-router" )</tt> </tt>
+<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"config-router"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-110', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Probably not in config-router mode!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-111', 'disconnect', 'link-26');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-112', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Start to delete routes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line"> </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-113" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.routes" class="py-name" href="#" onclick="return doclink('link-113', 'routes', 'link-30');">routes</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">            <tt class="py-name">routeCmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"no network "</tt> <tt class="py-op">+</tt> <tt id="link-114" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.routes" class="py-name" href="#" onclick="return doclink('link-114', 'routes', 'link-30');">routes</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-115', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">routeCmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"bgpd"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-116', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to delete route"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-117', 'disconnect', 'link-26');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line">            <tt class="py-comment"># waitTimer = 1.00 / routeRate</tt> </tt>
+<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">            <tt class="py-comment"># time.sleep( waitTimer )</tt> </tt>
+<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">routesAdded</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-118" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.routes" class="py-name" href="#" onclick="return doclink('link-118', 'routes', 'link-30');">routes</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-119', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Finished deleting routes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line"> </tt>
+<a name="QuaggaCliDriver.pingTest"></a><div id="QuaggaCliDriver.pingTest-def"><a name="L443"></a><tt class="py-lineno">443</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.pingTest-toggle" onclick="return toggle('QuaggaCliDriver.pingTest');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#pingTest">pingTest</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ip_address</tt><tt class="py-op">,</tt> <tt class="py-param">pingTestFile</tt><tt class="py-op">,</tt> <tt class="py-param">pingTestResultFile</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.pingTest-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.pingTest-expanded"><a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-120', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Start the ping test on host:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line"> </tt>
+<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-121" class="py-name"><a title="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver" class="py-name" href="#" onclick="return doclink('link-121', 'QuaggaCliDriver', 'link-6');">QuaggaCliDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-122', 'connect', 'link-7');">connect</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">            <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">            <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-123', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"connect parameters:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">";"</tt> </tt>
+<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">                       <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">";"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> <tt class="py-op">)</tt> </tt>
+<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">                       <tt class="py-op">+</tt> <tt class="py-string">";"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line"> </tt>
+<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "" )</tt> </tt>
+<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "\$" )</tt> </tt>
+<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-124', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"I in host "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-125', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">pingTestFile</tt> <tt class="py-op">+</tt> <tt class="py-string">" &gt; "</tt> <tt class="py-op">+</tt> <tt class="py-name">pingTestResultFile</tt> <tt class="py-op">+</tt> <tt class="py-string">" &amp;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-126', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">                <tt class="py-name">pingTestFile</tt> <tt class="py-op">+</tt> </tt>
+<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">                <tt class="py-string">" &gt; "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line">                <tt class="py-name">pingTestResultFile</tt> <tt class="py-op">+</tt> </tt>
+<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line">                <tt class="py-string">" &amp;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">            <tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line"> </tt>
+<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-127', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"NO HANDLE"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line"> </tt>
+<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line"> </tt>
+<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line">    <tt class="py-comment"># Please use the generateRoutes plus addRoutes instead of this one!</tt> </tt>
+<a name="QuaggaCliDriver.addRoute"></a><div id="QuaggaCliDriver.addRoute-def"><a name="L474"></a><tt class="py-lineno">474</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.addRoute-toggle" onclick="return toggle('QuaggaCliDriver.addRoute');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#addRoute">addRoute</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">net</tt><tt class="py-op">,</tt> <tt class="py-param">numRoutes</tt><tt class="py-op">,</tt> <tt class="py-param">routeRate</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.addRoute-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.addRoute-expanded"><a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-128', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"config-router"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-129', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Probably not in config-router mode!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-130', 'disconnect', 'link-26');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-131', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Adding Routes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">        <tt class="py-name">j</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line">        <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">numRoutes</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">255</tt><tt class="py-op">:</tt> </tt>
+<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line">            <tt class="py-name">numRoutes</tt> <tt class="py-op">=</tt> <tt class="py-name">numRoutes</tt> <tt class="py-op">-</tt> <tt class="py-number">255</tt> </tt>
+<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line">            <tt class="py-name">j</tt> <tt class="py-op">=</tt> <tt class="py-name">j</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line">        <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-name">numRoutes</tt> <tt class="py-op">%</tt> <tt class="py-number">254</tt> </tt>
+<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line">        <tt class="py-name">routesAdded</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">numRoutes</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">255</tt><tt class="py-op">:</tt> </tt>
+<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">            <tt class="py-name">numRoutes</tt> <tt class="py-op">=</tt> <tt class="py-number">255</tt> </tt>
+<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">m</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">j</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">numRoutes</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">                <tt class="py-name">network</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-132" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-132', 'net', 'link-31');">net</a></tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">m</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">)</tt> \ </tt>
+<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">                    <tt class="py-op">+</tt> <tt class="py-string">".0/24"</tt> </tt>
+<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line">                <tt class="py-name">routeCmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"network "</tt> <tt class="py-op">+</tt> <tt class="py-name">network</tt> </tt>
+<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-133', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">routeCmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"bgpd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-134', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"failed to add route"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-135', 'disconnect', 'link-26');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line">                <tt class="py-name">waitTimer</tt> <tt class="py-op">=</tt> <tt class="py-number">1.00</tt> <tt class="py-op">/</tt> <tt class="py-name">routeRate</tt> </tt>
+<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">waitTimer</tt> <tt class="py-op">)</tt> </tt>
+<a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line">                <tt class="py-name">routesAdded</tt> <tt class="py-op">=</tt> <tt class="py-name">routesAdded</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">d</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">j</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">j</tt> <tt class="py-op">+</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">e</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">k</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line">                <tt class="py-name">network</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-136" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-136', 'net', 'link-31');">net</a></tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">d</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> \ </tt>
+<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">                    <tt class="py-op">+</tt> <tt class="py-string">".0/24"</tt> </tt>
+<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line">                <tt class="py-name">routeCmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"network "</tt> <tt class="py-op">+</tt> <tt class="py-name">network</tt> </tt>
+<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-137', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">routeCmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"bgpd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-138', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"failed to add route"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-139', 'disconnect', 'link-26');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line">                <tt class="py-name">waitTimer</tt> <tt class="py-op">=</tt> <tt class="py-number">1.00</tt> <tt class="py-op">/</tt> <tt class="py-name">routeRate</tt> </tt>
+<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">waitTimer</tt> <tt class="py-op">)</tt> </tt>
+<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">                <tt class="py-name">routesAdded</tt> <tt class="py-op">=</tt> <tt class="py-name">routesAdded</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">routesAdded</tt> <tt class="py-op">==</tt> <tt class="py-name">numRoutes</tt><tt class="py-op">:</tt> </tt>
+<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line"> </tt>
+<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line">    <tt class="py-comment"># Please use deleteRoutes method instead of this one!</tt> </tt>
+<a name="QuaggaCliDriver.delRoute"></a><div id="QuaggaCliDriver.delRoute-def"><a name="L524"></a><tt class="py-lineno">524</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.delRoute-toggle" onclick="return toggle('QuaggaCliDriver.delRoute');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#delRoute">delRoute</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">net</tt><tt class="py-op">,</tt> <tt class="py-param">numRoutes</tt><tt class="py-op">,</tt> <tt class="py-param">routeRate</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.delRoute-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.delRoute-expanded"><a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-140', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"config-router"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-141', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Probably not in config-router mode!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-142', 'disconnect', 'link-26');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-143', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Deleting Routes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">        <tt class="py-name">j</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line">        <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">numRoutes</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">255</tt><tt class="py-op">:</tt> </tt>
+<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line">            <tt class="py-name">numRoutes</tt> <tt class="py-op">=</tt> <tt class="py-name">numRoutes</tt> <tt class="py-op">-</tt> <tt class="py-number">255</tt> </tt>
+<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">            <tt class="py-name">j</tt> <tt class="py-op">=</tt> <tt class="py-name">j</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">        <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-name">numRoutes</tt> <tt class="py-op">%</tt> <tt class="py-number">254</tt> </tt>
+<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line">        <tt class="py-name">routesDeleted</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">numRoutes</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">255</tt><tt class="py-op">:</tt> </tt>
+<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line">            <tt class="py-name">numRoutes</tt> <tt class="py-op">=</tt> <tt class="py-number">255</tt> </tt>
+<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">m</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">j</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">numRoutes</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">                <tt class="py-name">network</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-144" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-144', 'net', 'link-31');">net</a></tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">m</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">)</tt> \ </tt>
+<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">                    <tt class="py-op">+</tt> <tt class="py-string">".0/24"</tt> </tt>
+<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line">                <tt class="py-name">routeCmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"no network "</tt> <tt class="py-op">+</tt> <tt class="py-name">network</tt> </tt>
+<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-145', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">routeCmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"bgpd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-146', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to delete route"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-147', 'disconnect', 'link-26');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line">                <tt class="py-name">waitTimer</tt> <tt class="py-op">=</tt> <tt class="py-number">1.00</tt> <tt class="py-op">/</tt> <tt class="py-name">routeRate</tt> </tt>
+<a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">waitTimer</tt> <tt class="py-op">)</tt> </tt>
+<a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line">                <tt class="py-name">routesDeleted</tt> <tt class="py-op">=</tt> <tt class="py-name">routesDeleted</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">d</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">j</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">j</tt> <tt class="py-op">+</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">e</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">k</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line">                <tt class="py-name">network</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-148" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-148', 'net', 'link-31');">net</a></tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">d</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> \ </tt>
+<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line">                    <tt class="py-op">+</tt> <tt class="py-string">".0/24"</tt> </tt>
+<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line">                <tt class="py-name">routeCmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"no network "</tt> <tt class="py-op">+</tt> <tt class="py-name">network</tt> </tt>
+<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-149', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">routeCmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"bgpd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-150', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to delete route"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-151', 'disconnect', 'link-26');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line">                <tt class="py-name">waitTimer</tt> <tt class="py-op">=</tt> <tt class="py-number">1.00</tt> <tt class="py-op">/</tt> <tt class="py-name">routeRate</tt> </tt>
+<a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">waitTimer</tt> <tt class="py-op">)</tt> </tt>
+<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line">                <tt class="py-name">routesDeleted</tt> <tt class="py-op">=</tt> <tt class="py-name">routesDeleted</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">routesDeleted</tt> <tt class="py-op">==</tt> <tt class="py-name">numRoutes</tt><tt class="py-op">:</tt> </tt>
+<a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L572"></a><tt class="py-lineno">572</tt>  <tt class="py-line"> </tt>
+<a name="QuaggaCliDriver.checkRoutes"></a><div id="QuaggaCliDriver.checkRoutes-def"><a name="L573"></a><tt class="py-lineno">573</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.checkRoutes-toggle" onclick="return toggle('QuaggaCliDriver.checkRoutes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#checkRoutes">checkRoutes</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">brand</tt><tt class="py-op">,</tt> <tt class="py-param">ip</tt><tt class="py-op">,</tt> <tt class="py-param">user</tt><tt class="py-op">,</tt> <tt class="py-param">pw</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.checkRoutes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.checkRoutes-expanded"><a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">pronto</tt><tt class="py-op">(</tt> <tt class="py-param">ip</tt><tt class="py-op">,</tt> <tt class="py-param">user</tt><tt class="py-op">,</tt> <tt class="py-param">passwd</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Connecting to Pronto switch"</tt> </tt>
+<a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line">            <tt class="py-name">child</tt> <tt class="py-op">=</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">spawn</tt><tt class="py-op">(</tt> <tt class="py-string">"telnet "</tt> <tt class="py-op">+</tt> <tt class="py-name">ip</tt> <tt class="py-op">)</tt> </tt>
+<a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"login:"</tt><tt class="py-op">,</tt> <tt class="py-string">"CLI#"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L578"></a><tt class="py-lineno">578</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"user_name and password required. Passing login info."</tt> </tt>
+<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line">                <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-152', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">user</tt> <tt class="py-op">)</tt> </tt>
+<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line">                <tt class="py-name">child</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"Password:"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line">                <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-153', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">passwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L583"></a><tt class="py-lineno">583</tt>  <tt class="py-line">                <tt class="py-name">child</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"CLI#"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Logged in, getting flowtable."</tt> </tt>
+<a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line">            <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-154', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"flowtable brief"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">9</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line">                <tt class="py-name">t2</tt> <tt class="py-op">=</tt> <tt class="py-number">9</tt> <tt class="py-op">-</tt> <tt class="py-name">t</tt> </tt>
+<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"\r"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">t2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line">                <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">stdout</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt> <tt class="py-string">"\033[F"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L591"></a><tt class="py-lineno">591</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Scanning flowtable"</tt> </tt>
+<a name="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line">            <tt class="py-name">child</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"Flow table show"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L593"></a><tt class="py-lineno">593</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">'17\d\.\d{1,3}\.\d{1,3}\.\d{1,3}'</tt><tt class="py-op">,</tt> </tt>
+<a name="L596"></a><tt class="py-lineno">596</tt>  <tt class="py-line">                                   <tt class="py-string">'CLI#'</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line">                    <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-name">count</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">"Pronto flows: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\nDone\n"</tt> </tt>
+<a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L603"></a><tt class="py-lineno">603</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+</div><a name="L604"></a><tt class="py-lineno">604</tt>  <tt class="py-line"> </tt>
+<a name="L605"></a><tt class="py-lineno">605</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">cisco</tt><tt class="py-op">(</tt> <tt class="py-param">ip</tt><tt class="py-op">,</tt> <tt class="py-param">user</tt><tt class="py-op">,</tt> <tt class="py-param">passwd</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L606"></a><tt class="py-lineno">606</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Establishing Cisco switch connection"</tt> </tt>
+<a name="L607"></a><tt class="py-lineno">607</tt>  <tt class="py-line">            <tt class="py-name">child</tt> <tt class="py-op">=</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">spawn</tt><tt class="py-op">(</tt> <tt class="py-string">"ssh "</tt> <tt class="py-op">+</tt> <tt class="py-name">user</tt> <tt class="py-op">+</tt> <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> <tt class="py-name">ip</tt> <tt class="py-op">)</tt> </tt>
+<a name="L608"></a><tt class="py-lineno">608</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"Password:"</tt><tt class="py-op">,</tt> <tt class="py-string">"CLI#"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L609"></a><tt class="py-lineno">609</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L610"></a><tt class="py-lineno">610</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Password required. Passing now."</tt> </tt>
+<a name="L611"></a><tt class="py-lineno">611</tt>  <tt class="py-line">                <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-155', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">passwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L612"></a><tt class="py-lineno">612</tt>  <tt class="py-line">                <tt class="py-name">child</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"#"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L613"></a><tt class="py-lineno">613</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Logged in. Retrieving flow table then counting flows."</tt> </tt>
+<a name="L614"></a><tt class="py-lineno">614</tt>  <tt class="py-line">            <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-156', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"show openflow switch all flows all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L615"></a><tt class="py-lineno">615</tt>  <tt class="py-line">            <tt class="py-name">child</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"Logical Openflow Switch"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L616"></a><tt class="py-lineno">616</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Flow table retrieved. Counting flows"</tt> </tt>
+<a name="L617"></a><tt class="py-lineno">617</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L618"></a><tt class="py-lineno">618</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L619"></a><tt class="py-lineno">619</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"nw_src=17"</tt><tt class="py-op">,</tt> <tt class="py-string">"#"</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L620"></a><tt class="py-lineno">620</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L621"></a><tt class="py-lineno">621</tt>  <tt class="py-line">                    <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-name">count</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L622"></a><tt class="py-lineno">622</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L623"></a><tt class="py-lineno">623</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">"Cisco flows: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\nDone\n"</tt> </tt>
+<a name="L624"></a><tt class="py-lineno">624</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L625"></a><tt class="py-lineno">625</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L626"></a><tt class="py-lineno">626</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L627"></a><tt class="py-lineno">627</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">brand</tt> <tt class="py-op">==</tt> <tt class="py-string">"pronto"</tt> <tt class="py-keyword">or</tt> <tt class="py-name">brand</tt> <tt class="py-op">==</tt> <tt class="py-string">"PRONTO"</tt><tt class="py-op">:</tt> </tt>
+<a name="L628"></a><tt class="py-lineno">628</tt>  <tt class="py-line">                <tt class="py-name">pronto</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt><tt class="py-op">,</tt> <tt class="py-name">user</tt><tt class="py-op">,</tt> <tt class="py-name">passwd</tt> <tt class="py-op">)</tt> </tt>
+</div></div><a name="L629"></a><tt class="py-lineno">629</tt>  <tt class="py-line">            <tt class="py-comment"># elif brand  == "cisco" or brand == "CISCO":</tt> </tt>
+<a name="L630"></a><tt class="py-lineno">630</tt>  <tt class="py-line">            <tt class="py-comment">#    cisco( ip,user,passwd )</tt> </tt>
+<a name="L631"></a><tt class="py-lineno">631</tt>  <tt class="py-line"> </tt>
+<a name="QuaggaCliDriver.disable_bgp_peer"></a><div id="QuaggaCliDriver.disable_bgp_peer-def"><a name="L632"></a><tt class="py-lineno">632</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.disable_bgp_peer-toggle" onclick="return toggle('QuaggaCliDriver.disable_bgp_peer');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#disable_bgp_peer">disable_bgp_peer</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">peer</tt><tt class="py-op">,</tt> <tt class="py-param">peer_as</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.disable_bgp_peer-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.disable_bgp_peer-expanded"><a name="L633"></a><tt class="py-lineno">633</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-157', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"I am in disconnect_peer_session method!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L634"></a><tt class="py-lineno">634</tt>  <tt class="py-line"> </tt>
+<a name="L635"></a><tt class="py-lineno">635</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L636"></a><tt class="py-lineno">636</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-158', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L637"></a><tt class="py-lineno">637</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "config-router" )</tt> </tt>
+<a name="L638"></a><tt class="py-lineno">638</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"config-router"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L639"></a><tt class="py-lineno">639</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L640"></a><tt class="py-lineno">640</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-159', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Probably not in config-router mode!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L641"></a><tt class="py-lineno">641</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-160', 'disconnect', 'link-26');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L642"></a><tt class="py-lineno">642</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-161', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Start to disable peer"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L643"></a><tt class="py-lineno">643</tt>  <tt class="py-line"> </tt>
+<a name="L644"></a><tt class="py-lineno">644</tt>  <tt class="py-line">        <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"no neighbor "</tt> <tt class="py-op">+</tt> <tt class="py-name">peer</tt> <tt class="py-op">+</tt> <tt class="py-string">" remote-as "</tt> <tt class="py-op">+</tt> <tt class="py-name">peer_as</tt> </tt>
+<a name="L645"></a><tt class="py-lineno">645</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L646"></a><tt class="py-lineno">646</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-162', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L647"></a><tt class="py-lineno">647</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"bgpd"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L648"></a><tt class="py-lineno">648</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L649"></a><tt class="py-lineno">649</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-163', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to disable peer"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L650"></a><tt class="py-lineno">650</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-164', 'disconnect', 'link-26');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L651"></a><tt class="py-lineno">651</tt>  <tt class="py-line"> </tt>
+<a name="QuaggaCliDriver.enable_bgp_peer"></a><div id="QuaggaCliDriver.enable_bgp_peer-def"><a name="L652"></a><tt class="py-lineno">652</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.enable_bgp_peer-toggle" onclick="return toggle('QuaggaCliDriver.enable_bgp_peer');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#enable_bgp_peer">enable_bgp_peer</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">peer</tt><tt class="py-op">,</tt> <tt class="py-param">peer_as</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.enable_bgp_peer-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.enable_bgp_peer-expanded"><a name="L653"></a><tt class="py-lineno">653</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-165', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"I am in enable_bgp_peer method!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L654"></a><tt class="py-lineno">654</tt>  <tt class="py-line"> </tt>
+<a name="L655"></a><tt class="py-lineno">655</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L656"></a><tt class="py-lineno">656</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-166', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L657"></a><tt class="py-lineno">657</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( "config-router" )</tt> </tt>
+<a name="L658"></a><tt class="py-lineno">658</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"config-router"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L659"></a><tt class="py-lineno">659</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L660"></a><tt class="py-lineno">660</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-167', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Probably not in config-router mode!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L661"></a><tt class="py-lineno">661</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-168', 'disconnect', 'link-26');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L662"></a><tt class="py-lineno">662</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-169', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Start to disable peer"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L663"></a><tt class="py-lineno">663</tt>  <tt class="py-line"> </tt>
+<a name="L664"></a><tt class="py-lineno">664</tt>  <tt class="py-line">        <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"neighbor "</tt> <tt class="py-op">+</tt> <tt class="py-name">peer</tt> <tt class="py-op">+</tt> <tt class="py-string">" remote-as "</tt> <tt class="py-op">+</tt> <tt class="py-name">peer_as</tt> </tt>
+<a name="L665"></a><tt class="py-lineno">665</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L666"></a><tt class="py-lineno">666</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-170', 'sendline', 'link-11');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L667"></a><tt class="py-lineno">667</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"bgpd"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L668"></a><tt class="py-lineno">668</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L669"></a><tt class="py-lineno">669</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-171', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to enable peer"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L670"></a><tt class="py-lineno">670</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-172', 'disconnect', 'link-26');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L671"></a><tt class="py-lineno">671</tt>  <tt class="py-line"> </tt>
+<a name="QuaggaCliDriver.disconnect"></a><div id="QuaggaCliDriver.disconnect-def"><a name="L672"></a><tt class="py-lineno">672</tt> <a class="py-toggle" href="#" id="QuaggaCliDriver.disconnect-toggle" onclick="return toggle('QuaggaCliDriver.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#disconnect">disconnect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="QuaggaCliDriver.disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="QuaggaCliDriver.disconnect-expanded"><a name="L673"></a><tt class="py-lineno">673</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L674"></a><tt class="py-lineno">674</tt>  <tt class="py-line"><tt class="py-docstring">        Called when Test is complete to disconnect the Quagga handle.</tt> </tt>
+<a name="L675"></a><tt class="py-lineno">675</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L676"></a><tt class="py-lineno">676</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L677"></a><tt class="py-lineno">677</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L678"></a><tt class="py-lineno">678</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L679"></a><tt class="py-lineno">679</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L680"></a><tt class="py-lineno">680</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-173', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-174" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-174', 'error', 'link-174');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Connection failed to the host"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L681"></a><tt class="py-lineno">681</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L682"></a><tt class="py-lineno">682</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+</div></div><a name="L683"></a><tt class="py-lineno">683</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html
new file mode 100644
index 0000000..488311c
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html
@@ -0,0 +1,829 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.quaggaclidriver-module.html">Module&nbsp;quaggaclidriver</a> ::
+        Class&nbsp;QuaggaCliDriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class QuaggaCliDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_quaggaclid" name="class_hierarchy_for_quaggaclid">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html" title="QuaggaCliDriver" alt="" coords="5,6,123,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="147,6,239,31"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="component.Component" alt="" coords="264,6,421,31"/>
+</map>
+  <img src="class_hierarchy_for_quaggaclid.gif" alt='' usemap="#class_hierarchy_for_quaggaclid" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**connectargs</span>)</span><br />
+      Connection will establish to the remote host using ssh.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.connect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="connectQuagga"></a><span class="summary-sig-name">connectQuagga</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.connectQuagga">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="loginQuagga"></a><span class="summary-sig-name">loginQuagga</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ip_address</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.loginQuagga">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="enterConfig"></a><span class="summary-sig-name">enterConfig</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">asn</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.enterConfig">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="generatePrefixes"></a><span class="summary-sig-name">generatePrefixes</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">net</span>,
+        <span class="summary-sig-arg">numRoutes</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.generatePrefixes">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="generateExpectedSingleRouteIntent"></a><span class="summary-sig-name">generateExpectedSingleRouteIntent</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">prefix</span>,
+        <span class="summary-sig-arg">nextHop</span>,
+        <span class="summary-sig-arg">nextHopMac</span>,
+        <span class="summary-sig-arg">sdnipData</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.generateExpectedSingleRouteIntent">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="generateExpectedOnePeerRouteIntents"></a><span class="summary-sig-name">generateExpectedOnePeerRouteIntents</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">prefixes</span>,
+        <span class="summary-sig-arg">nextHop</span>,
+        <span class="summary-sig-arg">nextHopMac</span>,
+        <span class="summary-sig-arg">sdnipJsonFilePath</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.generateExpectedOnePeerRouteIntents">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="generateExpectedRouteIntents"></a><span class="summary-sig-name">generateExpectedRouteIntents</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.generateExpectedRouteIntents">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="extractActualRoutesOneDotZero"></a><span class="summary-sig-name">extractActualRoutesOneDotZero</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">getRoutesResult</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.extractActualRoutesOneDotZero">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="extractActualRoutesMaster"></a><span class="summary-sig-name">extractActualRoutesMaster</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">getRoutesResult</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.extractActualRoutesMaster">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="extractActualRouteIntents"></a><span class="summary-sig-name">extractActualRouteIntents</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">getIntentsResult</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.extractActualRouteIntents">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="extractActualRouteIntentNum"></a><span class="summary-sig-name">extractActualRouteIntentNum</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">getIntentsResult</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.extractActualRouteIntentNum">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="extractActualBgpIntentNum"></a><span class="summary-sig-name">extractActualBgpIntentNum</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">getIntentsResult</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.extractActualBgpIntentNum">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="extractActualBgpIntents"></a><span class="summary-sig-name">extractActualBgpIntents</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">getIntentsResult</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.extractActualBgpIntents">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="generateExpectedBgpIntents"></a><span class="summary-sig-name">generateExpectedBgpIntents</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">sdnipJsonFilePath</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.generateExpectedBgpIntents">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="addRoutes"></a><span class="summary-sig-name">addRoutes</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">routes</span>,
+        <span class="summary-sig-arg">routeRate</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.addRoutes">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="deleteRoutes"></a><span class="summary-sig-name">deleteRoutes</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">routes</span>,
+        <span class="summary-sig-arg">routeRate</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.deleteRoutes">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="pingTest"></a><span class="summary-sig-name">pingTest</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">pingTestFile</span>,
+        <span class="summary-sig-arg">pingTestResultFile</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.pingTest">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="addRoute"></a><span class="summary-sig-name">addRoute</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">net</span>,
+        <span class="summary-sig-arg">numRoutes</span>,
+        <span class="summary-sig-arg">routeRate</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.addRoute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="delRoute"></a><span class="summary-sig-name">delRoute</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">net</span>,
+        <span class="summary-sig-arg">numRoutes</span>,
+        <span class="summary-sig-arg">routeRate</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.delRoute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="checkRoutes"></a><span class="summary-sig-name">checkRoutes</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">brand</span>,
+        <span class="summary-sig-arg">ip</span>,
+        <span class="summary-sig-arg">user</span>,
+        <span class="summary-sig-arg">pw</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.checkRoutes">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="disable_bgp_peer"></a><span class="summary-sig-name">disable_bgp_peer</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">peer</span>,
+        <span class="summary-sig-arg">peer_as</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.disable_bgp_peer">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="enable_bgp_peer"></a><span class="summary-sig-name">enable_bgp_peer</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">peer</span>,
+        <span class="summary-sig-arg">peer_as</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.enable_bgp_peer">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Called when Test is complete to disconnect the Quagga handle.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.disconnect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**execparams</span>)</span><br />
+      It facilitates the command line execution of a given command.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">default</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">user_name</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">filepath</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">dst_path</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="connect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">**connectargs</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.connect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Connection will establish to the remote host using ssh. It will take 
+  user_name ,ip_address and password as arguments&lt;br&gt; and will return
+  the handle.</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.connect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="disconnect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">disconnect</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.quaggaclidriver-pysrc.html#QuaggaCliDriver.disconnect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Called when Test is complete to disconnect the Quagga handle.</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.disconnect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys-module.html
index 5229f04..d511786 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -59,30 +64,32 @@
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
 <h1 class="epydoc">Package remotesys</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotesys-pysrc.html">source&nbsp;code</a></span></p>
-<!-- ==================== SUBMODULES ==================== -->
-<a name="section-Submodules"></a>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
 <tr bgcolor="#70b0f0" class="table-header">
   <td colspan="2" class="table-header">
     <table border="0" cellpadding="0" cellspacing="0" width="100%">
       <tr valign="top">
-        <td align="left"><span class="table-header">Submodules</span></td>
+        <td align="left"><span class="table-header">Variables</span></td>
         <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Submodules"
+         ><span class="options">[<a href="#section-Variables"
          class="privatelink" onclick="toggle_private();"
          >hide private</a>]</span></td>
       </tr>
     </table>
   </td>
 </tr>
-  <tr><td class="summary">
-  <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html">TestON.drivers.common.cli.remotesys.hpswitchdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
-  </ul></td></tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
 </table>
-
-<br />
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -103,13 +110,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys-pysrc.html
index 1f72e8c..ca3a95c 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -87,13 +92,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html
deleted file mode 100644
index 1a11ec7..0000000
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.drivers.common.cli.remotesys.hpswitchdriver</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
-        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
-        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
-        <a href="TestON.drivers.common.cli.remotesys-module.html">Package&nbsp;remotesys</a> ::
-        Module&nbsp;hpswitchdriver
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html">Module TestON.drivers.common.cli.remotesys.hpswitchdriver</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 12-Feb-2013</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">HPSwitchDriver is the basic driver which will handle the Mininet functions</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">fcntl</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">signal</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Package TestON.core=TestON.core-module.html"><a title="TestON.core" class="py-name" href="#" onclick="return doclink('link-0', 'core', 'link-0');">core</a></tt><tt class="py-op">.</tt><tt class="py-name">ofautomation</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-1', 'path', 'link-1');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"../"</tt><tt class="py-op">)</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-2', 'drivers', 'link-2');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-3', 'common', 'link-3');">common</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module TestON.drivers.common.clidriver=TestON.drivers.common.clidriver-module.html"><a title="TestON.drivers.common.clidriver" class="py-name" href="#" onclick="return doclink('link-4', 'clidriver', 'link-4');">clidriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
-TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-5', 'CLI', 'link-5');">CLI</a></tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"> </tt>
-<a name="HPSwitchDriver"></a><div id="HPSwitchDriver-def"><a name="L22"></a><tt class="py-lineno">22</tt> <a class="py-toggle" href="#" id="HPSwitchDriver-toggle" onclick="return toggle('HPSwitchDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html">HPSwitchDriver</a><tt class="py-op">(</tt><tt class="py-base-class">CLI</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HPSwitchDriver-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="HPSwitchDriver-expanded"><a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-docstring">        HPSwitchDriver is the basic driver which will handle the Mininet functions</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="HPSwitchDriver.__init__"></a><div id="HPSwitchDriver.__init__-def"><a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="HPSwitchDriver.__init__-toggle" onclick="return toggle('HPSwitchDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HPSwitchDriver.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="HPSwitchDriver.__init__-expanded"><a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-6" class="py-name"><a title="TestON.bin.cli.CLI
-TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-6', 'CLI', 'link-5');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.drivers.common.webdriver.WebDriver.__init__()=TestON.drivers.common.webdriver.WebDriver-class.html#__init__,Method TestON.drivers.component.Component.__init__()=TestON.drivers.component.Component-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__()=TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#__init__,Method TestON.tests.FvtTest.FvtTest.FvtTest.__init__()=TestON.tests.FvtTest.FvtTest.FvtTest-class.html#__init__,Method TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__()=TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#__init__,Method TestON.tests.MininetTest.MininetTest.MininetTest.__init__()=TestON.tests.MininetTest.MininetTest.MininetTest-class.html#__init__,Method TestON.tests.PoxTest.PoxTest.PoxTest.__init__()=TestON.tests.PoxTest.PoxTest.PoxTest-class.html#__init__,Method TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__()=TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#__init__,Method TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__()=TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
-TestON.bin.cli.TestThread.__init__
-TestON.bin.generatedriver.GenerateDriver.__init__
-TestON.bin.updatedriver.UpdateDriver.__init__
-TestON.bin.vyatta.Vyatta.__init__
-TestON.core.iniparser.iniparser.__init__
-TestON.core.openspeak.OpenSpeak.__init__
-TestON.core.teston.TestON.__init__
-TestON.core.testparser.TestParser.__init__
-TestON.core.xmlparser.xmlparser.__init__
-TestON.drivers.common.api.controllerdriver.Controller.__init__
-TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
-TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
-TestON.drivers.common.cli.emulatordriver.Emulator.__init__
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__
-TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
-TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
-TestON.drivers.common.cli.toolsdriver.Tools.__init__
-TestON.drivers.common.clidriver.CLI.__init__
-TestON.drivers.common.webdriver.WebDriver.__init__
-TestON.drivers.component.Component.__init__
-TestON.examples.Assert.Assert.Assert.__init__
-TestON.examples.CaseParams.CaseParams.CaseParams.__init__
-TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
-TestON.examples.StepParams.StepParams.StepParams.__init__
-TestON.examples.Topology.Topology.Topology.__init__
-TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__
-TestON.tests.FvtTest.FvtTest.FvtTest.__init__
-TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__
-TestON.tests.MininetTest.MininetTest.MininetTest.__init__
-TestON.tests.PoxTest.PoxTest.PoxTest.__init__
-TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__
-TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__" class="py-name" href="#" onclick="return doclink('link-7', '__init__', 'link-7');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">         </tt>
-<a name="HPSwitchDriver.connect"></a><div id="HPSwitchDriver.connect-def"><a name="L29"></a><tt class="py-lineno">29</tt> <a class="py-toggle" href="#" id="HPSwitchDriver.connect-toggle" onclick="return toggle('HPSwitchDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#connect">connect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">connectargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HPSwitchDriver.connect-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="HPSwitchDriver.connect-expanded"><a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">         </tt>
-<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt> </tt>
-<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"> </tt>
-<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-8" class="py-name" targets="Class TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html"><a title="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver" class="py-name" href="#" onclick="return doclink('link-8', 'HPSwitchDriver', 'link-8');">HPSwitchDriver</a></tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect,Method TestON.drivers.common.webdriver.WebDriver.connect()=TestON.drivers.common.webdriver.WebDriver-class.html#connect,Method TestON.drivers.component.Component.connect()=TestON.drivers.component.Component-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
-TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
-TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect
-TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
-TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
-TestON.drivers.common.clidriver.CLI.connect
-TestON.drivers.common.webdriver.WebDriver.connect
-TestON.drivers.component.Component.connect" class="py-name" href="#" onclick="return doclink('link-9', 'connect', 'link-9');">connect</a></tt><tt class="py-op">(</tt><tt class="py-name">user_name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> <tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt><tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">pwd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesysdriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesysdriver-module.html
index 7bdb5dd..c389997 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesysdriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesysdriver-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -59,13 +64,28 @@
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
 <h1 class="epydoc">Module remotesysdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotesysdriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 26-Oct-2012</p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 26-Oct-2012
+
+author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    ( at your option ) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -110,13 +130,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesysdriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesysdriver-pysrc.html
index 2aa3abe..1645ef6 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesysdriver-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesysdriver-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,92 +65,148 @@
 <h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.remotesysdriver-module.html">Module TestON.drivers.common.cli.remotesysdriver</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 26-Oct-2012 </tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 26-Oct-2012</tt> </tt>
 <a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)      </tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt>  </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt><tt class="py-op">,</tt> <tt class="py-name">fcntl</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">signal</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-0', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"../"</tt><tt class="py-op">)</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-1', 'drivers', 'link-1');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-2', 'common', 'link-2');">common</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module TestON.drivers.common.clidriver=TestON.drivers.common.clidriver-module.html"><a title="TestON.drivers.common.clidriver" class="py-name" href="#" onclick="return doclink('link-3', 'clidriver', 'link-3');">clidriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
-TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-4', 'CLI', 'link-4');">CLI</a></tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"> </tt>
-<a name="RemoteSysDriver"></a><div id="RemoteSysDriver-def"><a name="L14"></a><tt class="py-lineno">14</tt> <a class="py-toggle" href="#" id="RemoteSysDriver-toggle" onclick="return toggle('RemoteSysDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html">RemoteSysDriver</a><tt class="py-op">(</tt><tt class="py-base-class">CLI</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RemoteSysDriver-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="RemoteSysDriver-expanded"><a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">    <tt class="py-comment"># The common functions for emulator included in emulatordriver</tt> </tt>
-<a name="RemoteSysDriver.__init__"></a><div id="RemoteSysDriver.__init__-def"><a name="L16"></a><tt class="py-lineno">16</tt> <a class="py-toggle" href="#" id="RemoteSysDriver.__init__-toggle" onclick="return toggle('RemoteSysDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RemoteSysDriver.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="RemoteSysDriver.__init__-expanded"><a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-5" class="py-name"><a title="TestON.bin.cli.CLI
-TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-5', 'CLI', 'link-4');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.drivers.common.webdriver.WebDriver.__init__()=TestON.drivers.common.webdriver.WebDriver-class.html#__init__,Method TestON.drivers.component.Component.__init__()=TestON.drivers.component.Component-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__()=TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#__init__,Method TestON.tests.FvtTest.FvtTest.FvtTest.__init__()=TestON.tests.FvtTest.FvtTest.FvtTest-class.html#__init__,Method TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__()=TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#__init__,Method TestON.tests.MininetTest.MininetTest.MininetTest.__init__()=TestON.tests.MininetTest.MininetTest.MininetTest-class.html#__init__,Method TestON.tests.PoxTest.PoxTest.PoxTest.__init__()=TestON.tests.PoxTest.PoxTest.PoxTest-class.html#__init__,Method TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__()=TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#__init__,Method TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__()=TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    ( at your option ) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.drivers.common.clidriver=TestON.drivers.common.clidriver-module.html"><a title="TestON.drivers.common.clidriver" class="py-name" href="#" onclick="return doclink('link-2', 'clidriver', 'link-2');">clidriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-3', 'CLI', 'link-3');">CLI</a></tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"> </tt>
+<a name="RemoteSysDriver"></a><div id="RemoteSysDriver-def"><a name="L25"></a><tt class="py-lineno">25</tt> <a class="py-toggle" href="#" id="RemoteSysDriver-toggle" onclick="return toggle('RemoteSysDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html">RemoteSysDriver</a><tt class="py-op">(</tt> <tt class="py-base-class">CLI</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteSysDriver-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="RemoteSysDriver-expanded"><a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">    <tt class="py-comment"># The common functions for emulator included in emulatordriver</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"> </tt>
+<a name="RemoteSysDriver.__init__"></a><div id="RemoteSysDriver.__init__-def"><a name="L28"></a><tt class="py-lineno">28</tt> <a class="py-toggle" href="#" id="RemoteSysDriver.__init__-toggle" onclick="return toggle('RemoteSysDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteSysDriver.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="RemoteSysDriver.__init__-expanded"><a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-4" class="py-name"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-4', 'CLI', 'link-3');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
 TestON.bin.cli.TestThread.__init__
 TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
 TestON.bin.updatedriver.UpdateDriver.__init__
 TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
 TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
 TestON.core.openspeak.OpenSpeak.__init__
 TestON.core.teston.TestON.__init__
 TestON.core.testparser.TestParser.__init__
 TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
 TestON.drivers.common.api.controllerdriver.Controller.__init__
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
 TestON.drivers.common.cli.emulatordriver.Emulator.__init__
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
 TestON.drivers.common.cli.toolsdriver.Tools.__init__
 TestON.drivers.common.clidriver.CLI.__init__
-TestON.drivers.common.webdriver.WebDriver.__init__
-TestON.drivers.component.Component.__init__
 TestON.examples.Assert.Assert.Assert.__init__
 TestON.examples.CaseParams.CaseParams.CaseParams.__init__
 TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
 TestON.examples.StepParams.StepParams.StepParams.__init__
 TestON.examples.Topology.Topology.Topology.__init__
-TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__
-TestON.tests.FvtTest.FvtTest.FvtTest.__init__
-TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__
-TestON.tests.MininetTest.MininetTest.MininetTest.__init__
-TestON.tests.PoxTest.PoxTest.PoxTest.__init__
-TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__
-TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__" class="py-name" href="#" onclick="return doclink('link-6', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">         </tt>
-<a name="RemoteSysDriver.connect"></a><div id="RemoteSysDriver.connect-def"><a name="L19"></a><tt class="py-lineno">19</tt> <a class="py-toggle" href="#" id="RemoteSysDriver.connect-toggle" onclick="return toggle('RemoteSysDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect">connect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">connectargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="RemoteSysDriver.connect-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="RemoteSysDriver.connect-expanded"><a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">         </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-7" class="py-name" targets="Class TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html"><a title="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver" class="py-name" href="#" onclick="return doclink('link-7', 'RemoteSysDriver', 'link-7');">RemoteSysDriver</a></tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect,Method TestON.drivers.common.webdriver.WebDriver.connect()=TestON.drivers.common.webdriver.WebDriver-class.html#connect,Method TestON.drivers.component.Component.connect()=TestON.drivers.component.Component-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-5', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"> </tt>
+<a name="RemoteSysDriver.connect"></a><div id="RemoteSysDriver.connect-def"><a name="L31"></a><tt class="py-lineno">31</tt> <a class="py-toggle" href="#" id="RemoteSysDriver.connect-toggle" onclick="return toggle('RemoteSysDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteSysDriver.connect-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="RemoteSysDriver.connect-expanded"><a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">            <tt id="link-6" class="py-name" targets="Class TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html"><a title="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver" class="py-name" href="#" onclick="return doclink('link-6', 'RemoteSysDriver', 'link-6');">RemoteSysDriver</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">            <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
-TestON.drivers.common.clidriver.CLI.connect
-TestON.drivers.common.webdriver.WebDriver.connect
-TestON.drivers.component.Component.connect" class="py-name" href="#" onclick="return doclink('link-8', 'connect', 'link-8');">connect</a></tt><tt class="py-op">(</tt><tt class="py-name">user_name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> <tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt><tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">pwd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt><tt class="py-op">)</tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute,Method TestON.drivers.component.Component.execute()=TestON.drivers.component.Component-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-9', 'execute', 'link-9');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"\r"</tt><tt class="py-op">,</tt><tt id="link-10" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-10', 'prompt', 'link-10');">prompt</a></tt><tt class="py-op">=</tt> <tt class="py-string">"\$"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-11', 'execute', 'link-9');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt> <tt class="py-string">"ssh vyatta@192.164.56.81"</tt><tt class="py-op">,</tt><tt id="link-12" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-12', 'prompt', 'link-10');">prompt</a></tt><tt class="py-op">=</tt> <tt class="py-string">"word:"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-13', 'execute', 'link-9');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"vyatta"</tt><tt class="py-op">,</tt><tt id="link-14" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-14', 'prompt', 'link-10');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"\$"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-15', 'execute', 'link-9');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"reboot"</tt><tt class="py-op">,</tt><tt id="link-16" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-16', 'prompt', 'link-10');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">             </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">            <tt class="py-comment">#self.execute(cmd = "~.",prompt= ".*",timeout= 10)</tt> </tt>
-<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div></div><a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-7', 'connect', 'link-7');">connect</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">            <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">            <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">            <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">,</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">            <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-string">"""</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"><tt class="py-string">        if self.handle:</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line"><tt class="py-string">            self.execute( cmd= "\n",prompt= "\$|&gt;|#",timeout= 10 )</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line"><tt class="py-string">            self.execute( cmd= "ssh -l paxterra 10.128.4.1",prompt= "paxterra@10.128.4.1's password:",timeout= 10 )</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"><tt class="py-string">            self.execute( cmd= "\n",prompt= "paxterra@10.128.4.1's password:",timeout= 10 )</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"><tt class="py-string">            self.execute( cmd="0nLab_gu3st",prompt="\$",timeout=10 )</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"><tt class="py-string">            self.execute( cmd="cd TestON/bin/",prompt="\$",timeout=10 )</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line"><tt class="py-string">            self.execute( cmd="./cli.py run Assert example 1",prompt="\$",timeout=10 )</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line"><tt class="py-string">            self.execute( cmd= "\n",prompt= "$",timeout= 10 )</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line"><tt class="py-string">            #self.execute( cmd="help",prompt="&gt;",timeout=10 )</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line"><tt class="py-string">            #self.execute( cmd="~.",prompt= ".*",timeout= 10 )</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line"><tt class="py-string">        return main.TRUE</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line"><tt class="py-string">        """</tt> </tt>
+</div></div><a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -172,13 +233,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html
index 0e6b32b..2f3c5e4 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,16 +65,15 @@
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
 <h1 class="epydoc">Class RemoteSysDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotesysdriver-pysrc.html#RemoteSysDriver">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-         object --+        
-                  |        
-<a href="TestON.drivers.component.Component-class.html">component.Component</a> --+    
-                      |    
-          <a href="TestON.drivers.common.clidriver.CLI-class.html">clidriver.CLI</a> --+
-                          |
-                         <strong class="uidshort">RemoteSysDriver</strong>
-</pre>
-
+<center>
+<center>  <map id="class_hierarchy_for_remotesysd" name="class_hierarchy_for_remotesysd">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html" title="RemoteSysDriver" alt="" coords="5,6,131,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="155,6,247,31"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="component.Component" alt="" coords="272,6,429,31"/>
+</map>
+  <img src="class_hierarchy_for_remotesysd.gif" alt='' usemap="#class_hierarchy_for_remotesysd" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
 <hr />
 <!-- ==================== INSTANCE METHODS ==================== -->
 <a name="section-InstanceMethods"></a>
@@ -95,7 +99,7 @@
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td><span class="summary-sig"><a href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.cli.remotesysdriver-pysrc.html#RemoteSysDriver.__init__">source&nbsp;code</a></span>
             
@@ -123,23 +127,130 @@
       
     </td>
   </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.disconnect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**execparams</span>)</span><br />
+      It facilitates the command line execution of a given command.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">default</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">user_name</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">filepath</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">dst_path</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
   <tr>
     <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="TestON.drivers.common.clidriver.CLI-class.html">clidriver.CLI</a></code></b>:
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#disconnect">disconnect</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#execute">execute</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#onfail">onfail</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser">runAsSudoUser</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy">secureCopy</a></code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="TestON.drivers.component.Component-class.html">component.Component</a></code></b>:
-      <code><a href="TestON.drivers.component.Component-class.html#__getattr__">__getattr__</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#cleanup">cleanup</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#close_log_handles">close_log_handles</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#config">config</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#experimentRun">experimentRun</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#get_version">get_version</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#log">log</a></code>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
       </p>
     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
       <code>__delattr__</code>,
@@ -158,6 +269,43 @@
     </td>
   </tr>
 </table>
+<!-- ==================== INSTANCE VARIABLES ==================== -->
+<a name="section-InstanceVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#handle" class="summary-name">handle</a><br />
+      if self.handle:
+            self.execute( cmd= &quot;
+&quot;,prompt= &quot;\$|&gt;|#&quot;,timeout= 10 )
+            self.execute( cmd= &quot;ssh -l paxterra 10.128.4.1&quot;,prompt= &quot;paxterra@10.128.4.1's password:&quot;,timeout= 10 )
+            self.execute( cmd= &quot;
+&quot;,prompt= &quot;paxterra@10.128.4.1's password:&quot;,timeout= 10 )
+            self.execute( cmd=&quot;0nLab_gu3st&quot;,prompt=&quot;\$&quot;,timeout=10 )
+            self.execute( cmd=&quot;cd TestON/bin/&quot;,prompt=&quot;\$&quot;,timeout=10 )
+            self.execute( cmd=&quot;./cli.py run Assert example 1&quot;,prompt=&quot;\$&quot;,timeout=10 )
+            self.execute( cmd= &quot;
+&quot;,prompt= &quot;$&quot;,timeout= 10 )
+            #self.execute( cmd=&quot;help&quot;,prompt=&quot;&gt;&quot;,timeout=10 )
+    </td>
+  </tr>
+</table>
 <!-- ==================== PROPERTIES ==================== -->
 <a name="section-Properties"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -216,8 +364,7 @@
     </td>
   </tr></table>
   
-  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
-  signature</p>
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
   <dl class="fields">
     <dt>Overrides:
         object.__init__
@@ -246,12 +393,61 @@
   the handle.</p>
   <dl class="fields">
     <dt>Overrides:
-        <a href="TestON.drivers.component.Component-class.html#connect">component.Component.connect</a>
+        component.Component.connect
     </dt>
   </dl>
 </td></tr></table>
 </div>
 <br />
+<!-- ==================== INSTANCE VARIABLE DETAILS ==================== -->
+<a name="section-InstanceVariableDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Variable Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceVariableDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="handle"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">handle</h3>
+  <pre class="literalblock">
+
+        if self.handle:
+            self.execute( cmd= &quot;
+&quot;,prompt= &quot;\$|&gt;|#&quot;,timeout= 10 )
+            self.execute( cmd= &quot;ssh -l paxterra 10.128.4.1&quot;,prompt= &quot;paxterra@10.128.4.1's password:&quot;,timeout= 10 )
+            self.execute( cmd= &quot;
+&quot;,prompt= &quot;paxterra@10.128.4.1's password:&quot;,timeout= 10 )
+            self.execute( cmd=&quot;0nLab_gu3st&quot;,prompt=&quot;\$&quot;,timeout=10 )
+            self.execute( cmd=&quot;cd TestON/bin/&quot;,prompt=&quot;\$&quot;,timeout=10 )
+            self.execute( cmd=&quot;./cli.py run Assert example 1&quot;,prompt=&quot;\$&quot;,timeout=10 )
+            self.execute( cmd= &quot;
+&quot;,prompt= &quot;$&quot;,timeout= 10 )
+            #self.execute( cmd=&quot;help&quot;,prompt=&quot;&gt;&quot;,timeout=10 )
+
+            #self.execute( cmd=&quot;~.&quot;,prompt= &quot;.*&quot;,timeout= 10 )
+        return main.TRUE
+        
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -272,13 +468,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed-module.html
new file mode 100644
index 0000000..39bf6a6
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed-module.html
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.remotetestbed</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        Package&nbsp;remotetestbed
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotetestbed-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PACKAGE DESCRIPTION ==================== -->
+<h1 class="epydoc">Package remotetestbed</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== SUBMODULES ==================== -->
+<a name="section-Submodules"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Submodules</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Submodules"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr><td class="summary">
+  <ul class="nomargin">
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html">TestON.drivers.common.cli.remotetestbed.floodlightclidriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html">TestON.drivers.common.cli.remotetestbed.necswitchdriver</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html">TestON.drivers.common.cli.remotetestbed.remotepoxdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html">TestON.drivers.common.cli.remotetestbed.remotevmdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+  </ul></td></tr>
+</table>
+
+<br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed-pysrc.html
similarity index 75%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed-pysrc.html
index ab359bb..aa01c4f 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.drivers.common.cli.remotetestbed</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -38,8 +43,10 @@
     <td width="100%">
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        Package&nbsp;remotetestbed
       </span>
     </td>
     <td>
@@ -49,13 +56,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotetestbed-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.remotetestbed-module.html">Package TestON.drivers.common.cli.remotetestbed</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +92,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html
similarity index 66%
copy from TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
copy to TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html
index 053b957..027da62 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.drivers.common.cli.remotesys.hpswitchdriver</title>
+  <title>TestON.drivers.common.cli.remotetestbed.floodlightclidriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -41,8 +46,8 @@
         <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
         <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
         <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
-        <a href="TestON.drivers.common.cli.remotesys-module.html">Package&nbsp;remotesys</a> ::
-        Module&nbsp;hpswitchdriver
+        <a href="TestON.drivers.common.cli.remotetestbed-module.html">Package&nbsp;remotetestbed</a> ::
+        Module&nbsp;floodlightclidriver
       </span>
     </td>
     <td>
@@ -52,23 +57,40 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module hpswitchdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 12-Feb-2013</p>
+<h1 class="epydoc">Module floodlightclidriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-        <p>HPSwitchDriver is the basic driver which will handle the Mininet
-        functions</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 12-Feb-2013
+
+author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )
+
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    ( at your option ) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+
+FloodLightCliDriver is the basic driver which will handle the Mininet functions
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -89,8 +111,8 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html" class="summary-name">HPSwitchDriver</a><br />
-      HPSwitchDriver is the basic driver which will handle the Mininet 
+        <a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html" class="summary-name">FloodLightCliDriver</a><br />
+      FloodLightCliDriver is the basic driver which will handle the Mininet
       functions
     </td>
   </tr>
@@ -115,13 +137,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.floodlightclidriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.floodlightclidriver-pysrc.html
new file mode 100644
index 0000000..a6775d2
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.floodlightclidriver-pysrc.html
@@ -0,0 +1,274 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.remotetestbed.floodlightclidriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.remotetestbed-module.html">Package&nbsp;remotetestbed</a> ::
+        Module&nbsp;floodlightclidriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html">Module TestON.drivers.common.cli.remotetestbed.floodlightclidriver</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 12-Feb-2013</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring">    ( at your option ) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-docstring">FloodLightCliDriver is the basic driver which will handle the Mininet functions</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-2', 'cli', 'link-2');">cli</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module TestON.drivers.common.cli.remotetestbeddriver=TestON.drivers.common.cli.remotetestbeddriver-module.html"><a title="TestON.drivers.common.cli.remotetestbeddriver" class="py-name" href="#" onclick="return doclink('link-3', 'remotetestbeddriver', 'link-3');">remotetestbeddriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html"><a title="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver" class="py-name" href="#" onclick="return doclink('link-4', 'RemoteTestBedDriver', 'link-4');">RemoteTestBedDriver</a></tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"> </tt>
+<a name="FloodLightCliDriver"></a><div id="FloodLightCliDriver-def"><a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="FloodLightCliDriver-toggle" onclick="return toggle('FloodLightCliDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html">FloodLightCliDriver</a><tt class="py-op">(</tt> <tt class="py-base-class">RemoteTestBedDriver</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FloodLightCliDriver-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="FloodLightCliDriver-expanded"><a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"><tt class="py-docstring">        FloodLightCliDriver is the basic driver which will handle the Mininet functions</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="FloodLightCliDriver.__init__"></a><div id="FloodLightCliDriver.__init__-def"><a name="L31"></a><tt class="py-lineno">31</tt> <a class="py-toggle" href="#" id="FloodLightCliDriver.__init__-toggle" onclick="return toggle('FloodLightCliDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FloodLightCliDriver.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="FloodLightCliDriver.__init__-expanded"><a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver" class="py-name" href="#" onclick="return doclink('link-5', 'RemoteTestBedDriver', 'link-4');">RemoteTestBedDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-6', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"> </tt>
+<a name="FloodLightCliDriver.connect"></a><div id="FloodLightCliDriver.connect-def"><a name="L34"></a><tt class="py-lineno">34</tt> <a class="py-toggle" href="#" id="FloodLightCliDriver.connect-toggle" onclick="return toggle('FloodLightCliDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FloodLightCliDriver.connect-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="FloodLightCliDriver.connect-expanded"><a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">            <tt id="link-7" class="py-name" targets="Class TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html"><a title="TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver" class="py-name" href="#" onclick="return doclink('link-7', 'FloodLightCliDriver', 'link-7');">FloodLightCliDriver</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">            <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-8', 'connect', 'link-8');">connect</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">            <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">            <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">            <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">,</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">            <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Connected "</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-10', 'execute', 'link-10');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"\r"</tt><tt class="py-op">,</tt> <tt id="link-11" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-11', 'prompt', 'link-11');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-12', 'execute', 'link-10');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"cd /home/openflow/floodlight/"</tt><tt class="py-op">,</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">                <tt id="link-13" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-13', 'prompt', 'link-11');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"floodlight\$"</tt><tt class="py-op">,</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-14', 'execute', 'link-10');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"java -jar target/floodlight.jar &amp;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">                <tt id="link-15" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-15', 'prompt', 'link-11');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"\$"</tt><tt class="py-op">,</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-16', 'execute', 'link-10');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"\r"</tt><tt class="py-op">,</tt> <tt id="link-17" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-17', 'prompt', 'link-11');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div></div><a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html
new file mode 100644
index 0000000..404c98f
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html
@@ -0,0 +1,420 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.remotetestbed-module.html">Package&nbsp;remotetestbed</a> ::
+        <a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html">Module&nbsp;floodlightclidriver</a> ::
+        Class&nbsp;FloodLightCliDriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class FloodLightCliDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-pysrc.html#FloodLightCliDriver">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_floodlight" name="class_hierarchy_for_floodlight">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html" title="FloodLightCliDriver" alt="" coords="5,6,139,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html" title="remotetestbeddriver.RemoteTestBedDriver" alt="" coords="163,6,433,31"/>
+<area shape="rect" id="node3" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="458,6,549,31"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="component.Component" alt="" coords="575,6,732,31"/>
+</map>
+  <img src="class_hierarchy_for_floodlight.gif" alt='' usemap="#class_hierarchy_for_floodlight" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<p>FloodLightCliDriver is the basic driver which will handle the Mininet 
+  functions</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-pysrc.html#FloodLightCliDriver.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**connectargs</span>)</span><br />
+      Connection will establish to the remote host using ssh.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-pysrc.html#FloodLightCliDriver.connect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.disconnect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**execparams</span>)</span><br />
+      It facilitates the command line execution of a given command.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">default</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">user_name</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">filepath</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">dst_path</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-pysrc.html#FloodLightCliDriver.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="connect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">**connectargs</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-pysrc.html#FloodLightCliDriver.connect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Connection will establish to the remote host using ssh. It will take 
+  user_name ,ip_address and password as arguments&lt;br&gt; and will return
+  the handle.</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.connect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html
similarity index 66%
copy from TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
copy to TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html
index 053b957..a0201ab 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.drivers.common.cli.remotesys.hpswitchdriver</title>
+  <title>TestON.drivers.common.cli.remotetestbed.necswitchdriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -41,8 +46,8 @@
         <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
         <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
         <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
-        <a href="TestON.drivers.common.cli.remotesys-module.html">Package&nbsp;remotesys</a> ::
-        Module&nbsp;hpswitchdriver
+        <a href="TestON.drivers.common.cli.remotetestbed-module.html">Package&nbsp;remotetestbed</a> ::
+        Module&nbsp;necswitchdriver
       </span>
     </td>
     <td>
@@ -52,23 +57,15 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module hpswitchdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 12-Feb-2013</p>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-        <p>HPSwitchDriver is the basic driver which will handle the Mininet
-        functions</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+<h1 class="epydoc">Module necswitchdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -89,9 +86,33 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html" class="summary-name">HPSwitchDriver</a><br />
-      HPSwitchDriver is the basic driver which will handle the Mininet 
-      functions
+        <a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html" class="summary-name">NEC</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
     </td>
   </tr>
 </table>
@@ -115,13 +136,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html
new file mode 100644
index 0000000..e9beb71
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html
@@ -0,0 +1,936 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.remotetestbed.necswitchdriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.remotetestbed-module.html">Package&nbsp;remotetestbed</a> ::
+        Module&nbsp;necswitchdriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html">Module TestON.drivers.common.cli.remotetestbed.necswitchdriver</a></h1>
+<pre class="py-src">
+<a name="NEC"></a><div id="NEC-def"><a name="L1"></a><tt class="py-lineno">  1</tt> <a class="py-toggle" href="#" id="NEC-toggle" onclick="return toggle('NEC');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a><tt class="py-op">:</tt> </tt>
+</div><div id="NEC-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="NEC-expanded"><a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"> </tt>
+<a name="NEC.__init__"></a><div id="NEC.__init__-def"><a name="L3"></a><tt class="py-lineno">  3</tt> <a class="py-toggle" href="#" id="NEC.__init__-toggle" onclick="return toggle('NEC.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.__init__-expanded"><a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-0', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'(.*)'</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-number">60</tt> </tt>
+</div><a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show"></a><div id="NEC.show-def"><a name="L7"></a><tt class="py-lineno">  7</tt> <a class="py-toggle" href="#" id="NEC.show-toggle" onclick="return toggle('NEC.show');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show">show</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show-expanded"><a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :['  access-filter  ', '  accounting  ', '  acknowledgments  ', '  auto-config  ', '  axrp  ', '  cfm  ', '  channel-group  ', '  clock  ', '  config-lock-status  ', '  cpu  ', '  dhcp  ', '  dot1x  ', '  dumpfile  ', '  efmoam  ', '  environment  ', '  file  ', '  flash  ', '  gsrp  ', '  history  ', '  igmp-snooping  ', '  interfaces  ', '  ip  ', '  ip-dual  ', '  ipv6-dhcp  ', '  license  ', '  lldp  ', '  logging  ', '  loop-detection  ', '  mac-address-table  ', '  mc  ', '  memory  ', '  mld-snooping  ', '  netconf  ', '  netstat  ', '  ntp  ', '  oadp  ', '  openflow  ', '  port  ', '  power  ', '  processes  ', '  qos  ', '  qos-flow  ', '  sessions  ', '  sflow  ', '  spanning-tree  ', '  ssh  ', '  system  ', '  tcpdump  ', '  tech-support  ', '  track  ', '  version  ', '  vlan  ', '  vrrpstatus  ', '  whoami  ']"</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line">        <tt id="link-1" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-1', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-2', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-3', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show "</tt> <tt class="py-op">+</tt> <tt class="py-name">arguments</tt><tt class="py-op">,</tt> <tt id="link-4" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-4', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-5" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-5', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_ip"></a><div id="NEC.show_ip-def"><a name="L17"></a><tt class="py-lineno"> 17</tt> <a class="py-toggle" href="#" id="NEC.show_ip-toggle" onclick="return toggle('NEC.show_ip');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_ip">show_ip</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_ip-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_ip-expanded"><a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">        <tt id="link-6" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-6', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-7', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-8', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   ip   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">            <tt id="link-9" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-9', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-10" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-10', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_mc"></a><div id="NEC.show_mc-def"><a name="L31"></a><tt class="py-lineno"> 31</tt> <a class="py-toggle" href="#" id="NEC.show_mc-toggle" onclick="return toggle('NEC.show_mc');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_mc">show_mc</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_mc-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_mc-expanded"><a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt id="link-11" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-11', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-12', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-13', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   mc   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">            <tt id="link-14" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-14', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-15" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-15', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_cfm"></a><div id="NEC.show_cfm-def"><a name="L45"></a><tt class="py-lineno"> 45</tt> <a class="py-toggle" href="#" id="NEC.show_cfm-toggle" onclick="return toggle('NEC.show_cfm');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_cfm">show_cfm</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_cfm-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_cfm-expanded"><a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt id="link-16" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-16', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-17', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-18', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   cfm   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt id="link-19" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-19', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-20" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-20', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_ntp"></a><div id="NEC.show_ntp-def"><a name="L59"></a><tt class="py-lineno"> 59</tt> <a class="py-toggle" href="#" id="NEC.show_ntp-toggle" onclick="return toggle('NEC.show_ntp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_ntp">show_ntp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_ntp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_ntp-expanded"><a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt id="link-21" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-21', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-22', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-23', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   ntp   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">            <tt id="link-24" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-24', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-25" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-25', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_ssh"></a><div id="NEC.show_ssh-def"><a name="L73"></a><tt class="py-lineno"> 73</tt> <a class="py-toggle" href="#" id="NEC.show_ssh-toggle" onclick="return toggle('NEC.show_ssh');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_ssh">show_ssh</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_ssh-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_ssh-expanded"><a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt id="link-26" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-26', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-27', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-28', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   ssh   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">            <tt id="link-29" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-29', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-30" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-30', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_qos"></a><div id="NEC.show_qos-def"><a name="L87"></a><tt class="py-lineno"> 87</tt> <a class="py-toggle" href="#" id="NEC.show_qos-toggle" onclick="return toggle('NEC.show_qos');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_qos">show_qos</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_qos-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_qos-expanded"><a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt id="link-31" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-31', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-32', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-33', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   qos   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt id="link-34" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-34', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-35" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-35', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_cpu"></a><div id="NEC.show_cpu-def"><a name="L101"></a><tt class="py-lineno">101</tt> <a class="py-toggle" href="#" id="NEC.show_cpu-toggle" onclick="return toggle('NEC.show_cpu');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_cpu">show_cpu</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_cpu-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_cpu-expanded"><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt id="link-36" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-36', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-37', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-38', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   cpu   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">            <tt id="link-39" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-39', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-40" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-40', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_vlan"></a><div id="NEC.show_vlan-def"><a name="L115"></a><tt class="py-lineno">115</tt> <a class="py-toggle" href="#" id="NEC.show_vlan-toggle" onclick="return toggle('NEC.show_vlan');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_vlan">show_vlan</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_vlan-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_vlan-expanded"><a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt id="link-41" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-41', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-42', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-43', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   vlan   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt id="link-44" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-44', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-45" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-45', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_lldp"></a><div id="NEC.show_lldp-def"><a name="L129"></a><tt class="py-lineno">129</tt> <a class="py-toggle" href="#" id="NEC.show_lldp-toggle" onclick="return toggle('NEC.show_lldp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_lldp">show_lldp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_lldp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_lldp-expanded"><a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt id="link-46" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-46', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-47', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-48', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   lldp   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt id="link-49" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-49', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-50" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-50', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_dhcp"></a><div id="NEC.show_dhcp-def"><a name="L143"></a><tt class="py-lineno">143</tt> <a class="py-toggle" href="#" id="NEC.show_dhcp-toggle" onclick="return toggle('NEC.show_dhcp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_dhcp">show_dhcp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_dhcp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_dhcp-expanded"><a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt id="link-51" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-51', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-52', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-53', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   dhcp   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">            <tt id="link-54" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-54', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-55" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-55', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_axrp"></a><div id="NEC.show_axrp-def"><a name="L157"></a><tt class="py-lineno">157</tt> <a class="py-toggle" href="#" id="NEC.show_axrp-toggle" onclick="return toggle('NEC.show_axrp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_axrp">show_axrp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_axrp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_axrp-expanded"><a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt id="link-56" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-56', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-57', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-58', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   axrp   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">            <tt id="link-59" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-59', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-60" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-60', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_oadp"></a><div id="NEC.show_oadp-def"><a name="L171"></a><tt class="py-lineno">171</tt> <a class="py-toggle" href="#" id="NEC.show_oadp-toggle" onclick="return toggle('NEC.show_oadp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_oadp">show_oadp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_oadp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_oadp-expanded"><a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt id="link-61" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-61', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-62', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-63', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   oadp   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt id="link-64" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-64', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-65" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-65', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_gsrp"></a><div id="NEC.show_gsrp-def"><a name="L185"></a><tt class="py-lineno">185</tt> <a class="py-toggle" href="#" id="NEC.show_gsrp-toggle" onclick="return toggle('NEC.show_gsrp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_gsrp">show_gsrp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_gsrp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_gsrp-expanded"><a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt id="link-66" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-66', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-67', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-68', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   gsrp   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">            <tt id="link-69" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-69', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-70" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-70', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_port"></a><div id="NEC.show_port-def"><a name="L199"></a><tt class="py-lineno">199</tt> <a class="py-toggle" href="#" id="NEC.show_port-toggle" onclick="return toggle('NEC.show_port');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_port">show_port</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_port-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_port-expanded"><a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt id="link-71" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-71', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-72', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-73', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   port   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">            <tt id="link-74" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-74', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-75" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-75', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_file"></a><div id="NEC.show_file-def"><a name="L213"></a><tt class="py-lineno">213</tt> <a class="py-toggle" href="#" id="NEC.show_file-toggle" onclick="return toggle('NEC.show_file');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_file">show_file</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_file-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_file-expanded"><a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt id="link-76" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-76', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-77', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-78', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   file   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">            <tt id="link-79" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-79', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-80" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-80', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_power"></a><div id="NEC.show_power-def"><a name="L227"></a><tt class="py-lineno">227</tt> <a class="py-toggle" href="#" id="NEC.show_power-toggle" onclick="return toggle('NEC.show_power');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_power">show_power</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_power-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_power-expanded"><a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt id="link-81" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-81', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-82', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-83', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   power   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt id="link-84" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-84', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-85" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-85', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_clock"></a><div id="NEC.show_clock-def"><a name="L241"></a><tt class="py-lineno">241</tt> <a class="py-toggle" href="#" id="NEC.show_clock-toggle" onclick="return toggle('NEC.show_clock');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_clock">show_clock</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_clock-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_clock-expanded"><a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt id="link-86" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-86', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-87', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-88', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   clock   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">            <tt id="link-89" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-89', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-90" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-90', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_dot1x"></a><div id="NEC.show_dot1x-def"><a name="L255"></a><tt class="py-lineno">255</tt> <a class="py-toggle" href="#" id="NEC.show_dot1x-toggle" onclick="return toggle('NEC.show_dot1x');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_dot1x">show_dot1x</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_dot1x-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_dot1x-expanded"><a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">        <tt id="link-91" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-91', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-92', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-93', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   dot1x   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">            <tt id="link-94" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-94', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-95" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-95', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_sflow"></a><div id="NEC.show_sflow-def"><a name="L269"></a><tt class="py-lineno">269</tt> <a class="py-toggle" href="#" id="NEC.show_sflow-toggle" onclick="return toggle('NEC.show_sflow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_sflow">show_sflow</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_sflow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_sflow-expanded"><a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">        <tt id="link-96" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-96', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-97', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-98', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   sflow   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">            <tt id="link-99" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-99', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-100" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-100', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_track"></a><div id="NEC.show_track-def"><a name="L283"></a><tt class="py-lineno">283</tt> <a class="py-toggle" href="#" id="NEC.show_track-toggle" onclick="return toggle('NEC.show_track');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_track">show_track</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_track-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_track-expanded"><a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">        <tt id="link-101" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-101', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-102', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-103', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   track   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">            <tt id="link-104" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-104', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-105" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-105', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_flash"></a><div id="NEC.show_flash-def"><a name="L297"></a><tt class="py-lineno">297</tt> <a class="py-toggle" href="#" id="NEC.show_flash-toggle" onclick="return toggle('NEC.show_flash');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_flash">show_flash</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_flash-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_flash-expanded"><a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">        <tt id="link-106" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-106', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-107', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-108', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   flash   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">            <tt id="link-109" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-109', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-110" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-110', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_system"></a><div id="NEC.show_system-def"><a name="L311"></a><tt class="py-lineno">311</tt> <a class="py-toggle" href="#" id="NEC.show_system-toggle" onclick="return toggle('NEC.show_system');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_system">show_system</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_system-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_system-expanded"><a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">        <tt id="link-111" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-111', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-112', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-113', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   system   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">            <tt id="link-114" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-114', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-115" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-115', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_whoami"></a><div id="NEC.show_whoami-def"><a name="L325"></a><tt class="py-lineno">325</tt> <a class="py-toggle" href="#" id="NEC.show_whoami-toggle" onclick="return toggle('NEC.show_whoami');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_whoami">show_whoami</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_whoami-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_whoami-expanded"><a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">        <tt id="link-116" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-116', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-117', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-118', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   whoami   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">            <tt id="link-119" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-119', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-120" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-120', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_efmoam"></a><div id="NEC.show_efmoam-def"><a name="L339"></a><tt class="py-lineno">339</tt> <a class="py-toggle" href="#" id="NEC.show_efmoam-toggle" onclick="return toggle('NEC.show_efmoam');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_efmoam">show_efmoam</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_efmoam-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_efmoam-expanded"><a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">        <tt id="link-121" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-121', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-122', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-123', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   efmoam   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">            <tt id="link-124" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-124', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-125" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-125', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_memory"></a><div id="NEC.show_memory-def"><a name="L353"></a><tt class="py-lineno">353</tt> <a class="py-toggle" href="#" id="NEC.show_memory-toggle" onclick="return toggle('NEC.show_memory');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_memory">show_memory</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_memory-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_memory-expanded"><a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">        <tt id="link-126" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-126', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-127', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-128', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   memory   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">            <tt id="link-129" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-129', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-130" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-130', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_tcpdump"></a><div id="NEC.show_tcpdump-def"><a name="L367"></a><tt class="py-lineno">367</tt> <a class="py-toggle" href="#" id="NEC.show_tcpdump-toggle" onclick="return toggle('NEC.show_tcpdump');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_tcpdump">show_tcpdump</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_tcpdump-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_tcpdump-expanded"><a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt id="link-131" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-131', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-132', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-133', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   tcpdump   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">            <tt id="link-134" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-134', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-135" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-135', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_history"></a><div id="NEC.show_history-def"><a name="L381"></a><tt class="py-lineno">381</tt> <a class="py-toggle" href="#" id="NEC.show_history-toggle" onclick="return toggle('NEC.show_history');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_history">show_history</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_history-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_history-expanded"><a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">        <tt id="link-136" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-136', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-137', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-138', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   history   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">            <tt id="link-139" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-139', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-140" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-140', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_logging"></a><div id="NEC.show_logging-def"><a name="L395"></a><tt class="py-lineno">395</tt> <a class="py-toggle" href="#" id="NEC.show_logging-toggle" onclick="return toggle('NEC.show_logging');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_logging">show_logging</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_logging-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_logging-expanded"><a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">        <tt id="link-141" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-141', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-142', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-143', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   logging   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">            <tt id="link-144" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-144', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-145" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-145', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_license"></a><div id="NEC.show_license-def"><a name="L409"></a><tt class="py-lineno">409</tt> <a class="py-toggle" href="#" id="NEC.show_license-toggle" onclick="return toggle('NEC.show_license');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_license">show_license</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_license-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_license-expanded"><a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line">        <tt id="link-146" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-146', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-147', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-148', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   license   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">            <tt id="link-149" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-149', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-150" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-150', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_netstat"></a><div id="NEC.show_netstat-def"><a name="L423"></a><tt class="py-lineno">423</tt> <a class="py-toggle" href="#" id="NEC.show_netstat-toggle" onclick="return toggle('NEC.show_netstat');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_netstat">show_netstat</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_netstat-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_netstat-expanded"><a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">        <tt id="link-151" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-151', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-152', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-153', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   netstat   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">            <tt id="link-154" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-154', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-155" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-155', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_version"></a><div id="NEC.show_version-def"><a name="L437"></a><tt class="py-lineno">437</tt> <a class="py-toggle" href="#" id="NEC.show_version-toggle" onclick="return toggle('NEC.show_version');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_version">show_version</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_version-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_version-expanded"><a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line">        <tt id="link-156" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-156', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-157', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-158', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   version   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">            <tt id="link-159" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-159', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-160" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-160', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_netconf"></a><div id="NEC.show_netconf-def"><a name="L451"></a><tt class="py-lineno">451</tt> <a class="py-toggle" href="#" id="NEC.show_netconf-toggle" onclick="return toggle('NEC.show_netconf');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_netconf">show_netconf</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_netconf-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_netconf-expanded"><a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line">        <tt id="link-161" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-161', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-162', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-163', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   netconf   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">            <tt id="link-164" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-164', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-165" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-165', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_ipdual"></a><div id="NEC.show_ipdual-def"><a name="L465"></a><tt class="py-lineno">465</tt> <a class="py-toggle" href="#" id="NEC.show_ipdual-toggle" onclick="return toggle('NEC.show_ipdual');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_ipdual">show_ipdual</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_ipdual-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_ipdual-expanded"><a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">        <tt id="link-166" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-166', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-167', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-168', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   ip-dual   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line">            <tt id="link-169" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-169', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-170" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-170', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_sessions"></a><div id="NEC.show_sessions-def"><a name="L479"></a><tt class="py-lineno">479</tt> <a class="py-toggle" href="#" id="NEC.show_sessions-toggle" onclick="return toggle('NEC.show_sessions');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_sessions">show_sessions</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_sessions-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_sessions-expanded"><a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line">        <tt id="link-171" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-171', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-172', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-173', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   sessions   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line">            <tt id="link-174" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-174', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-175" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-175', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_qosflow"></a><div id="NEC.show_qosflow-def"><a name="L493"></a><tt class="py-lineno">493</tt> <a class="py-toggle" href="#" id="NEC.show_qosflow-toggle" onclick="return toggle('NEC.show_qosflow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_qosflow">show_qosflow</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_qosflow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_qosflow-expanded"><a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">        <tt id="link-176" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-176', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-177', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-178', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   qos-flow   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line">            <tt id="link-179" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-179', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-180" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-180', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_openflow"></a><div id="NEC.show_openflow-def"><a name="L507"></a><tt class="py-lineno">507</tt> <a class="py-toggle" href="#" id="NEC.show_openflow-toggle" onclick="return toggle('NEC.show_openflow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_openflow">show_openflow</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_openflow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_openflow-expanded"><a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line">        <tt id="link-181" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-181', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-182', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-183', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   openflow   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">            <tt id="link-184" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-184', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-185" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-185', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_dumpfile"></a><div id="NEC.show_dumpfile-def"><a name="L521"></a><tt class="py-lineno">521</tt> <a class="py-toggle" href="#" id="NEC.show_dumpfile-toggle" onclick="return toggle('NEC.show_dumpfile');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_dumpfile">show_dumpfile</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_dumpfile-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_dumpfile-expanded"><a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line">        <tt id="link-186" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-186', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-187', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-188', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   dumpfile   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line">            <tt id="link-189" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-189', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-190" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-190', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_ipv6dhcp"></a><div id="NEC.show_ipv6dhcp-def"><a name="L535"></a><tt class="py-lineno">535</tt> <a class="py-toggle" href="#" id="NEC.show_ipv6dhcp-toggle" onclick="return toggle('NEC.show_ipv6dhcp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_ipv6dhcp">show_ipv6dhcp</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_ipv6dhcp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_ipv6dhcp-expanded"><a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line">        <tt id="link-191" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-191', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-192', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-193', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   ipv6-dhcp   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line">            <tt id="link-194" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-194', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-195" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-195', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_processes"></a><div id="NEC.show_processes-def"><a name="L549"></a><tt class="py-lineno">549</tt> <a class="py-toggle" href="#" id="NEC.show_processes-toggle" onclick="return toggle('NEC.show_processes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_processes">show_processes</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_processes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_processes-expanded"><a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line">        <tt id="link-196" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-196', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-197', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-198', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   processes   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line">            <tt id="link-199" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-199', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-200" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-200', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_vrrpstatus"></a><div id="NEC.show_vrrpstatus-def"><a name="L563"></a><tt class="py-lineno">563</tt> <a class="py-toggle" href="#" id="NEC.show_vrrpstatus-toggle" onclick="return toggle('NEC.show_vrrpstatus');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_vrrpstatus">show_vrrpstatus</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_vrrpstatus-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_vrrpstatus-expanded"><a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line">        <tt id="link-201" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-201', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-202', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-203', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   vrrpstatus   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L572"></a><tt class="py-lineno">572</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L573"></a><tt class="py-lineno">573</tt>  <tt class="py-line">            <tt id="link-204" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-204', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-205" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-205', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_interfaces"></a><div id="NEC.show_interfaces-def"><a name="L577"></a><tt class="py-lineno">577</tt> <a class="py-toggle" href="#" id="NEC.show_interfaces-toggle" onclick="return toggle('NEC.show_interfaces');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_interfaces">show_interfaces</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_interfaces-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_interfaces-expanded"><a name="L578"></a><tt class="py-lineno">578</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line">        <tt id="link-206" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-206', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-207', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L583"></a><tt class="py-lineno">583</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-208', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   interfaces   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line">            <tt id="link-209" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-209', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-210" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-210', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_environment"></a><div id="NEC.show_environment-def"><a name="L591"></a><tt class="py-lineno">591</tt> <a class="py-toggle" href="#" id="NEC.show_environment-toggle" onclick="return toggle('NEC.show_environment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_environment">show_environment</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_environment-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_environment-expanded"><a name="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L593"></a><tt class="py-lineno">593</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L596"></a><tt class="py-lineno">596</tt>  <tt class="py-line">        <tt id="link-211" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-211', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-212', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-213', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   environment   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line">            <tt id="link-214" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-214', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-215" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-215', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L603"></a><tt class="py-lineno">603</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L604"></a><tt class="py-lineno">604</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_autoconfig"></a><div id="NEC.show_autoconfig-def"><a name="L605"></a><tt class="py-lineno">605</tt> <a class="py-toggle" href="#" id="NEC.show_autoconfig-toggle" onclick="return toggle('NEC.show_autoconfig');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_autoconfig">show_autoconfig</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_autoconfig-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_autoconfig-expanded"><a name="L606"></a><tt class="py-lineno">606</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L607"></a><tt class="py-lineno">607</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L608"></a><tt class="py-lineno">608</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L609"></a><tt class="py-lineno">609</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L610"></a><tt class="py-lineno">610</tt>  <tt class="py-line">        <tt id="link-216" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-216', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-217', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L611"></a><tt class="py-lineno">611</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L612"></a><tt class="py-lineno">612</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-218', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L613"></a><tt class="py-lineno">613</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   auto-config   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L614"></a><tt class="py-lineno">614</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L615"></a><tt class="py-lineno">615</tt>  <tt class="py-line">            <tt id="link-219" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-219', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-220" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-220', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L616"></a><tt class="py-lineno">616</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L617"></a><tt class="py-lineno">617</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L618"></a><tt class="py-lineno">618</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_techsupport"></a><div id="NEC.show_techsupport-def"><a name="L619"></a><tt class="py-lineno">619</tt> <a class="py-toggle" href="#" id="NEC.show_techsupport-toggle" onclick="return toggle('NEC.show_techsupport');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_techsupport">show_techsupport</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_techsupport-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_techsupport-expanded"><a name="L620"></a><tt class="py-lineno">620</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L621"></a><tt class="py-lineno">621</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L622"></a><tt class="py-lineno">622</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L623"></a><tt class="py-lineno">623</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L624"></a><tt class="py-lineno">624</tt>  <tt class="py-line">        <tt id="link-221" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-221', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-222', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L625"></a><tt class="py-lineno">625</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L626"></a><tt class="py-lineno">626</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-223" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-223', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L627"></a><tt class="py-lineno">627</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   tech-support   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L628"></a><tt class="py-lineno">628</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L629"></a><tt class="py-lineno">629</tt>  <tt class="py-line">            <tt id="link-224" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-224', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-225" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-225', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L630"></a><tt class="py-lineno">630</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L631"></a><tt class="py-lineno">631</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L632"></a><tt class="py-lineno">632</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_mldsnooping"></a><div id="NEC.show_mldsnooping-def"><a name="L633"></a><tt class="py-lineno">633</tt> <a class="py-toggle" href="#" id="NEC.show_mldsnooping-toggle" onclick="return toggle('NEC.show_mldsnooping');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_mldsnooping">show_mldsnooping</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_mldsnooping-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_mldsnooping-expanded"><a name="L634"></a><tt class="py-lineno">634</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L635"></a><tt class="py-lineno">635</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L636"></a><tt class="py-lineno">636</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L637"></a><tt class="py-lineno">637</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L638"></a><tt class="py-lineno">638</tt>  <tt class="py-line">        <tt id="link-226" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-226', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-227', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L639"></a><tt class="py-lineno">639</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L640"></a><tt class="py-lineno">640</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-228', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L641"></a><tt class="py-lineno">641</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   mld-snooping   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L642"></a><tt class="py-lineno">642</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L643"></a><tt class="py-lineno">643</tt>  <tt class="py-line">            <tt id="link-229" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-229', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-230" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-230', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L644"></a><tt class="py-lineno">644</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L645"></a><tt class="py-lineno">645</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L646"></a><tt class="py-lineno">646</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_igmpsnooping"></a><div id="NEC.show_igmpsnooping-def"><a name="L647"></a><tt class="py-lineno">647</tt> <a class="py-toggle" href="#" id="NEC.show_igmpsnooping-toggle" onclick="return toggle('NEC.show_igmpsnooping');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_igmpsnooping">show_igmpsnooping</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_igmpsnooping-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_igmpsnooping-expanded"><a name="L648"></a><tt class="py-lineno">648</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L649"></a><tt class="py-lineno">649</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L650"></a><tt class="py-lineno">650</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L651"></a><tt class="py-lineno">651</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L652"></a><tt class="py-lineno">652</tt>  <tt class="py-line">        <tt id="link-231" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-231', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-232" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-232', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L653"></a><tt class="py-lineno">653</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L654"></a><tt class="py-lineno">654</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-233', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L655"></a><tt class="py-lineno">655</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   igmp-snooping   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L656"></a><tt class="py-lineno">656</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L657"></a><tt class="py-lineno">657</tt>  <tt class="py-line">            <tt id="link-234" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-234', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-235" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-235', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L658"></a><tt class="py-lineno">658</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L659"></a><tt class="py-lineno">659</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L660"></a><tt class="py-lineno">660</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_channelgroup"></a><div id="NEC.show_channelgroup-def"><a name="L661"></a><tt class="py-lineno">661</tt> <a class="py-toggle" href="#" id="NEC.show_channelgroup-toggle" onclick="return toggle('NEC.show_channelgroup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_channelgroup">show_channelgroup</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_channelgroup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_channelgroup-expanded"><a name="L662"></a><tt class="py-lineno">662</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L663"></a><tt class="py-lineno">663</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L664"></a><tt class="py-lineno">664</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L665"></a><tt class="py-lineno">665</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L666"></a><tt class="py-lineno">666</tt>  <tt class="py-line">        <tt id="link-236" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-236', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-237', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L667"></a><tt class="py-lineno">667</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L668"></a><tt class="py-lineno">668</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-238', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L669"></a><tt class="py-lineno">669</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   channel-group   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L670"></a><tt class="py-lineno">670</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L671"></a><tt class="py-lineno">671</tt>  <tt class="py-line">            <tt id="link-239" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-239', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-240" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-240', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L672"></a><tt class="py-lineno">672</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L673"></a><tt class="py-lineno">673</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L674"></a><tt class="py-lineno">674</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_spanningtree"></a><div id="NEC.show_spanningtree-def"><a name="L675"></a><tt class="py-lineno">675</tt> <a class="py-toggle" href="#" id="NEC.show_spanningtree-toggle" onclick="return toggle('NEC.show_spanningtree');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_spanningtree">show_spanningtree</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_spanningtree-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_spanningtree-expanded"><a name="L676"></a><tt class="py-lineno">676</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L677"></a><tt class="py-lineno">677</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L678"></a><tt class="py-lineno">678</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L679"></a><tt class="py-lineno">679</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L680"></a><tt class="py-lineno">680</tt>  <tt class="py-line">        <tt id="link-241" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-241', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-242', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L681"></a><tt class="py-lineno">681</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L682"></a><tt class="py-lineno">682</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-243', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L683"></a><tt class="py-lineno">683</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   spanning-tree   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L684"></a><tt class="py-lineno">684</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L685"></a><tt class="py-lineno">685</tt>  <tt class="py-line">            <tt id="link-244" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-244', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-245" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-245', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L686"></a><tt class="py-lineno">686</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L687"></a><tt class="py-lineno">687</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L688"></a><tt class="py-lineno">688</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_loopdetection"></a><div id="NEC.show_loopdetection-def"><a name="L689"></a><tt class="py-lineno">689</tt> <a class="py-toggle" href="#" id="NEC.show_loopdetection-toggle" onclick="return toggle('NEC.show_loopdetection');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_loopdetection">show_loopdetection</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_loopdetection-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_loopdetection-expanded"><a name="L690"></a><tt class="py-lineno">690</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L691"></a><tt class="py-lineno">691</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L692"></a><tt class="py-lineno">692</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L693"></a><tt class="py-lineno">693</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L694"></a><tt class="py-lineno">694</tt>  <tt class="py-line">        <tt id="link-246" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-246', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-247" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-247', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L695"></a><tt class="py-lineno">695</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L696"></a><tt class="py-lineno">696</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-248', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L697"></a><tt class="py-lineno">697</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   loop-detection   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L698"></a><tt class="py-lineno">698</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L699"></a><tt class="py-lineno">699</tt>  <tt class="py-line">            <tt id="link-249" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-249', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-250" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-250', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L700"></a><tt class="py-lineno">700</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L701"></a><tt class="py-lineno">701</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L702"></a><tt class="py-lineno">702</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_acknowledgments"></a><div id="NEC.show_acknowledgments-def"><a name="L703"></a><tt class="py-lineno">703</tt> <a class="py-toggle" href="#" id="NEC.show_acknowledgments-toggle" onclick="return toggle('NEC.show_acknowledgments');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_acknowledgments">show_acknowledgments</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_acknowledgments-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_acknowledgments-expanded"><a name="L704"></a><tt class="py-lineno">704</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :['  interface  ']"</tt> </tt>
+<a name="L705"></a><tt class="py-lineno">705</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L706"></a><tt class="py-lineno">706</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L707"></a><tt class="py-lineno">707</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L708"></a><tt class="py-lineno">708</tt>  <tt class="py-line">        <tt id="link-251" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-251', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-252" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-252', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L709"></a><tt class="py-lineno">709</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L710"></a><tt class="py-lineno">710</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-253" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-253', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L711"></a><tt class="py-lineno">711</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   acknowledgments   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L712"></a><tt class="py-lineno">712</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L713"></a><tt class="py-lineno">713</tt>  <tt class="py-line">            <tt id="link-254" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-254', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-255" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-255', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L714"></a><tt class="py-lineno">714</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L715"></a><tt class="py-lineno">715</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L716"></a><tt class="py-lineno">716</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_macaddresstable"></a><div id="NEC.show_macaddresstable-def"><a name="L717"></a><tt class="py-lineno">717</tt> <a class="py-toggle" href="#" id="NEC.show_macaddresstable-toggle" onclick="return toggle('NEC.show_macaddresstable');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_macaddresstable">show_macaddresstable</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_macaddresstable-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_macaddresstable-expanded"><a name="L718"></a><tt class="py-lineno">718</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L719"></a><tt class="py-lineno">719</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L720"></a><tt class="py-lineno">720</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L721"></a><tt class="py-lineno">721</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L722"></a><tt class="py-lineno">722</tt>  <tt class="py-line">        <tt id="link-256" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-256', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-257" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-257', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L723"></a><tt class="py-lineno">723</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L724"></a><tt class="py-lineno">724</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-258" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-258', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L725"></a><tt class="py-lineno">725</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   mac-address-table   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L726"></a><tt class="py-lineno">726</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L727"></a><tt class="py-lineno">727</tt>  <tt class="py-line">            <tt id="link-259" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-259', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-260" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-260', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L728"></a><tt class="py-lineno">728</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L729"></a><tt class="py-lineno">729</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L730"></a><tt class="py-lineno">730</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_configlockstatus"></a><div id="NEC.show_configlockstatus-def"><a name="L731"></a><tt class="py-lineno">731</tt> <a class="py-toggle" href="#" id="NEC.show_configlockstatus-toggle" onclick="return toggle('NEC.show_configlockstatus');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_configlockstatus">show_configlockstatus</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_configlockstatus-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_configlockstatus-expanded"><a name="L732"></a><tt class="py-lineno">732</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L733"></a><tt class="py-lineno">733</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L734"></a><tt class="py-lineno">734</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L735"></a><tt class="py-lineno">735</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L736"></a><tt class="py-lineno">736</tt>  <tt class="py-line">        <tt id="link-261" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-261', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-262', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L737"></a><tt class="py-lineno">737</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L738"></a><tt class="py-lineno">738</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-263" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-263', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L739"></a><tt class="py-lineno">739</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   config-lock-status   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L740"></a><tt class="py-lineno">740</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L741"></a><tt class="py-lineno">741</tt>  <tt class="py-line">            <tt id="link-264" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-264', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-265" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-265', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L742"></a><tt class="py-lineno">742</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L743"></a><tt class="py-lineno">743</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L744"></a><tt class="py-lineno">744</tt>  <tt class="py-line"> </tt>
+<a name="NEC.show_acknowledgments_interface"></a><div id="NEC.show_acknowledgments_interface-def"><a name="L745"></a><tt class="py-lineno">745</tt> <a class="py-toggle" href="#" id="NEC.show_acknowledgments_interface-toggle" onclick="return toggle('NEC.show_acknowledgments_interface');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_acknowledgments_interface">show_acknowledgments_interface</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">options</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">def_args</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="NEC.show_acknowledgments_interface-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="NEC.show_acknowledgments_interface-expanded"><a name="L746"></a><tt class="py-lineno">746</tt>  <tt class="py-line">        <tt class="py-docstring">"Possible Options :[]"</tt> </tt>
+<a name="L747"></a><tt class="py-lineno">747</tt>  <tt class="py-line">        <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L748"></a><tt class="py-lineno">748</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">option</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt>
+<a name="L749"></a><tt class="py-lineno">749</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt> <tt class="py-op">=</tt> <tt class="py-name">arguments</tt> <tt class="py-op">+</tt> <tt class="py-name">option</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L750"></a><tt class="py-lineno">750</tt>  <tt class="py-line">        <tt id="link-266" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-266', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'prompt'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-267" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-267', 'prompt', 'link-0');">prompt</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L751"></a><tt class="py-lineno">751</tt>  <tt class="py-line">        <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">def_args</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt> <tt class="py-string">'timeout'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L752"></a><tt class="py-lineno">752</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-268" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-268', 'execute', 'link-3');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L753"></a><tt class="py-lineno">753</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"show   acknowledgments     interface   "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L754"></a><tt class="py-lineno">754</tt>  <tt class="py-line">            <tt class="py-name">arguments</tt><tt class="py-op">,</tt> </tt>
+<a name="L755"></a><tt class="py-lineno">755</tt>  <tt class="py-line">            <tt id="link-269" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-269', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">=</tt><tt id="link-270" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-270', 'prompt', 'link-0');">prompt</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L756"></a><tt class="py-lineno">756</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L757"></a><tt class="py-lineno">757</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div></div><a name="L758"></a><tt class="py-lineno">758</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html
new file mode 100644
index 0000000..d2294e9
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html
@@ -0,0 +1,1191 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.remotetestbed-module.html">Package&nbsp;remotetestbed</a> ::
+        <a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html">Module&nbsp;necswitchdriver</a> ::
+        Class&nbsp;NEC
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class NEC</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC">source&nbsp;code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show"></a><span class="summary-sig-name">show</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :['  access-filter  ', '  accounting  ', '  
+      acknowledgments  ', '  auto-config  ', '  axrp  ', '  cfm  ', '  
+      channel-group  ', '  clock  ', '  config-lock-status  ', '  cpu  ', '
+      dhcp  ', '  dot1x  ', '  dumpfile  ', '  efmoam  ', '  environment  
+      ', '  file  ', '  flash  ', '  gsrp  ', '  history  ', '  
+      igmp-snooping  ', '  interfaces  ', '  ip  ', '  ip-dual  ', '  
+      ipv6-dhcp  ', '  license  ', '  lldp  ', '  logging  ', '  
+      loop-detection  ', '  mac-address-table  ', '  mc  ', '  memory  ', '
+      mld-snooping  ', '  netconf  ', '  netstat  ', '  ntp  ', '  oadp  ',
+      '  openflow  ', '  port  ', '  power  ', '  processes  ', '  qos  ', 
+      '  qos-flow  ', '  sessions  ', '  sflow  ', '  spanning-tree  ', '  
+      ssh  ', '  system  ', '  tcpdump  ', '  tech-support  ', '  track  ',
+      '  version  ', '  vlan  ', '  vrrpstatus  ', '  whoami  ']</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_ip"></a><span class="summary-sig-name">show_ip</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_ip">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_mc"></a><span class="summary-sig-name">show_mc</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_mc">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_cfm"></a><span class="summary-sig-name">show_cfm</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_cfm">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_ntp"></a><span class="summary-sig-name">show_ntp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_ntp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_ssh"></a><span class="summary-sig-name">show_ssh</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_ssh">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_qos"></a><span class="summary-sig-name">show_qos</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_qos">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_cpu"></a><span class="summary-sig-name">show_cpu</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_cpu">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_vlan"></a><span class="summary-sig-name">show_vlan</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_vlan">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_lldp"></a><span class="summary-sig-name">show_lldp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_lldp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_dhcp"></a><span class="summary-sig-name">show_dhcp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_dhcp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_axrp"></a><span class="summary-sig-name">show_axrp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_axrp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_oadp"></a><span class="summary-sig-name">show_oadp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_oadp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_gsrp"></a><span class="summary-sig-name">show_gsrp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_gsrp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_port"></a><span class="summary-sig-name">show_port</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_port">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_file"></a><span class="summary-sig-name">show_file</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_file">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_power"></a><span class="summary-sig-name">show_power</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_power">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_clock"></a><span class="summary-sig-name">show_clock</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_clock">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_dot1x"></a><span class="summary-sig-name">show_dot1x</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_dot1x">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_sflow"></a><span class="summary-sig-name">show_sflow</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_sflow">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_track"></a><span class="summary-sig-name">show_track</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_track">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_flash"></a><span class="summary-sig-name">show_flash</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_flash">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_system"></a><span class="summary-sig-name">show_system</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_system">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_whoami"></a><span class="summary-sig-name">show_whoami</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_whoami">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_efmoam"></a><span class="summary-sig-name">show_efmoam</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_efmoam">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_memory"></a><span class="summary-sig-name">show_memory</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_memory">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_tcpdump"></a><span class="summary-sig-name">show_tcpdump</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_tcpdump">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_history"></a><span class="summary-sig-name">show_history</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_history">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_logging"></a><span class="summary-sig-name">show_logging</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_logging">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_license"></a><span class="summary-sig-name">show_license</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_license">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_netstat"></a><span class="summary-sig-name">show_netstat</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_netstat">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_version"></a><span class="summary-sig-name">show_version</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_version">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_netconf"></a><span class="summary-sig-name">show_netconf</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_netconf">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_ipdual"></a><span class="summary-sig-name">show_ipdual</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_ipdual">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_sessions"></a><span class="summary-sig-name">show_sessions</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_sessions">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_qosflow"></a><span class="summary-sig-name">show_qosflow</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_qosflow">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_openflow"></a><span class="summary-sig-name">show_openflow</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_openflow">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_dumpfile"></a><span class="summary-sig-name">show_dumpfile</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_dumpfile">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_ipv6dhcp"></a><span class="summary-sig-name">show_ipv6dhcp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_ipv6dhcp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_processes"></a><span class="summary-sig-name">show_processes</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_processes">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_vrrpstatus"></a><span class="summary-sig-name">show_vrrpstatus</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_vrrpstatus">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_interfaces"></a><span class="summary-sig-name">show_interfaces</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_interfaces">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_environment"></a><span class="summary-sig-name">show_environment</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_environment">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_autoconfig"></a><span class="summary-sig-name">show_autoconfig</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_autoconfig">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_techsupport"></a><span class="summary-sig-name">show_techsupport</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_techsupport">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_mldsnooping"></a><span class="summary-sig-name">show_mldsnooping</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_mldsnooping">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_igmpsnooping"></a><span class="summary-sig-name">show_igmpsnooping</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_igmpsnooping">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_channelgroup"></a><span class="summary-sig-name">show_channelgroup</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_channelgroup">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_spanningtree"></a><span class="summary-sig-name">show_spanningtree</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_spanningtree">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_loopdetection"></a><span class="summary-sig-name">show_loopdetection</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_loopdetection">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_acknowledgments"></a><span class="summary-sig-name">show_acknowledgments</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :['  interface  ']</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_acknowledgments">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_macaddresstable"></a><span class="summary-sig-name">show_macaddresstable</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_macaddresstable">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_configlockstatus"></a><span class="summary-sig-name">show_configlockstatus</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_configlockstatus">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="show_acknowledgments_interface"></a><span class="summary-sig-name">show_acknowledgments_interface</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*options</span>,
+        <span class="summary-sig-arg">**def_args</span>)</span><br />
+      Possible Options :[]</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-pysrc.html#NEC.show_acknowledgments_interface">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html
similarity index 67%
copy from TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
copy to TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html
index 053b957..a430a53 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.drivers.common.cli.remotesys.hpswitchdriver</title>
+  <title>TestON.drivers.common.cli.remotetestbed.remotepoxdriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -41,8 +46,8 @@
         <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
         <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
         <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
-        <a href="TestON.drivers.common.cli.remotesys-module.html">Package&nbsp;remotesys</a> ::
-        Module&nbsp;hpswitchdriver
+        <a href="TestON.drivers.common.cli.remotetestbed-module.html">Package&nbsp;remotetestbed</a> ::
+        Module&nbsp;remotepoxdriver
       </span>
     </td>
     <td>
@@ -52,23 +57,40 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module hpswitchdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 12-Feb-2013</p>
+<h1 class="epydoc">Module remotepoxdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-        <p>HPSwitchDriver is the basic driver which will handle the Mininet
-        functions</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 12-Feb-2013
+
+author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )
+
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    ( at your option ) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+
+RemoteVMDriver is the basic driver which will handle the Mininet functions
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -89,8 +111,8 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html" class="summary-name">HPSwitchDriver</a><br />
-      HPSwitchDriver is the basic driver which will handle the Mininet 
+        <a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html" class="summary-name">RemotePoxDriver</a><br />
+      RemoteVMDriver is the basic driver which will handle the Mininet 
       functions
     </td>
   </tr>
@@ -115,13 +137,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotepoxdriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotepoxdriver-pysrc.html
new file mode 100644
index 0000000..dba1be1
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotepoxdriver-pysrc.html
@@ -0,0 +1,279 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.remotetestbed.remotepoxdriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.remotetestbed-module.html">Package&nbsp;remotetestbed</a> ::
+        Module&nbsp;remotepoxdriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html">Module TestON.drivers.common.cli.remotetestbed.remotepoxdriver</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 12-Feb-2013</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring">    ( at your option ) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-docstring">RemoteVMDriver is the basic driver which will handle the Mininet functions</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-2', 'cli', 'link-2');">cli</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module TestON.drivers.common.cli.remotetestbeddriver=TestON.drivers.common.cli.remotetestbeddriver-module.html"><a title="TestON.drivers.common.cli.remotetestbeddriver" class="py-name" href="#" onclick="return doclink('link-3', 'remotetestbeddriver', 'link-3');">remotetestbeddriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html"><a title="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver" class="py-name" href="#" onclick="return doclink('link-4', 'RemoteTestBedDriver', 'link-4');">RemoteTestBedDriver</a></tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"> </tt>
+<a name="RemotePoxDriver"></a><div id="RemotePoxDriver-def"><a name="L27"></a><tt class="py-lineno">27</tt> <a class="py-toggle" href="#" id="RemotePoxDriver-toggle" onclick="return toggle('RemotePoxDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html">RemotePoxDriver</a><tt class="py-op">(</tt> <tt class="py-base-class">RemoteTestBedDriver</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemotePoxDriver-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="RemotePoxDriver-expanded"><a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"><tt class="py-docstring">        RemoteVMDriver is the basic driver which will handle the Mininet functions</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="RemotePoxDriver.__init__"></a><div id="RemotePoxDriver.__init__-def"><a name="L32"></a><tt class="py-lineno">32</tt> <a class="py-toggle" href="#" id="RemotePoxDriver.__init__-toggle" onclick="return toggle('RemotePoxDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemotePoxDriver.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="RemotePoxDriver.__init__-expanded"><a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver" class="py-name" href="#" onclick="return doclink('link-5', 'RemoteTestBedDriver', 'link-4');">RemoteTestBedDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-6', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"> </tt>
+<a name="RemotePoxDriver.connect"></a><div id="RemotePoxDriver.connect-def"><a name="L35"></a><tt class="py-lineno">35</tt> <a class="py-toggle" href="#" id="RemotePoxDriver.connect-toggle" onclick="return toggle('RemotePoxDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemotePoxDriver.connect-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="RemotePoxDriver.connect-expanded"><a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line"> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">            <tt id="link-7" class="py-name" targets="Class TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html"><a title="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver" class="py-name" href="#" onclick="return doclink('link-7', 'RemotePoxDriver', 'link-7');">RemotePoxDriver</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">            <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-8', 'connect', 'link-8');">connect</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">            <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">            <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">            <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">,</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">            <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" connected successfully "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-10', 'execute', 'link-10');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"cd "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'pox_lib_location'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">                <tt id="link-11" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-11', 'prompt', 'link-11');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"/pox\$"</tt><tt class="py-op">,</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-12', 'execute', 'link-10');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">'./pox.py samples.of_tutorial'</tt><tt class="py-op">,</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">                <tt id="link-13" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-13', 'prompt', 'link-11');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"DEBUG:"</tt><tt class="py-op">,</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line"> </tt>
+<a name="RemotePoxDriver.disconnect"></a><div id="RemotePoxDriver.disconnect-def"><a name="L63"></a><tt class="py-lineno">63</tt> <a class="py-toggle" href="#" id="RemotePoxDriver.disconnect-toggle" onclick="return toggle('RemotePoxDriver.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#disconnect">disconnect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">handle</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemotePoxDriver.disconnect-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="RemotePoxDriver.disconnect-expanded"><a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-14', 'execute', 'link-10');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"exit()"</tt><tt class="py-op">,</tt> <tt id="link-15" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-15', 'prompt', 'link-11');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"/pox\$"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-16', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-17', 'error', 'link-17');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Connection failed to the host"</tt> <tt class="py-op">)</tt> </tt>
+</div></div><a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html
new file mode 100644
index 0000000..c55e2ab
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html
@@ -0,0 +1,443 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.remotetestbed-module.html">Package&nbsp;remotetestbed</a> ::
+        <a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html">Module&nbsp;remotepoxdriver</a> ::
+        Class&nbsp;RemotePoxDriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class RemotePoxDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-pysrc.html#RemotePoxDriver">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_remotepoxd" name="class_hierarchy_for_remotepoxd">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html" title="RemotePoxDriver" alt="" coords="5,6,131,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html" title="remotetestbeddriver.RemoteTestBedDriver" alt="" coords="155,6,425,31"/>
+<area shape="rect" id="node3" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="450,6,541,31"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="component.Component" alt="" coords="567,6,724,31"/>
+</map>
+  <img src="class_hierarchy_for_remotepoxd.gif" alt='' usemap="#class_hierarchy_for_remotepoxd" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<p>RemoteVMDriver is the basic driver which will handle the Mininet 
+  functions</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-pysrc.html#RemotePoxDriver.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**connectargs</span>)</span><br />
+      Connection will establish to the remote host using ssh.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-pysrc.html#RemotePoxDriver.connect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-pysrc.html#RemotePoxDriver.disconnect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**execparams</span>)</span><br />
+      It facilitates the command line execution of a given command.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">default</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">user_name</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">filepath</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">dst_path</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-pysrc.html#RemotePoxDriver.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="connect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">**connectargs</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-pysrc.html#RemotePoxDriver.connect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Connection will establish to the remote host using ssh. It will take 
+  user_name ,ip_address and password as arguments&lt;br&gt; and will return
+  the handle.</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.connect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="disconnect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">disconnect</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">handle</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-pysrc.html#RemotePoxDriver.disconnect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.disconnect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html
similarity index 68%
copy from TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
copy to TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html
index 053b957..27544e1 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.drivers.common.cli.remotesys.hpswitchdriver</title>
+  <title>TestON.drivers.common.cli.remotetestbed.remotevmdriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -41,8 +46,8 @@
         <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
         <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
         <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
-        <a href="TestON.drivers.common.cli.remotesys-module.html">Package&nbsp;remotesys</a> ::
-        Module&nbsp;hpswitchdriver
+        <a href="TestON.drivers.common.cli.remotetestbed-module.html">Package&nbsp;remotetestbed</a> ::
+        Module&nbsp;remotevmdriver
       </span>
     </td>
     <td>
@@ -52,23 +57,40 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module hpswitchdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 12-Feb-2013</p>
+<h1 class="epydoc">Module remotevmdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-        <p>HPSwitchDriver is the basic driver which will handle the Mininet
-        functions</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 12-Feb-2013
+
+author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )
+
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    ( at your option ) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+
+RemoteVMDriver is the basic driver which will handle the Mininet functions
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -89,8 +111,8 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html" class="summary-name">HPSwitchDriver</a><br />
-      HPSwitchDriver is the basic driver which will handle the Mininet 
+        <a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html" class="summary-name">RemoteVMDriver</a><br />
+      RemoteVMDriver is the basic driver which will handle the Mininet 
       functions
     </td>
   </tr>
@@ -115,13 +137,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotevmdriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotevmdriver-pysrc.html
new file mode 100644
index 0000000..e882e1e
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotevmdriver-pysrc.html
@@ -0,0 +1,329 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.remotetestbed.remotevmdriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.remotetestbed-module.html">Package&nbsp;remotetestbed</a> ::
+        Module&nbsp;remotevmdriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html">Module TestON.drivers.common.cli.remotetestbed.remotevmdriver</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 12-Feb-2013</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">    ( at your option ) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">RemoteVMDriver is the basic driver which will handle the Mininet functions</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-2', 'cli', 'link-2');">cli</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module TestON.drivers.common.cli.remotetestbeddriver=TestON.drivers.common.cli.remotetestbeddriver-module.html"><a title="TestON.drivers.common.cli.remotetestbeddriver" class="py-name" href="#" onclick="return doclink('link-3', 'remotetestbeddriver', 'link-3');">remotetestbeddriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html"><a title="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver" class="py-name" href="#" onclick="return doclink('link-4', 'RemoteTestBedDriver', 'link-4');">RemoteTestBedDriver</a></tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
+<a name="RemoteVMDriver"></a><div id="RemoteVMDriver-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="RemoteVMDriver-toggle" onclick="return toggle('RemoteVMDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html">RemoteVMDriver</a><tt class="py-op">(</tt> <tt class="py-base-class">RemoteTestBedDriver</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteVMDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="RemoteVMDriver-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring">        RemoteVMDriver is the basic driver which will handle the Mininet functions</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="RemoteVMDriver.__init__"></a><div id="RemoteVMDriver.__init__-def"><a name="L34"></a><tt class="py-lineno"> 34</tt> <a class="py-toggle" href="#" id="RemoteVMDriver.__init__-toggle" onclick="return toggle('RemoteVMDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteVMDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteVMDriver.__init__-expanded"><a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver" class="py-name" href="#" onclick="return doclink('link-5', 'RemoteTestBedDriver', 'link-4');">RemoteTestBedDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-6', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"> </tt>
+<a name="RemoteVMDriver.connect"></a><div id="RemoteVMDriver.connect-def"><a name="L37"></a><tt class="py-lineno"> 37</tt> <a class="py-toggle" href="#" id="RemoteVMDriver.connect-toggle" onclick="return toggle('RemoteVMDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteVMDriver.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteVMDriver.connect-expanded"><a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt id="link-7" class="py-name" targets="Class TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html"><a title="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver" class="py-name" href="#" onclick="return doclink('link-7', 'RemoteVMDriver', 'link-7');">RemoteVMDriver</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">            <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-8', 'connect', 'link-8');">connect</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">            <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">,</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" connected successfully "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"> </tt>
+<a name="RemoteVMDriver.SSH"></a><div id="RemoteVMDriver.SSH-def"><a name="L55"></a><tt class="py-lineno"> 55</tt> <a class="py-toggle" href="#" id="RemoteVMDriver.SSH-toggle" onclick="return toggle('RemoteVMDriver.SSH');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#SSH">SSH</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteVMDriver.SSH-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="RemoteVMDriver.SSH-expanded"><a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-string">"""</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-string">           Connection will establish to the remote host using ssh.</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-string">           It will take user_name ,ip_address and password as arguments&lt;br&gt;</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-string">           and will return the handle.</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-string">        """</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-name">ssh_newkey</tt> <tt class="py-op">=</tt> <tt class="py-string">'Are you sure you want to continue connecting'</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-name">refused</tt> <tt class="py-op">=</tt> <tt class="py-string">"ssh: connect to host "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> <tt class="py-string">" port 22: Connection refused"</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">:</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-10', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">                <tt class="py-string">'ssh -p '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> <tt class="py-op">+</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">                <tt class="py-string">' '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">                <tt class="py-string">'@'</tt> <tt class="py-op">+</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-11', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">                <tt class="py-string">'ssh '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">                <tt class="py-string">'@'</tt> <tt class="py-op">+</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-12', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"\r"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-name">ssh_newkey</tt><tt class="py-op">,</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">                                  <tt class="py-string">'password:'</tt><tt class="py-op">,</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">                                  <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                                  <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">,</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">                                  <tt class="py-name">refused</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">                                <tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ssh key confirmation received, send yes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-14', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">'yes'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-name">ssh_newkey</tt><tt class="py-op">,</tt> <tt class="py-string">'password:'</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-15', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ssh connection asked for password, gave password"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-16', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">'&gt;|#|$'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-17', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-18', 'error', 'link-18');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Connection timeout"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt>  <tt class="py-comment"># timeout</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-19', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-20', 'error', 'link-18');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">                <tt class="py-string">"No route to the Host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">                <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-21', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-22', 'error', 'link-18');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">                <tt class="py-string">"ssh: connect to host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">                <tt class="py-string">" port 22: Connection refused"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-23', 'sendline', 'link-10');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"\r"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div></div><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html
new file mode 100644
index 0000000..023dfca
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html
@@ -0,0 +1,437 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.remotetestbed-module.html">Package&nbsp;remotetestbed</a> ::
+        <a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html">Module&nbsp;remotevmdriver</a> ::
+        Class&nbsp;RemoteVMDriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class RemoteVMDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-pysrc.html#RemoteVMDriver">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_remotevmdr" name="class_hierarchy_for_remotevmdr">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html" title="RemoteVMDriver" alt="" coords="5,6,128,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html" title="remotetestbeddriver.RemoteTestBedDriver" alt="" coords="153,6,423,31"/>
+<area shape="rect" id="node3" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="447,6,539,31"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="component.Component" alt="" coords="564,6,721,31"/>
+</map>
+  <img src="class_hierarchy_for_remotevmdr.gif" alt='' usemap="#class_hierarchy_for_remotevmdr" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<p>RemoteVMDriver is the basic driver which will handle the Mininet 
+  functions</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-pysrc.html#RemoteVMDriver.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**connectargs</span>)</span><br />
+      Connection will establish to the remote host using ssh.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-pysrc.html#RemoteVMDriver.connect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="SSH"></a><span class="summary-sig-name">SSH</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**connectargs</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-pysrc.html#RemoteVMDriver.SSH">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.disconnect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**execparams</span>)</span><br />
+      It facilitates the command line execution of a given command.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">default</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">user_name</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">filepath</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">dst_path</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-pysrc.html#RemoteVMDriver.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="connect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">**connectargs</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-pysrc.html#RemoteVMDriver.connect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Connection will establish to the remote host using ssh. It will take 
+  user_name ,ip_address and password as arguments&lt;br&gt; and will return
+  the handle.</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.connect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbeddriver-module.html
similarity index 69%
copy from TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
copy to TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbeddriver-module.html
index 053b957..4dceb95 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbeddriver-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.drivers.common.cli.remotesys.hpswitchdriver</title>
+  <title>TestON.drivers.common.cli.remotetestbeddriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -41,8 +46,7 @@
         <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
         <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
         <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
-        <a href="TestON.drivers.common.cli.remotesys-module.html">Package&nbsp;remotesys</a> ::
-        Module&nbsp;hpswitchdriver
+        Module&nbsp;remotetestbeddriver
       </span>
     </td>
     <td>
@@ -52,23 +56,36 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotetestbeddriver-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module hpswitchdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 12-Feb-2013</p>
+<h1 class="epydoc">Module remotetestbeddriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbeddriver-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-        <p>HPSwitchDriver is the basic driver which will handle the Mininet
-        functions</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 26-Oct-2012
+
+author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    ( at your option ) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -89,9 +106,7 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html" class="summary-name">HPSwitchDriver</a><br />
-      HPSwitchDriver is the basic driver which will handle the Mininet 
-      functions
+        <a href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html" class="summary-name">RemoteTestBedDriver</a>
     </td>
   </tr>
 </table>
@@ -115,13 +130,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbeddriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbeddriver-pysrc.html
new file mode 100644
index 0000000..21a75c5
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbeddriver-pysrc.html
@@ -0,0 +1,286 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.remotetestbeddriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        Module&nbsp;remotetestbeddriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotetestbeddriver-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.remotetestbeddriver-module.html">Module TestON.drivers.common.cli.remotetestbeddriver</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 26-Oct-2012</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">author:: Anil Kumar ( anilkumar.s@paxterrasolutions.com )</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    ( at your option ) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.drivers.common.clidriver=TestON.drivers.common.clidriver-module.html"><a title="TestON.drivers.common.clidriver" class="py-name" href="#" onclick="return doclink('link-2', 'clidriver', 'link-2');">clidriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-3', 'CLI', 'link-3');">CLI</a></tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"> </tt>
+<a name="RemoteTestBedDriver"></a><div id="RemoteTestBedDriver-def"><a name="L25"></a><tt class="py-lineno">25</tt> <a class="py-toggle" href="#" id="RemoteTestBedDriver-toggle" onclick="return toggle('RemoteTestBedDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html">RemoteTestBedDriver</a><tt class="py-op">(</tt> <tt class="py-base-class">CLI</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteTestBedDriver-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="RemoteTestBedDriver-expanded"><a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">    <tt class="py-comment"># The common functions for emulator included in RemoteTestBedDriver</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"> </tt>
+<a name="RemoteTestBedDriver.__init__"></a><div id="RemoteTestBedDriver.__init__-def"><a name="L28"></a><tt class="py-lineno">28</tt> <a class="py-toggle" href="#" id="RemoteTestBedDriver.__init__-toggle" onclick="return toggle('RemoteTestBedDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteTestBedDriver.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="RemoteTestBedDriver.__init__-expanded"><a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-4" class="py-name"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-4', 'CLI', 'link-3');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-5', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"> </tt>
+<a name="RemoteTestBedDriver.connect"></a><div id="RemoteTestBedDriver.connect-def"><a name="L31"></a><tt class="py-lineno">31</tt> <a class="py-toggle" href="#" id="RemoteTestBedDriver.connect-toggle" onclick="return toggle('RemoteTestBedDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RemoteTestBedDriver.connect-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="RemoteTestBedDriver.connect-expanded"><a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-string">'vm_'</tt> <tt class="py-op">+</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">        <tt class="py-name">remote_user_name</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'remote_user_name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-name">remote_ip_address</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'remote_ip_address'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-name">remote_port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'remote_port'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-name">remote_pwd</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'remote_pwd'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">            <tt id="link-6" class="py-name" targets="Class TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html"><a title="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver" class="py-name" href="#" onclick="return doclink('link-6', 'RemoteTestBedDriver', 'link-6');">RemoteTestBedDriver</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">            <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-7', 'connect', 'link-7');">connect</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">            <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">remote_user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">            <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-name">remote_ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">            <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">remote_port</tt><tt class="py-op">,</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">            <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">remote_pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-8', 'execute', 'link-8');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt id="link-9" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-9', 'prompt', 'link-9');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"\$|&gt;|#"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-10', 'execute', 'link-8');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"SET CYGWIN=notty"</tt><tt class="py-op">,</tt> <tt id="link-11" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-11', 'prompt', 'link-9');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"\$|&gt;|#"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-12', 'execute', 'link-8');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt id="link-13" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-13', 'prompt', 'link-9');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"\$|&gt;|#"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-14', 'log', 'link-14');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">                <tt class="py-string">"ssh "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vm_user_name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">                <tt class="py-string">'@'</tt> <tt class="py-op">+</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vm_ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-15', 'execute', 'link-8');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"ssh "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vm_user_name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">                <tt class="py-string">'@'</tt> <tt class="py-op">+</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vm_ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">                <tt id="link-16" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-16', 'prompt', 'link-9');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"(.*)"</tt><tt class="py-op">,</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-17', 'execute', 'link-8');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt id="link-18" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-18', 'prompt', 'link-9');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"assword:"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-19', 'execute', 'link-8');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vm_pwd</tt><tt class="py-op">,</tt> <tt id="link-20" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-20', 'prompt', 'link-9');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"\$"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line"> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div></div><a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html
new file mode 100644
index 0000000..ec9236a
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html
@@ -0,0 +1,415 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
+        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
+        <a href="TestON.drivers.common.cli-module.html">Package&nbsp;cli</a> ::
+        <a href="TestON.drivers.common.cli.remotetestbeddriver-module.html">Module&nbsp;remotetestbeddriver</a> ::
+        Class&nbsp;RemoteTestBedDriver
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class RemoteTestBedDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbeddriver-pysrc.html#RemoteTestBedDriver">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_remotetest" name="class_hierarchy_for_remotetest">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html" title="RemoteTestBedDriver" alt="" coords="5,6,157,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="182,6,273,31"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="component.Component" alt="" coords="299,6,456,31"/>
+</map>
+  <img src="class_hierarchy_for_remotetest.gif" alt='' usemap="#class_hierarchy_for_remotetest" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbeddriver-pysrc.html#RemoteTestBedDriver.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**connectargs</span>)</span><br />
+      Connection will establish to the remote host using ssh.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.cli.remotetestbeddriver-pysrc.html#RemoteTestBedDriver.connect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.disconnect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**execparams</span>)</span><br />
+      It facilitates the command line execution of a given command.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">default</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">user_name</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">filepath</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">dst_path</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbeddriver-pysrc.html#RemoteTestBedDriver.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="connect"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">**connectargs</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.drivers.common.cli.remotetestbeddriver-pysrc.html#RemoteTestBedDriver.connect">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Connection will establish to the remote host using ssh. It will take 
+  user_name ,ip_address and password as arguments&lt;br&gt; and will return
+  the handle.</p>
+  <dl class="fields">
+    <dt>Overrides:
+        component.Component.connect
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool-module.html
index 1ded7db..cfbc7b6 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -83,6 +88,32 @@
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -103,13 +134,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool-pysrc.html
index 34336c8..5dc7e38 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -87,13 +92,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool.dpctlclidriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool.dpctlclidriver-module.html
index 6d9f555..1ffdcfb 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool.dpctlclidriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool.dpctlclidriver-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,15 +65,33 @@
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
 <h1 class="epydoc">Module dpctlclidriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.tool.dpctlclidriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 26-Nov-2012</p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Raghav Kashyap(raghavkashyap@paxterrasolutions.com)
-        <p>DPCTL driver class provides the basic functions of DPCTL 
-        controller</p>
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 26-Nov-2012
+
+author:: Raghav Kashyap( raghavkashyap@paxterrasolutions.com )
+
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    ( at your option ) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+
+
+DPCTL driver class provides the basic functions of DPCTL controller
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -115,13 +138,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool.dpctlclidriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool.dpctlclidriver-pysrc.html
index 20685f6..2d83805 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool.dpctlclidriver-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool.dpctlclidriver-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -61,312 +66,415 @@
 <h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.tool.dpctlclidriver-module.html">Module TestON.drivers.common.cli.tool.dpctlclidriver</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
 <a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 26-Nov-2012</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">       </tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Raghav Kashyap(raghavkashyap@paxterrasolutions.com)</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">author:: Raghav Kashyap( raghavkashyap@paxterrasolutions.com )</tt> </tt>
 <a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">DPCTL driver class provides the basic functions of DPCTL controller</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt><tt class="py-op">,</tt> <tt class="py-name">fcntl</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">signal</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">    ( at your option ) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">DPCTL driver class provides the basic functions of DPCTL controller</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
 TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-2', 'cli', 'link-2');">cli</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module TestON.drivers.common.cli.toolsdriver=TestON.drivers.common.cli.toolsdriver-module.html"><a title="TestON.drivers.common.cli.toolsdriver" class="py-name" href="#" onclick="return doclink('link-3', 'toolsdriver', 'link-3');">toolsdriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class TestON.drivers.common.cli.toolsdriver.Tools=TestON.drivers.common.cli.toolsdriver.Tools-class.html"><a title="TestON.drivers.common.cli.toolsdriver.Tools" class="py-name" href="#" onclick="return doclink('link-4', 'Tools', 'link-4');">Tools</a></tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pydoc</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-5', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-6', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Module TestON.drivers.common.clidriver=TestON.drivers.common.clidriver-module.html"><a title="TestON.drivers.common.clidriver" class="py-name" href="#" onclick="return doclink('link-7', 'clidriver', 'link-7');">clidriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-8" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
-TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-8', 'CLI', 'link-8');">CLI</a></tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"> </tt>
-<a name="DpctlCliDriver"></a><div id="DpctlCliDriver-def"><a name="L19"></a><tt class="py-lineno"> 19</tt> <a class="py-toggle" href="#" id="DpctlCliDriver-toggle" onclick="return toggle('DpctlCliDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a><tt class="py-op">(</tt><tt class="py-base-class">Tools</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DpctlCliDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="DpctlCliDriver-expanded"><a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">     DpctlCliDriver driver class provides the basic functions of DPCTL controller</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="DpctlCliDriver.__init__"></a><div id="DpctlCliDriver.__init__-def"><a name="L23"></a><tt class="py-lineno"> 23</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.__init__-toggle" onclick="return toggle('DpctlCliDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DpctlCliDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.__init__-expanded"><a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-9" class="py-name" targets="Class TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html"><a title="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver" class="py-name" href="#" onclick="return doclink('link-9', 'DpctlCliDriver', 'link-9');">DpctlCliDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.drivers.common.webdriver.WebDriver.__init__()=TestON.drivers.common.webdriver.WebDriver-class.html#__init__,Method TestON.drivers.component.Component.__init__()=TestON.drivers.component.Component-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__()=TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#__init__,Method TestON.tests.FvtTest.FvtTest.FvtTest.__init__()=TestON.tests.FvtTest.FvtTest.FvtTest-class.html#__init__,Method TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__()=TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#__init__,Method TestON.tests.MininetTest.MininetTest.MininetTest.__init__()=TestON.tests.MininetTest.MininetTest.MininetTest-class.html#__init__,Method TestON.tests.PoxTest.PoxTest.PoxTest.__init__()=TestON.tests.PoxTest.PoxTest.PoxTest-class.html#__init__,Method TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__()=TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#__init__,Method TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__()=TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
+<a name="DpctlCliDriver"></a><div id="DpctlCliDriver-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="DpctlCliDriver-toggle" onclick="return toggle('DpctlCliDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a><tt class="py-op">(</tt> <tt class="py-base-class">Tools</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DpctlCliDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="DpctlCliDriver-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring">     DpctlCliDriver driver class provides the basic functions of DPCTL controller</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="DpctlCliDriver.__init__"></a><div id="DpctlCliDriver.__init__-def"><a name="L34"></a><tt class="py-lineno"> 34</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.__init__-toggle" onclick="return toggle('DpctlCliDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DpctlCliDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.__init__-expanded"><a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-5" class="py-name" targets="Class TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html"><a title="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver" class="py-name" href="#" onclick="return doclink('link-5', 'DpctlCliDriver', 'link-5');">DpctlCliDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
 TestON.bin.cli.TestThread.__init__
 TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
 TestON.bin.updatedriver.UpdateDriver.__init__
 TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
 TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
 TestON.core.openspeak.OpenSpeak.__init__
 TestON.core.teston.TestON.__init__
 TestON.core.testparser.TestParser.__init__
 TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
 TestON.drivers.common.api.controllerdriver.Controller.__init__
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
 TestON.drivers.common.cli.emulatordriver.Emulator.__init__
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
 TestON.drivers.common.cli.toolsdriver.Tools.__init__
 TestON.drivers.common.clidriver.CLI.__init__
-TestON.drivers.common.webdriver.WebDriver.__init__
-TestON.drivers.component.Component.__init__
 TestON.examples.Assert.Assert.Assert.__init__
 TestON.examples.CaseParams.CaseParams.CaseParams.__init__
 TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
 TestON.examples.StepParams.StepParams.StepParams.__init__
 TestON.examples.Topology.Topology.Topology.__init__
-TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__
-TestON.tests.FvtTest.FvtTest.FvtTest.__init__
-TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__
-TestON.tests.MininetTest.MininetTest.MininetTest.__init__
-TestON.tests.PoxTest.PoxTest.PoxTest.__init__
-TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__
-TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__" class="py-name" href="#" onclick="return doclink('link-10', '__init__', 'link-10');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wrapped</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt><tt class="py-name">__name__</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">     </tt>
-<a name="DpctlCliDriver.connect"></a><div id="DpctlCliDriver.connect-def"><a name="L28"></a><tt class="py-lineno"> 28</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.connect-toggle" onclick="return toggle('DpctlCliDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect">connect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">connectargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DpctlCliDriver.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.connect-expanded"><a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">         </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt>        </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">         </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">         </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver" class="py-name" href="#" onclick="return doclink('link-11', 'DpctlCliDriver', 'link-9');">DpctlCliDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect,Method TestON.drivers.common.webdriver.WebDriver.connect()=TestON.drivers.common.webdriver.WebDriver-class.html#connect,Method TestON.drivers.component.Component.connect()=TestON.drivers.component.Component-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-6', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wrapped</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt> <tt class="py-name">__name__</tt> <tt class="py-op">]</tt> </tt>
+</div><a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
+<a name="DpctlCliDriver.connect"></a><div id="DpctlCliDriver.connect-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.connect-toggle" onclick="return toggle('DpctlCliDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DpctlCliDriver.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.connect-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt> <tt class="py-string">'name'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">                   <tt id="link-7" class="py-name"><a title="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver" class="py-name" href="#" onclick="return doclink('link-7', 'DpctlCliDriver', 'link-5');">DpctlCliDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
-TestON.drivers.common.clidriver.CLI.connect
-TestON.drivers.common.webdriver.WebDriver.connect
-TestON.drivers.component.Component.connect" class="py-name" href="#" onclick="return doclink('link-12', 'connect', 'link-12');">connect</a></tt><tt class="py-op">(</tt><tt class="py-name">user_name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> <tt class="py-name">ip_address</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt><tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">pwd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt><tt class="py-op">)</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">:</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.drivers.component.Component.log()=TestON.drivers.component.Component-class.html#log"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Connected to the host"</tt><tt class="py-op">)</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-14', 'log', 'link-13');">log</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-15', 'error', 'link-15');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Connection failed to the host "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">+</tt><tt class="py-string">"@"</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">)</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt>  </tt>
-</div><a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"> </tt>
-<a name="DpctlCliDriver.addFlow"></a><div id="DpctlCliDriver.addFlow-def"><a name="L43"></a><tt class="py-lineno"> 43</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.addFlow-toggle" onclick="return toggle('DpctlCliDriver.addFlow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#addFlow">addFlow</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">flowParameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DpctlCliDriver.addFlow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.addFlow-expanded"><a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">         addFlow create a new flow entry into flow table using "dpctl"</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.parse_args()=TestON.core.openspeak.OpenSpeak-class.html#parse_args"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-16', 'parse_args', 'link-16');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">,</tt><tt class="py-string">"INPORT"</tt><tt class="py-op">,</tt><tt class="py-string">"ACTION"</tt><tt class="py-op">,</tt><tt class="py-string">"TIMEOUT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">flowParameters</tt><tt class="py-op">)</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl add-flow tcp:"</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-name">timeOut</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TIMEOUT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TIMEOUT"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-number">120</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-name">cmd</tt> <tt class="py-op">+</tt> <tt class="py-name">tcpIP</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">tcpPort</tt> <tt class="py-op">+</tt> <tt class="py-string">" in_port="</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"INPORT"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">",idle_timeout="</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TIMEOUT"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt><tt class="py-string">",actions="</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"ACTION"</tt><tt class="py-op">]</tt>    </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute,Method TestON.drivers.component.Component.execute()=TestON.drivers.component.Component-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-17', 'execute', 'link-17');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">cmd</tt><tt class="py-op">,</tt><tt id="link-18" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-18', 'prompt', 'link-18');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"\~\$"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">"openflow"</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Flow Added Successfully"</tt><tt class="py-op">,</tt><tt id="link-19" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-19', 'onfail', 'link-19');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Adding Flow Failed!!!"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
-<a name="DpctlCliDriver.showFlow"></a><div id="DpctlCliDriver.showFlow-def"><a name="L59"></a><tt class="py-lineno"> 59</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.showFlow-toggle" onclick="return toggle('DpctlCliDriver.showFlow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#showFlow">showFlow</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">flowParameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DpctlCliDriver.showFlow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.showFlow-expanded"><a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-docstring">         showFlow dumps the flow entries of flow table using "dpctl"</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-20', 'parse_args', 'link-16');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">flowParameters</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl show tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpIP</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpPort</tt><tt class="py-op">)</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-21', 'execute', 'link-17');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt><tt id="link-22" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-22', 'prompt', 'link-18');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"get_config_reply"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt><tt class="py-op">)</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'features_reply'</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Show flow executed"</tt><tt class="py-op">,</tt><tt id="link-23" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-23', 'onfail', 'link-19');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Show flow execution Failed"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"> </tt>
-<a name="DpctlCliDriver.dumpFlow"></a><div id="DpctlCliDriver.dumpFlow-def"><a name="L75"></a><tt class="py-lineno"> 75</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.dumpFlow-toggle" onclick="return toggle('DpctlCliDriver.dumpFlow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpFlow">dumpFlow</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">flowParameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DpctlCliDriver.dumpFlow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.dumpFlow-expanded"><a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">         dumpFlow  gives installed flow information</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-24', 'parse_args', 'link-16');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">flowParameters</tt><tt class="py-op">)</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl dump-flows tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpIP</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpPort</tt><tt class="py-op">)</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-25', 'execute', 'link-17');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt><tt id="link-26" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-26', 'prompt', 'link-18');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"type="</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt><tt class="py-op">)</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'stats_reply'</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Dump flow executed"</tt><tt class="py-op">,</tt><tt id="link-27" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-27', 'onfail', 'link-19');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Dump flow execution Failed"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">     </tt>
-<a name="DpctlCliDriver.dumpTables"></a><div id="DpctlCliDriver.dumpTables-def"><a name="L92"></a><tt class="py-lineno"> 92</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.dumpTables-toggle" onclick="return toggle('DpctlCliDriver.dumpTables');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpTables">dumpTables</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">flowParameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DpctlCliDriver.dumpTables-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.dumpTables-expanded"><a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring">         dumpTables gives statistics for each of the flow tables used by datapath switch.</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-28', 'parse_args', 'link-16');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">flowParameters</tt><tt class="py-op">)</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl dump-tables tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpIP</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpPort</tt><tt class="py-op">)</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-29', 'execute', 'link-17');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt><tt id="link-30" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-30', 'prompt', 'link-18');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"matched"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt><tt class="py-op">)</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'lookup=3'</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Dump Tables executed"</tt><tt class="py-op">,</tt><tt id="link-31" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-31', 'onfail', 'link-19');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Dump Tables execution Failed"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-8', 'connect', 'link-8');">connect</a></tt><tt class="py-op">(</tt> <tt class="py-name">user_name</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">                   <tt class="py-name">ip_address</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">                   <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">                   <tt class="py-name">pwd</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Connected to the host"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-10', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-11', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">                <tt class="py-string">"Connection failed to the host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">                <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
+<a name="DpctlCliDriver.addFlow"></a><div id="DpctlCliDriver.addFlow-def"><a name="L62"></a><tt class="py-lineno"> 62</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.addFlow-toggle" onclick="return toggle('DpctlCliDriver.addFlow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#addFlow">addFlow</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">flowParameters</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DpctlCliDriver.addFlow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.addFlow-expanded"><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">         addFlow create a new flow entry into flow table using "dpctl"</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.parse_args()=TestON.core.openspeak.OpenSpeak-class.html#parse_args"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-12', 'parse_args', 'link-12');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">                                     <tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">                                     <tt class="py-string">"TCPPORT"</tt><tt class="py-op">,</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">                                     <tt class="py-string">"INPORT"</tt><tt class="py-op">,</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">                                     <tt class="py-string">"ACTION"</tt><tt class="py-op">,</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">                                     <tt class="py-string">"TIMEOUT"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">                             <tt class="py-op">**</tt><tt class="py-name">flowParameters</tt> <tt class="py-op">)</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl add-flow tcp:"</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-name">timeOut</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TIMEOUT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TIMEOUT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-number">120</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-name">cmd</tt> <tt class="py-op">+</tt> <tt class="py-name">tcpIP</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">tcpPort</tt> <tt class="py-op">+</tt> <tt class="py-string">" in_port="</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"INPORT"</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">",idle_timeout="</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">                <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TIMEOUT"</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">",actions="</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"ACTION"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-13', 'execute', 'link-13');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">cmd</tt><tt class="py-op">,</tt> <tt id="link-14" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-14', 'prompt', 'link-14');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"\~\$"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">"openflow"</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt> <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Flow Added Successfully"</tt><tt class="py-op">,</tt> <tt id="link-15" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-15', 'onfail', 'link-15');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Adding Flow Failed!!!"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"> </tt>
+<a name="DpctlCliDriver.showFlow"></a><div id="DpctlCliDriver.showFlow-def"><a name="L88"></a><tt class="py-lineno"> 88</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.showFlow-toggle" onclick="return toggle('DpctlCliDriver.showFlow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#showFlow">showFlow</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">flowParameters</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DpctlCliDriver.showFlow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.showFlow-expanded"><a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring">         showFlow dumps the flow entries of flow table using "dpctl"</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-16', 'parse_args', 'link-12');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt> <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">flowParameters</tt> <tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">            <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl show tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpIP</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpPort</tt> <tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-17', 'execute', 'link-13');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt id="link-18" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-18', 'prompt', 'link-14');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"get_config_reply"</tt><tt class="py-op">,</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt> <tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'features_reply'</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt> <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Show flow executed"</tt><tt class="py-op">,</tt> <tt id="link-19" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-19', 'onfail', 'link-15');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Show flow execution Failed"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
 <a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
 <a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
 <a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">          </tt>
-<a name="DpctlCliDriver.dumpPorts"></a><div id="DpctlCliDriver.dumpPorts-def"><a name="L108"></a><tt class="py-lineno">108</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.dumpPorts-toggle" onclick="return toggle('DpctlCliDriver.dumpPorts');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpPorts">dumpPorts</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">flowParameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DpctlCliDriver.dumpPorts-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.dumpPorts-expanded"><a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-docstring">         dumpPorts gives ports information</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-32', 'parse_args', 'link-16');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">flowParameters</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl dump-ports tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpIP</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpPort</tt><tt class="py-op">)</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-33', 'execute', 'link-17');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt><tt id="link-34" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-34', 'prompt', 'link-18');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"rx pkts"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt><tt class="py-op">)</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'ports'</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Dump Ports executed"</tt><tt class="py-op">,</tt><tt id="link-35" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-35', 'onfail', 'link-19');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Dump Ports execution Failed"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"> </tt>
-<a name="DpctlCliDriver.dumpAggregate"></a><div id="DpctlCliDriver.dumpAggregate-def"><a name="L125"></a><tt class="py-lineno">125</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.dumpAggregate-toggle" onclick="return toggle('DpctlCliDriver.dumpAggregate');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpAggregate">dumpAggregate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">flowParameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DpctlCliDriver.dumpAggregate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.dumpAggregate-expanded"><a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">         dumpAggregate  gives installed flow information.ggregate statistics for flows in datapath WITCH's tables that match flows.</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">         If flows is omitted, the statistics are aggregated across all flows in the datapath's flow tables</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-36', 'parse_args', 'link-16');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">,</tt><tt class="py-string">"FLOW"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">flowParameters</tt><tt class="py-op">)</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">flow</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"FLOW"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"FLOW"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl dump-aggregate tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpIP</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpPort</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt> <tt class="py-op">(</tt><tt class="py-name">flow</tt><tt class="py-op">)</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-37', 'execute', 'link-17');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt><tt id="link-38" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-38', 'prompt', 'link-18');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"flow_count="</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt><tt class="py-op">)</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'stats_reply'</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Dump Aggregate executed"</tt><tt class="py-op">,</tt><tt id="link-39" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-39', 'onfail', 'link-19');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Dump Aggregate execution Failed"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"> </tt>
+<a name="DpctlCliDriver.dumpFlow"></a><div id="DpctlCliDriver.dumpFlow-def"><a name="L108"></a><tt class="py-lineno">108</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.dumpFlow-toggle" onclick="return toggle('DpctlCliDriver.dumpFlow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpFlow">dumpFlow</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">flowParameters</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DpctlCliDriver.dumpFlow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.dumpFlow-expanded"><a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-docstring">         dumpFlow  gives installed flow information</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-20', 'parse_args', 'link-12');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt> <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">flowParameters</tt> <tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl dump-flows tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpIP</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpPort</tt> <tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-21', 'execute', 'link-13');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> <tt id="link-22" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-22', 'prompt', 'link-14');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"type="</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt> <tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'stats_reply'</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt> <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Dump flow executed"</tt><tt class="py-op">,</tt> <tt id="link-23" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-23', 'onfail', 'link-15');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Dump flow execution Failed"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"> </tt>
+<a name="DpctlCliDriver.dumpTables"></a><div id="DpctlCliDriver.dumpTables-def"><a name="L125"></a><tt class="py-lineno">125</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.dumpTables-toggle" onclick="return toggle('DpctlCliDriver.dumpTables');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpTables">dumpTables</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">flowParameters</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DpctlCliDriver.dumpTables-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.dumpTables-expanded"><a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">         dumpTables gives statistics for each of the flow tables used by datapath switch.</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-24', 'parse_args', 'link-12');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt> <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">flowParameters</tt> <tt class="py-op">)</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl dump-tables tcp:"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpIP</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpPort</tt> <tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-25', 'execute', 'link-13');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> <tt id="link-26" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-26', 'prompt', 'link-14');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"matched"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt> <tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'lookup=3'</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt> <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Dump Tables executed"</tt><tt class="py-op">,</tt> <tt id="link-27" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-27', 'onfail', 'link-15');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Dump Tables execution Failed"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
 <a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
 <a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
 <a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
 </div><a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"> </tt>
-<a name="DpctlCliDriver.delFlow"></a><div id="DpctlCliDriver.delFlow-def"><a name="L143"></a><tt class="py-lineno">143</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.delFlow-toggle" onclick="return toggle('DpctlCliDriver.delFlow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#delFlow">delFlow</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">flowParameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DpctlCliDriver.delFlow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.delFlow-expanded"><a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-docstring">         delFlow Deletes entries from the datapath switch's tables that match flow</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-40', 'parse_args', 'link-16');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">,</tt><tt class="py-string">"FLOW"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">flowParameters</tt><tt class="py-op">)</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-name">flow</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"FLOW"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"FLOW"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl del-flows tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpIP</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpPort</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">flow</tt><tt class="py-op">)</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-41', 'execute', 'link-17');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt><tt id="link-42" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-42', 'prompt', 'link-18');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"ETH-Tutorial"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt><tt class="py-op">)</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'@'</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Delete flow executed"</tt><tt class="py-op">,</tt><tt id="link-43" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-43', 'onfail', 'link-19');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Delete flow execution Failed"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="DpctlCliDriver.dumpPorts"></a><div id="DpctlCliDriver.dumpPorts-def"><a name="L143"></a><tt class="py-lineno">143</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.dumpPorts-toggle" onclick="return toggle('DpctlCliDriver.dumpPorts');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpPorts">dumpPorts</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">flowParameters</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DpctlCliDriver.dumpPorts-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.dumpPorts-expanded"><a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-docstring">         dumpPorts gives ports information</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-28', 'parse_args', 'link-12');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt> <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">flowParameters</tt> <tt class="py-op">)</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl dump-ports tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpIP</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpPort</tt> <tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-29', 'execute', 'link-13');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> <tt id="link-30" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-30', 'prompt', 'link-14');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"rx pkts"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt> <tt class="py-op">)</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'ports'</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt> <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Dump Ports executed"</tt><tt class="py-op">,</tt> <tt id="link-31" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-31', 'onfail', 'link-15');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Dump Ports execution Failed"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
 <a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
 <a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
 <a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
 </div><a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"> </tt>
-<a name="DpctlCliDriver.show"></a><div id="DpctlCliDriver.show-def"><a name="L160"></a><tt class="py-lineno">160</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.show-toggle" onclick="return toggle('DpctlCliDriver.show');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#show">show</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">flowParameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DpctlCliDriver.show-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.show-expanded"><a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">         show gives information on datapath switch including information on its flow tables and ports.</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-44', 'parse_args', 'link-16');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">flowParameters</tt><tt class="py-op">)</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl show tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpIP</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpPort</tt><tt class="py-op">)</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-45', 'execute', 'link-17');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt><tt id="link-46" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-46', 'prompt', 'link-18');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"miss_send_len="</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt><tt class="py-op">)</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'get_config_reply'</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"show command executed"</tt><tt class="py-op">,</tt><tt id="link-47" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-47', 'onfail', 'link-19');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"show command execution Failed"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"> </tt>
-<a name="DpctlCliDriver.showStatus"></a><div id="DpctlCliDriver.showStatus-def"><a name="L176"></a><tt class="py-lineno">176</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.showStatus-toggle" onclick="return toggle('DpctlCliDriver.showStatus');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#showStatus">showStatus</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">flowParameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DpctlCliDriver.showStatus-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.showStatus-expanded"><a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-docstring">         showStatus gives a series of key-value pairs that report the status of switch. </tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-docstring">         If key is specified, only the key-value pairs whose key names begin with key are printed. </tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-48', 'parse_args', 'link-16');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">,</tt><tt class="py-string">"KEY"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">flowParameters</tt><tt class="py-op">)</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"KEY"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"KEY"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl status tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpIP</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpPort</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">key</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-49', 'execute', 'link-17');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt><tt id="link-50" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-50', 'prompt', 'link-18');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt><tt class="py-op">)</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'(.*)'</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"show command executed"</tt><tt class="py-op">,</tt><tt id="link-51" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-51', 'onfail', 'link-19');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"show command execution Failed"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"> </tt>
-<a name="DpctlCliDriver.desc_set"></a><div id="DpctlCliDriver.desc_set-def"><a name="L194"></a><tt class="py-lineno">194</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.desc_set-toggle" onclick="return toggle('DpctlCliDriver.desc_set');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#desc_set">desc_set</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">flowParameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DpctlCliDriver.desc_set-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.desc_set-expanded"><a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"><tt class="py-docstring">         desc_set Sets the switch description (as returned in ofp_desc_stats) to string (max length is DESC_STR_LEN)</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-52', 'parse_args', 'link-16');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">,</tt><tt class="py-string">"STRING"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">flowParameters</tt><tt class="py-op">)</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-name">string</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"STRING"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"STRING"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">" DESC_STR_LEN"</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl desc tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpIP</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpPort</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">string</tt><tt class="py-op">)</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-53', 'execute', 'link-17');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt><tt id="link-54" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-54', 'prompt', 'link-18');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"ETH-Tutorial"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt><tt class="py-op">)</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'@'</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"desc command executed"</tt><tt class="py-op">,</tt><tt id="link-55" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-55', 'onfail', 'link-19');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"desc command execution Failed"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"> </tt>
-<a name="DpctlCliDriver.dumpDesc"></a><div id="DpctlCliDriver.dumpDesc-def"><a name="L211"></a><tt class="py-lineno">211</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.dumpDesc-toggle" onclick="return toggle('DpctlCliDriver.dumpDesc');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpDesc">dumpDesc</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">flowParameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="DpctlCliDriver.dumpDesc-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.dumpDesc-expanded"><a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"><tt class="py-docstring">         dumpDesc Sets the switch description (as returned in ofp_desc_stats) to string (max length is DESC_STR_LEN)</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-56', 'parse_args', 'link-16');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">,</tt><tt class="py-string">"STRING"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">flowParameters</tt><tt class="py-op">)</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPIP"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TCPPORT"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl dump-desc tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpIP</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpPort</tt><tt class="py-op">)</tt>  </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-57', 'execute', 'link-17');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt><tt id="link-58" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-58', 'prompt', 'link-18');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"Serial Num:"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt><tt class="py-op">)</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'stats_reply'</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"desc command executed"</tt><tt class="py-op">,</tt><tt id="link-59" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-59', 'onfail', 'link-19');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"desc command execution Failed"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="DpctlCliDriver.dumpAggregate"></a><div id="DpctlCliDriver.dumpAggregate-def"><a name="L160"></a><tt class="py-lineno">160</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.dumpAggregate-toggle" onclick="return toggle('DpctlCliDriver.dumpAggregate');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpAggregate">dumpAggregate</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">flowParameters</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DpctlCliDriver.dumpAggregate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.dumpAggregate-expanded"><a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">         dumpAggregate  gives installed flow information.ggregate statistics for flows in datapath WITCH's tables that match flows.</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring">         If flows is omitted, the statistics are aggregated across all flows in the datapath's flow tables</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-32', 'parse_args', 'link-12');">parse_args</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">            <tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt> <tt class="py-string">"TCPPORT"</tt><tt class="py-op">,</tt> <tt class="py-string">"FLOW"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">flowParameters</tt> <tt class="py-op">)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">            <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-name">flow</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"FLOW"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"FLOW"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl dump-aggregate tcp:"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpIP</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpPort</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">flow</tt> <tt class="py-op">)</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-33', 'execute', 'link-13');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">            <tt id="link-34" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-34', 'prompt', 'link-14');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"flow_count="</tt><tt class="py-op">,</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt> <tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'stats_reply'</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt> <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Dump Aggregate executed"</tt><tt class="py-op">,</tt> <tt id="link-35" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-35', 'onfail', 'link-15');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Dump Aggregate execution Failed"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"> </tt>
+<a name="DpctlCliDriver.delFlow"></a><div id="DpctlCliDriver.delFlow-def"><a name="L184"></a><tt class="py-lineno">184</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.delFlow-toggle" onclick="return toggle('DpctlCliDriver.delFlow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#delFlow">delFlow</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">flowParameters</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DpctlCliDriver.delFlow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.delFlow-expanded"><a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-docstring">         delFlow Deletes entries from the datapath switch's tables that match flow</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-36', 'parse_args', 'link-12');">parse_args</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">            <tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt> <tt class="py-string">"TCPPORT"</tt><tt class="py-op">,</tt> <tt class="py-string">"FLOW"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">flowParameters</tt> <tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">            <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-name">flow</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"FLOW"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"FLOW"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl del-flows tcp:"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpIP</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpPort</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">flow</tt> <tt class="py-op">)</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-37', 'execute', 'link-13');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">            <tt id="link-38" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-38', 'prompt', 'link-14');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"ETH-Tutorial"</tt><tt class="py-op">,</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt> <tt class="py-op">)</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'@'</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt> <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Delete flow executed"</tt><tt class="py-op">,</tt> <tt id="link-39" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-39', 'onfail', 'link-15');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Delete flow execution Failed"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line"> </tt>
+<a name="DpctlCliDriver.show"></a><div id="DpctlCliDriver.show-def"><a name="L207"></a><tt class="py-lineno">207</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.show-toggle" onclick="return toggle('DpctlCliDriver.show');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#show">show</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">flowParameters</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DpctlCliDriver.show-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.show-expanded"><a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"><tt class="py-docstring">         show gives information on datapath switch including information on its flow tables and ports.</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-40', 'parse_args', 'link-12');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt> <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">flowParameters</tt> <tt class="py-op">)</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">            <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl show tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpIP</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpPort</tt> <tt class="py-op">)</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-41', 'execute', 'link-13');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">            <tt id="link-42" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-42', 'prompt', 'link-14');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"miss_send_len="</tt><tt class="py-op">,</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt> <tt class="py-op">)</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'get_config_reply'</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt> <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"show command executed"</tt><tt class="py-op">,</tt> <tt id="link-43" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-43', 'onfail', 'link-15');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"show command execution Failed"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
 <a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
 <a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
 <a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div></div><a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">!=</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">    <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt><tt class="py-name">__name__</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-60" class="py-name"><a title="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver" class="py-name" href="#" onclick="return doclink('link-60', 'DpctlCliDriver', 'link-9');">DpctlCliDriver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+</div><a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"> </tt>
+<a name="DpctlCliDriver.showStatus"></a><div id="DpctlCliDriver.showStatus-def"><a name="L227"></a><tt class="py-lineno">227</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.showStatus-toggle" onclick="return toggle('DpctlCliDriver.showStatus');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#showStatus">showStatus</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">flowParameters</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DpctlCliDriver.showStatus-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.showStatus-expanded"><a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">         showStatus gives a series of key-value pairs that report the status of switch.</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring">         If key is specified, only the key-value pairs whose key names begin with key are printed.</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-44', 'parse_args', 'link-12');">parse_args</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">            <tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt> <tt class="py-string">"TCPPORT"</tt><tt class="py-op">,</tt> <tt class="py-string">"KEY"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">flowParameters</tt> <tt class="py-op">)</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">            <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"KEY"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"KEY"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl status tcp:"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpIP</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpPort</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">key</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-45', 'execute', 'link-13');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> <tt id="link-46" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-46', 'prompt', 'link-14');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"(.*)"</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt> <tt class="py-op">)</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'(.*)'</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt> <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"show command executed"</tt><tt class="py-op">,</tt> <tt id="link-47" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-47', 'onfail', 'link-15');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"show command execution Failed"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"> </tt>
+<a name="DpctlCliDriver.desc_set"></a><div id="DpctlCliDriver.desc_set-def"><a name="L248"></a><tt class="py-lineno">248</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.desc_set-toggle" onclick="return toggle('DpctlCliDriver.desc_set');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#desc_set">desc_set</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">flowParameters</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DpctlCliDriver.desc_set-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.desc_set-expanded"><a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"><tt class="py-docstring">         desc_set Sets the switch description ( as returned in ofp_desc_stats ) to string ( max length is DESC_STR_LEN )</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-48', 'parse_args', 'link-12');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">                                     <tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">                                     <tt class="py-string">"TCPPORT"</tt><tt class="py-op">,</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">                                     <tt class="py-string">"STRING"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">                            <tt class="py-op">**</tt><tt class="py-name">flowParameters</tt> <tt class="py-op">)</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">            <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-name">string</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"STRING"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">            <tt class="py-string">"STRING"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">" DESC_STR_LEN"</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl desc tcp:"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpIP</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpPort</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">string</tt> <tt class="py-op">)</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-49', 'execute', 'link-13');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">            <tt id="link-50" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-50', 'prompt', 'link-14');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"ETH-Tutorial"</tt><tt class="py-op">,</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt> <tt class="py-op">)</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'@'</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt> <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"desc command executed"</tt><tt class="py-op">,</tt> <tt id="link-51" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-51', 'onfail', 'link-15');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"desc command execution Failed"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div><a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"> </tt>
+<a name="DpctlCliDriver.dumpDesc"></a><div id="DpctlCliDriver.dumpDesc-def"><a name="L276"></a><tt class="py-lineno">276</tt> <a class="py-toggle" href="#" id="DpctlCliDriver.dumpDesc-toggle" onclick="return toggle('DpctlCliDriver.dumpDesc');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpDesc">dumpDesc</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">flowParameters</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="DpctlCliDriver.dumpDesc-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="DpctlCliDriver.dumpDesc-expanded"><a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line"><tt class="py-docstring">         dumpDesc Sets the switch description ( as returned in ofp_desc_stats ) to string ( max length is DESC_STR_LEN )</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-52', 'parse_args', 'link-12');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">                                     <tt class="py-string">"TCPIP"</tt><tt class="py-op">,</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">                                     <tt class="py-string">"TCPPORT"</tt><tt class="py-op">,</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">                                     <tt class="py-string">"STRING"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">                             <tt class="py-op">**</tt><tt class="py-name">flowParameters</tt> <tt class="py-op">)</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line"> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">        <tt class="py-name">tcpIP</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPIP"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"127.0.0.1"</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">        <tt class="py-name">tcpPort</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">            <tt class="py-string">"TCPPORT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">else</tt> <tt class="py-string">"6634"</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">        <tt class="py-name">command</tt> <tt class="py-op">=</tt> <tt class="py-string">"dpctl dump-desc tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpIP</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">tcpPort</tt> <tt class="py-op">)</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-53', 'execute', 'link-13');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">            <tt id="link-54" class="py-name"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-54', 'prompt', 'link-14');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"Serial Num:"</tt><tt class="py-op">,</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">240</tt> <tt class="py-op">)</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">'stats_reply'</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">response</tt><tt class="py-op">,</tt> <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"desc command executed"</tt><tt class="py-op">,</tt> <tt id="link-55" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-55', 'onfail', 'link-15');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"desc command execution Failed"</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+</div></div><a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line"> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">!=</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">    <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt> <tt class="py-name">__name__</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-56" class="py-name"><a title="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver" class="py-name" href="#" onclick="return doclink('link-56', 'DpctlCliDriver', 'link-5');">DpctlCliDriver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -393,13 +501,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html
index 7452beb..cd188f1 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -61,18 +66,16 @@
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
 <h1 class="epydoc">Class DpctlCliDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.tool.dpctlclidriver-pysrc.html#DpctlCliDriver">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-         object --+            
-                  |            
-<a href="TestON.drivers.component.Component-class.html">component.Component</a> --+        
-                      |        
-          <a href="TestON.drivers.common.clidriver.CLI-class.html">clidriver.CLI</a> --+    
-                          |    
-          <a href="TestON.drivers.common.cli.toolsdriver.Tools-class.html">toolsdriver.Tools</a> --+
-                              |
-                             <strong class="uidshort">DpctlCliDriver</strong>
-</pre>
-
+<center>
+<center>  <map id="class_hierarchy_for_dpctlclidr" name="class_hierarchy_for_dpctlclidr">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html" title="DpctlCliDriver" alt="" coords="5,6,109,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.cli.toolsdriver.Tools-class.html" title="toolsdriver.Tools" alt="" coords="134,6,252,31"/>
+<area shape="rect" id="node3" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="277,6,368,31"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="component.Component" alt="" coords="393,6,551,31"/>
+</map>
+  <img src="class_hierarchy_for_dpctlclidr.gif" alt='' usemap="#class_hierarchy_for_dpctlclidr" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
 <hr />
 <p>DpctlCliDriver driver class provides the basic functions of DPCTL 
   controller</p>
@@ -101,7 +104,7 @@
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td><span class="summary-sig"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.cli.tool.dpctlclidriver-pysrc.html#DpctlCliDriver.__init__">source&nbsp;code</a></span>
             
@@ -305,8 +308,8 @@
         <tr>
           <td><span class="summary-sig"><a name="desc_set"></a><span class="summary-sig-name">desc_set</span>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">**flowParameters</span>)</span><br />
-      desc_set Sets the switch description (as returned in ofp_desc_stats) 
-      to string (max length is DESC_STR_LEN)</td>
+      desc_set Sets the switch description ( as returned in ofp_desc_stats 
+      ) to string ( max length is DESC_STR_LEN )</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.cli.tool.dpctlclidriver-pysrc.html#DpctlCliDriver.desc_set">source&nbsp;code</a></span>
             
@@ -324,8 +327,8 @@
         <tr>
           <td><span class="summary-sig"><a name="dumpDesc"></a><span class="summary-sig-name">dumpDesc</span>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">**flowParameters</span>)</span><br />
-      dumpDesc Sets the switch description (as returned in ofp_desc_stats) 
-      to string (max length is DESC_STR_LEN)</td>
+      dumpDesc Sets the switch description ( as returned in ofp_desc_stats 
+      ) to string ( max length is DESC_STR_LEN )</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.cli.tool.dpctlclidriver-pysrc.html#DpctlCliDriver.dumpDesc">source&nbsp;code</a></span>
             
@@ -335,23 +338,130 @@
       
     </td>
   </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.disconnect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**execparams</span>)</span><br />
+      It facilitates the command line execution of a given command.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">default</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">user_name</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">filepath</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">dst_path</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
   <tr>
     <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="TestON.drivers.common.clidriver.CLI-class.html">clidriver.CLI</a></code></b>:
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#disconnect">disconnect</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#execute">execute</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#onfail">onfail</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser">runAsSudoUser</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy">secureCopy</a></code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="TestON.drivers.component.Component-class.html">component.Component</a></code></b>:
-      <code><a href="TestON.drivers.component.Component-class.html#__getattr__">__getattr__</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#cleanup">cleanup</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#close_log_handles">close_log_handles</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#config">config</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#experimentRun">experimentRun</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#get_version">get_version</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#log">log</a></code>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
       </p>
     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
       <code>__delattr__</code>,
@@ -428,8 +538,7 @@
     </td>
   </tr></table>
   
-  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
-  signature</p>
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
   <dl class="fields">
     <dt>Overrides:
         object.__init__
@@ -458,7 +567,7 @@
   the handle.</p>
   <dl class="fields">
     <dt>Overrides:
-        <a href="TestON.drivers.component.Component-class.html#connect">component.Component.connect</a>
+        component.Component.connect
     </dt>
   </dl>
 </td></tr></table>
@@ -529,13 +638,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.toolsdriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.toolsdriver-module.html
index 3b39259..ca9a9d5 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.toolsdriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.toolsdriver-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -59,13 +64,28 @@
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
 <h1 class="epydoc">Module toolsdriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.toolsdriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 26-Nov-2012</p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Raghav Kashyap(raghavkashyap@paxterrasolutions.com)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 26-Nov-2012
+
+author:: Raghav Kashyap( raghavkashyap@paxterrasolutions.com )
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    ( at your option ) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -110,13 +130,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.toolsdriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.toolsdriver-pysrc.html
index f9516bb..57039f5 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.toolsdriver-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.toolsdriver-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,59 +65,101 @@
 <h1 class="epydoc">Source Code for <a href="TestON.drivers.common.cli.toolsdriver-module.html">Module TestON.drivers.common.cli.toolsdriver</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
 <a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 26-Nov-2012</tt> </tt>
 <a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Raghav Kashyap(raghavkashyap@paxterrasolutions.com)</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt>   </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt><tt class="py-op">,</tt> <tt class="py-name">fcntl</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">signal</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-0', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"../"</tt><tt class="py-op">)</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-1', 'drivers', 'link-1');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-2', 'common', 'link-2');">common</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module TestON.drivers.common.clidriver=TestON.drivers.common.clidriver-module.html"><a title="TestON.drivers.common.clidriver" class="py-name" href="#" onclick="return doclink('link-3', 'clidriver', 'link-3');">clidriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
-TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-4', 'CLI', 'link-4');">CLI</a></tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"> </tt>
-<a name="Tools"></a><div id="Tools-def"><a name="L14"></a><tt class="py-lineno">14</tt> <a class="py-toggle" href="#" id="Tools-toggle" onclick="return toggle('Tools');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.toolsdriver.Tools-class.html">Tools</a><tt class="py-op">(</tt><tt class="py-base-class">CLI</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Tools-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Tools-expanded"><a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">    <tt class="py-comment"># The common functions for Tools included in toolsdriver</tt> </tt>
-<a name="Tools.__init__"></a><div id="Tools.__init__-def"><a name="L16"></a><tt class="py-lineno">16</tt> <a class="py-toggle" href="#" id="Tools.__init__-toggle" onclick="return toggle('Tools.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Tools.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Tools.__init__-expanded"><a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-5" class="py-name"><a title="TestON.bin.cli.CLI
-TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-5', 'CLI', 'link-4');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.drivers.common.webdriver.WebDriver.__init__()=TestON.drivers.common.webdriver.WebDriver-class.html#__init__,Method TestON.drivers.component.Component.__init__()=TestON.drivers.component.Component-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__()=TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#__init__,Method TestON.tests.FvtTest.FvtTest.FvtTest.__init__()=TestON.tests.FvtTest.FvtTest.FvtTest-class.html#__init__,Method TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__()=TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#__init__,Method TestON.tests.MininetTest.MininetTest.MininetTest.__init__()=TestON.tests.MininetTest.MininetTest.MininetTest-class.html#__init__,Method TestON.tests.PoxTest.PoxTest.PoxTest.__init__()=TestON.tests.PoxTest.PoxTest.PoxTest-class.html#__init__,Method TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__()=TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#__init__,Method TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__()=TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">author:: Raghav Kashyap( raghavkashyap@paxterrasolutions.com )</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    ( at your option ) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package TestON.drivers.common=TestON.drivers.common-module.html"><a title="TestON.drivers.common" class="py-name" href="#" onclick="return doclink('link-1', 'common', 'link-1');">common</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.drivers.common.clidriver=TestON.drivers.common.clidriver-module.html"><a title="TestON.drivers.common.clidriver" class="py-name" href="#" onclick="return doclink('link-2', 'clidriver', 'link-2');">clidriver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-3', 'CLI', 'link-3');">CLI</a></tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"> </tt>
+<a name="Tools"></a><div id="Tools-def"><a name="L25"></a><tt class="py-lineno">25</tt> <a class="py-toggle" href="#" id="Tools-toggle" onclick="return toggle('Tools');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.cli.toolsdriver.Tools-class.html">Tools</a><tt class="py-op">(</tt> <tt class="py-base-class">CLI</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Tools-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Tools-expanded"><a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">    <tt class="py-comment"># The common functions for Tools included in toolsdriver</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"> </tt>
+<a name="Tools.__init__"></a><div id="Tools.__init__-def"><a name="L28"></a><tt class="py-lineno">28</tt> <a class="py-toggle" href="#" id="Tools.__init__-toggle" onclick="return toggle('Tools.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Tools.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Tools.__init__-expanded"><a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-4" class="py-name"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-4', 'CLI', 'link-3');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
 TestON.bin.cli.TestThread.__init__
 TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
 TestON.bin.updatedriver.UpdateDriver.__init__
 TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
 TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
 TestON.core.openspeak.OpenSpeak.__init__
 TestON.core.teston.TestON.__init__
 TestON.core.testparser.TestParser.__init__
 TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
 TestON.drivers.common.api.controllerdriver.Controller.__init__
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
 TestON.drivers.common.cli.emulatordriver.Emulator.__init__
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
 TestON.drivers.common.cli.toolsdriver.Tools.__init__
 TestON.drivers.common.clidriver.CLI.__init__
-TestON.drivers.common.webdriver.WebDriver.__init__
-TestON.drivers.component.Component.__init__
 TestON.examples.Assert.Assert.Assert.__init__
 TestON.examples.CaseParams.CaseParams.CaseParams.__init__
 TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
 TestON.examples.StepParams.StepParams.StepParams.__init__
 TestON.examples.Topology.Topology.Topology.__init__
-TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__
-TestON.tests.FvtTest.FvtTest.FvtTest.__init__
-TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__
-TestON.tests.MininetTest.MininetTest.MininetTest.__init__
-TestON.tests.PoxTest.PoxTest.PoxTest.__init__
-TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__
-TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__" class="py-name" href="#" onclick="return doclink('link-6', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-5', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -139,13 +186,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.toolsdriver.Tools-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.toolsdriver.Tools-class.html
index 28c03f5..6a30269 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.toolsdriver.Tools-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.cli.toolsdriver.Tools-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -60,16 +65,15 @@
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
 <h1 class="epydoc">Class Tools</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.cli.toolsdriver-pysrc.html#Tools">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-         object --+        
-                  |        
-<a href="TestON.drivers.component.Component-class.html">component.Component</a> --+    
-                      |    
-          <a href="TestON.drivers.common.clidriver.CLI-class.html">clidriver.CLI</a> --+
-                          |
-                         <strong class="uidshort">Tools</strong>
-</pre>
-
+<center>
+<center>  <map id="class_hierarchy_for_tools" name="class_hierarchy_for_tools">
+<area shape="rect" id="node1" href="TestON.drivers.common.cli.toolsdriver.Tools-class.html" title="Tools" alt="" coords="5,6,59,31"/>
+<area shape="rect" id="node2" href="TestON.drivers.common.clidriver.CLI-class.html" title="clidriver.CLI" alt="" coords="83,6,175,31"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="component.Component" alt="" coords="200,6,357,31"/>
+</map>
+  <img src="class_hierarchy_for_tools.gif" alt='' usemap="#class_hierarchy_for_tools" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
 <hr />
 <!-- ==================== INSTANCE METHODS ==================== -->
 <a name="section-InstanceMethods"></a>
@@ -95,7 +99,7 @@
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td><span class="summary-sig"><a href="TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.cli.toolsdriver-pysrc.html#Tools.__init__">source&nbsp;code</a></span>
             
@@ -105,24 +109,149 @@
       
     </td>
   </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**connectargs</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.connect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#disconnect" class="summary-sig-name">disconnect</a>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.disconnect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**execparams</span>)</span><br />
+      It facilitates the command line execution of a given command.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="onfail"></a><span class="summary-sig-name">onfail</span>(<span class="summary-sig-arg">self</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.onfail">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">handle</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">default</span>)</span>
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.runAsSudoUser">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy" class="summary-sig-name">secureCopy</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">user_name</span>,
+        <span class="summary-sig-arg">ip_address</span>,
+        <span class="summary-sig-arg">filepath</span>,
+        <span class="summary-sig-arg">pwd</span>,
+        <span class="summary-sig-arg">dst_path</span>)</span><br />
+      Connection will establish to the remote host using ssh.
+      <em>(Inherited from <a href="TestON.drivers.common.clidriver.CLI-class.html">TestON.drivers.common.clidriver.CLI</a>)</em></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.secureCopy">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
   <tr>
     <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="TestON.drivers.common.clidriver.CLI-class.html">clidriver.CLI</a></code></b>:
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#connect">connect</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#disconnect">disconnect</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#execute">execute</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#onfail">onfail</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser">runAsSudoUser</a></code>,
-      <code><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy">secureCopy</a></code>
-      </p>
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="TestON.drivers.component.Component-class.html">component.Component</a></code></b>:
-      <code><a href="TestON.drivers.component.Component-class.html#__getattr__">__getattr__</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#cleanup">cleanup</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#close_log_handles">close_log_handles</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#config">config</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#experimentRun">experimentRun</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#get_version">get_version</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#log">log</a></code>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
       </p>
     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
       <code>__delattr__</code>,
@@ -199,8 +328,7 @@
     </td>
   </tr></table>
   
-  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
-  signature</p>
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
   <dl class="fields">
     <dt>Overrides:
         object.__init__
@@ -230,13 +358,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.clidriver-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.clidriver-module.html
index cde5a63..9a8edbf 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.clidriver-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.clidriver-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -58,14 +63,30 @@
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
 <h1 class="epydoc">Module clidriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 24-Oct-2012</p>
+<pre class="literalblock">
 
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com), Raghav 
-        Kashyap(raghavkashyap@paxterrasolutions.com)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
+Created on 24-Oct-2012
+
+author:s: Anil Kumar ( anilkumar.s@paxterrasolutions.com ),
+          Raghav Kashyap( raghavkashyap@paxterrasolutions.com )
+
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    ( at your option ) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
@@ -111,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.clidriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.clidriver-pysrc.html
index 5baa3ea..c52c04f 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.clidriver-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.clidriver-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -59,251 +64,417 @@
 <h1 class="epydoc">Source Code for <a href="TestON.drivers.common.clidriver-module.html">Module TestON.drivers.common.clidriver</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
 <a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 24-Oct-2012</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">@authors: Anil Kumar (anilkumar.s@paxterrasolutions.com),</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">          Raghav Kashyap(raghavkashyap@paxterrasolutions.com)</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">          </tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt><tt class="py-op">,</tt> <tt class="py-name">fcntl</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">signal</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-0', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"../"</tt><tt class="py-op">)</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-1', 'drivers', 'link-1');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.drivers.component=TestON.drivers.component-module.html"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-2', 'component', 'link-2');">component</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class TestON.drivers.component.Component=TestON.drivers.component.Component-class.html"><a title="TestON.drivers.component.Component" class="py-name" href="#" onclick="return doclink('link-3', 'Component', 'link-3');">Component</a></tt> </tt>
-<a name="CLI"></a><div id="CLI-def"><a name="L15"></a><tt class="py-lineno"> 15</tt> <a class="py-toggle" href="#" id="CLI-toggle" onclick="return toggle('CLI');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.clidriver.CLI-class.html">CLI</a><tt class="py-op">(</tt><tt class="py-base-class">Component</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="CLI-expanded"><a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">        This will define common functions for CLI included.</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="CLI.__init__"></a><div id="CLI.__init__-def"><a name="L19"></a><tt class="py-lineno"> 19</tt> <a class="py-toggle" href="#" id="CLI.__init__-toggle" onclick="return toggle('CLI.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.clidriver.CLI-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.__init__-expanded"><a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-4" class="py-name"><a title="TestON.drivers.component.Component" class="py-name" href="#" onclick="return doclink('link-4', 'Component', 'link-3');">Component</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.drivers.common.webdriver.WebDriver.__init__()=TestON.drivers.common.webdriver.WebDriver-class.html#__init__,Method TestON.drivers.component.Component.__init__()=TestON.drivers.component.Component-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__()=TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#__init__,Method TestON.tests.FvtTest.FvtTest.FvtTest.__init__()=TestON.tests.FvtTest.FvtTest.FvtTest-class.html#__init__,Method TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__()=TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#__init__,Method TestON.tests.MininetTest.MininetTest.MininetTest.__init__()=TestON.tests.MininetTest.MininetTest.MininetTest-class.html#__init__,Method TestON.tests.PoxTest.PoxTest.PoxTest.__init__()=TestON.tests.PoxTest.PoxTest.PoxTest-class.html#__init__,Method TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__()=TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#__init__,Method TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__()=TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">author:s: Anil Kumar ( anilkumar.s@paxterrasolutions.com ),</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">          Raghav Kashyap( raghavkashyap@paxterrasolutions.com )</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">    ( at your option ) any later version.</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-0', 'drivers', 'link-0');">drivers</a></tt><tt class="py-op">.</tt><tt class="py-name">component</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Component</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
+<a name="CLI"></a><div id="CLI-def"><a name="L31"></a><tt class="py-lineno"> 31</tt> <a class="py-toggle" href="#" id="CLI-toggle" onclick="return toggle('CLI');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.clidriver.CLI-class.html">CLI</a><tt class="py-op">(</tt> <tt class="py-base-class">Component</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="CLI-expanded"><a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring">        This will define common functions for CLI included.</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="CLI.__init__"></a><div id="CLI.__init__-def"><a name="L36"></a><tt class="py-lineno"> 36</tt> <a class="py-toggle" href="#" id="CLI.__init__-toggle" onclick="return toggle('CLI.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.clidriver.CLI-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.__init__-expanded"><a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt class="py-name">Component</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
 TestON.bin.cli.TestThread.__init__
 TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
 TestON.bin.updatedriver.UpdateDriver.__init__
 TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
 TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
 TestON.core.openspeak.OpenSpeak.__init__
 TestON.core.teston.TestON.__init__
 TestON.core.testparser.TestParser.__init__
 TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
 TestON.drivers.common.api.controllerdriver.Controller.__init__
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
 TestON.drivers.common.cli.emulatordriver.Emulator.__init__
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
 TestON.drivers.common.cli.toolsdriver.Tools.__init__
 TestON.drivers.common.clidriver.CLI.__init__
-TestON.drivers.common.webdriver.WebDriver.__init__
-TestON.drivers.component.Component.__init__
 TestON.examples.Assert.Assert.Assert.__init__
 TestON.examples.CaseParams.CaseParams.CaseParams.__init__
 TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
 TestON.examples.StepParams.StepParams.StepParams.__init__
 TestON.examples.Topology.Topology.Topology.__init__
-TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__
-TestON.tests.FvtTest.FvtTest.FvtTest.__init__
-TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__
-TestON.tests.MininetTest.MininetTest.MininetTest.__init__
-TestON.tests.PoxTest.PoxTest.PoxTest.__init__
-TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__
-TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__" class="py-name" href="#" onclick="return doclink('link-5', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">         </tt>
-<a name="CLI.connect"></a><div id="CLI.connect-def"><a name="L22"></a><tt class="py-lineno"> 22</tt> <a class="py-toggle" href="#" id="CLI.connect-toggle" onclick="return toggle('CLI.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.clidriver.CLI-class.html#connect">connect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">connectargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.connect-expanded"><a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">           Connection will establish to the remote host using ssh.</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">           It will take user_name ,ip_address and password as arguments&lt;br&gt;</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring">           and will return the handle. </tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">             </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">connect_result</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-6" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
-TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-6', 'CLI', 'link-6');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect,Method TestON.drivers.common.webdriver.WebDriver.connect()=TestON.drivers.common.webdriver.WebDriver-class.html#connect,Method TestON.drivers.component.Component.connect()=TestON.drivers.component.Component-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-1', '__init__', 'link-1');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
+<a name="CLI.connect"></a><div id="CLI.connect-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="CLI.connect-toggle" onclick="return toggle('CLI.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.clidriver.CLI-class.html#connect">connect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">connectargs</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.connect-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring">           Connection will establish to the remote host using ssh.</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-docstring">           It will take user_name ,ip_address and password as arguments&lt;br&gt;</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-docstring">           and will return the handle.</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt> <tt class="py-name">key</tt> <tt class="py-op">]</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-name">connect_result</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-2" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-2', 'CLI', 'link-2');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.apidriver.API.connect()=TestON.drivers.common.apidriver.API-class.html#connect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.connect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
+TestON.drivers.common.apidriver.API.connect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
-TestON.drivers.common.clidriver.CLI.connect
-TestON.drivers.common.webdriver.WebDriver.connect
-TestON.drivers.component.Component.connect" class="py-name" href="#" onclick="return doclink('link-7', 'connect', 'link-7');">connect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">ssh_newkey</tt> <tt class="py-op">=</tt> <tt class="py-string">'Are you sure you want to continue connecting'</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">refused</tt> <tt class="py-op">=</tt> <tt class="py-string">"ssh: connect to host "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">+</tt><tt class="py-string">" port 22: Connection refused"</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">:</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">spawn</tt><tt class="py-op">(</tt><tt class="py-string">'ssh -p '</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">+</tt><tt class="py-string">' '</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">+</tt><tt class="py-string">'@'</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt><tt class="py-name">maxread</tt><tt class="py-op">=</tt><tt class="py-number">50000</tt><tt class="py-op">)</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">spawn</tt><tt class="py-op">(</tt><tt class="py-string">'ssh '</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">+</tt><tt class="py-string">'@'</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt><tt class="py-name">maxread</tt><tt class="py-op">=</tt><tt class="py-number">50000</tt><tt class="py-op">)</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">             </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">logfile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logfile_handler</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">i</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">ssh_newkey</tt><tt class="py-op">,</tt><tt class="py-string">'password:'</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">,</tt><tt class="py-name">refused</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">120</tt><tt class="py-op">)</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">         </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">0</tt><tt class="py-op">:</tt>     </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.drivers.component.Component.log()=TestON.drivers.component.Component-class.html#log"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-8', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ssh key confirmation received, send yes"</tt><tt class="py-op">)</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendline</tt><tt class="py-op">(</tt><tt class="py-string">'yes'</tt><tt class="py-op">)</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">            <tt class="py-name">i</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">ssh_newkey</tt><tt class="py-op">,</tt><tt class="py-string">'password:'</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ssh connection asked for password, gave password"</tt><tt class="py-op">)</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendline</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt><tt class="py-op">)</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">'&gt;|#|$'</tt><tt class="py-op">)</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">             </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-10', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-11', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Connection timeout"</tt><tt class="py-op">)</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">3</tt><tt class="py-op">:</tt> <tt class="py-comment">#timeout</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-12', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-13', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"No route to the Host "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">+</tt><tt class="py-string">"@"</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">)</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-14', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-15', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"ssh: connect to host "</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">+</tt><tt class="py-string">" port 22: Connection refused"</tt><tt class="py-op">)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendline</tt><tt class="py-op">(</tt><tt class="py-string">"\r"</tt><tt class="py-op">)</tt>         </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
-</div><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">     </tt>
-<a name="CLI.disconnect"></a><div id="CLI.disconnect-def"><a name="L64"></a><tt class="py-lineno"> 64</tt> <a class="py-toggle" href="#" id="CLI.disconnect-toggle" onclick="return toggle('CLI.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.clidriver.CLI-class.html#disconnect">disconnect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.disconnect-expanded"><a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-16" class="py-name"><a title="TestON.bin.cli.CLI
-TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-16', 'CLI', 'link-6');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.disconnect()=TestON.bin.generatedriver.GenerateDriver-class.html#disconnect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#disconnect,Method TestON.drivers.common.clidriver.CLI.disconnect()=TestON.drivers.common.clidriver.CLI-class.html#disconnect,Method TestON.drivers.common.webdriver.WebDriver.disconnect()=TestON.drivers.common.webdriver.WebDriver-class.html#disconnect,Method TestON.drivers.component.Component.disconnect()=TestON.drivers.component.Component-class.html#disconnect"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
+TestON.drivers.common.clidriver.CLI.connect" class="py-name" href="#" onclick="return doclink('link-3', 'connect', 'link-3');">connect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-name">ssh_newkey</tt> <tt class="py-op">=</tt> <tt class="py-string">'Are you sure you want to continue connecting'</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-name">refused</tt> <tt class="py-op">=</tt> <tt class="py-string">"ssh: connect to host "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> <tt class="py-string">" port 22: Connection refused"</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">spawn</tt><tt class="py-op">(</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">                <tt class="py-string">'ssh -p '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> <tt class="py-op">+</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">                <tt class="py-string">' '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">                <tt class="py-string">'@'</tt> <tt class="py-op">+</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">                <tt class="py-name">env</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"TERM"</tt><tt class="py-op">:</tt> <tt class="py-string">"xterm-mono"</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">                <tt class="py-name">maxread</tt><tt class="py-op">=</tt><tt class="py-number">50000</tt> <tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">spawn</tt><tt class="py-op">(</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                <tt class="py-string">'ssh -X '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">                <tt class="py-string">'@'</tt> <tt class="py-op">+</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">                <tt class="py-name">env</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"TERM"</tt><tt class="py-op">:</tt> <tt class="py-string">"xterm-mono"</tt> <tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">                <tt class="py-name">maxread</tt><tt class="py-op">=</tt><tt class="py-number">1000000</tt><tt class="py-op">,</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">                <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">logfile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logfile_handler</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">5</tt><tt class="py-op">:</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">                                    <tt class="py-name">ssh_newkey</tt><tt class="py-op">,</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">                                    <tt class="py-string">'password:|Password:'</tt><tt class="py-op">,</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">                                    <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">                                    <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">,</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">                                    <tt class="py-name">refused</tt><tt class="py-op">,</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">                                    <tt class="py-string">'teston&gt;'</tt><tt class="py-op">,</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">                                    <tt class="py-string">'&gt;|#|\$'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">                            <tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt>  <tt class="py-comment"># Accept key, then expect either a password prompt or access</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-4', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ssh key confirmation received, send yes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-5', 'sendline', 'link-5');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">'yes'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-number">5</tt>  <tt class="py-comment"># Run the loop again</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt>  <tt class="py-comment"># Password required</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt><tt class="py-op">:</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-6', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">                    <tt class="py-string">"ssh connection asked for password, gave password"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-7', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Server asked for password, but none was "</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                                    <tt class="py-string">"given in the .topo file. Trying "</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">                                    <tt class="py-string">"no password."</tt><tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-8', 'sendline', 'link-5');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">                <tt class="py-name">j</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">                                        <tt class="py-string">'&gt;|#|\$'</tt><tt class="py-op">,</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                                        <tt class="py-string">'password:|Password:'</tt><tt class="py-op">,</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">                                        <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">                                        <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">                                        <tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">j</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-10', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Incorrect Password"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-11', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-12', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Connection timeout"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt>  <tt class="py-comment"># timeout</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-14', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">                    <tt class="py-string">"No route to the Host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">                    <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-15', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-16', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">                    <tt class="py-string">"ssh: connect to host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">                    <tt class="py-string">" port 22: Connection refused"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">6</tt><tt class="py-op">:</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-17', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Password not required logged in"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-18', 'sendline', 'link-5');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">'&gt;|#|\$'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+</div><a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"> </tt>
+<a name="CLI.disconnect"></a><div id="CLI.disconnect-def"><a name="L131"></a><tt class="py-lineno">131</tt> <a class="py-toggle" href="#" id="CLI.disconnect-toggle" onclick="return toggle('CLI.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.clidriver.CLI-class.html#disconnect">disconnect</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.disconnect-expanded"><a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-19" class="py-name"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-19', 'CLI', 'link-2');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.disconnect()=TestON.bin.generatedriver.GenerateDriver-class.html#disconnect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#disconnect,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#disconnect,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#disconnect,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#disconnect,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#disconnect,Method TestON.drivers.common.clidriver.CLI.disconnect()=TestON.drivers.common.clidriver.CLI-class.html#disconnect"><a title="TestON.bin.generatedriver.GenerateDriver.disconnect
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect
-TestON.drivers.common.clidriver.CLI.disconnect
-TestON.drivers.common.webdriver.WebDriver.disconnect
-TestON.drivers.component.Component.disconnect" class="py-name" href="#" onclick="return doclink('link-17', 'disconnect', 'link-17');">disconnect</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-comment">#self.execute(cmd="exit",timeout=120,prompt="(.*)")</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">     </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">     </tt>
-<a name="CLI.execute"></a><div id="CLI.execute-def"><a name="L70"></a><tt class="py-lineno"> 70</tt> <a class="py-toggle" href="#" id="CLI.execute-toggle" onclick="return toggle('CLI.execute');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.clidriver.CLI-class.html#execute">execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">execparams</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.execute-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.execute-expanded"><a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">        It facilitates the command line execution of a given command. It has arguments as :</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring">        cmd =&gt; represents command to be executed,</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">        prompt =&gt; represents expect command prompt or output,</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">        timeout =&gt; timeout for command execution,</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">        more =&gt; to provide a key press if it is on.</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">        It will return output of command exection.</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-18" class="py-name"><a title="TestON.bin.cli.CLI
-TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-18', 'CLI', 'link-6');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute,Method TestON.drivers.component.Component.execute()=TestON.drivers.component.Component-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-19', 'execute', 'link-19');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-name">defaultPrompt</tt> <tt class="py-op">=</tt> <tt class="py-string">'.*[$&gt;\#]'</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.parse_args()=TestON.core.openspeak.OpenSpeak-class.html#parse_args"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-20', 'parse_args', 'link-20');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"CMD"</tt><tt class="py-op">,</tt> <tt class="py-string">"TIMEOUT"</tt><tt class="py-op">,</tt> <tt class="py-string">"PROMPT"</tt><tt class="py-op">,</tt> <tt class="py-string">"MORE"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">execparams</tt><tt class="py-op">)</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">expectPrompt</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"PROMPT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"PROMPT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">else</tt> <tt class="py-name">defaultPrompt</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-name">timeoutVar</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TIMEOUT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TIMEOUT"</tt><tt class="py-op">]</tt> <tt class="py-keyword">else</tt> <tt class="py-number">10</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CMD"</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"CMD"</tt><tt class="py-op">]</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MORE"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">            <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MORE"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendline</tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lastCommand</tt> <tt class="py-op">=</tt> <tt class="py-name">cmd</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">expectPrompt</tt><tt class="py-op">,</tt> <tt class="py-string">"--More--"</tt><tt class="py-op">,</tt> <tt class="py-string">'Command not found.'</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">,</tt><tt class="py-string">"^:$"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeoutVar</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-21', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Expected Prompt Found"</tt><tt class="py-op">)</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">send</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MORE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-22', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Found More screen to go , Sending a key to proceed"</tt><tt class="py-op">)</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-name">indexMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"--More--"</tt><tt class="py-op">,</tt> <tt class="py-name">expectPrompt</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeoutVar</tt><tt class="py-op">)</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">indexMore</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-23', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Found anoother More screen to go , Sending a key to proceed"</tt><tt class="py-op">)</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">send</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"MORE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">                <tt class="py-name">indexMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"--More--"</tt><tt class="py-op">,</tt> <tt class="py-name">expectPrompt</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeoutVar</tt><tt class="py-op">)</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt><tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-24', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-25', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Command not found"</tt><tt class="py-op">)</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt><tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-26', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-27', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Expected Prompt not found , Time Out!!"</tt><tt class="py-op">)</tt>  </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">         </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-comment">#self.handle.send(args["MORE"])</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendcontrol</tt><tt class="py-op">(</tt><tt class="py-string">"D"</tt><tt class="py-op">)</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-28', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Found More screen to go , Sending a key to proceed"</tt><tt class="py-op">)</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-name">indexMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"^:$"</tt><tt class="py-op">,</tt> <tt class="py-name">expectPrompt</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeoutVar</tt><tt class="py-op">)</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">indexMore</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-29', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Found anoother More screen to go , Sending a key to proceed"</tt><tt class="py-op">)</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendcontrol</tt><tt class="py-op">(</tt><tt class="py-string">"D"</tt><tt class="py-op">)</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">                <tt class="py-name">indexMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"^:$"</tt><tt class="py-op">,</tt> <tt class="py-name">expectPrompt</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">timeoutVar</tt><tt class="py-op">)</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">         </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> </tt>
-</div><a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">     </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">         </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">         </tt>
-<a name="CLI.runAsSudoUser"></a><div id="CLI.runAsSudoUser-def"><a name="L133"></a><tt class="py-lineno">133</tt> <a class="py-toggle" href="#" id="CLI.runAsSudoUser-toggle" onclick="return toggle('CLI.runAsSudoUser');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser">runAsSudoUser</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">handle</tt><tt class="py-op">,</tt><tt class="py-param">pwd</tt><tt class="py-op">,</tt><tt class="py-param">default</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.runAsSudoUser-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.runAsSudoUser-expanded"><a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">         </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">".ssword:*"</tt><tt class="py-op">,</tt><tt id="link-30" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-30', 'default', 'link-30');">default</a></tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">            <tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendline</tt><tt class="py-op">(</tt><tt class="py-name">pwd</tt><tt class="py-op">)</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">            <tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendline</tt><tt class="py-op">(</tt><tt class="py-string">"\r"</tt><tt class="py-op">)</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt id="link-31" class="py-name"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-31', 'default', 'link-30');">default</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">         </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-32', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-33', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Unable to run as Sudo user"</tt><tt class="py-op">)</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">             </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
-</div><a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">         </tt>
-<a name="CLI.onfail"></a><div id="CLI.onfail-def"><a name="L148"></a><tt class="py-lineno">148</tt> <a class="py-toggle" href="#" id="CLI.onfail-toggle" onclick="return toggle('CLI.onfail');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.clidriver.CLI-class.html#onfail">onfail</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.onfail-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.onfail-expanded"><a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'onfail'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-name">commandList</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'onfail'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">command</tt> <tt class="py-keyword">in</tt> <tt class="py-name">commandList</tt> <tt class="py-op">:</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
-TestON.drivers.common.clidriver.CLI.execute
-TestON.drivers.component.Component.execute" class="py-name" href="#" onclick="return doclink('link-34', 'execute', 'link-19');">execute</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt><tt id="link-35" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-35', 'prompt', 'link-35');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"(.*)"</tt><tt class="py-op">,</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"> </tt>
-<a name="CLI.secureCopy"></a><div id="CLI.secureCopy-def"><a name="L154"></a><tt class="py-lineno">154</tt> <a class="py-toggle" href="#" id="CLI.secureCopy-toggle" onclick="return toggle('CLI.secureCopy');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy">secureCopy</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">user_name</tt><tt class="py-op">,</tt> <tt class="py-param">ip_address</tt><tt class="py-op">,</tt><tt class="py-param">filepath</tt><tt class="py-op">,</tt> <tt class="py-param">pwd</tt><tt class="py-op">,</tt><tt class="py-param">dst_path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CLI.secureCopy-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.secureCopy-expanded"><a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">         </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-comment">#scp openflow@192.168.56.101:/home/openflow/sample /home/paxterra/Desktop/</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-docstring">           Connection will establish to the remote host using ssh.</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-docstring">           It will take user_name ,ip_address and password as arguments&lt;br&gt;</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-docstring">           and will return the handle. </tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">ssh_newkey</tt> <tt class="py-op">=</tt> <tt class="py-string">'Are you sure you want to continue connecting'</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-name">refused</tt> <tt class="py-op">=</tt> <tt class="py-string">"ssh: connect to host "</tt><tt class="py-op">+</tt><tt class="py-name">ip_address</tt><tt class="py-op">+</tt><tt class="py-string">" port 22: Connection refused"</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">spawn</tt><tt class="py-op">(</tt><tt class="py-string">'scp '</tt><tt class="py-op">+</tt><tt class="py-name">user_name</tt><tt class="py-op">+</tt><tt class="py-string">'@'</tt><tt class="py-op">+</tt><tt class="py-name">ip_address</tt><tt class="py-op">+</tt><tt class="py-string">':'</tt><tt class="py-op">+</tt><tt class="py-name">filepath</tt><tt class="py-op">+</tt><tt class="py-string">' '</tt><tt class="py-op">+</tt><tt class="py-name">dst_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-name">i</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">ssh_newkey</tt><tt class="py-op">,</tt><tt class="py-string">'password:'</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">,</tt><tt class="py-name">refused</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">120</tt><tt class="py-op">)</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">         </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">0</tt><tt class="py-op">:</tt>     </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-36', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ssh key confirmation received, send yes"</tt><tt class="py-op">)</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendline</tt><tt class="py-op">(</tt><tt class="py-string">'yes'</tt><tt class="py-op">)</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">            <tt class="py-name">i</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">ssh_newkey</tt><tt class="py-op">,</tt><tt class="py-string">'password:'</tt><tt class="py-op">,</tt><tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-37', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ssh connection asked for password, gave password"</tt><tt class="py-op">)</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendline</tt><tt class="py-op">(</tt><tt class="py-name">pwd</tt><tt class="py-op">)</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">            <tt class="py-comment">#self.handle.expect(user_name)</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">             </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-38', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-39', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Connection timeout"</tt><tt class="py-op">)</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">3</tt><tt class="py-op">:</tt> <tt class="py-comment">#timeout</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-40', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-41', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"No route to the Host "</tt><tt class="py-op">+</tt><tt class="py-name">user_name</tt><tt class="py-op">+</tt><tt class="py-string">"@"</tt><tt class="py-op">+</tt><tt class="py-name">ip_address</tt><tt class="py-op">)</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt><tt class="py-op">==</tt><tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-42', 'log', 'link-8');">log</a></tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-43', 'error', 'link-11');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"ssh: connect to host "</tt><tt class="py-op">+</tt><tt class="py-name">ip_address</tt><tt class="py-op">+</tt><tt class="py-string">" port 22: Connection refused"</tt><tt class="py-op">)</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendline</tt><tt class="py-op">(</tt><tt class="py-string">"\r"</tt><tt class="py-op">)</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">         </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
-</div></div><a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect
+TestON.drivers.common.clidriver.CLI.disconnect" class="py-name" href="#" onclick="return doclink('link-20', 'disconnect', 'link-20');">disconnect</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+</div><a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-comment"># self.execute( cmd="exit",timeout=120,prompt="(.*)" )</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"> </tt>
+<a name="CLI.execute"></a><div id="CLI.execute-def"><a name="L136"></a><tt class="py-lineno">136</tt> <a class="py-toggle" href="#" id="CLI.execute-toggle" onclick="return toggle('CLI.execute');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.clidriver.CLI-class.html#execute">execute</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">execparams</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.execute-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.execute-expanded"><a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-docstring">        It facilitates the command line execution of a given command. It has arguments as :</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring">        cmd =&gt; represents command to be executed,</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-docstring">        prompt =&gt; represents expect command prompt or output,</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-docstring">        timeout =&gt; timeout for command execution,</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"><tt class="py-docstring">        more =&gt; to provide a key press if it is on.</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-docstring">        It will return output of command exection.</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt> <tt id="link-21" class="py-name"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-21', 'CLI', 'link-2');">CLI</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.execute()=TestON.bin.generatedriver.GenerateDriver-class.html#execute,Method TestON.drivers.common.clidriver.CLI.execute()=TestON.drivers.common.clidriver.CLI-class.html#execute"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-22', 'execute', 'link-22');">execute</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-name">defaultPrompt</tt> <tt class="py-op">=</tt> <tt class="py-string">'.*[$&gt;\#]'</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.parse_args()=TestON.core.openspeak.OpenSpeak-class.html#parse_args"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-23', 'parse_args', 'link-23');">parse_args</a></tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">                     <tt class="py-string">"CMD"</tt><tt class="py-op">,</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">                                     <tt class="py-string">"TIMEOUT"</tt><tt class="py-op">,</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">                                     <tt class="py-string">"PROMPT"</tt><tt class="py-op">,</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">                                     <tt class="py-string">"MORE"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">                             <tt class="py-op">**</tt><tt class="py-name">execparams</tt> <tt class="py-op">)</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-name">expectPrompt</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"PROMPT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"PROMPT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">else</tt> <tt class="py-name">defaultPrompt</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-name">timeoutVar</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TIMEOUT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"TIMEOUT"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">else</tt> <tt class="py-number">10</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"CMD"</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"CMD"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"MORE"</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">            <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"MORE"</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-24', 'sendline', 'link-5');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lastCommand</tt> <tt class="py-op">=</tt> <tt class="py-name">cmd</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">                    <tt class="py-name">expectPrompt</tt><tt class="py-op">,</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">                                    <tt class="py-string">"--More--"</tt><tt class="py-op">,</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">                                    <tt class="py-string">'Command not found.'</tt><tt class="py-op">,</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">                                    <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">,</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">                                    <tt class="py-string">"^:$"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">                            <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeoutVar</tt> <tt class="py-op">)</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">after</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-25', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">                <tt class="py-string">"Executed :"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" \t\t Expected Prompt '"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">                        <tt class="py-name">expectPrompt</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"' Found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#send"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-26', 'send', 'link-26');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"MORE"</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-27', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">                <tt class="py-string">"Found More screen to go , Sending a key to proceed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">            <tt class="py-name">indexMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">                <tt class="py-op">[</tt> <tt class="py-string">"--More--"</tt><tt class="py-op">,</tt> <tt class="py-name">expectPrompt</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeoutVar</tt> <tt class="py-op">)</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">indexMore</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-28', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">                    <tt class="py-string">"Found anoother More screen to go , Sending a key to proceed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send" class="py-name" href="#" onclick="return doclink('link-29', 'send', 'link-26');">send</a></tt><tt class="py-op">(</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt> <tt class="py-string">"MORE"</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">                <tt class="py-name">indexMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">                    <tt class="py-op">[</tt> <tt class="py-string">"--More--"</tt><tt class="py-op">,</tt> <tt class="py-name">expectPrompt</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeoutVar</tt> <tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-30', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-31', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Command not found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-32', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-33', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Expected Prompt not found , Time Out!!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-34', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-35', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">expectPrompt</tt> <tt class="py-op">)</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-string">"Expected Prompt not found , Time Out!!"</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.send( args[ "MORE" ] )</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendcontrol</tt><tt class="py-op">(</tt> <tt class="py-string">"D"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-36', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">                <tt class="py-string">"Found More screen to go , Sending a key to proceed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">            <tt class="py-name">indexMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">                <tt class="py-op">[</tt> <tt class="py-string">"^:$"</tt><tt class="py-op">,</tt> <tt class="py-name">expectPrompt</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeoutVar</tt> <tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">indexMore</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-37', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">                    <tt class="py-string">"Found another More screen to go , Sending a key to proceed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">sendcontrol</tt><tt class="py-op">(</tt> <tt class="py-string">"D"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">                <tt class="py-name">indexMore</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">                    <tt class="py-op">[</tt> <tt class="py-string">"^:$"</tt><tt class="py-op">,</tt> <tt class="py-name">expectPrompt</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeoutVar</tt> <tt class="py-op">)</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Method TestON.drivers.common.clidriver.CLI.remove_contol_chars()=TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars"><a title="TestON.drivers.common.clidriver.CLI.remove_contol_chars" class="py-name" href="#" onclick="return doclink('link-38', 'remove_contol_chars', 'link-38');">remove_contol_chars</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> <tt class="py-op">)</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">LASTRSP</tt> </tt>
+</div><a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"> </tt>
+<a name="CLI.remove_contol_chars"></a><div id="CLI.remove_contol_chars-def"><a name="L222"></a><tt class="py-lineno">222</tt> <a class="py-toggle" href="#" id="CLI.remove_contol_chars-toggle" onclick="return toggle('CLI.remove_contol_chars');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars">remove_contol_chars</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.remove_contol_chars-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.remove_contol_chars-expanded"><a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-comment"># RE_XML_ILLEGAL = '([\u0000-\u0008\u000b-\u000c\u000e-\u001f\ufffe-\uffff])|([%s-%s][^%s-%s])|([^%s-%s][%s-%s])|([%s-%s]$)|(^[%s-%s])'%( unichr( 0xd800 ),unichr( 0xdbff ),unichr( 0xdc00 ),unichr( 0xdfff ),unichr( 0xd800 ),unichr( 0xdbff ),unichr( 0xdc00 ),unichr( 0xdfff ),unichr( 0xd800 ),unichr( 0xdbff ),unichr( 0xdc00 ),unichr( 0xdfff ) )</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-comment"># response = re.sub( RE_XML_ILLEGAL, "\n", response )</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">r"[\x01-\x1F\x7F]"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-comment"># response = re.sub( r"\[\d+\;1H", "\n", response )</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">r"\[\d+\;\d+H"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">response</tt> </tt>
+</div><a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"> </tt>
+<a name="CLI.runAsSudoUser"></a><div id="CLI.runAsSudoUser-def"><a name="L230"></a><tt class="py-lineno">230</tt> <a class="py-toggle" href="#" id="CLI.runAsSudoUser-toggle" onclick="return toggle('CLI.runAsSudoUser');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser">runAsSudoUser</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">handle</tt><tt class="py-op">,</tt> <tt class="py-param">pwd</tt><tt class="py-op">,</tt> <tt class="py-param">default</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.runAsSudoUser-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.runAsSudoUser-expanded"><a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-string">".ssword:*"</tt><tt class="py-op">,</tt> <tt id="link-39" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-39', 'default', 'link-39');">default</a></tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">            <tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-40', 'sendline', 'link-5');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">            <tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-41', 'sendline', 'link-5');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"\r"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">            <tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt id="link-42" class="py-name"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-42', 'default', 'link-39');">default</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-43', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-44', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Unable to run as Sudo user"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">handle</tt> </tt>
+</div><a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"> </tt>
+<a name="CLI.onfail"></a><div id="CLI.onfail-def"><a name="L245"></a><tt class="py-lineno">245</tt> <a class="py-toggle" href="#" id="CLI.onfail-toggle" onclick="return toggle('CLI.onfail');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.clidriver.CLI-class.html#onfail">onfail</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.onfail-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.onfail-expanded"><a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'onfail'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">            <tt class="py-name">commandList</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'onfail'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">","</tt> <tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">command</tt> <tt class="py-keyword">in</tt> <tt class="py-name">commandList</tt><tt class="py-op">:</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.bin.generatedriver.GenerateDriver.execute
+TestON.drivers.common.clidriver.CLI.execute" class="py-name" href="#" onclick="return doclink('link-45', 'execute', 'link-22');">execute</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt><tt class="py-op">=</tt><tt class="py-name">command</tt><tt class="py-op">,</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">                    <tt id="link-46" class="py-name" targets="Variable TestON.bin.cli.CLI.prompt=TestON.bin.cli.CLI-class.html#prompt"><a title="TestON.bin.cli.CLI.prompt" class="py-name" href="#" onclick="return doclink('link-46', 'prompt', 'link-46');">prompt</a></tt><tt class="py-op">=</tt><tt class="py-string">"(.*)"</tt><tt class="py-op">,</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">                    <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"> </tt>
+<a name="CLI.secureCopy"></a><div id="CLI.secureCopy-def"><a name="L255"></a><tt class="py-lineno">255</tt> <a class="py-toggle" href="#" id="CLI.secureCopy-toggle" onclick="return toggle('CLI.secureCopy');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy">secureCopy</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">user_name</tt><tt class="py-op">,</tt> <tt class="py-param">ip_address</tt><tt class="py-op">,</tt> <tt class="py-param">filepath</tt><tt class="py-op">,</tt> <tt class="py-param">pwd</tt><tt class="py-op">,</tt> <tt class="py-param">dst_path</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CLI.secureCopy-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CLI.secureCopy-expanded"><a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">        <tt class="py-comment"># scp openflow@192.168.56.101:/home/openflow/sample</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt class="py-comment"># /home/paxterra/Desktop/</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"><tt class="py-docstring">           Connection will establish to the remote host using ssh.</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line"><tt class="py-docstring">           It will take user_name ,ip_address and password as arguments&lt;br&gt;</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"><tt class="py-docstring">           and will return the handle.</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">        <tt class="py-name">ssh_newkey</tt> <tt class="py-op">=</tt> <tt class="py-string">'Are you sure you want to continue connecting'</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt class="py-name">refused</tt> <tt class="py-op">=</tt> <tt class="py-string">"ssh: connect to host "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">            <tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> <tt class="py-string">" port 22: Connection refused"</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line"> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">'scp '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">user_name</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">'@'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">':'</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">          <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">filepath</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">dst_path</tt> <tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line"> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-47', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Sending: "</tt> <tt class="py-op">+</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> <tt class="py-op">=</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">spawn</tt><tt class="py-op">(</tt> <tt class="py-name">cmd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">        <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">                            <tt class="py-name">ssh_newkey</tt><tt class="py-op">,</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">                            <tt class="py-string">'password:'</tt><tt class="py-op">,</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">                            <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt><tt class="py-op">,</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">                            <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">TIMEOUT</tt><tt class="py-op">,</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">                            <tt class="py-name">refused</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">                            <tt class="py-number">120</tt> <tt class="py-op">)</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line"> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-48', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ssh key confirmation received, send yes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-49', 'sendline', 'link-5');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">'yes'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-op">[</tt> <tt class="py-name">ssh_newkey</tt><tt class="py-op">,</tt> <tt class="py-string">'password:'</tt><tt class="py-op">,</tt> <tt class="py-name">pexpect</tt><tt class="py-op">.</tt><tt class="py-name">EOF</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-50', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ssh connection asked for password, gave password"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-51', 'sendline', 'link-5');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-name">pwd</tt> <tt class="py-op">)</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">            <tt class="py-comment"># self.handle.expect( user_name )</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-52', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-53', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Connection timeout"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt>  <tt class="py-comment"># timeout</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-54', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-55', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">                <tt class="py-string">"No route to the Host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">                <tt class="py-name">user_name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">                <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">                <tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-56', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-57', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">                <tt class="py-string">"ssh: connect to host "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">                <tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">                <tt class="py-string">" port 22: Connection refused"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line"> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-58', 'sendline', 'link-5');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt> </tt>
+</div></div><a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -330,13 +501,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.clidriver.CLI-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.clidriver.CLI-class.html
index f161597..7cd1f12 100644
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.clidriver.CLI-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.drivers.common.clidriver.CLI-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -59,14 +64,14 @@
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
 <h1 class="epydoc">Class CLI</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-         object --+    
-                  |    
-<a href="TestON.drivers.component.Component-class.html">component.Component</a> --+
-                      |
-                     <strong class="uidshort">CLI</strong>
-</pre>
-
+<center>
+<center>  <map id="class_hierarchy_for_cli_2" name="class_hierarchy_for_cli_2">
+<area shape="rect" id="node1" href="TestON.drivers.common.clidriver.CLI-class.html" title="CLI" alt="" coords="5,6,48,31"/>
+<area shape="rect" id="node2" href="javascript:void(0);" title="component.Component" alt="" coords="72,6,229,31"/>
+</map>
+  <img src="class_hierarchy_for_cli_2.gif" alt='' usemap="#class_hierarchy_for_cli_2" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
 <hr />
 <p>This will define common functions for CLI included.</p>
 
@@ -94,7 +99,7 @@
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td><span class="summary-sig"><a href="TestON.drivers.common.clidriver.CLI-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
           <td align="right" valign="top">
             <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.__init__">source&nbsp;code</a></span>
             
@@ -162,6 +167,23 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
+          <td><span class="summary-sig"><a name="remove_contol_chars"></a><span class="summary-sig-name">remove_contol_chars</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">response</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.drivers.common.clidriver-pysrc.html#CLI.remove_contol_chars">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
           <td><span class="summary-sig"><a name="runAsSudoUser"></a><span class="summary-sig-name">runAsSudoUser</span>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">handle</span>,
         <span class="summary-sig-arg">pwd</span>,
@@ -215,14 +237,14 @@
   </tr>
   <tr>
     <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="TestON.drivers.component.Component-class.html">component.Component</a></code></b>:
-      <code><a href="TestON.drivers.component.Component-class.html#__getattr__">__getattr__</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#cleanup">cleanup</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#close_log_handles">close_log_handles</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#config">config</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#experimentRun">experimentRun</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#get_version">get_version</a></code>,
-      <code><a href="TestON.drivers.component.Component-class.html#log">log</a></code>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>:
+      <code>__getattr__</code>,
+      <code>cleanup</code>,
+      <code>close_log_handles</code>,
+      <code>config</code>,
+      <code>experimentRun</code>,
+      <code>get_version</code>,
+      <code>log</code>
       </p>
     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
       <code>__delattr__</code>,
@@ -299,8 +321,7 @@
     </td>
   </tr></table>
   
-  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
-  signature</p>
+  <p>x.__init__(...) initializes x; see help(type(x)) for signature</p>
   <dl class="fields">
     <dt>Overrides:
         object.__init__
@@ -329,7 +350,7 @@
   the handle.</p>
   <dl class="fields">
     <dt>Overrides:
-        <a href="TestON.drivers.component.Component-class.html#connect">component.Component.connect</a>
+        component.Component.connect
     </dt>
   </dl>
 </td></tr></table>
@@ -351,7 +372,7 @@
   
   <dl class="fields">
     <dt>Overrides:
-        <a href="TestON.drivers.component.Component-class.html#disconnect">component.Component.disconnect</a>
+        component.Component.disconnect
     </dt>
   </dl>
 </td></tr></table>
@@ -378,7 +399,7 @@
   <p>It will return output of command exection.</p>
   <dl class="fields">
     <dt>Overrides:
-        <a href="TestON.drivers.component.Component-class.html#execute">component.Component.execute</a>
+        component.Component.execute
     </dt>
   </dl>
 </td></tr></table>
@@ -430,13 +451,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.common.webdriver-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.common.webdriver-pysrc.html
deleted file mode 100644
index 5343c8a..0000000
--- a/TestON/Documentation/TestON_Document/TestON.drivers.common.webdriver-pysrc.html
+++ /dev/null
@@ -1,317 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.drivers.common.webdriver</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
-        <a href="TestON.drivers.common-module.html">Package&nbsp;common</a> ::
-        Module&nbsp;webdriver
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.common.webdriver-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="TestON.drivers.common.webdriver-module.html">Module TestON.drivers.common.webdriver</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 27-Feb-2013</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">@authors: Anil Kumar (anilkumar.s@paxterrasolutions.com),</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">          </tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pexpect</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt><tt class="py-op">,</tt> <tt class="py-name">fcntl</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">signal</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
-TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-0', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"../"</tt><tt class="py-op">)</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package TestON.drivers=TestON.drivers-module.html"><a title="TestON.drivers" class="py-name" href="#" onclick="return doclink('link-1', 'drivers', 'link-1');">drivers</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module TestON.drivers.component=TestON.drivers.component-module.html"><a title="TestON.drivers.component" class="py-name" href="#" onclick="return doclink('link-2', 'component', 'link-2');">component</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class TestON.drivers.component.Component=TestON.drivers.component.Component-class.html"><a title="TestON.drivers.component.Component" class="py-name" href="#" onclick="return doclink('link-3', 'Component', 'link-3');">Component</a></tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">selenium</tt> <tt class="py-keyword">import</tt> <tt class="py-name">selenium</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">unittest</tt><tt class="py-op">,</tt> <tt class="py-name">time</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"> </tt>
-<a name="WebDriver"></a><div id="WebDriver-def"><a name="L16"></a><tt class="py-lineno"> 16</tt> <a class="py-toggle" href="#" id="WebDriver-toggle" onclick="return toggle('WebDriver');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.common.webdriver.WebDriver-class.html">WebDriver</a><tt class="py-op">(</tt><tt class="py-base-class">Component</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WebDriver-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="WebDriver-expanded"><a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">        This will define common functions for CLI included.</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="WebDriver.__init__"></a><div id="WebDriver.__init__-def"><a name="L20"></a><tt class="py-lineno"> 20</tt> <a class="py-toggle" href="#" id="WebDriver.__init__-toggle" onclick="return toggle('WebDriver.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.webdriver.WebDriver-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WebDriver.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WebDriver.__init__-expanded"><a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-4" class="py-name"><a title="TestON.drivers.component.Component" class="py-name" href="#" onclick="return doclink('link-4', 'Component', 'link-3');">Component</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.drivers.common.webdriver.WebDriver.__init__()=TestON.drivers.common.webdriver.WebDriver-class.html#__init__,Method TestON.drivers.component.Component.__init__()=TestON.drivers.component.Component-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__()=TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#__init__,Method TestON.tests.FvtTest.FvtTest.FvtTest.__init__()=TestON.tests.FvtTest.FvtTest.FvtTest-class.html#__init__,Method TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__()=TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#__init__,Method TestON.tests.MininetTest.MininetTest.MininetTest.__init__()=TestON.tests.MininetTest.MininetTest.MininetTest-class.html#__init__,Method TestON.tests.PoxTest.PoxTest.PoxTest.__init__()=TestON.tests.PoxTest.PoxTest.PoxTest-class.html#__init__,Method TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__()=TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#__init__,Method TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__()=TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
-TestON.bin.cli.TestThread.__init__
-TestON.bin.generatedriver.GenerateDriver.__init__
-TestON.bin.updatedriver.UpdateDriver.__init__
-TestON.bin.vyatta.Vyatta.__init__
-TestON.core.iniparser.iniparser.__init__
-TestON.core.openspeak.OpenSpeak.__init__
-TestON.core.teston.TestON.__init__
-TestON.core.testparser.TestParser.__init__
-TestON.core.xmlparser.xmlparser.__init__
-TestON.drivers.common.api.controllerdriver.Controller.__init__
-TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
-TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
-TestON.drivers.common.cli.emulatordriver.Emulator.__init__
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__
-TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
-TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
-TestON.drivers.common.cli.toolsdriver.Tools.__init__
-TestON.drivers.common.clidriver.CLI.__init__
-TestON.drivers.common.webdriver.WebDriver.__init__
-TestON.drivers.component.Component.__init__
-TestON.examples.Assert.Assert.Assert.__init__
-TestON.examples.CaseParams.CaseParams.CaseParams.__init__
-TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
-TestON.examples.StepParams.StepParams.StepParams.__init__
-TestON.examples.Topology.Topology.Topology.__init__
-TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__
-TestON.tests.FvtTest.FvtTest.FvtTest.__init__
-TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__
-TestON.tests.MininetTest.MininetTest.MininetTest.__init__
-TestON.tests.PoxTest.PoxTest.PoxTest.__init__
-TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__
-TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__" class="py-name" href="#" onclick="return doclink('link-5', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
-<a name="WebDriver.__getattr__"></a><div id="WebDriver.__getattr__-def"><a name="L23"></a><tt class="py-lineno"> 23</tt> <a class="py-toggle" href="#" id="WebDriver.__getattr__-toggle" onclick="return toggle('WebDriver.__getattr__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.webdriver.WebDriver-class.html#__getattr__">__getattr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WebDriver.__getattr__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WebDriver.__getattr__-expanded"><a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">        <tt class="py-docstring">''' </tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">         This will invoke, if the attribute wasn't found the usual ways.</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring">          Here it will look for assert_attribute and will execute when AttributeError occurs.</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">          It will return the result of the assert_attribute.</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">                <tt class="py-keyword">def</tt> <tt class="py-def-name">experimentHandling</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">                   <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.drivers.common.webdriver.WebDriver.selenium_method()=TestON.drivers.common.webdriver.WebDriver-class.html#selenium_method"><a title="TestON.drivers.common.webdriver.WebDriver.selenium_method" class="py-name" href="#" onclick="return doclink('link-6', 'selenium_method', 'link-6');">selenium_method</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt><tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">                   <tt class="py-keyword">return</tt> <tt class="py-name">result</tt>  </tt>
-</div><a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">experimentHandling</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.component.Component.log()=TestON.drivers.component.Component-class.html#log"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-7', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-8', 'error', 'link-8');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Arguments for experimental mode does not have key 'retruns'"</tt> <tt class="py-op">+</tt> <tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">                 </tt>
-<a name="WebDriver.selenium_method"></a><div id="WebDriver.selenium_method-def"><a name="L40"></a><tt class="py-lineno"> 40</tt> <a class="py-toggle" href="#" id="WebDriver.selenium_method-toggle" onclick="return toggle('WebDriver.selenium_method');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.webdriver.WebDriver-class.html#selenium_method">selenium_method</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">name</tt><tt class="py-op">,</tt><tt class="py-op">*</tt><tt class="py-param">args</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WebDriver.selenium_method-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WebDriver.selenium_method-expanded"><a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logfile_handler</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"\n\t"</tt><tt class="py-op">+</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">            <tt class="py-name">methodToCall</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-string">'driver'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">methodToCall</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">)</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt>    </tt>
-</div><a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">                </tt>
-<a name="WebDriver.connect"></a><div id="WebDriver.connect-def"><a name="L49"></a><tt class="py-lineno"> 49</tt> <a class="py-toggle" href="#" id="WebDriver.connect-toggle" onclick="return toggle('WebDriver.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.webdriver.WebDriver-class.html#connect">connect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">connectargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WebDriver.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WebDriver.connect-expanded"><a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">           Connection will establish to the remote host using </tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">connectargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">            <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">connectargs</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt><tt class="py-op">[</tt><tt class="py-string">'name'</tt><tt class="py-op">]</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">            <tt class="py-name">connect_result</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-9" class="py-name" targets="Class TestON.drivers.common.webdriver.WebDriver=TestON.drivers.common.webdriver.WebDriver-class.html"><a title="TestON.drivers.common.webdriver.WebDriver" class="py-name" href="#" onclick="return doclink('link-9', 'WebDriver', 'link-9');">WebDriver</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.connect()=TestON.bin.generatedriver.GenerateDriver-class.html#connect,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect,Method TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect()=TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#connect,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect,Method TestON.drivers.common.clidriver.CLI.connect()=TestON.drivers.common.clidriver.CLI-class.html#connect,Method TestON.drivers.common.webdriver.WebDriver.connect()=TestON.drivers.common.webdriver.WebDriver-class.html#connect,Method TestON.drivers.component.Component.connect()=TestON.drivers.component.Component-class.html#connect"><a title="TestON.bin.generatedriver.GenerateDriver.connect
-TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect
-TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect
-TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect
-TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.connect
-TestON.drivers.common.clidriver.CLI.connect
-TestON.drivers.common.webdriver.WebDriver.connect
-TestON.drivers.component.Component.connect" class="py-name" href="#" onclick="return doclink('link-10', 'connect', 'link-10');">connect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">            <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'url'</tt><tt class="py-op">]</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-name">host</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'host'</tt><tt class="py-op">]</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">            <tt class="py-name">selenium_port</tt> <tt class="py-op">=</tt>  <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'selenium_port'</tt><tt class="py-op">]</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">=</tt> <tt class="py-name">selenium</tt><tt class="py-op">(</tt><tt class="py-name">host</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">selenium_port</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"*chrome"</tt><tt class="py-op">,</tt><tt class="py-name">url</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">verificationErrors</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-11', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Returning from connect "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">     </tt>
-<a name="WebDriver.search_bus"></a><div id="WebDriver.search_bus-def"><a name="L71"></a><tt class="py-lineno"> 71</tt> <a class="py-toggle" href="#" id="WebDriver.search_bus-toggle" onclick="return toggle('WebDriver.search_bus');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.webdriver.WebDriver-class.html#search_bus">search_bus</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WebDriver.search_bus-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WebDriver.search_bus-expanded"><a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">click</tt><tt class="py-op">(</tt><tt class="py-string">"id=search_submit_btn"</tt><tt class="py-op">)</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">wait_for_page_to_load</tt><tt class="py-op">(</tt><tt class="py-string">"300000"</tt><tt class="py-op">)</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.drivers.common.webdriver.WebDriver.wait()=TestON.drivers.common.webdriver.WebDriver-class.html#wait"><a title="TestON.drivers.common.webdriver.WebDriver.wait" class="py-name" href="#" onclick="return doclink('link-12', 'wait', 'link-12');">wait</a></tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">         </tt>
-<a name="WebDriver.select_bus"></a><div id="WebDriver.select_bus-def"><a name="L80"></a><tt class="py-lineno"> 80</tt> <a class="py-toggle" href="#" id="WebDriver.select_bus-toggle" onclick="return toggle('WebDriver.select_bus');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.webdriver.WebDriver-class.html#select_bus">select_bus</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WebDriver.select_bus-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WebDriver.select_bus-expanded"><a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">click</tt><tt class="py-op">(</tt><tt class="py-string">"//html/body/div[2]/div/div[2]/div/table/tbody/tr/td[2]/div/div/div/table/tbody/tr/td[6]/a/img"</tt><tt class="py-op">)</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.drivers.common.webdriver.WebDriver.wait" class="py-name" href="#" onclick="return doclink('link-13', 'wait', 'link-12');">wait</a></tt><tt class="py-op">(</tt><tt class="py-number">7</tt><tt class="py-op">)</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method TestON.drivers.common.webdriver.WebDriver.wait_for_element()=TestON.drivers.common.webdriver.WebDriver-class.html#wait_for_element"><a title="TestON.drivers.common.webdriver.WebDriver.wait_for_element" class="py-name" href="#" onclick="return doclink('link-14', 'wait_for_element', 'link-14');">wait_for_element</a></tt><tt class="py-op">(</tt><tt class="py-string">"id=span_2_12"</tt><tt class="py-op">)</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.common.webdriver.WebDriver.wait" class="py-name" href="#" onclick="return doclink('link-15', 'wait', 'link-12');">wait</a></tt><tt class="py-op">(</tt><tt class="py-number">7</tt><tt class="py-op">)</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">click</tt><tt class="py-op">(</tt><tt class="py-string">"//html/body/div[2]/div/div[2]/div/table/tbody/tr/td[2]/div/table/tbody/tr/td[2]/div[2]/div/table/tbody/tr/td[4]/a/span"</tt><tt class="py-op">)</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.common.webdriver.WebDriver.wait" class="py-name" href="#" onclick="return doclink('link-16', 'wait', 'link-12');">wait</a></tt><tt class="py-op">(</tt><tt class="py-number">7</tt><tt class="py-op">)</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">click</tt><tt class="py-op">(</tt><tt class="py-string">"//html/body/div[2]/div/div[2]/div/table/tbody/tr/td[2]/div/div/div/table/tbody/tr/td[6]/a/img"</tt><tt class="py-op">)</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.webdriver.WebDriver.wait" class="py-name" href="#" onclick="return doclink('link-17', 'wait', 'link-12');">wait</a></tt><tt class="py-op">(</tt><tt class="py-number">7</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.webdriver.WebDriver.wait_for_element" class="py-name" href="#" onclick="return doclink('link-18', 'wait_for_element', 'link-14');">wait_for_element</a></tt><tt class="py-op">(</tt><tt class="py-string">"id=span_2_12"</tt><tt class="py-op">)</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.drivers.common.webdriver.WebDriver.wait" class="py-name" href="#" onclick="return doclink('link-19', 'wait', 'link-12');">wait</a></tt><tt class="py-op">(</tt><tt class="py-number">7</tt><tt class="py-op">)</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">             </tt>
-<a name="WebDriver.select_seat"></a><div id="WebDriver.select_seat-def"><a name="L99"></a><tt class="py-lineno"> 99</tt> <a class="py-toggle" href="#" id="WebDriver.select_seat-toggle" onclick="return toggle('WebDriver.select_seat');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.webdriver.WebDriver-class.html#select_seat">select_seat</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WebDriver.select_seat-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WebDriver.select_seat-expanded"><a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">click</tt><tt class="py-op">(</tt><tt class="py-string">"id=span_2_12"</tt><tt class="py-op">)</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">         </tt>
-<a name="WebDriver.fill_details"></a><div id="WebDriver.fill_details-def"><a name="L106"></a><tt class="py-lineno">106</tt> <a class="py-toggle" href="#" id="WebDriver.fill_details-toggle" onclick="return toggle('WebDriver.fill_details');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.webdriver.WebDriver-class.html#fill_details">fill_details</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">details</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WebDriver.fill_details-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WebDriver.fill_details-expanded"><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.parse_args()=TestON.core.openspeak.OpenSpeak-class.html#parse_args"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-20', 'parse_args', 'link-20');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"TITLE"</tt><tt class="py-op">,</tt><tt class="py-string">"PASSENGER_NAME"</tt><tt class="py-op">,</tt><tt class="py-string">"PASSENGER_AGE"</tt><tt class="py-op">,</tt><tt class="py-string">"DROP_OFF"</tt><tt class="py-op">,</tt><tt class="py-string">"EMAIL"</tt><tt class="py-op">,</tt><tt class="py-string">"PHONE_NUMBER"</tt><tt class="py-op">,</tt><tt class="py-string">"ID_CARD_NUMBER"</tt><tt class="py-op">,</tt><tt class="py-string">"ID_CARD_ISSUED"</tt><tt class="py-op">,</tt><tt class="py-string">"ADDRESS"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">details</tt><tt class="py-op">)</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">select</tt><tt class="py-op">(</tt><tt class="py-string">"id=ticket_title_C3"</tt><tt class="py-op">,</tt> <tt class="py-string">"label="</tt><tt class="py-op">+</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"TITLE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">"id=ticket_passenger_name_C3"</tt><tt class="py-op">,</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"PASSENGER_NAME"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">"id=ticket_passenger_age_C3"</tt><tt class="py-op">,</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"PASSENGER_AGE"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">select</tt><tt class="py-op">(</tt><tt class="py-string">"id=searchbus_drop_off"</tt><tt class="py-op">,</tt> <tt class="py-string">"label="</tt><tt class="py-op">+</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"DROP_OFF"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">"id=ticket_email"</tt><tt class="py-op">,</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"EMAIL"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">"id=ticket_phone_number"</tt><tt class="py-op">,</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">'PHONE_NUMBER'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">"id=id_card_number"</tt><tt class="py-op">,</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">'ID_CARD_NUMBER'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">"id=id_card_issued_details"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">'ID_CARD_ISSUED'</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">"id=ticket_address"</tt><tt class="py-op">,</tt> <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">'ADDRESS'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">click</tt><tt class="py-op">(</tt><tt class="py-string">"id=terms_conditions"</tt><tt class="py-op">)</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">         </tt>
-<a name="WebDriver.deselect_seat"></a><div id="WebDriver.deselect_seat-def"><a name="L123"></a><tt class="py-lineno">123</tt> <a class="py-toggle" href="#" id="WebDriver.deselect_seat-toggle" onclick="return toggle('WebDriver.deselect_seat');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.webdriver.WebDriver-class.html#deselect_seat">deselect_seat</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WebDriver.deselect_seat-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WebDriver.deselect_seat-expanded"><a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.drivers.common.webdriver.WebDriver.wait" class="py-name" href="#" onclick="return doclink('link-21', 'wait', 'link-12');">wait</a></tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">click</tt><tt class="py-op">(</tt><tt class="py-string">"id=span_2_12"</tt><tt class="py-op">)</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method TestON.bin.cli.TestThread.stop()=TestON.bin.cli.TestThread-class.html#stop"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-22', 'stop', 'link-22');">stop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">         </tt>
-<a name="WebDriver.wait_for_element"></a><div id="WebDriver.wait_for_element-def"><a name="L132"></a><tt class="py-lineno">132</tt> <a class="py-toggle" href="#" id="WebDriver.wait_for_element-toggle" onclick="return toggle('WebDriver.wait_for_element');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.webdriver.WebDriver-class.html#wait_for_element">wait_for_element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">element</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WebDriver.wait_for_element-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WebDriver.wait_for_element-expanded"><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-23', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Waiting for element "</tt><tt class="py-op">+</tt> <tt class="py-name">element</tt><tt class="py-op">)</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt> <tt class="py-op">:</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">60</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">driver</tt><tt class="py-op">.</tt><tt class="py-name">is_element_present</tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">)</tt><tt class="py-op">:</tt>  </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">                       <tt class="py-keyword">break</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt><tt class="py-op">:</tt>  </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt>     </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-24', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-25', 'error', 'link-8');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Time out : "</tt><tt class="py-op">+</tt><tt class="py-name">element</tt> <tt class="py-op">+</tt><tt class="py-string">"Not present"</tt><tt class="py-op">)</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">:</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">     </tt>
-<a name="WebDriver.wait"></a><div id="WebDriver.wait-def"><a name="L149"></a><tt class="py-lineno">149</tt> <a class="py-toggle" href="#" id="WebDriver.wait-toggle" onclick="return toggle('WebDriver.wait');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.webdriver.WebDriver-class.html#wait">wait</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">secs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WebDriver.wait-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WebDriver.wait-expanded"><a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-26', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Waiting for page to load"</tt><tt class="py-op">)</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-name">secs</tt><tt class="py-op">)</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">     </tt>
-<a name="WebDriver.disconnect"></a><div id="WebDriver.disconnect-def"><a name="L154"></a><tt class="py-lineno">154</tt> <a class="py-toggle" href="#" id="WebDriver.disconnect-toggle" onclick="return toggle('WebDriver.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.common.webdriver.WebDriver-class.html#disconnect">disconnect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="WebDriver.disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="WebDriver.disconnect-expanded"><a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-27', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Disconnecting from WebDriver"</tt><tt class="py-op">)</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-comment">#result = super(WebDriver, self).disconnect(self)</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-28', 'log', 'link-7');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Stopping Selenium"</tt><tt class="py-op">)</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-comment">#self.driver.stop()</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-comment">#utilities.assert_equal([], self.verificationErrors)</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div></div><a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-comment">#self.execute(cmd="exit",timeout=120,prompt="(.*)")</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.component-module.html b/TestON/Documentation/TestON_Document/TestON.drivers.component-module.html
deleted file mode 100644
index 51a7794..0000000
--- a/TestON/Documentation/TestON_Document/TestON.drivers.component-module.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.drivers.component</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
-        Module&nbsp;component
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.component-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module component</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.component-pysrc.html">source&nbsp;code</a></span></p>
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="TestON.drivers.component.Component-class.html" class="summary-name">Component</a><br />
-      This is the tempalte class for components
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.component-pysrc.html b/TestON/Documentation/TestON_Document/TestON.drivers.component-pysrc.html
deleted file mode 100644
index e17253a..0000000
--- a/TestON/Documentation/TestON_Document/TestON.drivers.component-pysrc.html
+++ /dev/null
@@ -1,212 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.drivers.component</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
-        Module&nbsp;component
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.component-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="TestON.drivers.component-module.html">Module TestON.drivers.component</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-string">'''</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-string">Created on 24-Oct-2012</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-string">    </tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-string">@authors: Anil Kumar (anilkumar.s@paxterrasolutions.com),</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-string">          Raghav Kashyap(raghavkashyap@paxterrasolutions.com)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-string">          </tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-string">'''</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">logging</tt> <tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Class TestON.core.logger.Logger=TestON.core.logger.Logger-class.html"><a title="TestON.core.logger.Logger" class="py-name" href="#" onclick="return doclink('link-0', 'Logger', 'link-0');">Logger</a></tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"> </tt>
-<a name="Component"></a><div id="Component-def"><a name="L14"></a><tt class="py-lineno"> 14</tt> <a class="py-toggle" href="#" id="Component-toggle" onclick="return toggle('Component');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.drivers.component.Component-class.html">Component</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Component-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Component-expanded"><a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">    This is the tempalte class for components</tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="Component.__init__"></a><div id="Component.__init__-def"><a name="L18"></a><tt class="py-lineno"> 18</tt> <a class="py-toggle" href="#" id="Component.__init__-toggle" onclick="return toggle('Component.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.component.Component-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Component.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Component.__init__-expanded"><a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-1', 'default', 'link-1');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wrapped</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt><tt class="py-name">__name__</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">         </tt>
-<a name="Component.__getattr__"></a><div id="Component.__getattr__-def"><a name="L22"></a><tt class="py-lineno"> 22</tt> <a class="py-toggle" href="#" id="Component.__getattr__-toggle" onclick="return toggle('Component.__getattr__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.component.Component-class.html#__getattr__">__getattr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Component.__getattr__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Component.__getattr__-expanded"><a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt class="py-docstring">''' </tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">         This will invoke, if the attribute wasn't found the usual ways.</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">          Here it will look for assert_attribute and will execute when AttributeError occurs.</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring">          It will return the result of the assert_attribute.</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wrapped</tt><tt class="py-op">,</tt> <tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">                <tt class="py-keyword">def</tt> <tt class="py-def-name">experimentHandling</tt><tt class="py-op">(</tt><tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">EXPERIMENTAL_MODE</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">                        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.drivers.component.Component.experimentRun()=TestON.drivers.component.Component-class.html#experimentRun"><a title="TestON.drivers.component.Component.experimentRun" class="py-name" href="#" onclick="return doclink('link-2', 'experimentRun', 'link-2');">experimentRun</a></tt><tt class="py-op">(</tt><tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.component.Component.log()=TestON.drivers.component.Component-class.html#log"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-3', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"EXPERIMENTAL MODE. API "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">" not yet implemented. Returning dummy values"</tt><tt class="py-op">)</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">                        <tt class="py-keyword">return</tt> <tt class="py-name">result</tt>  </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">                        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
-</div><a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">experimentHandling</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-4', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-5', 'error', 'link-5');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Arguments for experimental mode does not have key 'retruns'"</tt> <tt class="py-op">+</tt> <tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">         </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">         </tt>
-<a name="Component.connect"></a><div id="Component.connect-def"><a name="L44"></a><tt class="py-lineno"> 44</tt> <a class="py-toggle" href="#" id="Component.connect-toggle" onclick="return toggle('Component.connect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.component.Component-class.html#connect">connect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Component.connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Component.connect-expanded"><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">         </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">+</tt><tt class="py-string">'log'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">                     </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-name">session_file</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt><tt class="py-op">+</tt><tt class="py-string">"/"</tt><tt class="py-op">+</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">+</tt><tt class="py-string">".session"</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">log_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">FileHandler</tt><tt class="py-op">(</tt><tt class="py-name">session_file</tt><tt class="py-op">)</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">log_handler</tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">DEBUG</tt><tt class="py-op">)</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">             </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">+</tt><tt class="py-string">'log'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">DEBUG</tt><tt class="py-op">)</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-name">_formatter</tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">Formatter</tt><tt class="py-op">(</tt><tt class="py-string">"%(asctime)s  %(name)-10s: %(levelname)-8s: %(message)s"</tt><tt class="py-op">)</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">log_handler</tt><tt class="py-op">.</tt><tt class="py-name">setFormatter</tt><tt class="py-op">(</tt><tt class="py-name">_formatter</tt><tt class="py-op">)</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">+</tt><tt class="py-string">'log'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">addHandler</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">log_handler</tt><tt class="py-op">)</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-comment"># Adding header for the component log     </tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">+</tt><tt class="py-string">'log'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logHeader</tt><tt class="py-op">)</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-comment"># Opening the session log to append command's execution output</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logfile_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">session_file</tt><tt class="py-op">,</tt><tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">         </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">"Dummy"</tt> </tt>
-</div><a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">     </tt>
-<a name="Component.execute"></a><div id="Component.execute-def"><a name="L63"></a><tt class="py-lineno"> 63</tt> <a class="py-toggle" href="#" id="Component.execute-toggle" onclick="return toggle('Component.execute');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.component.Component-class.html#execute">execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">cmd</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Component.execute-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Component.execute-expanded"><a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-comment">#import commands</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-comment">#return commands.getoutput(cmd)</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">         </tt>
-<a name="Component.disconnect"></a><div id="Component.disconnect-def"><a name="L68"></a><tt class="py-lineno"> 68</tt> <a class="py-toggle" href="#" id="Component.disconnect-toggle" onclick="return toggle('Component.disconnect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.component.Component-class.html#disconnect">disconnect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Component.disconnect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Component.disconnect-expanded"><a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt>  </tt>
-</div><a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">     </tt>
-<a name="Component.config"></a><div id="Component.config-def"><a name="L71"></a><tt class="py-lineno"> 71</tt> <a class="py-toggle" href="#" id="Component.config-toggle" onclick="return toggle('Component.config');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.component.Component-class.html#config">config</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Component.config-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Component.config-expanded"><a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-name">self</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
-</div><a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-comment"># Need to update the configuration code</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">         </tt>
-<a name="Component.cleanup"></a><div id="Component.cleanup-def"><a name="L75"></a><tt class="py-lineno"> 75</tt> <a class="py-toggle" href="#" id="Component.cleanup-toggle" onclick="return toggle('Component.cleanup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.component.Component-class.html#cleanup">cleanup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Component.cleanup-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Component.cleanup-expanded"><a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-</div><a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">     </tt>
-<a name="Component.log"></a><div id="Component.log-def"><a name="L78"></a><tt class="py-lineno"> 78</tt> <a class="py-toggle" href="#" id="Component.log-toggle" onclick="return toggle('Component.log');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.component.Component-class.html#log">log</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">message</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Component.log-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Component.log-expanded"><a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">        Here finding the for the component to which the </tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">        log message based on the called child object.</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">+</tt><tt class="py-string">'log'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">+</tt><tt class="py-name">message</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">         </tt>
-<a name="Component.close_log_handles"></a><div id="Component.close_log_handles-def"><a name="L85"></a><tt class="py-lineno"> 85</tt> <a class="py-toggle" href="#" id="Component.close_log_handles-toggle" onclick="return toggle('Component.close_log_handles');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.component.Component-class.html#close_log_handles">close_log_handles</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="Component.close_log_handles-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Component.close_log_handles-expanded"><a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-name">vars</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">+</tt><tt class="py-string">'log'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">removeHandler</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">log_handler</tt><tt class="py-op">)</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logfile_handler</tt><tt class="py-op">:</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">logfile_handler</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">     </tt>
-<a name="Component.get_version"></a><div id="Component.get_version-def"><a name="L90"></a><tt class="py-lineno"> 90</tt> <a class="py-toggle" href="#" id="Component.get_version-toggle" onclick="return toggle('Component.get_version');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.component.Component-class.html#get_version">get_version</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Component.get_version-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Component.get_version-expanded"><a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">"Version unknown"</tt> </tt>
-</div><a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"> </tt>
-<a name="Component.experimentRun"></a><div id="Component.experimentRun-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="Component.experimentRun-toggle" onclick="return toggle('Component.experimentRun');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.drivers.component.Component-class.html#experimentRun">experimentRun</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Component.experimentRun-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Component.experimentRun-expanded"><a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.core.openspeak.OpenSpeak.parse_args()=TestON.core.openspeak.OpenSpeak-class.html#parse_args"><a title="TestON.core.openspeak.OpenSpeak.parse_args" class="py-name" href="#" onclick="return doclink('link-6', 'parse_args', 'link-6');">parse_args</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"RETURNS"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt>  <tt class="py-name">args</tt><tt class="py-op">[</tt><tt class="py-string">"RETURNS"</tt><tt class="py-op">]</tt>     </tt>
-</div></div><a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">!=</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">    <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt><tt class="py-name">__name__</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-7" class="py-name" targets="Class TestON.drivers.component.Component=TestON.drivers.component.Component-class.html"><a title="TestON.drivers.component.Component" class="py-name" href="#" onclick="return doclink('link-7', 'Component', 'link-7');">Component</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.drivers.component.Component-class.html b/TestON/Documentation/TestON_Document/TestON.drivers.component.Component-class.html
deleted file mode 100644
index 4ea1330..0000000
--- a/TestON/Documentation/TestON_Document/TestON.drivers.component.Component-class.html
+++ /dev/null
@@ -1,431 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.drivers.component.Component</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.drivers-module.html">Package&nbsp;drivers</a> ::
-        <a href="TestON.drivers.component-module.html">Module&nbsp;component</a> ::
-        Class&nbsp;Component
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.drivers.component.Component-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class Component</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.component-pysrc.html#Component">source&nbsp;code</a></span></p>
-<pre class="base-tree">
-object --+
-         |
-        <strong class="uidshort">Component</strong>
-</pre>
-
-<hr />
-<p>This is the tempalte class for components</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="TestON.drivers.component.Component-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.component-pysrc.html#Component.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="TestON.drivers.component.Component-class.html#__getattr__" class="summary-sig-name">__getattr__</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">name</span>)</span><br />
-      This will invoke, if the attribute wasn't found the usual ways.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.component-pysrc.html#Component.__getattr__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="connect"></a><span class="summary-sig-name">connect</span>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.component-pysrc.html#Component.connect">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="execute"></a><span class="summary-sig-name">execute</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">cmd</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.component-pysrc.html#Component.execute">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="disconnect"></a><span class="summary-sig-name">disconnect</span>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.component-pysrc.html#Component.disconnect">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="config"></a><span class="summary-sig-name">config</span>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.component-pysrc.html#Component.config">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="cleanup"></a><span class="summary-sig-name">cleanup</span>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.component-pysrc.html#Component.cleanup">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="log"></a><span class="summary-sig-name">log</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">message</span>)</span><br />
-      Here finding the for the component to which the log message based on 
-      the called child object.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.component-pysrc.html#Component.log">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="close_log_handles"></a><span class="summary-sig-name">close_log_handles</span>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.component-pysrc.html#Component.close_log_handles">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="get_version"></a><span class="summary-sig-name">get_version</span>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.component-pysrc.html#Component.get_version">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="experimentRun"></a><span class="summary-sig-name">experimentRun</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">**kwargs</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.drivers.component-pysrc.html#Component.experimentRun">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__delattr__</code>,
-      <code>__format__</code>,
-      <code>__getattribute__</code>,
-      <code>__hash__</code>,
-      <code>__new__</code>,
-      <code>__reduce__</code>,
-      <code>__reduce_ex__</code>,
-      <code>__repr__</code>,
-      <code>__setattr__</code>,
-      <code>__sizeof__</code>,
-      <code>__str__</code>,
-      <code>__subclasshook__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PROPERTIES ==================== -->
-<a name="section-Properties"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Properties</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Properties"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr>
-    <td colspan="2" class="summary">
-    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
-      <code>__class__</code>
-      </p>
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="__init__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
-    <br /><em class="fname">(Constructor)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="TestON.drivers.component-pysrc.html#Component.__init__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
-  signature</p>
-  <dl class="fields">
-    <dt>Overrides:
-        object.__init__
-        <dd><em class="note">(inherited documentation)</em></dd>
-    </dt>
-  </dl>
-</td></tr></table>
-</div>
-<a name="__getattr__"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">__getattr__</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">name</span>)</span>
-    <br /><em class="fname">(Qualification operator)</em>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="TestON.drivers.component-pysrc.html#Component.__getattr__">source&nbsp;code</a></span>&nbsp;
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-
-This will invoke, if the attribute wasn't found the usual ways.
- Here it will look for assert_attribute and will execute when AttributeError occurs.
- It will return the result of the assert_attribute.
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.examples-module.html b/TestON/Documentation/TestON_Document/TestON.examples-module.html
index d0b7c9a..20ca846 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -77,7 +82,10 @@
   <ul class="nomargin">
     <li> <strong class="uidlink"><a href="TestON.examples.Assert-module.html">TestON.examples.Assert</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.examples.Assert.Assert-module.html">TestON.examples.Assert.Assert</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.examples.Assert.Assert-module.html">TestON.examples.Assert.Assert</a></strong>: <em class="summary">TestON is free software: you can redistribute it and/or modify it 
+        under the terms of the GNU General Public License as published by 
+        the Free Software Foundation, either version 2 of the License, or 
+        (at your option) any later version.</em>    </li>
     </ul>
     </li>
     <li> <strong class="uidlink"><a href="TestON.examples.CaseParams-module.html">TestON.examples.CaseParams</a></strong>
@@ -104,6 +112,32 @@
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -124,13 +158,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples-pysrc.html b/TestON/Documentation/TestON_Document/TestON.examples-pysrc.html
index f5fb8fb..6cd8e68 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -84,13 +89,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.Assert-module.html b/TestON/Documentation/TestON_Document/TestON.examples.Assert-module.html
index 35d04af..3608c94 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.Assert-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.Assert-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -76,11 +81,40 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.examples.Assert.Assert-module.html">TestON.examples.Assert.Assert</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.examples.Assert.Assert-module.html">TestON.examples.Assert.Assert</a></strong>: <em class="summary">TestON is free software: you can redistribute it and/or modify it 
+        under the terms of the GNU General Public License as published by 
+        the Free Software Foundation, either version 2 of the License, or 
+        (at your option) any later version.</em>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +135,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.Assert-pysrc.html b/TestON/Documentation/TestON_Document/TestON.examples.Assert-pysrc.html
index ddab5de..6c6ca2e 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.Assert-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.Assert-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.Assert.Assert-module.html b/TestON/Documentation/TestON_Document/TestON.examples.Assert.Assert-module.html
index 30733ac..44acb61 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.Assert.Assert-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.Assert.Assert-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -58,6 +63,17 @@
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
 <h1 class="epydoc">Module Assert</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.examples.Assert.Assert-pysrc.html">source&nbsp;code</a></span></p>
+<p>TestON is free software: you can redistribute it and/or modify it 
+  under the terms of the GNU General Public License as published by the 
+  Free Software Foundation, either version 2 of the License, or (at your 
+  option) any later version.</p>
+  <p>TestON is distributed in the hope that it will be useful, but WITHOUT 
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+  more details.</p>
+  <p>You should have received a copy of the GNU General Public License 
+  along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</p>
+
 <!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -83,6 +99,32 @@
     </td>
   </tr>
 </table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -103,13 +145,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.Assert.Assert-pysrc.html b/TestON/Documentation/TestON_Document/TestON.examples.Assert.Assert-pysrc.html
index 9a8028d..f3a2edf 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.Assert.Assert-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.Assert.Assert-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -58,40 +63,57 @@
 </table>
 <h1 class="epydoc">Source Code for <a href="TestON.examples.Assert.Assert-module.html">Module TestON.examples.Assert.Assert</a></h1>
 <pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"> </tt>
-<a name="Assert"></a><div id="Assert-def"><a name="L2"></a><tt class="py-lineno"> 2</tt> <a class="py-toggle" href="#" id="Assert-toggle" onclick="return toggle('Assert');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.examples.Assert.Assert.Assert-class.html">Assert</a> <tt class="py-op">:</tt> </tt>
-</div><div id="Assert-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Assert-expanded"><a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"> </tt>
-<a name="Assert.__init__"></a><div id="Assert.__init__-def"><a name="L4"></a><tt class="py-lineno"> 4</tt> <a class="py-toggle" href="#" id="Assert.__init__-toggle" onclick="return toggle('Assert.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.Assert.Assert.Assert-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="Assert.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Assert.__init__-expanded"><a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-</div><a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"> </tt>
-<a name="Assert.CASE1"></a><div id="Assert.CASE1-def"><a name="L7"></a><tt class="py-lineno"> 7</tt> <a class="py-toggle" href="#" id="Assert.CASE1-toggle" onclick="return toggle('Assert.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.Assert.Assert.Assert-class.html#CASE1">CASE1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="Assert.CASE1-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Assert.CASE1-expanded"><a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">     </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using assert to verify the result"</tt><tt class="py-op">)</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using assert_equal to verify the result is equivalent or not"</tt><tt class="py-op">)</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">        <tt class="py-name">expect</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">        <tt class="py-name">actual</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">expect</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">actual</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"expect is equal to actual"</tt><tt class="py-op">,</tt><tt id="link-3" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-3', 'onfail', 'link-3');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"expect is not equal to actual"</tt><tt class="py-op">)</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">     </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-4', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using assert_matches to verify the result matches or not"</tt><tt class="py-op">)</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">        <tt class="py-name">expect</tt> <tt class="py-op">=</tt> <tt class="py-string">"Res(.*)"</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">        <tt class="py-name">actual</tt> <tt class="py-op">=</tt> <tt class="py-string">"Result"</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">expect</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">actual</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"expect is macthes to actual"</tt><tt class="py-op">,</tt><tt id="link-5" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-5', 'onfail', 'link-3');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"expect is not matches to actual"</tt><tt class="py-op">)</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">     </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-6', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using assert_greater to verify the result greater or not"</tt><tt class="py-op">)</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">        <tt class="py-name">expect</tt> <tt class="py-op">=</tt> <tt class="py-number">10</tt> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-name">actual</tt> <tt class="py-op">=</tt> <tt class="py-number">5</tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_greater</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">actual</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">expect</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"expect is greater than the actual"</tt><tt class="py-op">,</tt><tt id="link-7" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-7', 'onfail', 'link-3');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"expect is not greater than the actual"</tt><tt class="py-op">)</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">     </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-8', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using assert_lesser to verify the result lesser or not"</tt><tt class="py-op">)</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-name">expect</tt> <tt class="py-op">=</tt> <tt class="py-number">5</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">        <tt class="py-name">actual</tt> <tt class="py-op">=</tt> <tt class="py-number">10</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_lesser</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">actual</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">expect</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"expect is lesser than the actual"</tt><tt class="py-op">,</tt><tt id="link-9" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-9', 'onfail', 'link-3');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"expect is not lesser than the actual"</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">    (at your option) any later version.</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="Assert"></a><div id="Assert-def"><a name="L18"></a><tt class="py-lineno">18</tt> <a class="py-toggle" href="#" id="Assert-toggle" onclick="return toggle('Assert');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.examples.Assert.Assert.Assert-class.html">Assert</a> <tt class="py-op">:</tt> </tt>
+</div><div id="Assert-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Assert-expanded"><a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"> </tt>
+<a name="Assert.__init__"></a><div id="Assert.__init__-def"><a name="L20"></a><tt class="py-lineno">20</tt> <a class="py-toggle" href="#" id="Assert.__init__-toggle" onclick="return toggle('Assert.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.Assert.Assert.Assert-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="Assert.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Assert.__init__-expanded"><a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"> </tt>
+<a name="Assert.CASE1"></a><div id="Assert.CASE1-def"><a name="L23"></a><tt class="py-lineno">23</tt> <a class="py-toggle" href="#" id="Assert.CASE1-toggle" onclick="return toggle('Assert.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.Assert.Assert.Assert-class.html#CASE1">CASE1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+</div><div id="Assert.CASE1-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Assert.CASE1-expanded"><a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using assert to verify the result"</tt><tt class="py-op">)</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using assert_equal to verify the result is equivalent or not"</tt><tt class="py-op">)</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">        <tt class="py-name">expect</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">actual</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-3', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method TestON.core.teston.TestON.response_parser()=TestON.core.teston.TestON-class.html#response_parser"><a title="TestON.core.teston.TestON.response_parser" class="py-name" href="#" onclick="return doclink('link-4', 'response_parser', 'link-4');">response_parser</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;real&gt;&lt;/real&gt;&lt;imag&gt;2&lt;/imag&gt;&lt;__complex__&gt;true&lt;/__complex__&gt;'</tt><tt class="py-op">,</tt> <tt class="py-string">"json"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">expect</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">actual</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"expect is equal to actual"</tt><tt class="py-op">,</tt><tt id="link-5" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-5', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"expect is not equal to actual"</tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line"> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-6', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using assert_matches to verify the result matches or not"</tt><tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">        <tt class="py-name">expect</tt> <tt class="py-op">=</tt> <tt class="py-string">"Res(.*)"</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">        <tt class="py-name">actual</tt> <tt class="py-op">=</tt> <tt class="py-string">"Result"</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_matches</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">expect</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">actual</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"expect is macthes to actual"</tt><tt class="py-op">,</tt><tt id="link-7" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-7', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"expect is not matches to actual"</tt><tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-8', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using assert_greater to verify the result greater or not"</tt><tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-name">expect</tt> <tt class="py-op">=</tt> <tt class="py-number">10</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-name">actual</tt> <tt class="py-op">=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_greater</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">actual</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">expect</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"expect is greater than the actual"</tt><tt class="py-op">,</tt><tt id="link-9" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-9', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"expect is not greater than the actual"</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line"> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-10', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using assert_lesser to verify the result lesser or not"</tt><tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-name">expect</tt> <tt class="py-op">=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">        <tt class="py-name">actual</tt> <tt class="py-op">=</tt> <tt class="py-number">10</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_lesser</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">actual</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">expect</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"expect is lesser than the actual"</tt><tt class="py-op">,</tt><tt id="link-11" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-11', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"expect is not lesser than the actual"</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -118,13 +140,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.Assert.Assert.Assert-class.html b/TestON/Documentation/TestON_Document/TestON.examples.Assert.Assert.Assert-class.html
index 4455b18..da00f2d 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.Assert.Assert.Assert-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.Assert.Assert.Assert-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -130,13 +135,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.CaseParams-module.html b/TestON/Documentation/TestON_Document/TestON.examples.CaseParams-module.html
index ceabee7..93108c9 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.CaseParams-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.CaseParams-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -81,6 +86,32 @@
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.CaseParams-pysrc.html b/TestON/Documentation/TestON_Document/TestON.examples.CaseParams-pysrc.html
index ac6c8c1..b74e62f 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.CaseParams-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.CaseParams-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.CaseParams.CaseParams-module.html b/TestON/Documentation/TestON_Document/TestON.examples.CaseParams.CaseParams-module.html
index 94f89b5..c850761 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.CaseParams.CaseParams-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.CaseParams.CaseParams-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -63,6 +68,17 @@
 <hr />
 <div class="fields">      <p><strong>Author:</strong>
         Anil Kumar (anilkumar.s@paxterrasolutions.com)
+        <p>TestON is free software: you can redistribute it and/or modify 
+        it under the terms of the GNU General Public License as published 
+        by the Free Software Foundation, either version 2 of the License, 
+        or (at your option) any later version.</p>
+        <p>TestON is distributed in the hope that it will be useful, but 
+        WITHOUT ANY WARRANTY; without even the implied warranty of 
+        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+        General Public License for more details.</p>
+        <p>You should have received a copy of the GNU General Public 
+        License along with TestON.  If not, see 
+        &lt;http://www.gnu.org/licenses/&gt;.</p>
       </p>
 </div><!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
@@ -92,6 +108,32 @@
     </td>
   </tr>
 </table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -112,13 +154,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.CaseParams.CaseParams-pysrc.html b/TestON/Documentation/TestON_Document/TestON.examples.CaseParams.CaseParams-pysrc.html
index c5e8d6d..40ad03a 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.CaseParams.CaseParams-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.CaseParams.CaseParams-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -63,48 +68,62 @@
 <a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 26-Nov-2012</tt> </tt>
 <a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
 <a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt>   </tt>
-<a name="CaseParams"></a><div id="CaseParams-def"><a name="L7"></a><tt class="py-lineno"> 7</tt> <a class="py-toggle" href="#" id="CaseParams-toggle" onclick="return toggle('CaseParams');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html">CaseParams</a><tt class="py-op">:</tt> </tt>
-</div><div id="CaseParams-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="CaseParams-expanded"><a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    This example shows the usage of the CASE level parameters, in params file the</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    [[CASE]]</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring">        'destination'  = 'h2'</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    We can get this CASE level parameter like :</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    main.params['CASE1']['destination']</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">    cd ~/bin/</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    ofautomation&gt;run CaseParams example 1</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring">       will execute this example.</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">     </tt>
-<a name="CaseParams.__init__"></a><div id="CaseParams.__init__-def"><a name="L22"></a><tt class="py-lineno">22</tt> <a class="py-toggle" href="#" id="CaseParams.__init__-toggle" onclick="return toggle('CaseParams.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CaseParams.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="CaseParams.__init__-expanded"><a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-</div><a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">                 </tt>
-<a name="CaseParams.CASE1"></a><div id="CaseParams.CASE1-def"><a name="L25"></a><tt class="py-lineno">25</tt> <a class="py-toggle" href="#" id="CaseParams.CASE1-toggle" onclick="return toggle('CaseParams.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html#CASE1">CASE1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CaseParams.CASE1-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="CaseParams.CASE1-expanded"><a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-docstring">        This test case will showcase usage of CASE level parameters to specify the host as h2</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using CASE level parameters to specify the host as h2"</tt><tt class="py-op">)</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Host IP Checking using checkIP"</tt><tt class="py-op">)</tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkIP"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP" class="py-name" href="#" onclick="return doclink('link-3', 'checkIP', 'link-3');">checkIP</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'destination'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-4', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Verifying the result"</tt><tt class="py-op">)</tt> </tt>
-<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address configured"</tt><tt class="py-op">,</tt><tt id="link-5" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-5', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address didn't configured"</tt><tt class="py-op">)</tt>  </tt>
-</div><a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">         </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="CaseParams"></a><div id="CaseParams-def"><a name="L21"></a><tt class="py-lineno">21</tt> <a class="py-toggle" href="#" id="CaseParams-toggle" onclick="return toggle('CaseParams');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html">CaseParams</a><tt class="py-op">:</tt> </tt>
+</div><div id="CaseParams-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="CaseParams-expanded"><a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-docstring">    This example shows the usage of the CASE level parameters, in params file the</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-docstring">    [[CASE]]</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"><tt class="py-docstring">        'destination'  = 'h2'</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-docstring">    We can get this CASE level parameter like :</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-docstring">    main.params['CASE1']['destination']</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"><tt class="py-docstring">    cd ~/bin/</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line"><tt class="py-docstring">    ofautomation&gt;run CaseParams example 1</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"><tt class="py-docstring">       will execute this example.</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
 <a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line"> </tt>
-<a name="CaseParams.CASE2"></a><div id="CaseParams.CASE2-def"><a name="L36"></a><tt class="py-lineno">36</tt> <a class="py-toggle" href="#" id="CaseParams.CASE2-toggle" onclick="return toggle('CaseParams.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html#CASE2">CASE2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="CaseParams.CASE2-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="CaseParams.CASE2-expanded"><a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-docstring">        This test case will showcase usage of CASE level parameters to specify the host as h3</tt> </tt>
-<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-6', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using CASE level parameters to specify the host as h3"</tt><tt class="py-op">)</tt> </tt>
-<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-7', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Host IP Checking using checkIP"</tt><tt class="py-op">)</tt> </tt>
-<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP" class="py-name" href="#" onclick="return doclink('link-8', 'checkIP', 'link-3');">checkIP</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'destination'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-9', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Verifying the result"</tt><tt class="py-op">)</tt> </tt>
-<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host h3 IP address configured"</tt><tt class="py-op">,</tt><tt id="link-10" class="py-name"><a title="TestON.core.teston.TestON.onfail
+<a name="CaseParams.__init__"></a><div id="CaseParams.__init__-def"><a name="L36"></a><tt class="py-lineno">36</tt> <a class="py-toggle" href="#" id="CaseParams.__init__-toggle" onclick="return toggle('CaseParams.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CaseParams.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="CaseParams.__init__-expanded"><a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+</div><a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"> </tt>
+<a name="CaseParams.CASE1"></a><div id="CaseParams.CASE1-def"><a name="L39"></a><tt class="py-lineno">39</tt> <a class="py-toggle" href="#" id="CaseParams.CASE1-toggle" onclick="return toggle('CaseParams.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html#CASE1">CASE1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CaseParams.CASE1-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="CaseParams.CASE1-expanded"><a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"><tt class="py-docstring">        This test case will showcase usage of CASE level parameters to specify the host as h2</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using CASE level parameters to specify the host as h2"</tt><tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Host IP Checking using checkIP"</tt><tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkIP"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP" class="py-name" href="#" onclick="return doclink('link-3', 'checkIP', 'link-3');">checkIP</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'destination'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-4', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Verifying the result"</tt><tt class="py-op">)</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address configured"</tt><tt class="py-op">,</tt><tt id="link-5" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-5', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address didn't configured"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"> </tt>
+<a name="CaseParams.CASE2"></a><div id="CaseParams.CASE2-def"><a name="L50"></a><tt class="py-lineno">50</tt> <a class="py-toggle" href="#" id="CaseParams.CASE2-toggle" onclick="return toggle('CaseParams.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html#CASE2">CASE2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CaseParams.CASE2-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="CaseParams.CASE2-expanded"><a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line"><tt class="py-docstring">        This test case will showcase usage of CASE level parameters to specify the host as h3</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-6', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using CASE level parameters to specify the host as h3"</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-7', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Host IP Checking using checkIP"</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP" class="py-name" href="#" onclick="return doclink('link-8', 'checkIP', 'link-3');">checkIP</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'destination'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-9', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Verifying the result"</tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host h3 IP address configured"</tt><tt class="py-op">,</tt><tt id="link-10" class="py-name"><a title="TestON.core.teston.TestON.onfail
 TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-10', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host h3 IP address didn't configured"</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+</div></div><a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -131,13 +150,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.CaseParams.CaseParams.CaseParams-class.html b/TestON/Documentation/TestON_Document/TestON.examples.CaseParams.CaseParams.CaseParams-class.html
index b51f8bf..6f06da7 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.CaseParams.CaseParams.CaseParams-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.CaseParams.CaseParams.CaseParams-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -167,13 +172,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest-module.html b/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest-module.html
index 4506f35..2a532ed 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -81,6 +86,32 @@
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest-pysrc.html
index 02f5541..7bf4a44 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest.ExperimentTest-module.html b/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest.ExperimentTest-module.html
index 0340a63..5d44e87 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest.ExperimentTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest.ExperimentTest-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -61,9 +66,23 @@
 <pre class="literalblock">
 
 Created on 26-Nov-2012
-    
+
 @author: Raghav Kashyap(raghavkashyap@paxterrasolutions.com)
 
+
+    TestON is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 2 of the License, or
+    (at your option) any later version.
+
+    TestON is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
+
 Testing of the Experimental Mode
 
 ofautomation&gt;run ExperimentTest example 1
@@ -97,6 +116,32 @@
     </td>
   </tr>
 </table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -117,13 +162,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest.ExperimentTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest.ExperimentTest-pysrc.html
index f4128dc..d3b48fd 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest.ExperimentTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest.ExperimentTest-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -59,57 +64,71 @@
 <h1 class="epydoc">Source Code for <a href="TestON.examples.ExperimentTest.ExperimentTest-module.html">Module TestON.examples.ExperimentTest.ExperimentTest</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">''' </tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
 <a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 26-Nov-2012</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
 <a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Raghav Kashyap(raghavkashyap@paxterrasolutions.com)</tt> </tt>
 <a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">Testing of the Experimental Mode</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">ofautomation&gt;run ExperimentTest example 1</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    will execute this example.</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="ExperimentTest"></a><div id="ExperimentTest-def"><a name="L12"></a><tt class="py-lineno">12</tt> <a class="py-toggle" href="#" id="ExperimentTest-toggle" onclick="return toggle('ExperimentTest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html">ExperimentTest</a><tt class="py-op">:</tt> </tt>
-</div><div id="ExperimentTest-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="ExperimentTest-expanded"><a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    Testing of the Experimental Mode </tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">     </tt>
-<a name="ExperimentTest.__init__"></a><div id="ExperimentTest.__init__-def"><a name="L18"></a><tt class="py-lineno">18</tt> <a class="py-toggle" href="#" id="ExperimentTest.__init__-toggle" onclick="return toggle('ExperimentTest.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ExperimentTest.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ExperimentTest.__init__-expanded"><a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-</div><a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">                 </tt>
-<a name="ExperimentTest.CASE1"></a><div id="ExperimentTest.CASE1-def"><a name="L21"></a><tt class="py-lineno">21</tt> <a class="py-toggle" href="#" id="ExperimentTest.CASE1-toggle" onclick="return toggle('ExperimentTest.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#CASE1">CASE1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ExperimentTest.CASE1-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ExperimentTest.CASE1-expanded"><a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-docstring">        Testing the configuration of the host by using checkIP functionof Mininet driver</tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">EXPERIMENTAL_MODE</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Testing the configuration of the host"</tt><tt class="py-op">)</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Host IP Checking using checkIP"</tt><tt class="py-op">)</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkIP"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP" class="py-name" href="#" onclick="return doclink('link-3', 'checkIP', 'link-3');">checkIP</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'destination'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-4', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Verifying the result"</tt><tt class="py-op">)</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address configured"</tt><tt class="py-op">,</tt><tt id="link-5" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-5', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address didn't configured"</tt><tt class="py-op">)</tt>  </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-6', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Calling Non Existing API for Experimental Mode"</tt><tt class="py-op">)</tt>   </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-name">testReturn</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">POX2</tt><tt class="py-op">.</tt><tt class="py-name">verify_flow</tt><tt class="py-op">(</tt><tt class="py-name">returns</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">)</tt> </tt>
-<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">testReturn</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address configured"</tt><tt class="py-op">,</tt><tt id="link-7" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-7', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address didn't configured"</tt><tt class="py-op">)</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring">    (at your option) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring">Testing of the Experimental Mode</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-docstring">ofautomation&gt;run ExperimentTest example 1</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-docstring">    will execute this example.</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="ExperimentTest"></a><div id="ExperimentTest-def"><a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="ExperimentTest-toggle" onclick="return toggle('ExperimentTest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html">ExperimentTest</a><tt class="py-op">:</tt> </tt>
+</div><div id="ExperimentTest-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="ExperimentTest-expanded"><a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-docstring">    Testing of the Experimental Mode</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"> </tt>
+<a name="ExperimentTest.__init__"></a><div id="ExperimentTest.__init__-def"><a name="L32"></a><tt class="py-lineno">32</tt> <a class="py-toggle" href="#" id="ExperimentTest.__init__-toggle" onclick="return toggle('ExperimentTest.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ExperimentTest.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ExperimentTest.__init__-expanded"><a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
 </div><a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"> </tt>
-<a name="ExperimentTest.CASE2"></a><div id="ExperimentTest.CASE2-def"><a name="L35"></a><tt class="py-lineno">35</tt> <a class="py-toggle" href="#" id="ExperimentTest.CASE2-toggle" onclick="return toggle('ExperimentTest.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#CASE2">CASE2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ExperimentTest.CASE2-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ExperimentTest.CASE2-expanded"><a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"><tt class="py-docstring">        Testing of the reachability of the hosts by using pingall of Mininet driver</tt> </tt>
+<a name="ExperimentTest.CASE1"></a><div id="ExperimentTest.CASE1-def"><a name="L35"></a><tt class="py-lineno">35</tt> <a class="py-toggle" href="#" id="ExperimentTest.CASE1-toggle" onclick="return toggle('ExperimentTest.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#CASE1">CASE1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ExperimentTest.CASE1-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ExperimentTest.CASE1-expanded"><a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"><tt class="py-docstring">        Testing the configuration of the host by using checkIP functionof Mininet driver</tt> </tt>
 <a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
 <a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">EXPERIMENTAL_MODE</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
-<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-8', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Testing Reachabilty of all the hosts"</tt><tt class="py-op">)</tt> </tt>
-<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-9', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Checking Hosts reachability by using pingall"</tt><tt class="py-op">)</tt> </tt>
-<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingall"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-10', 'pingall', 'link-10');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-11', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Verifying the result"</tt><tt class="py-op">)</tt> </tt>
-<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"All hosts are reacchable"</tt><tt class="py-op">,</tt><tt id="link-12" class="py-name"><a title="TestON.core.teston.TestON.onfail
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Testing the configuration of the host"</tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Host IP Checking using checkIP"</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkIP"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP" class="py-name" href="#" onclick="return doclink('link-3', 'checkIP', 'link-3');">checkIP</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'destination'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-4', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Verifying the result"</tt><tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address configured"</tt><tt class="py-op">,</tt><tt id="link-5" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-5', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address didn't configured"</tt><tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-6', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Calling Non Existing API for Experimental Mode"</tt><tt class="py-op">)</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt class="py-name">testReturn</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">POX2</tt><tt class="py-op">.</tt><tt class="py-name">verify_flow</tt><tt class="py-op">(</tt><tt class="py-name">returns</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">)</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">testReturn</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address configured"</tt><tt class="py-op">,</tt><tt id="link-7" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-7', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address didn't configured"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"> </tt>
+<a name="ExperimentTest.CASE2"></a><div id="ExperimentTest.CASE2-def"><a name="L49"></a><tt class="py-lineno">49</tt> <a class="py-toggle" href="#" id="ExperimentTest.CASE2-toggle" onclick="return toggle('ExperimentTest.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#CASE2">CASE2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ExperimentTest.CASE2-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ExperimentTest.CASE2-expanded"><a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line"><tt class="py-docstring">        Testing of the reachability of the hosts by using pingall of Mininet driver</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">EXPERIMENTAL_MODE</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-8', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Testing Reachabilty of all the hosts"</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-9', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Checking Hosts reachability by using pingall"</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingall"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-10', 'pingall', 'link-10');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-11', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Verifying the result"</tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"All hosts are reacchable"</tt><tt class="py-op">,</tt><tt id="link-12" class="py-name"><a title="TestON.core.teston.TestON.onfail
 TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-12', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Hosts are not reachable"</tt><tt class="py-op">)</tt> </tt>
-<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-13', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Calling Non Existing API for Experimental Mode"</tt><tt class="py-op">)</tt>   </tt>
-<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt class="py-name">testReturn</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">verify_flow</tt><tt class="py-op">(</tt><tt class="py-name">returns</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">)</tt> </tt>
-<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">testReturn</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address configured"</tt><tt class="py-op">,</tt><tt id="link-14" class="py-name"><a title="TestON.core.teston.TestON.onfail
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-13', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Calling Non Existing API for Experimental Mode"</tt><tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">        <tt class="py-name">testReturn</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">verify_flow</tt><tt class="py-op">(</tt><tt class="py-name">returns</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">testReturn</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address configured"</tt><tt class="py-op">,</tt><tt id="link-14" class="py-name"><a title="TestON.core.teston.TestON.onfail
 TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-14', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address didn't configured"</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+</div></div><a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -136,13 +155,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html b/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html
index 9e7967e..372ddd3 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -153,13 +158,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.StepParams-module.html b/TestON/Documentation/TestON_Document/TestON.examples.StepParams-module.html
index 4bfea36..a5f9064 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.StepParams-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.StepParams-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -81,6 +86,32 @@
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.StepParams-pysrc.html b/TestON/Documentation/TestON_Document/TestON.examples.StepParams-pysrc.html
index eecff9a..658a00a 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.StepParams-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.StepParams-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.StepParams.StepParams-module.html b/TestON/Documentation/TestON_Document/TestON.examples.StepParams.StepParams-module.html
index 171370e..d188322 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.StepParams.StepParams-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.StepParams.StepParams-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -63,6 +68,17 @@
 <hr />
 <div class="fields">      <p><strong>Author:</strong>
         Anil Kumar (anilkumar.s@paxterrasolutions.com)
+        <p>TestON is free software: you can redistribute it and/or modify 
+        it under the terms of the GNU General Public License as published 
+        by the Free Software Foundation, either version 2 of the License, 
+        or (at your option) any later version.</p>
+        <p>TestON is distributed in the hope that it will be useful, but 
+        WITHOUT ANY WARRANTY; without even the implied warranty of 
+        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+        General Public License for more details.</p>
+        <p>You should have received a copy of the GNU General Public 
+        License along with TestON.  If not, see 
+        &lt;http://www.gnu.org/licenses/&gt;.</p>
       </p>
 </div><!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
@@ -93,6 +109,32 @@
     </td>
   </tr>
 </table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -113,13 +155,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.StepParams.StepParams-pysrc.html b/TestON/Documentation/TestON_Document/TestON.examples.StepParams.StepParams-pysrc.html
index 5689231..e1c3aa5 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.StepParams.StepParams-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.StepParams.StepParams-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -63,46 +68,60 @@
 <a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 28-Nov-2012</tt> </tt>
 <a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
 <a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt>   </tt>
-<a name="StepParams"></a><div id="StepParams-def"><a name="L7"></a><tt class="py-lineno"> 7</tt> <a class="py-toggle" href="#" id="StepParams-toggle" onclick="return toggle('StepParams');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.examples.StepParams.StepParams.StepParams-class.html">StepParams</a><tt class="py-op">:</tt> </tt>
-</div><div id="StepParams-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="StepParams-expanded"><a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line">    <tt class="py-docstring">''' </tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    This example shows the usage of the STEP level parameters, in params file the</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    [[CASE1]]</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring">    [[[STEP1]]]</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring">        'host'  = 'h2'</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    We can get this STEP level parameter like :</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    main.params['CASE1']['STEP1']['host']</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    ofautomation&gt;run StepParams example 1       </tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="StepParams.__init__"></a><div id="StepParams.__init__-def"><a name="L20"></a><tt class="py-lineno">20</tt> <a class="py-toggle" href="#" id="StepParams.__init__-toggle" onclick="return toggle('StepParams.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.StepParams.StepParams.StepParams-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="StepParams.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="StepParams.__init__-expanded"><a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-</div><a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">                 </tt>
-<a name="StepParams.CASE1"></a><div id="StepParams.CASE1-def"><a name="L23"></a><tt class="py-lineno">23</tt> <a class="py-toggle" href="#" id="StepParams.CASE1-toggle" onclick="return toggle('StepParams.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.StepParams.StepParams.StepParams-class.html#CASE1">CASE1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="StepParams.CASE1-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="StepParams.CASE1-expanded"><a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"><tt class="py-docstring">        This example will showcase the usage of STEP level parameters to specify the host as h2</tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using STEP level parameters to specify the host as h2"</tt><tt class="py-op">)</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Host IP Checking using checkIP"</tt><tt class="py-op">)</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkIP"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP" class="py-name" href="#" onclick="return doclink('link-3', 'checkIP', 'link-3');">checkIP</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'host'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-4', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Verifying the result"</tt><tt class="py-op">)</tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address configured"</tt><tt class="py-op">,</tt><tt id="link-5" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-5', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address didn't configured"</tt><tt class="py-op">)</tt>  </tt>
-</div><a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">         </tt>
-<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"> </tt>
-<a name="StepParams.CASE2"></a><div id="StepParams.CASE2-def"><a name="L34"></a><tt class="py-lineno">34</tt> <a class="py-toggle" href="#" id="StepParams.CASE2-toggle" onclick="return toggle('StepParams.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.StepParams.StepParams.StepParams-class.html#CASE2">CASE2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="StepParams.CASE2-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="StepParams.CASE2-expanded"><a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"><tt class="py-docstring">                This example will showcase the usage of STEP level parameters to specify the host as h3</tt> </tt>
-<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-6', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using STEP level parameters to specify the host as h3"</tt><tt class="py-op">)</tt> </tt>
-<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-7', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Host IP Checking using checkIP"</tt><tt class="py-op">)</tt> </tt>
-<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP" class="py-name" href="#" onclick="return doclink('link-8', 'checkIP', 'link-3');">checkIP</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'host'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-9', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Verifying the result"</tt><tt class="py-op">)</tt> </tt>
-<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host h3 IP address configured"</tt><tt class="py-op">,</tt><tt id="link-10" class="py-name"><a title="TestON.core.teston.TestON.onfail
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring">    (at your option) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="StepParams"></a><div id="StepParams-def"><a name="L21"></a><tt class="py-lineno">21</tt> <a class="py-toggle" href="#" id="StepParams-toggle" onclick="return toggle('StepParams');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.examples.StepParams.StepParams.StepParams-class.html">StepParams</a><tt class="py-op">:</tt> </tt>
+</div><div id="StepParams-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="StepParams-expanded"><a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-docstring">    This example shows the usage of the STEP level parameters, in params file the</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-docstring">    [[CASE1]]</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"><tt class="py-docstring">    [[[STEP1]]]</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"><tt class="py-docstring">        'host'  = 'h2'</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-docstring">    We can get this STEP level parameter like :</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"><tt class="py-docstring">    main.params['CASE1']['STEP1']['host']</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line"><tt class="py-docstring">    ofautomation&gt;run StepParams example 1</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="StepParams.__init__"></a><div id="StepParams.__init__-def"><a name="L34"></a><tt class="py-lineno">34</tt> <a class="py-toggle" href="#" id="StepParams.__init__-toggle" onclick="return toggle('StepParams.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.StepParams.StepParams.StepParams-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="StepParams.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="StepParams.__init__-expanded"><a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+</div><a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"> </tt>
+<a name="StepParams.CASE1"></a><div id="StepParams.CASE1-def"><a name="L37"></a><tt class="py-lineno">37</tt> <a class="py-toggle" href="#" id="StepParams.CASE1-toggle" onclick="return toggle('StepParams.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.StepParams.StepParams.StepParams-class.html#CASE1">CASE1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="StepParams.CASE1-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="StepParams.CASE1-expanded"><a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-docstring">        This example will showcase the usage of STEP level parameters to specify the host as h2</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using STEP level parameters to specify the host as h2"</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Host IP Checking using checkIP"</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkIP"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP" class="py-name" href="#" onclick="return doclink('link-3', 'checkIP', 'link-3');">checkIP</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'host'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-4', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Verifying the result"</tt><tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address configured"</tt><tt class="py-op">,</tt><tt id="link-5" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-5', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address didn't configured"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line"> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line"> </tt>
+<a name="StepParams.CASE2"></a><div id="StepParams.CASE2-def"><a name="L48"></a><tt class="py-lineno">48</tt> <a class="py-toggle" href="#" id="StepParams.CASE2-toggle" onclick="return toggle('StepParams.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.StepParams.StepParams.StepParams-class.html#CASE2">CASE2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="StepParams.CASE2-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="StepParams.CASE2-expanded"><a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"><tt class="py-docstring">                This example will showcase the usage of STEP level parameters to specify the host as h3</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-6', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Using STEP level parameters to specify the host as h3"</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-7', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Host IP Checking using checkIP"</tt><tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP" class="py-name" href="#" onclick="return doclink('link-8', 'checkIP', 'link-3');">checkIP</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'host'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-9', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Verifying the result"</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host h3 IP address configured"</tt><tt class="py-op">,</tt><tt id="link-10" class="py-name"><a title="TestON.core.teston.TestON.onfail
 TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-10', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host h3 IP address didn't configured"</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+</div></div><a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -129,13 +148,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.StepParams.StepParams.StepParams-class.html b/TestON/Documentation/TestON_Document/TestON.examples.StepParams.StepParams.StepParams-class.html
index 6443e3f..0b421c1 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.StepParams.StepParams.StepParams-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.StepParams.StepParams.StepParams-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -70,7 +75,7 @@
 main.params['CASE1']['STEP1']['host']
 
 
-ofautomation&gt;run StepParams example 1       
+ofautomation&gt;run StepParams example 1
 
 </pre>
 
@@ -166,13 +171,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.Topology-module.html b/TestON/Documentation/TestON_Document/TestON.examples.Topology-module.html
index e2a6923..17aff35 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.Topology-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.Topology-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -81,6 +86,32 @@
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.Topology-pysrc.html b/TestON/Documentation/TestON_Document/TestON.examples.Topology-pysrc.html
index 3edf3a3..dd468ca 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.Topology-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.Topology-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.Topology.Topology-module.html b/TestON/Documentation/TestON_Document/TestON.examples.Topology.Topology-module.html
index a49b347..599a67c 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.Topology.Topology-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.Topology.Topology-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -63,6 +68,17 @@
 <hr />
 <div class="fields">      <p><strong>Author:</strong>
         Anil Kumar (anilkumar.s@paxterrasolutions.com)
+        <p>TestON is free software: you can redistribute it and/or modify 
+        it under the terms of the GNU General Public License as published 
+        by the Free Software Foundation, either version 2 of the License, 
+        or (at your option) any later version.</p>
+        <p>TestON is distributed in the hope that it will be useful, but 
+        WITHOUT ANY WARRANTY; without even the implied warranty of 
+        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+        General Public License for more details.</p>
+        <p>You should have received a copy of the GNU General Public 
+        License along with TestON.  If not, see 
+        &lt;http://www.gnu.org/licenses/&gt;.</p>
       </p>
 </div><!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
@@ -90,6 +106,32 @@
     </td>
   </tr>
 </table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -110,13 +152,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.Topology.Topology-pysrc.html b/TestON/Documentation/TestON_Document/TestON.examples.Topology.Topology-pysrc.html
index c3174e0..04bfa40 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.Topology.Topology-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.Topology.Topology-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -63,43 +68,57 @@
 <a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 28-Nov-2012</tt> </tt>
 <a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
 <a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt>   </tt>
-<a name="Topology"></a><div id="Topology-def"><a name="L7"></a><tt class="py-lineno"> 7</tt> <a class="py-toggle" href="#" id="Topology-toggle" onclick="return toggle('Topology');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.examples.Topology.Topology.Topology-class.html">Topology</a><tt class="py-op">:</tt> </tt>
-</div><div id="Topology-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Topology-expanded"><a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    This example shows, how we can use the topology file:</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring">    In topo file we can specify the component like below:</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    [TOPOLOGY]   </tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">        [[COMPONENT]]</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring">            [[["Mininet1"]]]</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">           </tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    The usage of this component in the test script like below:</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring">    main.Mininet1.checkIP(main.params['CASE1']['destination'])</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-docstring">    Here we are using the Mininet1 which of type Mininet </tt> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"><tt class="py-docstring">    ofautomation&gt;run Topology example 1</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-docstring">       will execute this example.</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="Topology.__init__"></a><div id="Topology.__init__-def"><a name="L29"></a><tt class="py-lineno">29</tt> <a class="py-toggle" href="#" id="Topology.__init__-toggle" onclick="return toggle('Topology.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.Topology.Topology.Topology-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Topology.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Topology.__init__-expanded"><a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-</div><a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">                 </tt>
-<a name="Topology.CASE1"></a><div id="Topology.CASE1-def"><a name="L32"></a><tt class="py-lineno">32</tt> <a class="py-toggle" href="#" id="Topology.CASE1-toggle" onclick="return toggle('Topology.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.Topology.Topology.Topology-class.html#CASE1">CASE1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="Topology.CASE1-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Topology.CASE1-expanded"><a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"><tt class="py-docstring">        This will showcase the usage of Topology</tt> </tt>
-<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Usage of Topology"</tt><tt class="py-op">)</tt> </tt>
-<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Mininet1 specified in Topology , using the Mininet1 to check host ip"</tt><tt class="py-op">)</tt> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkIP"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP" class="py-name" href="#" onclick="return doclink('link-3', 'checkIP', 'link-3');">checkIP</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'destination'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-4', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Verifying the result"</tt><tt class="py-op">)</tt> </tt>
-<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address configured"</tt><tt class="py-op">,</tt><tt id="link-5" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    the Free Software Foundation, either version 2 of the License, or</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring">    (at your option) any later version.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">    TestON is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring">    GNU General Public License for more details.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring">    along with TestON.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="Topology"></a><div id="Topology-def"><a name="L21"></a><tt class="py-lineno">21</tt> <a class="py-toggle" href="#" id="Topology-toggle" onclick="return toggle('Topology');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.examples.Topology.Topology.Topology-class.html">Topology</a><tt class="py-op">:</tt> </tt>
+</div><div id="Topology-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Topology-expanded"><a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-docstring">    This example shows, how we can use the topology file:</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"><tt class="py-docstring">    In topo file we can specify the component like below:</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-docstring">    [TOPOLOGY]</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"><tt class="py-docstring">        [[COMPONENT]]</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"><tt class="py-docstring">            [[["Mininet1"]]]</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line"><tt class="py-docstring">    The usage of this component in the test script like below:</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"><tt class="py-docstring">    main.Mininet1.checkIP(main.params['CASE1']['destination'])</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"><tt class="py-docstring">    Here we are using the Mininet1 which of type Mininet</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line"><tt class="py-docstring">    ofautomation&gt;run Topology example 1</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"><tt class="py-docstring">       will execute this example.</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
+<a name="Topology.__init__"></a><div id="Topology.__init__-def"><a name="L43"></a><tt class="py-lineno">43</tt> <a class="py-toggle" href="#" id="Topology.__init__-toggle" onclick="return toggle('Topology.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.Topology.Topology.Topology-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Topology.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Topology.__init__-expanded"><a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+</div><a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"> </tt>
+<a name="Topology.CASE1"></a><div id="Topology.CASE1-def"><a name="L46"></a><tt class="py-lineno">46</tt> <a class="py-toggle" href="#" id="Topology.CASE1-toggle" onclick="return toggle('Topology.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.examples.Topology.Topology.Topology-class.html#CASE1">CASE1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Topology.CASE1-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Topology.CASE1-expanded"><a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"><tt class="py-docstring">        This will showcase the usage of Topology</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Usage of Topology"</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Mininet1 specified in Topology , using the Mininet1 to check host ip"</tt><tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkIP"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP" class="py-name" href="#" onclick="return doclink('link-3', 'checkIP', 'link-3');">checkIP</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'destination'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-4', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Verifying the result"</tt><tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address configured"</tt><tt class="py-op">,</tt><tt id="link-5" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
 TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-5', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address didn't configured"</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+</div></div><a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -126,13 +145,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.examples.Topology.Topology.Topology-class.html b/TestON/Documentation/TestON_Document/TestON.examples.Topology.Topology.Topology-class.html
index e4b176d..fc10217 100644
--- a/TestON/Documentation/TestON_Document/TestON.examples.Topology.Topology.Topology-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.examples.Topology.Topology.Topology-class.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -65,16 +70,16 @@
 This example shows, how we can use the topology file:
 
 In topo file we can specify the component like below:
-[TOPOLOGY]   
+[TOPOLOGY]
 
     [[COMPONENT]]
         [[[&quot;Mininet1&quot;]]]
-       
+
 The usage of this component in the test script like below:
 
 main.Mininet1.checkIP(main.params['CASE1']['destination'])
 
-Here we are using the Mininet1 which of type Mininet 
+Here we are using the Mininet1 which of type Mininet
 
 
 
@@ -155,13 +160,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.lib-module.html b/TestON/Documentation/TestON_Document/TestON.lib-module.html
index e17a8d3..5fc5b22 100644
--- a/TestON/Documentation/TestON_Document/TestON.lib-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.lib-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -56,6 +61,32 @@
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
 <h1 class="epydoc">Package lib</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.lib-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -76,13 +107,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.lib-pysrc.html b/TestON/Documentation/TestON_Document/TestON.lib-pysrc.html
index 4e600ff..23dfffc 100644
--- a/TestON/Documentation/TestON_Document/TestON.lib-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.lib-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -84,13 +89,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests-module.html b/TestON/Documentation/TestON_Document/TestON.tests-module.html
index 50b77b7..973e469 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests-module.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -75,45 +80,139 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.DpctlTest-module.html">TestON.tests.DpctlTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.CHOtest-module.html">TestON.tests.CHOtest</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.DpctlTest.DpctlTest-module.html">TestON.tests.DpctlTest.DpctlTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.CHOtest.CHOtest-module.html">TestON.tests.CHOtest.CHOtest</a></strong>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.FvtTest-module.html">TestON.tests.FvtTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.FUNCintent-module.html">TestON.tests.FUNCintent</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.FvtTest.FvtTest-module.html">TestON.tests.FvtTest.FvtTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.FUNCintent.FUNCintent-module.html">TestON.tests.FUNCintent.FUNCintent</a></strong>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.HPSwitchTest-module.html">TestON.tests.HPSwitchTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart-module.html">TestON.tests.HAclusterRestart</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.HPSwitchTest.HPSwitchTest-module.html">TestON.tests.HPSwitchTest.HPSwitchTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-module.html">TestON.tests.HAclusterRestart.HAclusterRestart</a></strong>: <em class="summary">Description: This test is to determine if ONOS can handle
+    all of it's nodes restarting</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.dependencies-module.html">TestON.tests.HAclusterRestart.dependencies</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html">TestON.tests.HAclusterRestart.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html">TestON.tests.HAclusterRestart.dependencies.obelisk</a></strong>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.MininetTest-module.html">TestON.tests.MininetTest</a></strong>
-    <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.MininetTest.MininetTest-module.html">TestON.tests.MininetTest.MininetTest</a></strong>: <em class="summary">Created on 29-Oct-2012</em>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.PoxTest-module.html">TestON.tests.PoxTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart-module.html">TestON.tests.HAminorityRestart</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.PoxTest.PoxTest-module.html">TestON.tests.PoxTest.PoxTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-module.html">TestON.tests.HAminorityRestart.HAminorityRestart</a></strong>: <em class="summary">Description: This test is to determine if ONOS can handle
+    a minority of it's nodes restarting</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.dependencies-module.html">TestON.tests.HAminorityRestart.dependencies</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html">TestON.tests.HAminorityRestart.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html">TestON.tests.HAminorityRestart.dependencies.obelisk</a></strong>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.TicketBooking-module.html">TestON.tests.TicketBooking</a></strong>
-    <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.TicketBooking.TicketBooking-module.html">TestON.tests.TicketBooking.TicketBooking</a></strong>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.VyattaTest-module.html">TestON.tests.VyattaTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity-module.html">TestON.tests.HAsanity</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.VyattaTest.VyattaTest-module.html">TestON.tests.VyattaTest.VyattaTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.HAsanity-module.html">TestON.tests.HAsanity.HAsanity</a></strong>: <em class="summary">Description: This test is to determine if the HA test setup is
+    working correctly.</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.dependencies-module.html">TestON.tests.HAsanity.dependencies</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.dependencies.Counters-module.html">TestON.tests.HAsanity.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.dependencies.obelisk-module.html">TestON.tests.HAsanity.dependencies.obelisk</a></strong>    </li>
+    </ul>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart-module.html">TestON.tests.HAsingleInstanceRestart</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html">TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart</a></strong>: <em class="summary">Description: This test is to determine if a single
+    instance ONOS 'cluster' can handle a restart</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html">TestON.tests.HAsingleInstanceRestart.dependencies</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html">TestON.tests.HAsingleInstanceRestart.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html">TestON.tests.HAsingleInstanceRestart.dependencies.obelisk</a></strong>    </li>
+    </ul>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SAMPscaleTopo-module.html">TestON.tests.SAMPscaleTopo</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html">TestON.tests.SAMPscaleTopo.SAMPscaleTopo</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SAMPstartTemplate-module.html">TestON.tests.SAMPstartTemplate</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html">TestON.tests.SAMPstartTemplate.SAMPstartTemplate</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFcbench-module.html">TestON.tests.SCPFcbench</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFcbench.SCPFcbench-module.html">TestON.tests.SCPFcbench.SCPFcbench</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFflowTp1g-module.html">TestON.tests.SCPFflowTp1g</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html">TestON.tests.SCPFflowTp1g.SCPFflowTp1g</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentEventTp-module.html">TestON.tests.SCPFintentEventTp</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html">TestON.tests.SCPFintentEventTp.SCPFintentEventTp</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentInstallWithdrawLat-module.html">TestON.tests.SCPFintentInstallWithdrawLat</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html">TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentRerouteLat-module.html">TestON.tests.SCPFintentRerouteLat</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html">TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFportLat-module.html">TestON.tests.SCPFportLat</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFportLat.SCPFportLat-module.html">TestON.tests.SCPFportLat.SCPFportLat</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFswitchLat-module.html">TestON.tests.SCPFswitchLat</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html">TestON.tests.SCPFswitchLat.SCPFswitchLat</a></strong>    </li>
     </ul>
     </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -134,13 +233,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests-pysrc.html
index 3799ac6..ca2cd9e 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests-pysrc.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -84,13 +89,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.CHOtest-module.html
similarity index 68%
rename from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
rename to TestON/Documentation/TestON_Document/TestON.tests.CHOtest-module.html
index 186f4ef..6f0fa11 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.CHOtest-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.CHOtest</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;CHOtest
       </span>
     </td>
     <td>
@@ -49,14 +54,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.CHOtest-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Package CHOtest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.CHOtest-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== SUBMODULES ==================== -->
 <a name="section-Submodules"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -76,11 +81,37 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.PoxTest.PoxTest-module.html">TestON.tests.PoxTest.PoxTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.CHOtest.CHOtest-module.html">TestON.tests.CHOtest.CHOtest</a></strong>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.CHOtest-pysrc.html
similarity index 81%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.tests.CHOtest-pysrc.html
index ab359bb..a2af978 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.CHOtest-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.CHOtest</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;CHOtest
       </span>
     </td>
     <td>
@@ -49,13 +54,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.CHOtest-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.CHOtest-module.html">Package TestON.tests.CHOtest</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.CHOtest.CHOtest-module.html
similarity index 66%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.CHOtest.CHOtest-module.html
index 81b602b..cacdd27 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.CHOtest.CHOtest-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest.PoxTest</title>
+  <title>TestON.tests.CHOtest.CHOtest</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,8 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.PoxTest-module.html">Package&nbsp;PoxTest</a> ::
-        Module&nbsp;PoxTest
+        <a href="TestON.tests.CHOtest-module.html">Package&nbsp;CHOtest</a> ::
+        Module&nbsp;CHOtest
       </span>
     </td>
     <td>
@@ -50,14 +55,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.CHOtest.CHOtest-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Module CHOtest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -79,7 +84,32 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html" class="summary-name">PoxTest</a>
+        <a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html" class="summary-name">CHOtest</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.tests.CHOtest'"><code class="variable-quote">'</code><code class="variable-string">TestON.tests.CHOtest</code><code class="variable-quote">'</code></code>
     </td>
   </tr>
 </table>
@@ -103,13 +133,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.CHOtest.CHOtest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.CHOtest.CHOtest-pysrc.html
new file mode 100644
index 0000000..0128d5c
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.CHOtest.CHOtest-pysrc.html
@@ -0,0 +1,2649 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.CHOtest.CHOtest</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.CHOtest-module.html">Package&nbsp;CHOtest</a> ::
+        Module&nbsp;CHOtest
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.CHOtest.CHOtest-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.CHOtest.CHOtest-module.html">Module TestON.tests.CHOtest.CHOtest</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">   3</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">   5</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">itertools</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"> </tt>
+<a name="L8"></a><tt class="py-lineno">   8</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest"></a><div id="CHOtest-def"><a name="L9"></a><tt class="py-lineno">   9</tt> <a class="py-toggle" href="#" id="CHOtest-toggle" onclick="return toggle('CHOtest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="CHOtest-expanded"><a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.__init__"></a><div id="CHOtest.__init__-def"><a name="L11"></a><tt class="py-lineno">  11</tt> <a class="py-toggle" href="#" id="CHOtest.__init__-toggle" onclick="return toggle('CHOtest.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.__init__-expanded"><a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE1"></a><div id="CHOtest.CASE1-def"><a name="L14"></a><tt class="py-lineno">  14</tt> <a class="py-toggle" href="#" id="CHOtest.CASE1-toggle" onclick="return toggle('CHOtest.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE1">CASE1</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE1-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE1-expanded"><a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt class="py-docstring">        Startup sequence:</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt class="py-docstring">        apply cell &lt;name&gt;</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-docstring">        git pull</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"><tt class="py-docstring">        mvn clean install</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"><tt class="py-docstring">        onos-package</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"><tt class="py-docstring">        onos-verify-cell</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">  22</tt>  <tt class="py-line"><tt class="py-docstring">        onos-uninstall</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line"><tt class="py-docstring">        onos-install</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line"><tt class="py-docstring">        onos-start-cli</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">  26</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">  27</tt>  <tt class="py-line"> </tt>
+<a name="L28"></a><tt class="py-lineno">  28</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">intentState</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">  29</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">  30</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt> <tt class="py-op">=</tt> <tt class="py-number">300</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'numCtrl'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">  32</tt>  <tt class="py-line">        <tt class="py-name">git_pull</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'autoPull'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">  33</tt>  <tt class="py-line">        <tt class="py-name">git_branch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'branch'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line">        <tt class="py-name">karafTimeout</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CTRL'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'karafCliTimeout'</tt><tt class="py-op">]</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">newTopo</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">  36</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line"> </tt>
+<a name="L38"></a><tt class="py-lineno">  38</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">  39</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">'ONOScli'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line"> </tt>
+<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Set up test environment"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-2', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Set up test environment"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">  43</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-3', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"_______________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line"> </tt>
+<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-4', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Apply Cell environment for ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onoscell</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">  47</tt>  <tt class="py-line">            <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onoscell</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">  48</tt>  <tt class="py-line">            <tt class="py-name">cell_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell,Method TestON.drivers.common.cli.onosdriver.OnosDriver.setCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.setCell" class="py-name" href="#" onclick="return doclink('link-5', 'setCell', 'link-5');">setCell</a></tt><tt class="py-op">(</tt> <tt class="py-name">cellName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">cell_result</tt><tt class="py-op">,</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Test step PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">  51</tt>  <tt class="py-line">                                 <tt id="link-6" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-6', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Test step FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">  52</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-7', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-8', 'error', 'link-8');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Please provide onoscell option at TestON CLI to run CHO tests"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-10', 'error', 'link-8');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Example: ~/TestON/bin/cli.py run OnosCHO onoscell &lt;cellName&gt;"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">  55</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">clean</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">  56</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-11', 'exit', 'link-11');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line"> </tt>
+<a name="L58"></a><tt class="py-lineno">  58</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-12', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Git checkout and pull "</tt> <tt class="py-op">+</tt> <tt class="py-name">git_branch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">git_pull</tt> <tt class="py-op">==</tt> <tt class="py-string">'on'</tt><tt class="py-op">:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">  60</tt>  <tt class="py-line">            <tt class="py-name">checkout_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitCheckout"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout" class="py-name" href="#" onclick="return doclink('link-13', 'gitCheckout', 'link-13');">gitCheckout</a></tt><tt class="py-op">(</tt> <tt class="py-name">git_branch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">  61</tt>  <tt class="py-line">            <tt class="py-name">pull_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-14', 'gitPull', 'link-14');">gitPull</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">  62</tt>  <tt class="py-line">            <tt class="py-name">cp_result</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">checkout_result</tt> <tt class="py-keyword">and</tt> <tt class="py-name">pull_result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">  63</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line">            <tt class="py-name">checkout_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line">            <tt class="py-name">pull_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-15', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Skipped git checkout and pull"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line">            <tt class="py-name">cp_result</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">checkout_result</tt> <tt class="py-keyword">and</tt> <tt class="py-name">pull_result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">cp_result</tt><tt class="py-op">,</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Test step PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">  70</tt>  <tt class="py-line">                                 <tt id="link-16" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-16', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Test step FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line"> </tt>
+<a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-17', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"mvn clean &amp; install"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">git_pull</tt> <tt class="py-op">==</tt> <tt class="py-string">'on'</tt><tt class="py-op">:</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">  74</tt>  <tt class="py-line">            <tt class="py-name">mvn_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cleanInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall" class="py-name" href="#" onclick="return doclink('link-18', 'cleanInstall', 'link-18');">cleanInstall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">mvn_result</tt><tt class="py-op">,</tt> </tt>
+<a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Test step PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line">                                 <tt id="link-19" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-19', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Test step FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">  78</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line">            <tt class="py-name">mvn_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-20', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Skipped mvn clean install as git pull is disabled in params file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">  81</tt>  <tt class="py-line"> </tt>
+<a name="L82"></a><tt class="py-lineno">  82</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getVersion,Method TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getVersion"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion
+TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion" class="py-name" href="#" onclick="return doclink('link-21', 'getVersion', 'link-21');">getVersion</a></tt><tt class="py-op">(</tt> <tt class="py-name">report</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L83"></a><tt class="py-lineno">  83</tt>  <tt class="py-line"> </tt>
+<a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-22', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Create ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line">        <tt class="py-name">packageResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage" class="py-name" href="#" onclick="return doclink('link-23', 'onosPackage', 'link-23');">onosPackage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno">  86</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">packageResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L87"></a><tt class="py-lineno">  87</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Test step PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line">                                 <tt id="link-24" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-24', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Test step FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line"> </tt>
+<a name="L90"></a><tt class="py-lineno">  90</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-25', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Uninstall ONOS package on all Nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line">        <tt class="py-name">uninstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L92"></a><tt class="py-lineno">  92</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-26', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Uninstalling package on ONOS Node IP: "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onosIPs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L94"></a><tt class="py-lineno">  94</tt>  <tt class="py-line">            <tt class="py-name">u_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosUninstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall" class="py-name" href="#" onclick="return doclink('link-27', 'onosUninstall', 'link-27');">onosUninstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onosIPs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno">  95</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">u_result</tt><tt class="py-op">,</tt> </tt>
+<a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Test step PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line">                                     <tt id="link-28" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-28', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Test step FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno">  98</tt>  <tt class="py-line">            <tt class="py-name">uninstallResult</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">uninstallResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">u_result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line"> </tt>
+<a name="L100"></a><tt class="py-lineno"> 100</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-29', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install ONOS package on all Nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line">        <tt class="py-name">installResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L102"></a><tt class="py-lineno"> 102</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L103"></a><tt class="py-lineno"> 103</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-30', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Intsalling package on ONOS Node IP: "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onosIPs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line">            <tt class="py-name">i_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall" class="py-name" href="#" onclick="return doclink('link-31', 'onosInstall', 'link-31');">onosInstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onosIPs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">i_result</tt><tt class="py-op">,</tt> </tt>
+<a name="L106"></a><tt class="py-lineno"> 106</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Test step PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L107"></a><tt class="py-lineno"> 107</tt>  <tt class="py-line">                                     <tt id="link-32" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-32', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Test step FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line">            <tt class="py-name">installResult</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">installResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i_result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno"> 109</tt>  <tt class="py-line"> </tt>
+<a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-33', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify ONOS nodes UP status"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno"> 111</tt>  <tt class="py-line">        <tt class="py-name">statusResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L112"></a><tt class="py-lineno"> 112</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L113"></a><tt class="py-lineno"> 113</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-34', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS Node "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onosIPs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" status:"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line">            <tt class="py-name">onos_status</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosStatus()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStatus"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosStatus" class="py-name" href="#" onclick="return doclink('link-35', 'onosStatus', 'link-35');">onosStatus</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onosIPs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno"> 115</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">onos_status</tt><tt class="py-op">,</tt> </tt>
+<a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Test step PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L117"></a><tt class="py-lineno"> 117</tt>  <tt class="py-line">                                     <tt id="link-36" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-36', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Test step FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno"> 118</tt>  <tt class="py-line">            <tt class="py-name">statusResult</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">statusResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">onos_status</tt> <tt class="py-op">)</tt> </tt>
+<a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line"> </tt>
+<a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-37', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Start ONOS CLI on all nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno"> 121</tt>  <tt class="py-line">        <tt class="py-name">cliResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L122"></a><tt class="py-lineno"> 122</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-38', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-39', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">" Start ONOS cli using thread "</tt><tt class="py-op">)</tt> </tt>
+<a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line">        <tt class="py-name">startCliResult</tt>  <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line">        <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L125"></a><tt class="py-lineno"> 125</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L127"></a><tt class="py-lineno"> 127</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Module TestON.core.Thread=TestON.core.Thread-module.html,Class TestON.core.Thread.Thread=TestON.core.Thread.Thread-class.html"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-40', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#startOnosCli"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli" class="py-name" href="#" onclick="return doclink('link-41', 'startOnosCli', 'link-41');">startOnosCli</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line">                             <tt class="py-name">threadID</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"startOnosCli"</tt><tt class="py-op">,</tt> </tt>
+<a name="L130"></a><tt class="py-lineno"> 130</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onosIPs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">karafTimeout</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line">            <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L134"></a><tt class="py-lineno"> 134</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line">            <tt class="py-name">startCliResult</tt> <tt class="py-op">=</tt> <tt class="py-name">startCliResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line"> </tt>
+<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">startCliResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L140"></a><tt class="py-lineno"> 140</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-42', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS CLI did not start up properly"</tt><tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-43', 'cleanup', 'link-43');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-44', 'exit', 'link-11');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno"> 143</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-45', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Successful CLI startup"</tt><tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line">            <tt class="py-name">startCliResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L146"></a><tt class="py-lineno"> 146</tt>  <tt class="py-line">        <tt class="py-name">case1Result</tt> <tt class="py-op">=</tt> <tt class="py-name">installResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">uninstallResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">statusResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">startCliResult</tt> </tt>
+<a name="L147"></a><tt class="py-lineno"> 147</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">30</tt><tt class="py-op">)</tt> </tt>
+<a name="L148"></a><tt class="py-lineno"> 148</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-46', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for connecting to CLI: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case1Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set up test environment PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line">                                 <tt id="link-47" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-47', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set up test environment FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE20"></a><div id="CHOtest.CASE20-def"><a name="L153"></a><tt class="py-lineno"> 153</tt> <a class="py-toggle" href="#" id="CHOtest.CASE20-toggle" onclick="return toggle('CHOtest.CASE20');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE20">CASE20</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE20-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE20-expanded"><a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line"><tt class="py-docstring">        This test script Loads a new Topology (Att) on CHO setup and balances all switches</tt> </tt>
+<a name="L156"></a><tt class="py-lineno"> 156</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
+<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line"> </tt>
+<a name="L161"></a><tt class="py-lineno"> 161</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TOPO1'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'numSwitches'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno"> 162</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNlinks</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TOPO1'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'numLinks'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNhosts</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TOPO1'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'numHosts'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno"> 164</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt> <tt class="py-op">=</tt> <tt class="py-number">300</tt> </tt>
+<a name="L165"></a><tt class="py-lineno"> 165</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-48', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line">            <tt class="py-string">"Load Att topology and Balance all Mininet switches across controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-49', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line">            <tt class="py-string">"________________________________________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L169"></a><tt class="py-lineno"> 169</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-50', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line">            <tt class="py-string">"Assign and Balance all Mininet switches across controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line"> </tt>
+<a name="L172"></a><tt class="py-lineno"> 172</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-51', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Stop any previous Mininet network topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L173"></a><tt class="py-lineno"> 173</tt>  <tt class="py-line">        <tt class="py-name">cliResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">newTopo</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TOPO3'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'topo'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line">            <tt class="py-name">stopStatus</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet" class="py-name" href="#" onclick="return doclink('link-52', 'stopNet', 'link-52');">stopNet</a></tt><tt class="py-op">(</tt> <tt class="py-name">fileName</tt> <tt class="py-op">=</tt> <tt class="py-string">"topoSpine"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L176"></a><tt class="py-lineno"> 176</tt>  <tt class="py-line"> </tt>
+<a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-53', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Start Mininet with Att topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">newTopo</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TOPO1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'topo'</tt><tt class="py-op">]</tt> </tt>
+<a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line">        <tt class="py-name">startStatus</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet" class="py-name" href="#" onclick="return doclink('link-54', 'startNet', 'link-54');">startNet</a></tt><tt class="py-op">(</tt><tt class="py-name">topoFile</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">newTopo</tt><tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno"> 180</tt>  <tt class="py-line"> </tt>
+<a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-55', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assign switches to controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># 1 to ( num of switches +1 )</tt> </tt>
+<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignSwController"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController" class="py-name" href="#" onclick="return doclink('link-56', 'assignSwController', 'link-56');">assignSwController</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line">                <tt class="py-name">sw</tt><tt class="py-op">=</tt><tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L185"></a><tt class="py-lineno"> 185</tt>  <tt class="py-line">                <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onosIPs</tt> <tt class="py-op">)</tt> </tt>
+<a name="L186"></a><tt class="py-lineno"> 186</tt>  <tt class="py-line"> </tt>
+<a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line">        <tt class="py-name">switch_mastership</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwController()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwController"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwController" class="py-name" href="#" onclick="return doclink('link-57', 'getSwController', 'link-57');">getSwController</a></tt><tt class="py-op">(</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt> <tt class="py-string">"Response is "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno"> 191</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onosIPs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line">                <tt class="py-name">switch_mastership</tt> <tt class="py-op">=</tt> <tt class="py-name">switch_mastership</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line">                <tt class="py-name">switch_mastership</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L195"></a><tt class="py-lineno"> 195</tt>  <tt class="py-line"> </tt>
+<a name="L196"></a><tt class="py-lineno"> 196</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">switch_mastership</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L197"></a><tt class="py-lineno"> 197</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-58', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Controller assignment successfull"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-59', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Controller assignment failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line"> </tt>
+<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">30</tt><tt class="py-op">)</tt> <tt class="py-comment"># waiting here to make sure topology converges across all nodes</tt> </tt>
+<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line"> </tt>
+<a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-60', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Balance devices across controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L204"></a><tt class="py-lineno"> 204</tt>  <tt class="py-line">        <tt class="py-name">balanceResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.balanceMasters()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#balanceMasters"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.balanceMasters" class="py-name" href="#" onclick="return doclink('link-61', 'balanceMasters', 'link-61');">balanceMasters</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno"> 205</tt>  <tt class="py-line">        <tt class="py-comment"># giving some breathing time for ONOS to complete re-balance</tt> </tt>
+<a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno"> 207</tt>  <tt class="py-line"> </tt>
+<a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line">        <tt class="py-name">topology_output</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#topology,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topology"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-62', 'topology', 'link-62');">topology</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line">        <tt class="py-name">topology_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.getTopology()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getTopology"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.getTopology" class="py-name" href="#" onclick="return doclink('link-63', 'getTopology', 'link-63');">getTopology</a></tt><tt class="py-op">(</tt> <tt class="py-name">topology_output</tt> <tt class="py-op">)</tt> </tt>
+<a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line">        <tt class="py-name">case2Result</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">switch_mastership</tt> <tt class="py-keyword">and</tt> <tt class="py-name">startStatus</tt> <tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno"> 211</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case2Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Starting new Att topology test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line">            <tt id="link-64" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-64', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Starting new Att topology test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L216"></a><tt class="py-lineno"> 216</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE21"></a><div id="CHOtest.CASE21-def"><a name="L217"></a><tt class="py-lineno"> 217</tt> <a class="py-toggle" href="#" id="CHOtest.CASE21-toggle" onclick="return toggle('CHOtest.CASE21');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE21">CASE21</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE21-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE21-expanded"><a name="L218"></a><tt class="py-lineno"> 218</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line"><tt class="py-docstring">        This test script Loads a new Topology (Chordal) on CHO setup and balances all switches</tt> </tt>
+<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
+<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line"> </tt>
+<a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">newTopo</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TOPO2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'topo'</tt><tt class="py-op">]</tt> </tt>
+<a name="L226"></a><tt class="py-lineno"> 226</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TOPO2'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'numSwitches'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNlinks</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TOPO2'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'numLinks'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L228"></a><tt class="py-lineno"> 228</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNhosts</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TOPO2'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'numHosts'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L229"></a><tt class="py-lineno"> 229</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt> <tt class="py-op">=</tt> <tt class="py-number">300</tt> </tt>
+<a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-65', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line">            <tt class="py-string">"Load Chordal topology and Balance all Mininet switches across controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L232"></a><tt class="py-lineno"> 232</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-66', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line">            <tt class="py-string">"________________________________________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L234"></a><tt class="py-lineno"> 234</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-67', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line">            <tt class="py-string">"Assign and Balance all Mininet switches across controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line"> </tt>
+<a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-68', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Stop any previous Mininet network topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line">        <tt class="py-name">stopStatus</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet" class="py-name" href="#" onclick="return doclink('link-69', 'stopNet', 'link-52');">stopNet</a></tt><tt class="py-op">(</tt><tt class="py-name">fileName</tt> <tt class="py-op">=</tt> <tt class="py-string">"topoAtt"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line"> </tt>
+<a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-70', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Start Mininet with Chordal topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line">        <tt class="py-name">startStatus</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet" class="py-name" href="#" onclick="return doclink('link-71', 'startNet', 'link-54');">startNet</a></tt><tt class="py-op">(</tt><tt class="py-name">topoFile</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">newTopo</tt><tt class="py-op">)</tt> </tt>
+<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line"> </tt>
+<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-72', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assign switches to controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line"> </tt>
+<a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># 1 to ( num of switches +1 )</tt> </tt>
+<a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController" class="py-name" href="#" onclick="return doclink('link-73', 'assignSwController', 'link-56');">assignSwController</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line">                <tt class="py-name">sw</tt><tt class="py-op">=</tt><tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line">                <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onosIPs</tt> <tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line"> </tt>
+<a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line">        <tt class="py-name">switch_mastership</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwController" class="py-name" href="#" onclick="return doclink('link-74', 'getSwController', 'link-57');">getSwController</a></tt><tt class="py-op">(</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt> <tt class="py-string">"Response is "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onosIPs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line">                <tt class="py-name">switch_mastership</tt> <tt class="py-op">=</tt> <tt class="py-name">switch_mastership</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line">                <tt class="py-name">switch_mastership</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line"> </tt>
+<a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">switch_mastership</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-75', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Controller assignment successfull"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-76', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Controller assignment failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line"> </tt>
+<a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-77', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Balance devices across controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L265"></a><tt class="py-lineno"> 265</tt>  <tt class="py-line">        <tt class="py-name">balanceResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.balanceMasters" class="py-name" href="#" onclick="return doclink('link-78', 'balanceMasters', 'link-61');">balanceMasters</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line">        <tt class="py-comment"># giving some breathing time for ONOS to complete re-balance</tt> </tt>
+<a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line"> </tt>
+<a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line">        <tt class="py-name">case21Result</tt> <tt class="py-op">=</tt> <tt class="py-name">switch_mastership</tt> </tt>
+<a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">30</tt><tt class="py-op">)</tt> </tt>
+<a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L272"></a><tt class="py-lineno"> 272</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case21Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L274"></a><tt class="py-lineno"> 274</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Starting new Chordal topology test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line">            <tt id="link-79" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-79', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Starting new Chordal topology test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L276"></a><tt class="py-lineno"> 276</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE22"></a><div id="CHOtest.CASE22-def"><a name="L277"></a><tt class="py-lineno"> 277</tt> <a class="py-toggle" href="#" id="CHOtest.CASE22-toggle" onclick="return toggle('CHOtest.CASE22');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE22">CASE22</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE22-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE22-expanded"><a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line"><tt class="py-docstring">        This test script Loads a new Topology (Spine) on CHO setup and balances all switches</tt> </tt>
+<a name="L280"></a><tt class="py-lineno"> 280</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
+<a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line"> </tt>
+<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">newTopo</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TOPO3'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'topo'</tt><tt class="py-op">]</tt> </tt>
+<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TOPO3'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'numSwitches'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNlinks</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TOPO3'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'numLinks'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNhosts</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TOPO3'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'numHosts'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt> <tt class="py-op">=</tt> <tt class="py-number">600</tt> </tt>
+<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line"> </tt>
+<a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-80', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line">            <tt class="py-string">"Load Spine and Leaf topology and Balance all Mininet switches across controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-81', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line">            <tt class="py-string">"________________________________________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-82', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line">            <tt class="py-string">"Assign and Balance all Mininet switches across controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-83', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Stop any previous Mininet network topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line">        <tt class="py-name">stopStatus</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet" class="py-name" href="#" onclick="return doclink('link-84', 'stopNet', 'link-52');">stopNet</a></tt><tt class="py-op">(</tt><tt class="py-name">fileName</tt> <tt class="py-op">=</tt> <tt class="py-string">"topoChordal"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-85', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Start Mininet with Spine topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line">        <tt class="py-name">startStatus</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet" class="py-name" href="#" onclick="return doclink('link-86', 'startNet', 'link-54');">startNet</a></tt><tt class="py-op">(</tt><tt class="py-name">topoFile</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">newTopo</tt><tt class="py-op">)</tt> </tt>
+<a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">60</tt><tt class="py-op">)</tt> </tt>
+<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-87', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assign switches to controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line"> </tt>
+<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># 1 to ( num of switches +1 )</tt> </tt>
+<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController" class="py-name" href="#" onclick="return doclink('link-88', 'assignSwController', 'link-56');">assignSwController</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line">                <tt class="py-name">sw</tt><tt class="py-op">=</tt><tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line">                <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onosIPs</tt> <tt class="py-op">)</tt> </tt>
+<a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line"> </tt>
+<a name="L309"></a><tt class="py-lineno"> 309</tt>  <tt class="py-line">        <tt class="py-name">switch_mastership</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L310"></a><tt class="py-lineno"> 310</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwController" class="py-name" href="#" onclick="return doclink('link-89', 'getSwController', 'link-57');">getSwController</a></tt><tt class="py-op">(</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt> <tt class="py-string">"Response is "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">onosIPs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L314"></a><tt class="py-lineno"> 314</tt>  <tt class="py-line">                <tt class="py-name">switch_mastership</tt> <tt class="py-op">=</tt> <tt class="py-name">switch_mastership</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L315"></a><tt class="py-lineno"> 315</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line">                <tt class="py-name">switch_mastership</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L317"></a><tt class="py-lineno"> 317</tt>  <tt class="py-line"> </tt>
+<a name="L318"></a><tt class="py-lineno"> 318</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">switch_mastership</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L319"></a><tt class="py-lineno"> 319</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-90', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Controller assignment successfull"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L320"></a><tt class="py-lineno"> 320</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-91', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Controller assignment failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L322"></a><tt class="py-lineno"> 322</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line"> </tt>
+<a name="L324"></a><tt class="py-lineno"> 324</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-92', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Balance devices across controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L325"></a><tt class="py-lineno"> 325</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line">            <tt class="py-name">balanceResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.balanceMasters" class="py-name" href="#" onclick="return doclink('link-93', 'balanceMasters', 'link-61');">balanceMasters</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L327"></a><tt class="py-lineno"> 327</tt>  <tt class="py-line">            <tt class="py-comment"># giving some breathing time for ONOS to complete re-balance</tt> </tt>
+<a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L329"></a><tt class="py-lineno"> 329</tt>  <tt class="py-line"> </tt>
+<a name="L330"></a><tt class="py-lineno"> 330</tt>  <tt class="py-line">        <tt class="py-name">case22Result</tt> <tt class="py-op">=</tt> <tt class="py-name">switch_mastership</tt> </tt>
+<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">60</tt><tt class="py-op">)</tt> </tt>
+<a name="L332"></a><tt class="py-lineno"> 332</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L333"></a><tt class="py-lineno"> 333</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case22Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Starting new Spine topology test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line">            <tt id="link-94" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-94', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Starting new Spine topology test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE3"></a><div id="CHOtest.CASE3-def"><a name="L338"></a><tt class="py-lineno"> 338</tt> <a class="py-toggle" href="#" id="CHOtest.CASE3-toggle" onclick="return toggle('CHOtest.CASE3');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE3">CASE3</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE3-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE3-expanded"><a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L340"></a><tt class="py-lineno"> 340</tt>  <tt class="py-line"><tt class="py-docstring">        This Test case will be extended to collect and store more data related</tt> </tt>
+<a name="L341"></a><tt class="py-lineno"> 341</tt>  <tt class="py-line"><tt class="py-docstring">        ONOS state.</tt> </tt>
+<a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
+<a name="L345"></a><tt class="py-lineno"> 345</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceDPIDs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostMACs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceLinks</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceActiveLinksCount</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L349"></a><tt class="py-lineno"> 349</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">devicePortsEnabledCount</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L350"></a><tt class="py-lineno"> 350</tt>  <tt class="py-line"> </tt>
+<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-95', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line">            <tt class="py-string">"Collect and Store topology details from ONOS before running any Tests"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L353"></a><tt class="py-lineno"> 353</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-96', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line">            <tt class="py-string">"____________________________________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L355"></a><tt class="py-lineno"> 355</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-97', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Collect and Store Topology Details from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-98', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Collect and store current number of switches and links"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L357"></a><tt class="py-lineno"> 357</tt>  <tt class="py-line">        <tt class="py-name">topology_output</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-99', 'topology', 'link-62');">topology</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line">        <tt class="py-name">topology_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.getTopology" class="py-name" href="#" onclick="return doclink('link-100', 'getTopology', 'link-63');">getTopology</a></tt><tt class="py-op">(</tt> <tt class="py-name">topology_output</tt> <tt class="py-op">)</tt> </tt>
+<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line">        <tt class="py-name">numOnosDevices</tt> <tt class="py-op">=</tt> <tt class="py-name">topology_result</tt><tt class="py-op">[</tt> <tt class="py-string">'devices'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line">        <tt class="py-name">numOnosLinks</tt> <tt class="py-op">=</tt> <tt class="py-name">topology_result</tt><tt class="py-op">[</tt> <tt class="py-string">'links'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line">        <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L362"></a><tt class="py-lineno"> 362</tt>  <tt class="py-line"> </tt>
+<a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">==</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numOnosDevices</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNlinks</tt> <tt class="py-op">==</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numOnosLinks</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L364"></a><tt class="py-lineno"> 364</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-101', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Store Device DPIDs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L365"></a><tt class="py-lineno"> 365</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceDPIDs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"of:00000000000000"</tt> <tt class="py-op">+</tt> <tt class="py-name">format</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-string">'02x'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L367"></a><tt class="py-lineno"> 367</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Device DPIDs in Store: \n"</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceDPIDs</tt> <tt class="py-op">)</tt> </tt>
+<a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line"> </tt>
+<a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-102', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Store Host MACs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNhosts</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostMACs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"00:00:00:00:00:"</tt> <tt class="py-op">+</tt> <tt class="py-name">format</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-string">'02x'</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/-1"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L372"></a><tt class="py-lineno"> 372</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Host MACs in Store: \n"</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostMACs</tt> <tt class="py-op">)</tt> </tt>
+<a name="L373"></a><tt class="py-lineno"> 373</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">MACsDict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Creating dictionary of DPID and HostMacs"</tt> </tt>
+<a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostMACs</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L376"></a><tt class="py-lineno"> 376</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">MACsDict</tt><tt class="py-op">[</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceDPIDs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostMACs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">MACsDict</tt> </tt>
+<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-103', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Collect and store all Devices Links"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line">            <tt class="py-name">linksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#links,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#links"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-104', 'links', 'link-104');">links</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt> </tt>
+<a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line">            <tt class="py-name">ansi_escape</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt> <tt class="py-string">r'\x1b[^m]*m'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L381"></a><tt class="py-lineno"> 381</tt>  <tt class="py-line">            <tt class="py-name">linksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">ansi_escape</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">linksResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L382"></a><tt class="py-lineno"> 382</tt>  <tt class="py-line">            <tt class="py-name">linksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">linksResult</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">" links"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> <tt class="py-string">"\r\r"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L383"></a><tt class="py-lineno"> 383</tt>  <tt class="py-line">            <tt class="py-name">linksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">linksResult</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L384"></a><tt class="py-lineno"> 384</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceLinks</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt> <tt class="py-name">linksResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L385"></a><tt class="py-lineno"> 385</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Device Links Stored: \n"</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceLinks</tt> <tt class="py-op">)</tt> </tt>
+<a name="L386"></a><tt class="py-lineno"> 386</tt>  <tt class="py-line">            <tt class="py-comment"># this will be asserted to check with the params provided count of</tt> </tt>
+<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line">            <tt class="py-comment"># links</tt> </tt>
+<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Length of Links Store"</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceLinks</tt> <tt class="py-op">)</tt> </tt>
+<a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line"> </tt>
+<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-105', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Collect and store each Device ports enabled Count"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L391"></a><tt class="py-lineno"> 391</tt>  <tt class="py-line">            <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L392"></a><tt class="py-lineno"> 392</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line">                <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L394"></a><tt class="py-lineno"> 394</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-106" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-106', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L395"></a><tt class="py-lineno"> 395</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt>  <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L396"></a><tt class="py-lineno"> 396</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line">                    <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">"of:00000000000000"</tt> <tt class="py-op">+</tt> <tt class="py-name">format</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt><tt class="py-string">'02x'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L398"></a><tt class="py-lineno"> 398</tt>  <tt class="py-line">                    <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-107', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt><tt class="py-name">target</tt> <tt class="py-op">=</tt> <tt id="link-108" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-108', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-109" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevicePortsEnabledCount()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getDevicePortsEnabledCount"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevicePortsEnabledCount" class="py-name" href="#" onclick="return doclink('link-109', 'getDevicePortsEnabledCount', 'link-109');">getDevicePortsEnabledCount</a></tt><tt class="py-op">,</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-string">"getDevicePortsEnabledCount"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">dpid</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L399"></a><tt class="py-lineno"> 399</tt>  <tt class="py-line">                    <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line">                    <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L401"></a><tt class="py-lineno"> 401</tt>  <tt class="py-line">                    <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L402"></a><tt class="py-lineno"> 402</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L404"></a><tt class="py-lineno"> 404</tt>  <tt class="py-line">                    <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L405"></a><tt class="py-lineno"> 405</tt>  <tt class="py-line">                    <tt class="py-name">portResult</tt> <tt class="py-op">=</tt> <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L406"></a><tt class="py-lineno"> 406</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">devicePortsEnabledCount</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">portResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Device Enabled Port Counts Stored: \n"</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">devicePortsEnabledCount</tt> <tt class="py-op">)</tt> </tt>
+<a name="L408"></a><tt class="py-lineno"> 408</tt>  <tt class="py-line">            <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L409"></a><tt class="py-lineno"> 409</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-110', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for counting enabled ports of the switches: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L410"></a><tt class="py-lineno"> 410</tt>  <tt class="py-line"> </tt>
+<a name="L411"></a><tt class="py-lineno"> 411</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-111', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Collect and store each Device active links Count"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line">            <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line"> </tt>
+<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line">                <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-112" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-112', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt>  <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L418"></a><tt class="py-lineno"> 418</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line">                    <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">"of:00000000000000"</tt> <tt class="py-op">+</tt> <tt class="py-name">format</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt><tt class="py-string">'02x'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line">                    <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-113', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt> <tt class="py-op">=</tt> <tt id="link-114" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-114', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-115" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDeviceLinksActiveCount()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getDeviceLinksActiveCount"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDeviceLinksActiveCount" class="py-name" href="#" onclick="return doclink('link-115', 'getDeviceLinksActiveCount', 'link-115');">getDeviceLinksActiveCount</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line">                                     <tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L422"></a><tt class="py-lineno"> 422</tt>  <tt class="py-line">                                     <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-string">"getDevicePortsEnabledCount"</tt><tt class="py-op">,</tt> </tt>
+<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line">                                     <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">dpid</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line">                    <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L425"></a><tt class="py-lineno"> 425</tt>  <tt class="py-line">                    <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line">                    <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L428"></a><tt class="py-lineno"> 428</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line">                    <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line">                    <tt class="py-name">linkCountResult</tt> <tt class="py-op">=</tt> <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceActiveLinksCount</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">linkCountResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Device Active Links Count Stored: \n"</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceActiveLinksCount</tt> <tt class="py-op">)</tt> </tt>
+<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line">            <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-116', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for counting all enabled links of the switches: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line"> </tt>
+<a name="L436"></a><tt class="py-lineno"> 436</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-117', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Devices (expected): %s, Links (expected): %s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L438"></a><tt class="py-lineno"> 438</tt>  <tt class="py-line">                    <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNlinks</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L439"></a><tt class="py-lineno"> 439</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-118', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Devices (actual): %s, Links (actual): %s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line">                    <tt class="py-op">(</tt> <tt class="py-name">numOnosDevices</tt> <tt class="py-op">,</tt> <tt class="py-name">numOnosLinks</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-119', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Topology does not match, exiting CHO test..."</tt><tt class="py-op">)</tt> </tt>
+<a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line">            <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line">            <tt class="py-comment"># It's better exit here from running the test</tt> </tt>
+<a name="L444"></a><tt class="py-lineno"> 444</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-120', 'cleanup', 'link-43');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-121', 'exit', 'link-11');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L446"></a><tt class="py-lineno"> 446</tt>  <tt class="py-line"> </tt>
+<a name="L447"></a><tt class="py-lineno"> 447</tt>  <tt class="py-line">        <tt class="py-comment"># just returning TRUE for now as this one just collects data</tt> </tt>
+<a name="L448"></a><tt class="py-lineno"> 448</tt>  <tt class="py-line">        <tt class="py-name">case3Result</tt> <tt class="py-op">=</tt> <tt class="py-name">topoResult</tt> </tt>
+<a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case3Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Saving ONOS topology data test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L451"></a><tt class="py-lineno"> 451</tt>  <tt class="py-line">                                 <tt id="link-122" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-122', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Saving ONOS topology data test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L452"></a><tt class="py-lineno"> 452</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE40"></a><div id="CHOtest.CASE40-def"><a name="L453"></a><tt class="py-lineno"> 453</tt> <a class="py-toggle" href="#" id="CHOtest.CASE40-toggle" onclick="return toggle('CHOtest.CASE40');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE40">CASE40</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE40-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE40-expanded"><a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line"><tt class="py-docstring">        Verify Reactive forwarding (Att Topology)</tt> </tt>
+<a name="L456"></a><tt class="py-lineno"> 456</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
+<a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-123', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Reactive forwarding (Att Topology)"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L461"></a><tt class="py-lineno"> 461</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-124', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"______________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L462"></a><tt class="py-lineno"> 462</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-125', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Enable Reactive forwarding and Verify ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L463"></a><tt class="py-lineno"> 463</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-126', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Enable Reactive forwarding"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L464"></a><tt class="py-lineno"> 464</tt>  <tt class="py-line">        <tt class="py-name">installResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line">        <tt class="py-comment"># Activate fwd app</tt> </tt>
+<a name="L466"></a><tt class="py-lineno"> 466</tt>  <tt class="py-line">        <tt class="py-name">appResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#activateApp,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#activateApp"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp" class="py-name" href="#" onclick="return doclink('link-127', 'activateApp', 'link-127');">activateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.fwd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line">        <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line">        <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-128" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-128', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-129', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-130" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-130', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-131" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appToIDCheck"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-131', 'appToIDCheck', 'link-131');">appToIDCheck</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L471"></a><tt class="py-lineno"> 471</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"appToIDCheck-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L472"></a><tt class="py-lineno"> 472</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L473"></a><tt class="py-lineno"> 473</tt>  <tt class="py-line">            <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L476"></a><tt class="py-lineno"> 476</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line">            <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">appCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L478"></a><tt class="py-lineno"> 478</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L479"></a><tt class="py-lineno"> 479</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line">                                 <tt id="link-132" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-132', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L481"></a><tt class="py-lineno"> 481</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-133', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#apps,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#apps"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-134', 'apps', 'link-134');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L483"></a><tt class="py-lineno"> 483</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-135', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appIDs"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-136', 'appIDs', 'link-136');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line"> </tt>
+<a name="L485"></a><tt class="py-lineno"> 485</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line"> </tt>
+<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-137', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Pingall"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line">        <tt class="py-name">ping_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L490"></a><tt class="py-lineno"> 490</tt>  <tt class="py-line">        <tt class="py-name">ping_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingall"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-138', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-139', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L494"></a><tt class="py-lineno"> 494</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L497"></a><tt class="py-lineno"> 497</tt>  <tt class="py-line"> </tt>
+<a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">ping_result</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-140', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Pingall Test in Reactive mode successful"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-141', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Pingall Test in Reactive mode failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line"> </tt>
+<a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-142', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Disable Reactive forwarding"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L504"></a><tt class="py-lineno"> 504</tt>  <tt class="py-line"> </tt>
+<a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-143', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Uninstall reactive forwarding app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line">        <tt class="py-name">appResults</tt> <tt class="py-op">=</tt> <tt class="py-name">appResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.deactivateApp()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#deactivateApp,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deactivateApp()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deactivateApp"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.deactivateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deactivateApp" class="py-name" href="#" onclick="return doclink('link-144', 'deactivateApp', 'link-144');">deactivateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.fwd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line">        <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-145" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-145', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L509"></a><tt class="py-lineno"> 509</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-146', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-147" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-147', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-148', 'appToIDCheck', 'link-131');">appToIDCheck</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"appToIDCheck-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L512"></a><tt class="py-lineno"> 512</tt>  <tt class="py-line">            <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line"> </tt>
+<a name="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L517"></a><tt class="py-lineno"> 517</tt>  <tt class="py-line">            <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">appCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L519"></a><tt class="py-lineno"> 519</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L520"></a><tt class="py-lineno"> 520</tt>  <tt class="py-line">                                 <tt id="link-149" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-149', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L521"></a><tt class="py-lineno"> 521</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L522"></a><tt class="py-lineno"> 522</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-150', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-151', 'apps', 'link-134');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-152', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-153', 'appIDs', 'link-136');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line"> </tt>
+<a name="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line">        <tt class="py-comment"># Waiting for reative flows to be cleared.</tt> </tt>
+<a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">30</tt> <tt class="py-op">)</tt> </tt>
+<a name="L527"></a><tt class="py-lineno"> 527</tt>  <tt class="py-line">        <tt class="py-name">case40Result</tt> <tt class="py-op">=</tt>  <tt class="py-name">installResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">uninstallResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ping_result</tt> </tt>
+<a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case40Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Reactive Mode Pingall test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L530"></a><tt class="py-lineno"> 530</tt>  <tt class="py-line">                                 <tt id="link-154" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-154', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Reactive Mode Pingall test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE41"></a><div id="CHOtest.CASE41-def"><a name="L532"></a><tt class="py-lineno"> 532</tt> <a class="py-toggle" href="#" id="CHOtest.CASE41-toggle" onclick="return toggle('CHOtest.CASE41');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE41">CASE41</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE41-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE41-expanded"><a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L534"></a><tt class="py-lineno"> 534</tt>  <tt class="py-line"><tt class="py-docstring">        Verify Reactive forwarding (Chordal Topology)</tt> </tt>
+<a name="L535"></a><tt class="py-lineno"> 535</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L537"></a><tt class="py-lineno"> 537</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
+<a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-155', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Reactive forwarding (Chordal Topology)"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-156', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"______________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-157', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Enable Reactive forwarding and Verify ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L542"></a><tt class="py-lineno"> 542</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-158', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Enable Reactive forwarding"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line">        <tt class="py-name">installResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line">        <tt class="py-comment"># Activate fwd app</tt> </tt>
+<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line">        <tt class="py-name">appResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp" class="py-name" href="#" onclick="return doclink('link-159', 'activateApp', 'link-127');">activateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.fwd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line"> </tt>
+<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line">        <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line">        <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-160" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-160', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-161', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-162" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-162', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-163', 'appToIDCheck', 'link-131');">appToIDCheck</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"appToIDCheck-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line">            <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line">            <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">appCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">                                 <tt id="link-164" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-164', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-165', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-166', 'apps', 'link-134');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-167', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-168', 'appIDs', 'link-136');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line"> </tt>
+<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line"> </tt>
+<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-169', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Pingall"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line">        <tt class="py-name">ping_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L570"></a><tt class="py-lineno"> 570</tt>  <tt class="py-line">        <tt class="py-name">ping_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-170', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-171', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line"> </tt>
+<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">ping_result</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-172', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Pingall Test in Reactive mode successful"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L580"></a><tt class="py-lineno"> 580</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-173', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Pingall Test in Reactive mode failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line"> </tt>
+<a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-174', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Disable Reactive forwarding"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line"> </tt>
+<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-175', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Uninstall reactive forwarding app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line">        <tt class="py-name">appResults</tt> <tt class="py-op">=</tt> <tt class="py-name">appResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.deactivateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deactivateApp" class="py-name" href="#" onclick="return doclink('link-176', 'deactivateApp', 'link-144');">deactivateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.fwd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line">        <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-177" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-177', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-178', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-179" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-179', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-180', 'appToIDCheck', 'link-131');">appToIDCheck</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"appToIDCheck-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line">            <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L593"></a><tt class="py-lineno"> 593</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line"> </tt>
+<a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line">            <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">appCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L600"></a><tt class="py-lineno"> 600</tt>  <tt class="py-line">                                 <tt id="link-181" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-181', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-182', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-183', 'apps', 'link-134');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-184', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-185', 'appIDs', 'link-136');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line"> </tt>
+<a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line">        <tt class="py-comment"># Waiting for reative flows to be cleared.</tt> </tt>
+<a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">30</tt> <tt class="py-op">)</tt> </tt>
+<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">        <tt class="py-name">case41Result</tt> <tt class="py-op">=</tt>  <tt class="py-name">installResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">uninstallResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ping_result</tt> </tt>
+<a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case41Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Reactive Mode Pingall test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L610"></a><tt class="py-lineno"> 610</tt>  <tt class="py-line">                                 <tt id="link-186" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-186', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Reactive Mode Pingall test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE42"></a><div id="CHOtest.CASE42-def"><a name="L612"></a><tt class="py-lineno"> 612</tt> <a class="py-toggle" href="#" id="CHOtest.CASE42-toggle" onclick="return toggle('CHOtest.CASE42');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE42">CASE42</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE42-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE42-expanded"><a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L614"></a><tt class="py-lineno"> 614</tt>  <tt class="py-line"><tt class="py-docstring">        Verify Reactive forwarding (Spine Topology)</tt> </tt>
+<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L616"></a><tt class="py-lineno"> 616</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
+<a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-187', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Reactive forwarding (Spine Topology)"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-188', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"______________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-189', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Enable Reactive forwarding and Verify ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-190', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Enable Reactive forwarding"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line">        <tt class="py-name">installResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line">        <tt class="py-comment"># Activate fwd app</tt> </tt>
+<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line">        <tt class="py-name">appResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp" class="py-name" href="#" onclick="return doclink('link-191', 'activateApp', 'link-127');">activateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.fwd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line"> </tt>
+<a name="L627"></a><tt class="py-lineno"> 627</tt>  <tt class="py-line">        <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line">        <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-192" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-192', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-193', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-194" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-194', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-195', 'appToIDCheck', 'link-131');">appToIDCheck</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"appToIDCheck-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line">            <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L634"></a><tt class="py-lineno"> 634</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line">            <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">appCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L638"></a><tt class="py-lineno"> 638</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line">                                 <tt id="link-196" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-196', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-197', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-198', 'apps', 'link-134');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-199', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-200', 'appIDs', 'link-136');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line"> </tt>
+<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line"> </tt>
+<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-201', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Pingall"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line">        <tt class="py-name">ping_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line">        <tt class="py-name">ping_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-202', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L653"></a><tt class="py-lineno"> 653</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-203', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line"> </tt>
+<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">ping_result</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-204" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-204', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Pingall Test in Reactive mode successful"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-205" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-205', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Pingall Test in Reactive mode failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line"> </tt>
+<a name="L663"></a><tt class="py-lineno"> 663</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-206', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Disable Reactive forwarding"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line"> </tt>
+<a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-207', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Uninstall reactive forwarding app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line">        <tt class="py-name">appResults</tt> <tt class="py-op">=</tt> <tt class="py-name">appResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.deactivateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deactivateApp" class="py-name" href="#" onclick="return doclink('link-208', 'deactivateApp', 'link-144');">deactivateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.fwd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line">        <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-209" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-209', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-210" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-210', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-211" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-211', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-212', 'appToIDCheck', 'link-131');">appToIDCheck</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"appToIDCheck-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line">            <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line"> </tt>
+<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line">            <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">appCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L680"></a><tt class="py-lineno"> 680</tt>  <tt class="py-line">                                 <tt id="link-213" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-213', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-214', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-215', 'apps', 'link-134');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-216', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-217', 'appIDs', 'link-136');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line"> </tt>
+<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line">        <tt class="py-comment"># Waiting for reative flows to be cleared.</tt> </tt>
+<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">30</tt> <tt class="py-op">)</tt> </tt>
+<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line">        <tt class="py-name">case42Result</tt> <tt class="py-op">=</tt>  <tt class="py-name">installResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">uninstallResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ping_result</tt> </tt>
+<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case42Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Reactive Mode Pingall test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line">                                 <tt id="link-218" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-218', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Reactive Mode Pingall test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE5"></a><div id="CHOtest.CASE5-def"><a name="L692"></a><tt class="py-lineno"> 692</tt> <a class="py-toggle" href="#" id="CHOtest.CASE5-toggle" onclick="return toggle('CHOtest.CASE5');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE5">CASE5</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE5-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE5-expanded"><a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line"><tt class="py-docstring">        Compare current ONOS topology with reference data</tt> </tt>
+<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line"> </tt>
+<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line">        <tt class="py-name">devicesDPIDTemp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line">        <tt class="py-name">hostMACsTemp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line">        <tt class="py-name">deviceLinksTemp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line">        <tt class="py-name">deviceActiveLinksCountTemp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line">        <tt class="py-name">devicePortsEnabledCountTemp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line"> </tt>
+<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-219', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line">            <tt class="py-string">"Compare ONOS topology with reference data in Stores"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-220', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"__________________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-221', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Compare ONOS topology with reference data"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line"> </tt>
+<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-222', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Compare current Device ports enabled with reference"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line">            <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-223" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-223', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt>  <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line">                <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">"of:00000000000000"</tt> <tt class="py-op">+</tt> <tt class="py-name">format</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt><tt class="py-string">'02x'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-224" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-224', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt><tt class="py-name">target</tt> <tt class="py-op">=</tt> <tt id="link-225" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-225', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevicePortsEnabledCount" class="py-name" href="#" onclick="return doclink('link-226', 'getDevicePortsEnabledCount', 'link-109');">getDevicePortsEnabledCount</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line">                        <tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line">                        <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-string">"getDevicePortsEnabledCount"</tt><tt class="py-op">,</tt> </tt>
+<a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line">                        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">dpid</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">                <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line">                <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L727"></a><tt class="py-lineno"> 727</tt>  <tt class="py-line">                <tt class="py-name">portResult</tt> <tt class="py-op">=</tt> <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line">                <tt class="py-comment">#portTemp = re.split( r'\t+', portResult )</tt> </tt>
+<a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line">                <tt class="py-comment">#portCount = portTemp[ 1 ].replace( "\r\r\n\x1b[32m", "" )</tt> </tt>
+<a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line">                <tt class="py-name">devicePortsEnabledCountTemp</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">portResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line"> </tt>
+<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-227', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for counting enabled ports of the switches: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-228', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt> <tt class="py-op">(</tt> </tt>
+<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line">            <tt class="py-string">"Device Enabled ports EXPECTED: %s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">devicePortsEnabledCount</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-229', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt> <tt class="py-op">(</tt> </tt>
+<a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line">            <tt class="py-string">"Device Enabled ports ACTUAL: %s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L739"></a><tt class="py-lineno"> 739</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">devicePortsEnabledCountTemp</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line"> </tt>
+<a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt> <tt class="py-name">cmp</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">devicePortsEnabledCount</tt><tt class="py-op">,</tt> </tt>
+<a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line">                  <tt class="py-name">devicePortsEnabledCountTemp</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line">            <tt class="py-name">stepResult1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line">            <tt class="py-name">stepResult1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line"> </tt>
+<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-230" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-230', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Compare Device active links with reference"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line">            <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-231" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-231', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt>  <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line">                <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">"of:00000000000000"</tt> <tt class="py-op">+</tt> <tt class="py-name">format</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt><tt class="py-string">'02x'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-232" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-232', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt><tt class="py-name">target</tt> <tt class="py-op">=</tt> <tt id="link-233" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-233', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-234" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDeviceLinksActiveCount" class="py-name" href="#" onclick="return doclink('link-234', 'getDeviceLinksActiveCount', 'link-115');">getDeviceLinksActiveCount</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line">                        <tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line">                        <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-string">"getDeviceLinksActiveCount"</tt><tt class="py-op">,</tt> </tt>
+<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line">                        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">dpid</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line">                <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line">                <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line">                <tt class="py-name">linkCountResult</tt> <tt class="py-op">=</tt> <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line">                <tt class="py-comment">#linkCountTemp = re.split( r'\t+', linkCountResult )</tt> </tt>
+<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line">                <tt class="py-comment">#linkCount = linkCountTemp[ 1 ].replace( "\r\r\n\x1b[32m", "" )</tt> </tt>
+<a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line">                <tt class="py-name">deviceActiveLinksCountTemp</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">linkCountResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L769"></a><tt class="py-lineno"> 769</tt>  <tt class="py-line"> </tt>
+<a name="L770"></a><tt class="py-lineno"> 770</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-235', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for counting all enabled links of the switches: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-236" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-236', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt> <tt class="py-op">(</tt> </tt>
+<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line">            <tt class="py-string">"Device Active links EXPECTED: %s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line">              <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceActiveLinksCount</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-237', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt> <tt class="py-op">(</tt> </tt>
+<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line">            <tt class="py-string">"Device Active links ACTUAL: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">deviceActiveLinksCountTemp</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt> <tt class="py-name">cmp</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceActiveLinksCount</tt><tt class="py-op">,</tt> <tt class="py-name">deviceActiveLinksCountTemp</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line">            <tt class="py-name">stepResult2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line">            <tt class="py-name">stepResult2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L781"></a><tt class="py-lineno"> 781</tt>  <tt class="py-line"> </tt>
+<a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line">        <tt class="py-string">"""</tt> </tt>
+<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line"><tt class="py-string">        place holder for comparing devices, hosts, paths and intents if required.</tt> </tt>
+<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line"><tt class="py-string">        Links and ports data would be incorrect with out devices anyways.</tt> </tt>
+<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line"><tt class="py-string">        """</tt> </tt>
+<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line">        <tt class="py-name">case5Result</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">stepResult1</tt> <tt class="py-keyword">and</tt> <tt class="py-name">stepResult2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case5Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Compare Topology test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line">                                 <tt id="link-238" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-238', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Compare Topology test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE60"></a><div id="CHOtest.CASE60-def"><a name="L791"></a><tt class="py-lineno"> 791</tt> <a class="py-toggle" href="#" id="CHOtest.CASE60-toggle" onclick="return toggle('CHOtest.CASE60');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE60">CASE60</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE60-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE60-expanded"><a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line"><tt class="py-docstring">        Install 300 host intents and verify ping all (Att Topology)</tt> </tt>
+<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-239" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-239', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Add 300 host intents and verify pingall (Att Topology)"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-240" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-240', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"_______________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">itertools</tt> </tt>
+<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-241" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-241', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install 300 host intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-242', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add host Intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">        <tt class="py-name">intentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line">        <tt class="py-name">hostCombos</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt> <tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">combinations</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostMACs</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line"> </tt>
+<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line">        <tt class="py-name">intentIdList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">hostCombos</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line">            <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-243" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-243', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">hostCombos</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-244', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-245" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-245', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-246" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addHostIntent()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addHostIntent,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addHostIntent()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addHostIntent"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addHostIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addHostIntent" class="py-name" href="#" onclick="return doclink('link-246', 'addHostIntent', 'link-246');">addHostIntent</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line">                        <tt class="py-name">threadID</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line">                        <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"addHostIntent"</tt><tt class="py-op">,</tt> </tt>
+<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">                        <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">hostCombos</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">hostCombos</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line">                <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">                <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line">                <tt class="py-name">intentIdList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-247" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-247', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for adding host intents: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line"> </tt>
+<a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line">        <tt class="py-name">intentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line">        <tt class="py-name">intentsJson</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-248" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intents,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intents"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-248', 'intents', 'link-248');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line">        <tt class="py-name">getIntentStateResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-249" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getIntentState()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getIntentState,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getIntentState()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getIntentState"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getIntentState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getIntentState" class="py-name" href="#" onclick="return doclink('link-249', 'getIntentState', 'link-249');">getIntentState</a></tt><tt class="py-op">(</tt><tt class="py-name">intentsId</tt> <tt class="py-op">=</tt> <tt class="py-name">intentIdList</tt><tt class="py-op">,</tt> </tt>
+<a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line">                <tt class="py-name">intentsJson</tt> <tt class="py-op">=</tt> <tt class="py-name">intentsJson</tt><tt class="py-op">)</tt> </tt>
+<a name="L829"></a><tt class="py-lineno"> 829</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"len of intent ID"</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">intentIdList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"len of intent state results"</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">getIntentStateResult</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">getIntentStateResult</tt> </tt>
+<a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line">        <tt class="py-comment"># Takes awhile for all the onos to get the intents</tt> </tt>
+<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">30</tt> <tt class="py-op">)</tt> </tt>
+<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line">        <tt class="py-string">"""intentState = main.TRUE</tt> </tt>
+<a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line"><tt class="py-string">        for i in getIntentStateResult:</tt> </tt>
+<a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line"><tt class="py-string">            if getIntentStateResult.get( 'state' ) != 'INSTALLED':</tt> </tt>
+<a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line"><tt class="py-string">        """</tt> </tt>
+<a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line"> </tt>
+<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line"> </tt>
+<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-250" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-250', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-251" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-251', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">,</tt><tt class="py-name">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-252" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-252', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line">                                 <tt id="link-253" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-253', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line"> </tt>
+<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line">        <tt class="py-name">case60Result</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">intentResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">pingResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L856"></a><tt class="py-lineno"> 856</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case60Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Install 300 Host Intents and Ping All test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line">            <tt id="link-254" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-254', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Install 300 Host Intents and Ping All test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE61"></a><div id="CHOtest.CASE61-def"><a name="L861"></a><tt class="py-lineno"> 861</tt> <a class="py-toggle" href="#" id="CHOtest.CASE61-toggle" onclick="return toggle('CHOtest.CASE61');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE61">CASE61</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE61-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE61-expanded"><a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line"><tt class="py-docstring">        Install 600 host intents and verify ping all for Chordal Topology</tt> </tt>
+<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-255" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-255', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Add 600 host intents and verify pingall (Chordal Topo)"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-256" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-256', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"_______________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">itertools</tt> </tt>
+<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line"> </tt>
+<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-257" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-257', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install 600 host intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-258" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-258', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add host Intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line">        <tt class="py-name">intentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line">        <tt class="py-name">hostCombos</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt> <tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">combinations</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostMACs</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line"> </tt>
+<a name="L874"></a><tt class="py-lineno"> 874</tt>  <tt class="py-line">        <tt class="py-name">intentIdList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L876"></a><tt class="py-lineno"> 876</tt>  <tt class="py-line"> </tt>
+<a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">hostCombos</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line">            <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-259" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-259', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">hostCombos</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-260" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-260', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-261" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-261', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addHostIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addHostIntent" class="py-name" href="#" onclick="return doclink('link-262', 'addHostIntent', 'link-246');">addHostIntent</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line">                        <tt class="py-name">threadID</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line">                        <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"addHostIntent"</tt><tt class="py-op">,</tt> </tt>
+<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line">                        <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">hostCombos</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">hostCombos</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line">                <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line">                <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line">                <tt class="py-name">intentIdList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-263" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-263', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for adding host intents: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line">        <tt class="py-name">intentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line">        <tt class="py-name">intentsJson</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-264" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-264', 'intents', 'link-248');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line">        <tt class="py-name">getIntentStateResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-265" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getIntentState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getIntentState" class="py-name" href="#" onclick="return doclink('link-265', 'getIntentState', 'link-249');">getIntentState</a></tt><tt class="py-op">(</tt><tt class="py-name">intentsId</tt> <tt class="py-op">=</tt> <tt class="py-name">intentIdList</tt><tt class="py-op">,</tt> </tt>
+<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line">                <tt class="py-name">intentsJson</tt> <tt class="py-op">=</tt> <tt class="py-name">intentsJson</tt><tt class="py-op">)</tt> </tt>
+<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">getIntentStateResult</tt> </tt>
+<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line"> </tt>
+<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-266" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-266', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-267" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-267', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">,</tt><tt class="py-name">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L906"></a><tt class="py-lineno"> 906</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-268" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-268', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line">                                 <tt id="link-269" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-269', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line"> </tt>
+<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line">        <tt class="py-name">case14Result</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">intentResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">pingResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line"> </tt>
+<a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L919"></a><tt class="py-lineno"> 919</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case14Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Install 300 Host Intents and Ping All test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line">            <tt id="link-270" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-270', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Install 300 Host Intents and Ping All test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE62"></a><div id="CHOtest.CASE62-def"><a name="L923"></a><tt class="py-lineno"> 923</tt> <a class="py-toggle" href="#" id="CHOtest.CASE62-toggle" onclick="return toggle('CHOtest.CASE62');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE62">CASE62</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE62-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE62-expanded"><a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line"><tt class="py-docstring">        Install 2278 host intents and verify ping all for Spine Topology</tt> </tt>
+<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-271" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-271', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Add 2278 host intents and verify pingall (Spine Topo)"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-272" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-272', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"_______________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">itertools</tt> </tt>
+<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line"> </tt>
+<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-273" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-273', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install 2278 host intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-274" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-274', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add host Intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line">        <tt class="py-name">intentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line">        <tt class="py-name">hostCombos</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt> <tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">combinations</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostMACs</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L935"></a><tt class="py-lineno"> 935</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt> <tt class="py-op">=</tt> <tt class="py-number">300</tt> </tt>
+<a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line">        <tt class="py-name">intentIdList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">hostCombos</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line">            <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-275" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-275', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">hostCombos</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-276" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-276', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-277" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-277', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-278" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addHostIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addHostIntent" class="py-name" href="#" onclick="return doclink('link-278', 'addHostIntent', 'link-246');">addHostIntent</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line">                        <tt class="py-name">threadID</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line">                        <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"addHostIntent"</tt><tt class="py-op">,</tt> </tt>
+<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line">                        <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">hostCombos</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">hostCombos</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L947"></a><tt class="py-lineno"> 947</tt>  <tt class="py-line">                <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line">                <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line">                <tt class="py-name">intentIdList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-279" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-279', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for adding host intents: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line">        <tt class="py-name">intentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line">        <tt class="py-name">intentsJson</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-280" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-280', 'intents', 'link-248');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line">        <tt class="py-name">getIntentStateResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-281" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getIntentState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getIntentState" class="py-name" href="#" onclick="return doclink('link-281', 'getIntentState', 'link-249');">getIntentState</a></tt><tt class="py-op">(</tt><tt class="py-name">intentsId</tt> <tt class="py-op">=</tt> <tt class="py-name">intentIdList</tt><tt class="py-op">,</tt> </tt>
+<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line">                <tt class="py-name">intentsJson</tt> <tt class="py-op">=</tt> <tt class="py-name">intentsJson</tt><tt class="py-op">)</tt> </tt>
+<a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">getIntentStateResult</tt> </tt>
+<a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line"> </tt>
+<a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-282', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L963"></a><tt class="py-lineno"> 963</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-283" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-283', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">,</tt><tt class="py-name">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-284" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-284', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L969"></a><tt class="py-lineno"> 969</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line">                                 <tt id="link-285" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-285', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line"> </tt>
+<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line">        <tt class="py-name">case15Result</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">intentResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">pingResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line"> </tt>
+<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case15Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Install 2278 Host Intents and Ping All test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line">            <tt id="link-286" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-286', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Install 2278 Host Intents and Ping All test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE70"></a><div id="CHOtest.CASE70-def"><a name="L984"></a><tt class="py-lineno"> 984</tt> <a class="py-toggle" href="#" id="CHOtest.CASE70-toggle" onclick="return toggle('CHOtest.CASE70');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE70">CASE70</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE70-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE70-expanded"><a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line"><tt class="py-docstring">        Randomly bring some core links down and verify ping all ( Host Intents-Att Topo)</tt> </tt>
+<a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
+<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink1</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink2</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink3</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line">        <tt class="py-name">link1End1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS3a'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line">        <tt class="py-name">link1End2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS3b'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt> <tt class="py-op">)</tt> </tt>
+<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line">        <tt class="py-name">link2End1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS14a'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line">        <tt class="py-name">link2End2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS14b'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt> <tt class="py-op">)</tt> </tt>
+<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line">        <tt class="py-name">link3End1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS18a'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line">        <tt class="py-name">link3End2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS18b'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt> <tt class="py-op">)</tt> </tt>
+<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line">        <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'toggleLinks'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line">        <tt class="py-name">link_sleep</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line"> </tt>
+<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-287" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-287', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Randomly bring some core links down and verify ping all (Host Intents-Att Topo)"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-288', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"___________________________________________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-289" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-289', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Host intents - Randomly bring some core links down and verify ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-290" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-290', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify number of Switch links to toggle on each Core Switch are between 1 - 5"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> </tt>
+<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">             <tt class="py-number">0</tt> <tt class="py-keyword">or</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">5</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-291" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-291', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Please check your PARAMS file. Valid range for number of switch links to toggle is between 1 to 5"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1008"></a><tt class="py-lineno">1008</tt>  <tt class="py-line">            <tt class="py-comment">#main.cleanup()</tt> </tt>
+<a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line">            <tt class="py-comment">#main.exit()</tt> </tt>
+<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-292', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"User provided Core switch links range to toggle is correct, proceeding to run the test"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line"> </tt>
+<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-293" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-293', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cut links on Core devices using user provided range"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink1</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">sample</tt><tt class="py-op">(</tt> <tt class="py-name">link1End2</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink2</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">sample</tt><tt class="py-op">(</tt> <tt class="py-name">link2End2</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink3</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">sample</tt><tt class="py-op">(</tt> <tt class="py-name">link3End2</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1017"></a><tt class="py-lineno">1017</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-294" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#link"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-294', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line">                <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">link1End1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line">                <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink1</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line">                <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"down"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1022"></a><tt class="py-lineno">1022</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1023"></a><tt class="py-lineno">1023</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-295" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-295', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1024"></a><tt class="py-lineno">1024</tt>  <tt class="py-line">                <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">link2End1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line">                <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink2</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line">                <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"down"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-296" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-296', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line">                <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">link3End1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line">                <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink3</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line">                <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"down"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line"> </tt>
+<a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line">        <tt class="py-name">topology_output</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-297" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-297', 'topology', 'link-62');">topology</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1035"></a><tt class="py-lineno">1035</tt>  <tt class="py-line">        <tt class="py-name">linkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-298" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkStatus()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkStatus,Method TestON.drivers.common.cli.onosdriver.OnosDriver.checkStatus()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#checkStatus"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkStatus
+TestON.drivers.common.cli.onosdriver.OnosDriver.checkStatus" class="py-name" href="#" onclick="return doclink('link-298', 'checkStatus', 'link-298');">checkStatus</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line">            <tt class="py-name">topology_output</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line">                <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNlinks</tt> <tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">6</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">linkDown</tt><tt class="py-op">,</tt> </tt>
+<a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link Down discovered properly"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line">            <tt id="link-299" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-299', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Link down was not discovered in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1044"></a><tt class="py-lineno">1044</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1045"></a><tt class="py-lineno">1045</tt>  <tt class="py-line"> </tt>
+<a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-300" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-300', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-301" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-301', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1051"></a><tt class="py-lineno">1051</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-302" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-302', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1053"></a><tt class="py-lineno">1053</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResultLinkDown</tt><tt class="py-op">,</tt> </tt>
+<a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line">                                 <tt id="link-303" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-303', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line"> </tt>
+<a name="L1060"></a><tt class="py-lineno">1060</tt>  <tt class="py-line">        <tt class="py-name">caseResult70</tt> <tt class="py-op">=</tt> <tt class="py-name">linkDown</tt> <tt class="py-keyword">and</tt> <tt class="py-name">pingResultLinkDown</tt> </tt>
+<a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">caseResult70</tt><tt class="py-op">,</tt> </tt>
+<a name="L1062"></a><tt class="py-lineno">1062</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Random Link cut Test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line">                                 <tt id="link-304" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-304', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Random Link cut Test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE80"></a><div id="CHOtest.CASE80-def"><a name="L1065"></a><tt class="py-lineno">1065</tt> <a class="py-toggle" href="#" id="CHOtest.CASE80-toggle" onclick="return toggle('CHOtest.CASE80');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE80">CASE80</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE80-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE80-expanded"><a name="L1066"></a><tt class="py-lineno">1066</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1067"></a><tt class="py-lineno">1067</tt>  <tt class="py-line"><tt class="py-docstring">        Bring the core links up that are down and verify ping all ( Host Intents-Att Topo )</tt> </tt>
+<a name="L1068"></a><tt class="py-lineno">1068</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1069"></a><tt class="py-lineno">1069</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
+<a name="L1070"></a><tt class="py-lineno">1070</tt>  <tt class="py-line">        <tt class="py-name">link1End1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS3a'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1071"></a><tt class="py-lineno">1071</tt>  <tt class="py-line">        <tt class="py-name">link2End1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS14a'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1072"></a><tt class="py-lineno">1072</tt>  <tt class="py-line">        <tt class="py-name">link3End1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS18a'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1073"></a><tt class="py-lineno">1073</tt>  <tt class="py-line">        <tt class="py-name">link_sleep</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1074"></a><tt class="py-lineno">1074</tt>  <tt class="py-line">        <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'toggleLinks'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line"> </tt>
+<a name="L1076"></a><tt class="py-lineno">1076</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-305" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-305', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1077"></a><tt class="py-lineno">1077</tt>  <tt class="py-line">            <tt class="py-string">"Bring the core links up that are down and verify ping all (Host Intents-Att Topo"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-306" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-306', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line">            <tt class="py-string">"__________________________________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-307', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1081"></a><tt class="py-lineno">1081</tt>  <tt class="py-line">            <tt class="py-string">"Host intents - Bring the core links up that are down and verify ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-308" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-308', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Bring randomly cut links on Core devices up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-309" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-309', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line">                <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">link1End1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line">                <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink1</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1087"></a><tt class="py-lineno">1087</tt>  <tt class="py-line">                <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-310" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-310', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1090"></a><tt class="py-lineno">1090</tt>  <tt class="py-line">                <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">link2End1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1091"></a><tt class="py-lineno">1091</tt>  <tt class="py-line">                <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink2</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1092"></a><tt class="py-lineno">1092</tt>  <tt class="py-line">                <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1093"></a><tt class="py-lineno">1093</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1094"></a><tt class="py-lineno">1094</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-311" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-311', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1095"></a><tt class="py-lineno">1095</tt>  <tt class="py-line">                <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">link3End1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1096"></a><tt class="py-lineno">1096</tt>  <tt class="py-line">                <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink3</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1097"></a><tt class="py-lineno">1097</tt>  <tt class="py-line">                <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1098"></a><tt class="py-lineno">1098</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1099"></a><tt class="py-lineno">1099</tt>  <tt class="py-line"> </tt>
+<a name="L1100"></a><tt class="py-lineno">1100</tt>  <tt class="py-line">        <tt class="py-name">topology_output</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-312" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-312', 'topology', 'link-62');">topology</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1101"></a><tt class="py-lineno">1101</tt>  <tt class="py-line">        <tt class="py-name">linkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-313" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkStatus
+TestON.drivers.common.cli.onosdriver.OnosDriver.checkStatus" class="py-name" href="#" onclick="return doclink('link-313', 'checkStatus', 'link-298');">checkStatus</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1102"></a><tt class="py-lineno">1102</tt>  <tt class="py-line">            <tt class="py-name">topology_output</tt><tt class="py-op">,</tt> </tt>
+<a name="L1103"></a><tt class="py-lineno">1103</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt><tt class="py-op">,</tt> </tt>
+<a name="L1104"></a><tt class="py-lineno">1104</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNlinks</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1105"></a><tt class="py-lineno">1105</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1106"></a><tt class="py-lineno">1106</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1107"></a><tt class="py-lineno">1107</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">linkUp</tt><tt class="py-op">,</tt> </tt>
+<a name="L1108"></a><tt class="py-lineno">1108</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link up discovered properly"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1109"></a><tt class="py-lineno">1109</tt>  <tt class="py-line">            <tt id="link-314" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-314', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Link up was not discovered in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1110"></a><tt class="py-lineno">1110</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1111"></a><tt class="py-lineno">1111</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1112"></a><tt class="py-lineno">1112</tt>  <tt class="py-line"> </tt>
+<a name="L1113"></a><tt class="py-lineno">1113</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-315" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-315', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1114"></a><tt class="py-lineno">1114</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1115"></a><tt class="py-lineno">1115</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1116"></a><tt class="py-lineno">1116</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-316" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-316', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1117"></a><tt class="py-lineno">1117</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1118"></a><tt class="py-lineno">1118</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1119"></a><tt class="py-lineno">1119</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-317" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-317', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1120"></a><tt class="py-lineno">1120</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1121"></a><tt class="py-lineno">1121</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1122"></a><tt class="py-lineno">1122</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1123"></a><tt class="py-lineno">1123</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResultLinkUp</tt><tt class="py-op">,</tt> </tt>
+<a name="L1124"></a><tt class="py-lineno">1124</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1125"></a><tt class="py-lineno">1125</tt>  <tt class="py-line">                                 <tt id="link-318" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-318', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1126"></a><tt class="py-lineno">1126</tt>  <tt class="py-line"> </tt>
+<a name="L1127"></a><tt class="py-lineno">1127</tt>  <tt class="py-line">        <tt class="py-name">caseResult80</tt> <tt class="py-op">=</tt> <tt class="py-name">linkUp</tt> <tt class="py-keyword">and</tt> <tt class="py-name">pingResultLinkUp</tt> </tt>
+<a name="L1128"></a><tt class="py-lineno">1128</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">caseResult80</tt><tt class="py-op">,</tt> </tt>
+<a name="L1129"></a><tt class="py-lineno">1129</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link Up Test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1130"></a><tt class="py-lineno">1130</tt>  <tt class="py-line">                                 <tt id="link-319" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-319', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Link Up Test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1131"></a><tt class="py-lineno">1131</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE71"></a><div id="CHOtest.CASE71-def"><a name="L1132"></a><tt class="py-lineno">1132</tt> <a class="py-toggle" href="#" id="CHOtest.CASE71-toggle" onclick="return toggle('CHOtest.CASE71');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE71">CASE71</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE71-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE71-expanded"><a name="L1133"></a><tt class="py-lineno">1133</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1134"></a><tt class="py-lineno">1134</tt>  <tt class="py-line"><tt class="py-docstring">        Randomly bring some core links down and verify ping all ( Point Intents-Att Topo)</tt> </tt>
+<a name="L1135"></a><tt class="py-lineno">1135</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1136"></a><tt class="py-lineno">1136</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
+<a name="L1137"></a><tt class="py-lineno">1137</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink1</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1138"></a><tt class="py-lineno">1138</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink2</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1139"></a><tt class="py-lineno">1139</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink3</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1140"></a><tt class="py-lineno">1140</tt>  <tt class="py-line">        <tt class="py-name">link1End1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS3a'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1141"></a><tt class="py-lineno">1141</tt>  <tt class="py-line">        <tt class="py-name">link1End2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS3b'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1142"></a><tt class="py-lineno">1142</tt>  <tt class="py-line">        <tt class="py-name">link2End1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS14a'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1143"></a><tt class="py-lineno">1143</tt>  <tt class="py-line">        <tt class="py-name">link2End2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS14b'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1144"></a><tt class="py-lineno">1144</tt>  <tt class="py-line">        <tt class="py-name">link3End1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS18a'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1145"></a><tt class="py-lineno">1145</tt>  <tt class="py-line">        <tt class="py-name">link3End2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS18b'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1146"></a><tt class="py-lineno">1146</tt>  <tt class="py-line">        <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'toggleLinks'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1147"></a><tt class="py-lineno">1147</tt>  <tt class="py-line">        <tt class="py-name">link_sleep</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1148"></a><tt class="py-lineno">1148</tt>  <tt class="py-line"> </tt>
+<a name="L1149"></a><tt class="py-lineno">1149</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-320" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-320', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Randomly bring some core links down and verify ping all (Point Intents-Att Topo)"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1150"></a><tt class="py-lineno">1150</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-321" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-321', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"___________________________________________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1151"></a><tt class="py-lineno">1151</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-322', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Point intents - Randomly bring some core links down and verify ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1152"></a><tt class="py-lineno">1152</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-323" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-323', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify number of Switch links to toggle on each Core Switch are between 1 - 5"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1153"></a><tt class="py-lineno">1153</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> </tt>
+<a name="L1154"></a><tt class="py-lineno">1154</tt>  <tt class="py-line">             <tt class="py-number">0</tt> <tt class="py-keyword">or</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">5</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1155"></a><tt class="py-lineno">1155</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-324" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-324', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Please check your PARAMS file. Valid range for number of switch links to toggle is between 1 to 5"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1156"></a><tt class="py-lineno">1156</tt>  <tt class="py-line">            <tt class="py-comment">#main.cleanup()</tt> </tt>
+<a name="L1157"></a><tt class="py-lineno">1157</tt>  <tt class="py-line">            <tt class="py-comment">#main.exit()</tt> </tt>
+<a name="L1158"></a><tt class="py-lineno">1158</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1159"></a><tt class="py-lineno">1159</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-325" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-325', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"User provided Core switch links range to toggle is correct, proceeding to run the test"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1160"></a><tt class="py-lineno">1160</tt>  <tt class="py-line"> </tt>
+<a name="L1161"></a><tt class="py-lineno">1161</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-326" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-326', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cut links on Core devices using user provided range"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1162"></a><tt class="py-lineno">1162</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink1</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">sample</tt><tt class="py-op">(</tt> <tt class="py-name">link1End2</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1163"></a><tt class="py-lineno">1163</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink2</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">sample</tt><tt class="py-op">(</tt> <tt class="py-name">link2End2</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1164"></a><tt class="py-lineno">1164</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink3</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">sample</tt><tt class="py-op">(</tt> <tt class="py-name">link3End2</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1165"></a><tt class="py-lineno">1165</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1166"></a><tt class="py-lineno">1166</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-327" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-327', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1167"></a><tt class="py-lineno">1167</tt>  <tt class="py-line">                <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">link1End1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1168"></a><tt class="py-lineno">1168</tt>  <tt class="py-line">                <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink1</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1169"></a><tt class="py-lineno">1169</tt>  <tt class="py-line">                <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"down"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1170"></a><tt class="py-lineno">1170</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1171"></a><tt class="py-lineno">1171</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-328" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-328', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1172"></a><tt class="py-lineno">1172</tt>  <tt class="py-line">                <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">link2End1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1173"></a><tt class="py-lineno">1173</tt>  <tt class="py-line">                <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink2</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1174"></a><tt class="py-lineno">1174</tt>  <tt class="py-line">                <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"down"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1175"></a><tt class="py-lineno">1175</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1176"></a><tt class="py-lineno">1176</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-329" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-329', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1177"></a><tt class="py-lineno">1177</tt>  <tt class="py-line">                <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">link3End1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1178"></a><tt class="py-lineno">1178</tt>  <tt class="py-line">                <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink3</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1179"></a><tt class="py-lineno">1179</tt>  <tt class="py-line">                <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"down"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1180"></a><tt class="py-lineno">1180</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1181"></a><tt class="py-lineno">1181</tt>  <tt class="py-line"> </tt>
+<a name="L1182"></a><tt class="py-lineno">1182</tt>  <tt class="py-line">        <tt class="py-name">topology_output</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-330" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-330', 'topology', 'link-62');">topology</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1183"></a><tt class="py-lineno">1183</tt>  <tt class="py-line">        <tt class="py-name">linkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-331" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkStatus
+TestON.drivers.common.cli.onosdriver.OnosDriver.checkStatus" class="py-name" href="#" onclick="return doclink('link-331', 'checkStatus', 'link-298');">checkStatus</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1184"></a><tt class="py-lineno">1184</tt>  <tt class="py-line">            <tt class="py-name">topology_output</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L1185"></a><tt class="py-lineno">1185</tt>  <tt class="py-line">                <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNlinks</tt> <tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">6</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1186"></a><tt class="py-lineno">1186</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1187"></a><tt class="py-lineno">1187</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1188"></a><tt class="py-lineno">1188</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">linkDown</tt><tt class="py-op">,</tt> </tt>
+<a name="L1189"></a><tt class="py-lineno">1189</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link Down discovered properly"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1190"></a><tt class="py-lineno">1190</tt>  <tt class="py-line">            <tt id="link-332" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-332', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Link down was not discovered in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1191"></a><tt class="py-lineno">1191</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1192"></a><tt class="py-lineno">1192</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1193"></a><tt class="py-lineno">1193</tt>  <tt class="py-line"> </tt>
+<a name="L1194"></a><tt class="py-lineno">1194</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-333" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-333', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1195"></a><tt class="py-lineno">1195</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1196"></a><tt class="py-lineno">1196</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1197"></a><tt class="py-lineno">1197</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-334" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-334', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">)</tt> </tt>
+<a name="L1198"></a><tt class="py-lineno">1198</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1199"></a><tt class="py-lineno">1199</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1200"></a><tt class="py-lineno">1200</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-335" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-335', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1201"></a><tt class="py-lineno">1201</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1202"></a><tt class="py-lineno">1202</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1203"></a><tt class="py-lineno">1203</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1204"></a><tt class="py-lineno">1204</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResultLinkDown</tt><tt class="py-op">,</tt> </tt>
+<a name="L1205"></a><tt class="py-lineno">1205</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1206"></a><tt class="py-lineno">1206</tt>  <tt class="py-line">                                 <tt id="link-336" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-336', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1207"></a><tt class="py-lineno">1207</tt>  <tt class="py-line"> </tt>
+<a name="L1208"></a><tt class="py-lineno">1208</tt>  <tt class="py-line">        <tt class="py-name">caseResult71</tt> <tt class="py-op">=</tt> <tt class="py-name">linkDown</tt> <tt class="py-keyword">and</tt> <tt class="py-name">pingResultLinkDown</tt> </tt>
+<a name="L1209"></a><tt class="py-lineno">1209</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">caseResult71</tt><tt class="py-op">,</tt> </tt>
+<a name="L1210"></a><tt class="py-lineno">1210</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Random Link cut Test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1211"></a><tt class="py-lineno">1211</tt>  <tt class="py-line">                                 <tt id="link-337" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-337', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Random Link cut Test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1212"></a><tt class="py-lineno">1212</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE81"></a><div id="CHOtest.CASE81-def"><a name="L1213"></a><tt class="py-lineno">1213</tt> <a class="py-toggle" href="#" id="CHOtest.CASE81-toggle" onclick="return toggle('CHOtest.CASE81');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE81">CASE81</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE81-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE81-expanded"><a name="L1214"></a><tt class="py-lineno">1214</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1215"></a><tt class="py-lineno">1215</tt>  <tt class="py-line"><tt class="py-docstring">        Bring the core links up that are down and verify ping all ( Point Intents-Att Topo )</tt> </tt>
+<a name="L1216"></a><tt class="py-lineno">1216</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1217"></a><tt class="py-lineno">1217</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
+<a name="L1218"></a><tt class="py-lineno">1218</tt>  <tt class="py-line">        <tt class="py-name">link1End1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS3a'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1219"></a><tt class="py-lineno">1219</tt>  <tt class="py-line">        <tt class="py-name">link2End1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS14a'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1220"></a><tt class="py-lineno">1220</tt>  <tt class="py-line">        <tt class="py-name">link3End1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS18a'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1221"></a><tt class="py-lineno">1221</tt>  <tt class="py-line">        <tt class="py-name">link_sleep</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1222"></a><tt class="py-lineno">1222</tt>  <tt class="py-line">        <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ATTCORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'toggleLinks'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1223"></a><tt class="py-lineno">1223</tt>  <tt class="py-line"> </tt>
+<a name="L1224"></a><tt class="py-lineno">1224</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-338" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-338', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1225"></a><tt class="py-lineno">1225</tt>  <tt class="py-line">            <tt class="py-string">"Bring the core links up that are down and verify ping all ( Point Intents-Att Topo"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1226"></a><tt class="py-lineno">1226</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-339" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-339', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1227"></a><tt class="py-lineno">1227</tt>  <tt class="py-line">            <tt class="py-string">"__________________________________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1228"></a><tt class="py-lineno">1228</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-340" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-340', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1229"></a><tt class="py-lineno">1229</tt>  <tt class="py-line">            <tt class="py-string">"Point intents - Bring the core links up that are down and verify ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1230"></a><tt class="py-lineno">1230</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-341" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-341', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Bring randomly cut links on Core devices up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1231"></a><tt class="py-lineno">1231</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">switchLinksToToggle</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1232"></a><tt class="py-lineno">1232</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-342" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-342', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1233"></a><tt class="py-lineno">1233</tt>  <tt class="py-line">                <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">link1End1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1234"></a><tt class="py-lineno">1234</tt>  <tt class="py-line">                <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink1</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1235"></a><tt class="py-lineno">1235</tt>  <tt class="py-line">                <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1236"></a><tt class="py-lineno">1236</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1237"></a><tt class="py-lineno">1237</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-343" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-343', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1238"></a><tt class="py-lineno">1238</tt>  <tt class="py-line">                <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">link2End1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1239"></a><tt class="py-lineno">1239</tt>  <tt class="py-line">                <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink2</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1240"></a><tt class="py-lineno">1240</tt>  <tt class="py-line">                <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1241"></a><tt class="py-lineno">1241</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1242"></a><tt class="py-lineno">1242</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-344" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-344', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1243"></a><tt class="py-lineno">1243</tt>  <tt class="py-line">                <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">link3End1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1244"></a><tt class="py-lineno">1244</tt>  <tt class="py-line">                <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink3</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1245"></a><tt class="py-lineno">1245</tt>  <tt class="py-line">                <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1246"></a><tt class="py-lineno">1246</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1247"></a><tt class="py-lineno">1247</tt>  <tt class="py-line"> </tt>
+<a name="L1248"></a><tt class="py-lineno">1248</tt>  <tt class="py-line">        <tt class="py-name">topology_output</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-345" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-345', 'topology', 'link-62');">topology</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1249"></a><tt class="py-lineno">1249</tt>  <tt class="py-line">        <tt class="py-name">linkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-346" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkStatus
+TestON.drivers.common.cli.onosdriver.OnosDriver.checkStatus" class="py-name" href="#" onclick="return doclink('link-346', 'checkStatus', 'link-298');">checkStatus</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1250"></a><tt class="py-lineno">1250</tt>  <tt class="py-line">            <tt class="py-name">topology_output</tt><tt class="py-op">,</tt> </tt>
+<a name="L1251"></a><tt class="py-lineno">1251</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt><tt class="py-op">,</tt> </tt>
+<a name="L1252"></a><tt class="py-lineno">1252</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNlinks</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1253"></a><tt class="py-lineno">1253</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1254"></a><tt class="py-lineno">1254</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1255"></a><tt class="py-lineno">1255</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">linkUp</tt><tt class="py-op">,</tt> </tt>
+<a name="L1256"></a><tt class="py-lineno">1256</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link up discovered properly"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1257"></a><tt class="py-lineno">1257</tt>  <tt class="py-line">            <tt id="link-347" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-347', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Link up was not discovered in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1258"></a><tt class="py-lineno">1258</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1259"></a><tt class="py-lineno">1259</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1260"></a><tt class="py-lineno">1260</tt>  <tt class="py-line"> </tt>
+<a name="L1261"></a><tt class="py-lineno">1261</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-348" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-348', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1262"></a><tt class="py-lineno">1262</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1263"></a><tt class="py-lineno">1263</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1264"></a><tt class="py-lineno">1264</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-349" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-349', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1265"></a><tt class="py-lineno">1265</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1266"></a><tt class="py-lineno">1266</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1267"></a><tt class="py-lineno">1267</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-350" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-350', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1268"></a><tt class="py-lineno">1268</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1269"></a><tt class="py-lineno">1269</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1270"></a><tt class="py-lineno">1270</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1271"></a><tt class="py-lineno">1271</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResultLinkUp</tt><tt class="py-op">,</tt> </tt>
+<a name="L1272"></a><tt class="py-lineno">1272</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1273"></a><tt class="py-lineno">1273</tt>  <tt class="py-line">                                 <tt id="link-351" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-351', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1274"></a><tt class="py-lineno">1274</tt>  <tt class="py-line"> </tt>
+<a name="L1275"></a><tt class="py-lineno">1275</tt>  <tt class="py-line">        <tt class="py-name">caseResult81</tt> <tt class="py-op">=</tt> <tt class="py-name">linkUp</tt> <tt class="py-keyword">and</tt> <tt class="py-name">pingResultLinkUp</tt> </tt>
+<a name="L1276"></a><tt class="py-lineno">1276</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">caseResult81</tt><tt class="py-op">,</tt> </tt>
+<a name="L1277"></a><tt class="py-lineno">1277</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link Up Test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1278"></a><tt class="py-lineno">1278</tt>  <tt class="py-line">                                 <tt id="link-352" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-352', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Link Up Test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1279"></a><tt class="py-lineno">1279</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE72"></a><div id="CHOtest.CASE72-def"><a name="L1280"></a><tt class="py-lineno">1280</tt> <a class="py-toggle" href="#" id="CHOtest.CASE72-toggle" onclick="return toggle('CHOtest.CASE72');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE72">CASE72</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE72-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE72-expanded"><a name="L1281"></a><tt class="py-lineno">1281</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1282"></a><tt class="py-lineno">1282</tt>  <tt class="py-line"><tt class="py-docstring">        Randomly bring some links down and verify ping all ( Host Intents-Chordal Topo)</tt> </tt>
+<a name="L1283"></a><tt class="py-lineno">1283</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1284"></a><tt class="py-lineno">1284</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
+<a name="L1285"></a><tt class="py-lineno">1285</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">itertools</tt> </tt>
+<a name="L1286"></a><tt class="py-lineno">1286</tt>  <tt class="py-line">        <tt class="py-name">link_sleep</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1287"></a><tt class="py-lineno">1287</tt>  <tt class="py-line"> </tt>
+<a name="L1288"></a><tt class="py-lineno">1288</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-353" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-353', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Randomly bring some core links down and verify ping all (Host Intents-Chordal Topo)"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1289"></a><tt class="py-lineno">1289</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-354" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-354', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"___________________________________________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1290"></a><tt class="py-lineno">1290</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-355" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-355', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Host intents - Randomly bring some core links down and verify ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1291"></a><tt class="py-lineno">1291</tt>  <tt class="py-line">        <tt class="py-name">switches</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1292"></a><tt class="py-lineno">1292</tt>  <tt class="py-line">        <tt class="py-name">switchesComb</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1293"></a><tt class="py-lineno">1293</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1294"></a><tt class="py-lineno">1294</tt>  <tt class="py-line">            <tt class="py-name">switches</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'s%d'</tt><tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1295"></a><tt class="py-lineno">1295</tt>  <tt class="py-line">        <tt class="py-name">switchesLinksComb</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">combinations</tt><tt class="py-op">(</tt><tt class="py-name">switches</tt><tt class="py-op">,</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1296"></a><tt class="py-lineno">1296</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLinks</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">sample</tt><tt class="py-op">(</tt><tt class="py-name">switchesLinksComb</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1297"></a><tt class="py-lineno">1297</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLinks</tt> </tt>
+<a name="L1298"></a><tt class="py-lineno">1298</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-356" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-356', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cut links on random devices"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1299"></a><tt class="py-lineno">1299</tt>  <tt class="py-line"> </tt>
+<a name="L1300"></a><tt class="py-lineno">1300</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLinks</tt><tt class="py-op">:</tt> </tt>
+<a name="L1301"></a><tt class="py-lineno">1301</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-357" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-357', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1302"></a><tt class="py-lineno">1302</tt>  <tt class="py-line">                <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">switch</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1303"></a><tt class="py-lineno">1303</tt>  <tt class="py-line">                <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">switch</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1304"></a><tt class="py-lineno">1304</tt>  <tt class="py-line">                <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"down"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1305"></a><tt class="py-lineno">1305</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1306"></a><tt class="py-lineno">1306</tt>  <tt class="py-line"> </tt>
+<a name="L1307"></a><tt class="py-lineno">1307</tt>  <tt class="py-line">        <tt class="py-name">topology_output</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-358" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-358', 'topology', 'link-62');">topology</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1308"></a><tt class="py-lineno">1308</tt>  <tt class="py-line">        <tt class="py-name">linkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-359" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkStatus
+TestON.drivers.common.cli.onosdriver.OnosDriver.checkStatus" class="py-name" href="#" onclick="return doclink('link-359', 'checkStatus', 'link-298');">checkStatus</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1309"></a><tt class="py-lineno">1309</tt>  <tt class="py-line">            <tt class="py-name">topology_output</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L1310"></a><tt class="py-lineno">1310</tt>  <tt class="py-line">                <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNlinks</tt> <tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">5</tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1311"></a><tt class="py-lineno">1311</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1312"></a><tt class="py-lineno">1312</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1313"></a><tt class="py-lineno">1313</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">linkDown</tt><tt class="py-op">,</tt> </tt>
+<a name="L1314"></a><tt class="py-lineno">1314</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link Down discovered properly"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1315"></a><tt class="py-lineno">1315</tt>  <tt class="py-line">            <tt id="link-360" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-360', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Link down was not discovered in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1316"></a><tt class="py-lineno">1316</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1317"></a><tt class="py-lineno">1317</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1318"></a><tt class="py-lineno">1318</tt>  <tt class="py-line"> </tt>
+<a name="L1319"></a><tt class="py-lineno">1319</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-361" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-361', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1320"></a><tt class="py-lineno">1320</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1321"></a><tt class="py-lineno">1321</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1322"></a><tt class="py-lineno">1322</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-362" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-362', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">,</tt><tt class="py-name">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1323"></a><tt class="py-lineno">1323</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1324"></a><tt class="py-lineno">1324</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1325"></a><tt class="py-lineno">1325</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-363" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-363', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1326"></a><tt class="py-lineno">1326</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1327"></a><tt class="py-lineno">1327</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1328"></a><tt class="py-lineno">1328</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1329"></a><tt class="py-lineno">1329</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResultLinkDown</tt><tt class="py-op">,</tt> </tt>
+<a name="L1330"></a><tt class="py-lineno">1330</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1331"></a><tt class="py-lineno">1331</tt>  <tt class="py-line">                                 <tt id="link-364" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-364', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1332"></a><tt class="py-lineno">1332</tt>  <tt class="py-line"> </tt>
+<a name="L1333"></a><tt class="py-lineno">1333</tt>  <tt class="py-line">        <tt class="py-name">caseResult71</tt> <tt class="py-op">=</tt> <tt class="py-name">pingResultLinkDown</tt> </tt>
+<a name="L1334"></a><tt class="py-lineno">1334</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">caseResult71</tt><tt class="py-op">,</tt> </tt>
+<a name="L1335"></a><tt class="py-lineno">1335</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Random Link cut Test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1336"></a><tt class="py-lineno">1336</tt>  <tt class="py-line">                                 <tt id="link-365" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-365', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Random Link cut Test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1337"></a><tt class="py-lineno">1337</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE82"></a><div id="CHOtest.CASE82-def"><a name="L1338"></a><tt class="py-lineno">1338</tt> <a class="py-toggle" href="#" id="CHOtest.CASE82-toggle" onclick="return toggle('CHOtest.CASE82');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE82">CASE82</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE82-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE82-expanded"><a name="L1339"></a><tt class="py-lineno">1339</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1340"></a><tt class="py-lineno">1340</tt>  <tt class="py-line"><tt class="py-docstring">        Bring the core links up that are down and verify ping all ( Host Intents Chordal Topo )</tt> </tt>
+<a name="L1341"></a><tt class="py-lineno">1341</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1342"></a><tt class="py-lineno">1342</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
+<a name="L1343"></a><tt class="py-lineno">1343</tt>  <tt class="py-line">        <tt class="py-name">link_sleep</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1344"></a><tt class="py-lineno">1344</tt>  <tt class="py-line"> </tt>
+<a name="L1345"></a><tt class="py-lineno">1345</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-366" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-366', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1346"></a><tt class="py-lineno">1346</tt>  <tt class="py-line">            <tt class="py-string">"Bring the core links up that are down and verify ping all (Host Intents-Chordal Topo"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1347"></a><tt class="py-lineno">1347</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-367" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-367', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1348"></a><tt class="py-lineno">1348</tt>  <tt class="py-line">            <tt class="py-string">"__________________________________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1349"></a><tt class="py-lineno">1349</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-368" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-368', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1350"></a><tt class="py-lineno">1350</tt>  <tt class="py-line">            <tt class="py-string">"Host intents - Bring the core links up that are down and verify ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1351"></a><tt class="py-lineno">1351</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-369" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-369', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Bring randomly cut links on devices up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1352"></a><tt class="py-lineno">1352</tt>  <tt class="py-line"> </tt>
+<a name="L1353"></a><tt class="py-lineno">1353</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLinks</tt><tt class="py-op">:</tt> </tt>
+<a name="L1354"></a><tt class="py-lineno">1354</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-370" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-370', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1355"></a><tt class="py-lineno">1355</tt>  <tt class="py-line">                <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">switch</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1356"></a><tt class="py-lineno">1356</tt>  <tt class="py-line">                <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">switch</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1357"></a><tt class="py-lineno">1357</tt>  <tt class="py-line">                <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"up"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1358"></a><tt class="py-lineno">1358</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1359"></a><tt class="py-lineno">1359</tt>  <tt class="py-line"> </tt>
+<a name="L1360"></a><tt class="py-lineno">1360</tt>  <tt class="py-line">        <tt class="py-name">topology_output</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-371" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-371', 'topology', 'link-62');">topology</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1361"></a><tt class="py-lineno">1361</tt>  <tt class="py-line">        <tt class="py-name">linkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-372" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkStatus
+TestON.drivers.common.cli.onosdriver.OnosDriver.checkStatus" class="py-name" href="#" onclick="return doclink('link-372', 'checkStatus', 'link-298');">checkStatus</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1362"></a><tt class="py-lineno">1362</tt>  <tt class="py-line">            <tt class="py-name">topology_output</tt><tt class="py-op">,</tt> </tt>
+<a name="L1363"></a><tt class="py-lineno">1363</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt><tt class="py-op">,</tt> </tt>
+<a name="L1364"></a><tt class="py-lineno">1364</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNlinks</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1365"></a><tt class="py-lineno">1365</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1366"></a><tt class="py-lineno">1366</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1367"></a><tt class="py-lineno">1367</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">linkUp</tt><tt class="py-op">,</tt> </tt>
+<a name="L1368"></a><tt class="py-lineno">1368</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link up discovered properly"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1369"></a><tt class="py-lineno">1369</tt>  <tt class="py-line">            <tt id="link-373" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-373', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Link up was not discovered in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1370"></a><tt class="py-lineno">1370</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1371"></a><tt class="py-lineno">1371</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1372"></a><tt class="py-lineno">1372</tt>  <tt class="py-line"> </tt>
+<a name="L1373"></a><tt class="py-lineno">1373</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-374" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-374', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1374"></a><tt class="py-lineno">1374</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1375"></a><tt class="py-lineno">1375</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1376"></a><tt class="py-lineno">1376</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-375" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-375', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">,</tt><tt class="py-name">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1377"></a><tt class="py-lineno">1377</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1378"></a><tt class="py-lineno">1378</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1379"></a><tt class="py-lineno">1379</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-376" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-376', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1380"></a><tt class="py-lineno">1380</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1381"></a><tt class="py-lineno">1381</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1382"></a><tt class="py-lineno">1382</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1383"></a><tt class="py-lineno">1383</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResultLinkUp</tt><tt class="py-op">,</tt> </tt>
+<a name="L1384"></a><tt class="py-lineno">1384</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1385"></a><tt class="py-lineno">1385</tt>  <tt class="py-line">                                 <tt id="link-377" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-377', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1386"></a><tt class="py-lineno">1386</tt>  <tt class="py-line"> </tt>
+<a name="L1387"></a><tt class="py-lineno">1387</tt>  <tt class="py-line">        <tt class="py-name">caseResult82</tt> <tt class="py-op">=</tt> <tt class="py-name">linkUp</tt> <tt class="py-keyword">and</tt> <tt class="py-name">pingResultLinkUp</tt> </tt>
+<a name="L1388"></a><tt class="py-lineno">1388</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">caseResult82</tt><tt class="py-op">,</tt> </tt>
+<a name="L1389"></a><tt class="py-lineno">1389</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link Up Test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1390"></a><tt class="py-lineno">1390</tt>  <tt class="py-line">                                 <tt id="link-378" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-378', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Link Up Test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1391"></a><tt class="py-lineno">1391</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE73"></a><div id="CHOtest.CASE73-def"><a name="L1392"></a><tt class="py-lineno">1392</tt> <a class="py-toggle" href="#" id="CHOtest.CASE73-toggle" onclick="return toggle('CHOtest.CASE73');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE73">CASE73</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE73-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE73-expanded"><a name="L1393"></a><tt class="py-lineno">1393</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1394"></a><tt class="py-lineno">1394</tt>  <tt class="py-line"><tt class="py-docstring">        Randomly bring some links down and verify ping all ( Point Intents-Chordal Topo)</tt> </tt>
+<a name="L1395"></a><tt class="py-lineno">1395</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1396"></a><tt class="py-lineno">1396</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
+<a name="L1397"></a><tt class="py-lineno">1397</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">itertools</tt> </tt>
+<a name="L1398"></a><tt class="py-lineno">1398</tt>  <tt class="py-line">        <tt class="py-name">link_sleep</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1399"></a><tt class="py-lineno">1399</tt>  <tt class="py-line"> </tt>
+<a name="L1400"></a><tt class="py-lineno">1400</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-379" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-379', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Randomly bring some core links down and verify ping all ( Point Intents-Chordal Topo)"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1401"></a><tt class="py-lineno">1401</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-380" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-380', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"___________________________________________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1402"></a><tt class="py-lineno">1402</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-381" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-381', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Point intents - Randomly bring some core links down and verify ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1403"></a><tt class="py-lineno">1403</tt>  <tt class="py-line">        <tt class="py-name">switches</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1404"></a><tt class="py-lineno">1404</tt>  <tt class="py-line">        <tt class="py-name">switchesComb</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1405"></a><tt class="py-lineno">1405</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1406"></a><tt class="py-lineno">1406</tt>  <tt class="py-line">            <tt class="py-name">switches</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'s%d'</tt><tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1407"></a><tt class="py-lineno">1407</tt>  <tt class="py-line">        <tt class="py-name">switchesLinksComb</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">combinations</tt><tt class="py-op">(</tt><tt class="py-name">switches</tt><tt class="py-op">,</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1408"></a><tt class="py-lineno">1408</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLinks</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">sample</tt><tt class="py-op">(</tt><tt class="py-name">switchesLinksComb</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1409"></a><tt class="py-lineno">1409</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLinks</tt> </tt>
+<a name="L1410"></a><tt class="py-lineno">1410</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-382" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-382', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cut links on random devices"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1411"></a><tt class="py-lineno">1411</tt>  <tt class="py-line"> </tt>
+<a name="L1412"></a><tt class="py-lineno">1412</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLinks</tt><tt class="py-op">:</tt> </tt>
+<a name="L1413"></a><tt class="py-lineno">1413</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-383" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-383', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1414"></a><tt class="py-lineno">1414</tt>  <tt class="py-line">                <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">switch</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1415"></a><tt class="py-lineno">1415</tt>  <tt class="py-line">                <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">switch</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1416"></a><tt class="py-lineno">1416</tt>  <tt class="py-line">                <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"down"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1417"></a><tt class="py-lineno">1417</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1418"></a><tt class="py-lineno">1418</tt>  <tt class="py-line"> </tt>
+<a name="L1419"></a><tt class="py-lineno">1419</tt>  <tt class="py-line">        <tt class="py-name">topology_output</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-384" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-384', 'topology', 'link-62');">topology</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1420"></a><tt class="py-lineno">1420</tt>  <tt class="py-line">        <tt class="py-name">linkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-385" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkStatus
+TestON.drivers.common.cli.onosdriver.OnosDriver.checkStatus" class="py-name" href="#" onclick="return doclink('link-385', 'checkStatus', 'link-298');">checkStatus</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1421"></a><tt class="py-lineno">1421</tt>  <tt class="py-line">            <tt class="py-name">topology_output</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L1422"></a><tt class="py-lineno">1422</tt>  <tt class="py-line">                <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNlinks</tt> <tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">5</tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1423"></a><tt class="py-lineno">1423</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1424"></a><tt class="py-lineno">1424</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1425"></a><tt class="py-lineno">1425</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">linkDown</tt><tt class="py-op">,</tt> </tt>
+<a name="L1426"></a><tt class="py-lineno">1426</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link Down discovered properly"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1427"></a><tt class="py-lineno">1427</tt>  <tt class="py-line">            <tt id="link-386" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-386', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Link down was not discovered in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1428"></a><tt class="py-lineno">1428</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1429"></a><tt class="py-lineno">1429</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1430"></a><tt class="py-lineno">1430</tt>  <tt class="py-line"> </tt>
+<a name="L1431"></a><tt class="py-lineno">1431</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-387" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-387', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1432"></a><tt class="py-lineno">1432</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1433"></a><tt class="py-lineno">1433</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1434"></a><tt class="py-lineno">1434</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-388" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-388', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">,</tt><tt class="py-name">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1435"></a><tt class="py-lineno">1435</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1436"></a><tt class="py-lineno">1436</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1437"></a><tt class="py-lineno">1437</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-389" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-389', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1438"></a><tt class="py-lineno">1438</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1439"></a><tt class="py-lineno">1439</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1440"></a><tt class="py-lineno">1440</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1441"></a><tt class="py-lineno">1441</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResultLinkDown</tt><tt class="py-op">,</tt> </tt>
+<a name="L1442"></a><tt class="py-lineno">1442</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1443"></a><tt class="py-lineno">1443</tt>  <tt class="py-line">                                 <tt id="link-390" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-390', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1444"></a><tt class="py-lineno">1444</tt>  <tt class="py-line"> </tt>
+<a name="L1445"></a><tt class="py-lineno">1445</tt>  <tt class="py-line">        <tt class="py-name">caseResult73</tt> <tt class="py-op">=</tt> <tt class="py-name">pingResultLinkDown</tt> </tt>
+<a name="L1446"></a><tt class="py-lineno">1446</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">caseResult73</tt><tt class="py-op">,</tt> </tt>
+<a name="L1447"></a><tt class="py-lineno">1447</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Random Link cut Test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1448"></a><tt class="py-lineno">1448</tt>  <tt class="py-line">                                 <tt id="link-391" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-391', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Random Link cut Test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1449"></a><tt class="py-lineno">1449</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE83"></a><div id="CHOtest.CASE83-def"><a name="L1450"></a><tt class="py-lineno">1450</tt> <a class="py-toggle" href="#" id="CHOtest.CASE83-toggle" onclick="return toggle('CHOtest.CASE83');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE83">CASE83</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE83-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE83-expanded"><a name="L1451"></a><tt class="py-lineno">1451</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1452"></a><tt class="py-lineno">1452</tt>  <tt class="py-line"><tt class="py-docstring">        Bring the core links up that are down and verify ping all ( Point Intents Chordal Topo )</tt> </tt>
+<a name="L1453"></a><tt class="py-lineno">1453</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1454"></a><tt class="py-lineno">1454</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
+<a name="L1455"></a><tt class="py-lineno">1455</tt>  <tt class="py-line">        <tt class="py-name">link_sleep</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1456"></a><tt class="py-lineno">1456</tt>  <tt class="py-line"> </tt>
+<a name="L1457"></a><tt class="py-lineno">1457</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-392" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-392', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1458"></a><tt class="py-lineno">1458</tt>  <tt class="py-line">            <tt class="py-string">"Bring the core links up that are down and verify ping all ( Point Intents-Chordal Topo"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1459"></a><tt class="py-lineno">1459</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-393" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-393', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1460"></a><tt class="py-lineno">1460</tt>  <tt class="py-line">            <tt class="py-string">"__________________________________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1461"></a><tt class="py-lineno">1461</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-394" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-394', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1462"></a><tt class="py-lineno">1462</tt>  <tt class="py-line">            <tt class="py-string">"Point intents - Bring the core links up that are down and verify ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1463"></a><tt class="py-lineno">1463</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-395" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-395', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Bring randomly cut links on devices up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1464"></a><tt class="py-lineno">1464</tt>  <tt class="py-line"> </tt>
+<a name="L1465"></a><tt class="py-lineno">1465</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLinks</tt><tt class="py-op">:</tt> </tt>
+<a name="L1466"></a><tt class="py-lineno">1466</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-396" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-396', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1467"></a><tt class="py-lineno">1467</tt>  <tt class="py-line">                <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">switch</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1468"></a><tt class="py-lineno">1468</tt>  <tt class="py-line">                <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">switch</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1469"></a><tt class="py-lineno">1469</tt>  <tt class="py-line">                <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"up"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1470"></a><tt class="py-lineno">1470</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1471"></a><tt class="py-lineno">1471</tt>  <tt class="py-line"> </tt>
+<a name="L1472"></a><tt class="py-lineno">1472</tt>  <tt class="py-line">        <tt class="py-name">topology_output</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-397" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-397', 'topology', 'link-62');">topology</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1473"></a><tt class="py-lineno">1473</tt>  <tt class="py-line">        <tt class="py-name">linkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-398" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkStatus
+TestON.drivers.common.cli.onosdriver.OnosDriver.checkStatus" class="py-name" href="#" onclick="return doclink('link-398', 'checkStatus', 'link-298');">checkStatus</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1474"></a><tt class="py-lineno">1474</tt>  <tt class="py-line">            <tt class="py-name">topology_output</tt><tt class="py-op">,</tt> </tt>
+<a name="L1475"></a><tt class="py-lineno">1475</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt><tt class="py-op">,</tt> </tt>
+<a name="L1476"></a><tt class="py-lineno">1476</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNlinks</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1477"></a><tt class="py-lineno">1477</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1478"></a><tt class="py-lineno">1478</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1479"></a><tt class="py-lineno">1479</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">linkUp</tt><tt class="py-op">,</tt> </tt>
+<a name="L1480"></a><tt class="py-lineno">1480</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link up discovered properly"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1481"></a><tt class="py-lineno">1481</tt>  <tt class="py-line">            <tt id="link-399" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-399', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Link up was not discovered in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1482"></a><tt class="py-lineno">1482</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1483"></a><tt class="py-lineno">1483</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1484"></a><tt class="py-lineno">1484</tt>  <tt class="py-line"> </tt>
+<a name="L1485"></a><tt class="py-lineno">1485</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-400" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-400', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1486"></a><tt class="py-lineno">1486</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1487"></a><tt class="py-lineno">1487</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1488"></a><tt class="py-lineno">1488</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-401" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-401', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">,</tt><tt class="py-name">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1489"></a><tt class="py-lineno">1489</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1490"></a><tt class="py-lineno">1490</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1491"></a><tt class="py-lineno">1491</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-402" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-402', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1492"></a><tt class="py-lineno">1492</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1493"></a><tt class="py-lineno">1493</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1494"></a><tt class="py-lineno">1494</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1495"></a><tt class="py-lineno">1495</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResultLinkUp</tt><tt class="py-op">,</tt> </tt>
+<a name="L1496"></a><tt class="py-lineno">1496</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1497"></a><tt class="py-lineno">1497</tt>  <tt class="py-line">                                 <tt id="link-403" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-403', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1498"></a><tt class="py-lineno">1498</tt>  <tt class="py-line"> </tt>
+<a name="L1499"></a><tt class="py-lineno">1499</tt>  <tt class="py-line">        <tt class="py-name">caseResult83</tt> <tt class="py-op">=</tt> <tt class="py-name">linkUp</tt> <tt class="py-keyword">and</tt> <tt class="py-name">pingResultLinkUp</tt> </tt>
+<a name="L1500"></a><tt class="py-lineno">1500</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">caseResult83</tt><tt class="py-op">,</tt> </tt>
+<a name="L1501"></a><tt class="py-lineno">1501</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link Up Test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1502"></a><tt class="py-lineno">1502</tt>  <tt class="py-line">                                 <tt id="link-404" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-404', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Link Up Test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1503"></a><tt class="py-lineno">1503</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE74"></a><div id="CHOtest.CASE74-def"><a name="L1504"></a><tt class="py-lineno">1504</tt> <a class="py-toggle" href="#" id="CHOtest.CASE74-toggle" onclick="return toggle('CHOtest.CASE74');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE74">CASE74</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE74-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE74-expanded"><a name="L1505"></a><tt class="py-lineno">1505</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1506"></a><tt class="py-lineno">1506</tt>  <tt class="py-line"><tt class="py-docstring">        Randomly bring some core links down and verify ping all ( Host Intents-Spine Topo)</tt> </tt>
+<a name="L1507"></a><tt class="py-lineno">1507</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1508"></a><tt class="py-lineno">1508</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
+<a name="L1509"></a><tt class="py-lineno">1509</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink1</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1510"></a><tt class="py-lineno">1510</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink2</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1511"></a><tt class="py-lineno">1511</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink3</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1512"></a><tt class="py-lineno">1512</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink4</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1513"></a><tt class="py-lineno">1513</tt>  <tt class="py-line">        <tt class="py-name">link1End1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SPINECORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS9'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1514"></a><tt class="py-lineno">1514</tt>  <tt class="py-line">        <tt class="py-name">link1End2top</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SPINECORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS9top'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1515"></a><tt class="py-lineno">1515</tt>  <tt class="py-line">        <tt class="py-name">link1End2bot</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SPINECORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS9bot'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1516"></a><tt class="py-lineno">1516</tt>  <tt class="py-line">        <tt class="py-name">link2End1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SPINECORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS10'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1517"></a><tt class="py-lineno">1517</tt>  <tt class="py-line">        <tt class="py-name">link2End2top</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SPINECORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS10top'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1518"></a><tt class="py-lineno">1518</tt>  <tt class="py-line">        <tt class="py-name">link2End2bot</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SPINECORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS10bot'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1519"></a><tt class="py-lineno">1519</tt>  <tt class="py-line">        <tt class="py-name">link_sleep</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1520"></a><tt class="py-lineno">1520</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt> <tt class="py-op">=</tt> <tt class="py-number">400</tt> </tt>
+<a name="L1521"></a><tt class="py-lineno">1521</tt>  <tt class="py-line"> </tt>
+<a name="L1522"></a><tt class="py-lineno">1522</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-405" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-405', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Bring some core links down and verify ping all (Host Intents-Spine Topo)"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1523"></a><tt class="py-lineno">1523</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-406" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-406', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"___________________________________________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1524"></a><tt class="py-lineno">1524</tt>  <tt class="py-line"> </tt>
+<a name="L1525"></a><tt class="py-lineno">1525</tt>  <tt class="py-line">        <tt class="py-name">linkIndex</tt> <tt class="py-op">=</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
+<a name="L1526"></a><tt class="py-lineno">1526</tt>  <tt class="py-line">        <tt class="py-name">linkIndexS9</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">sample</tt><tt class="py-op">(</tt><tt class="py-name">linkIndex</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L1527"></a><tt class="py-lineno">1527</tt>  <tt class="py-line">        <tt class="py-name">linkIndex</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">linkIndexS9</tt><tt class="py-op">)</tt> </tt>
+<a name="L1528"></a><tt class="py-lineno">1528</tt>  <tt class="py-line">        <tt class="py-name">linkIndexS10</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">sample</tt><tt class="py-op">(</tt><tt class="py-name">linkIndex</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L1529"></a><tt class="py-lineno">1529</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink1</tt> <tt class="py-op">=</tt> <tt class="py-name">link1End2top</tt><tt class="py-op">[</tt><tt class="py-name">linkIndexS9</tt><tt class="py-op">]</tt> </tt>
+<a name="L1530"></a><tt class="py-lineno">1530</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink2</tt> <tt class="py-op">=</tt> <tt class="py-name">link2End2top</tt><tt class="py-op">[</tt><tt class="py-name">linkIndexS10</tt><tt class="py-op">]</tt> </tt>
+<a name="L1531"></a><tt class="py-lineno">1531</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink3</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">sample</tt><tt class="py-op">(</tt><tt class="py-name">link1End2bot</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L1532"></a><tt class="py-lineno">1532</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink4</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">sample</tt><tt class="py-op">(</tt><tt class="py-name">link2End2bot</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L1533"></a><tt class="py-lineno">1533</tt>  <tt class="py-line"> </tt>
+<a name="L1534"></a><tt class="py-lineno">1534</tt>  <tt class="py-line">        <tt class="py-comment"># Work around for link state propagation delay. Added some sleep time.</tt> </tt>
+<a name="L1535"></a><tt class="py-lineno">1535</tt>  <tt class="py-line">        <tt class="py-comment"># main.Mininet1.link( END1=link1End1, END2=main.randomLink1, OPTION="down" )</tt> </tt>
+<a name="L1536"></a><tt class="py-lineno">1536</tt>  <tt class="py-line">        <tt class="py-comment"># main.Mininet1.link( END1=link2End1, END2=main.randomLink2, OPTION="down" )</tt> </tt>
+<a name="L1537"></a><tt class="py-lineno">1537</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-407" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-407', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">link1End1</tt><tt class="py-op">,</tt> <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink3</tt><tt class="py-op">,</tt> <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"down"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1538"></a><tt class="py-lineno">1538</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1539"></a><tt class="py-lineno">1539</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-408" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-408', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">link2End1</tt><tt class="py-op">,</tt> <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink4</tt><tt class="py-op">,</tt> <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"down"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1540"></a><tt class="py-lineno">1540</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1541"></a><tt class="py-lineno">1541</tt>  <tt class="py-line"> </tt>
+<a name="L1542"></a><tt class="py-lineno">1542</tt>  <tt class="py-line">        <tt class="py-name">topology_output</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-409" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-409', 'topology', 'link-62');">topology</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1543"></a><tt class="py-lineno">1543</tt>  <tt class="py-line">        <tt class="py-name">linkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-410" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkStatus
+TestON.drivers.common.cli.onosdriver.OnosDriver.checkStatus" class="py-name" href="#" onclick="return doclink('link-410', 'checkStatus', 'link-298');">checkStatus</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1544"></a><tt class="py-lineno">1544</tt>  <tt class="py-line">            <tt class="py-name">topology_output</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L1545"></a><tt class="py-lineno">1545</tt>  <tt class="py-line">                <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNlinks</tt> <tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">8</tt> <tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1546"></a><tt class="py-lineno">1546</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1547"></a><tt class="py-lineno">1547</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1548"></a><tt class="py-lineno">1548</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">linkDown</tt><tt class="py-op">,</tt> </tt>
+<a name="L1549"></a><tt class="py-lineno">1549</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link Down discovered properly"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1550"></a><tt class="py-lineno">1550</tt>  <tt class="py-line">            <tt id="link-411" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-411', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Link down was not discovered in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1551"></a><tt class="py-lineno">1551</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1552"></a><tt class="py-lineno">1552</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1553"></a><tt class="py-lineno">1553</tt>  <tt class="py-line"> </tt>
+<a name="L1554"></a><tt class="py-lineno">1554</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-412" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-412', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1555"></a><tt class="py-lineno">1555</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1556"></a><tt class="py-lineno">1556</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1557"></a><tt class="py-lineno">1557</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-413" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-413', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">,</tt><tt class="py-name">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1558"></a><tt class="py-lineno">1558</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1559"></a><tt class="py-lineno">1559</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1560"></a><tt class="py-lineno">1560</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-414" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-414', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1561"></a><tt class="py-lineno">1561</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1562"></a><tt class="py-lineno">1562</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1563"></a><tt class="py-lineno">1563</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1564"></a><tt class="py-lineno">1564</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResultLinkDown</tt><tt class="py-op">,</tt> </tt>
+<a name="L1565"></a><tt class="py-lineno">1565</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1566"></a><tt class="py-lineno">1566</tt>  <tt class="py-line">                                 <tt id="link-415" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-415', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1567"></a><tt class="py-lineno">1567</tt>  <tt class="py-line"> </tt>
+<a name="L1568"></a><tt class="py-lineno">1568</tt>  <tt class="py-line">        <tt class="py-name">caseResult74</tt> <tt class="py-op">=</tt> <tt class="py-name">linkDown</tt> <tt class="py-keyword">and</tt> <tt class="py-name">pingResultLinkDown</tt> </tt>
+<a name="L1569"></a><tt class="py-lineno">1569</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">caseResult74</tt><tt class="py-op">,</tt> </tt>
+<a name="L1570"></a><tt class="py-lineno">1570</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Random Link cut Test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1571"></a><tt class="py-lineno">1571</tt>  <tt class="py-line">                                 <tt id="link-416" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-416', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Random Link cut Test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1572"></a><tt class="py-lineno">1572</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE84"></a><div id="CHOtest.CASE84-def"><a name="L1573"></a><tt class="py-lineno">1573</tt> <a class="py-toggle" href="#" id="CHOtest.CASE84-toggle" onclick="return toggle('CHOtest.CASE84');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE84">CASE84</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE84-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE84-expanded"><a name="L1574"></a><tt class="py-lineno">1574</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1575"></a><tt class="py-lineno">1575</tt>  <tt class="py-line"><tt class="py-docstring">        Bring the core links up that are down and verify ping all ( Host Intents-Spine Topo )</tt> </tt>
+<a name="L1576"></a><tt class="py-lineno">1576</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1577"></a><tt class="py-lineno">1577</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
+<a name="L1578"></a><tt class="py-lineno">1578</tt>  <tt class="py-line">        <tt class="py-name">link1End1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SPINECORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS9'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1579"></a><tt class="py-lineno">1579</tt>  <tt class="py-line">        <tt class="py-name">link2End1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SPINECORELINKS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'linkS10'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1580"></a><tt class="py-lineno">1580</tt>  <tt class="py-line">        <tt class="py-name">link_sleep</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1581"></a><tt class="py-lineno">1581</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-417" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-417', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1582"></a><tt class="py-lineno">1582</tt>  <tt class="py-line">            <tt class="py-string">"Bring the core links up that are down and verify ping all (Host Intents-Spine Topo"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1583"></a><tt class="py-lineno">1583</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-418" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-418', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1584"></a><tt class="py-lineno">1584</tt>  <tt class="py-line">            <tt class="py-string">"__________________________________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1585"></a><tt class="py-lineno">1585</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-419" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-419', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1586"></a><tt class="py-lineno">1586</tt>  <tt class="py-line">            <tt class="py-string">"Host intents - Bring the core links up that are down and verify ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1587"></a><tt class="py-lineno">1587</tt>  <tt class="py-line"> </tt>
+<a name="L1588"></a><tt class="py-lineno">1588</tt>  <tt class="py-line">        <tt class="py-comment"># Work around for link state propagation delay. Added some sleep time.</tt> </tt>
+<a name="L1589"></a><tt class="py-lineno">1589</tt>  <tt class="py-line">        <tt class="py-comment"># main.Mininet1.link( END1=link1End1, END2=main.randomLink1, OPTION="up" )</tt> </tt>
+<a name="L1590"></a><tt class="py-lineno">1590</tt>  <tt class="py-line">        <tt class="py-comment"># main.Mininet1.link( END1=link2End1, END2=main.randomLink2, OPTION="up" )</tt> </tt>
+<a name="L1591"></a><tt class="py-lineno">1591</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-420" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-420', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">link1End1</tt><tt class="py-op">,</tt> <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink3</tt><tt class="py-op">,</tt> <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1592"></a><tt class="py-lineno">1592</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1593"></a><tt class="py-lineno">1593</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-421" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-421', 'link', 'link-294');">link</a></tt><tt class="py-op">(</tt> <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-name">link2End1</tt><tt class="py-op">,</tt> <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">randomLink4</tt><tt class="py-op">,</tt> <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1594"></a><tt class="py-lineno">1594</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1595"></a><tt class="py-lineno">1595</tt>  <tt class="py-line"> </tt>
+<a name="L1596"></a><tt class="py-lineno">1596</tt>  <tt class="py-line">        <tt class="py-name">topology_output</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-422" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-422', 'topology', 'link-62');">topology</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1597"></a><tt class="py-lineno">1597</tt>  <tt class="py-line">        <tt class="py-name">linkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-423" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkStatus
+TestON.drivers.common.cli.onosdriver.OnosDriver.checkStatus" class="py-name" href="#" onclick="return doclink('link-423', 'checkStatus', 'link-298');">checkStatus</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1598"></a><tt class="py-lineno">1598</tt>  <tt class="py-line">            <tt class="py-name">topology_output</tt><tt class="py-op">,</tt> </tt>
+<a name="L1599"></a><tt class="py-lineno">1599</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNswitches</tt><tt class="py-op">,</tt> </tt>
+<a name="L1600"></a><tt class="py-lineno">1600</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numMNlinks</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1601"></a><tt class="py-lineno">1601</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1602"></a><tt class="py-lineno">1602</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1603"></a><tt class="py-lineno">1603</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">linkUp</tt><tt class="py-op">,</tt> </tt>
+<a name="L1604"></a><tt class="py-lineno">1604</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link up discovered properly"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1605"></a><tt class="py-lineno">1605</tt>  <tt class="py-line">            <tt id="link-424" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-424', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Link up was not discovered in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1606"></a><tt class="py-lineno">1606</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">link_sleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1607"></a><tt class="py-lineno">1607</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1608"></a><tt class="py-lineno">1608</tt>  <tt class="py-line"> </tt>
+<a name="L1609"></a><tt class="py-lineno">1609</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-425" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-425', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1610"></a><tt class="py-lineno">1610</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1611"></a><tt class="py-lineno">1611</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1612"></a><tt class="py-lineno">1612</tt>  <tt class="py-line">        <tt class="py-name">pingResultLinkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-426" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-426', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">,</tt><tt class="py-name">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1613"></a><tt class="py-lineno">1613</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1614"></a><tt class="py-lineno">1614</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1615"></a><tt class="py-lineno">1615</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-427" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-427', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1616"></a><tt class="py-lineno">1616</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1617"></a><tt class="py-lineno">1617</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1618"></a><tt class="py-lineno">1618</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1619"></a><tt class="py-lineno">1619</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResultLinkUp</tt><tt class="py-op">,</tt> </tt>
+<a name="L1620"></a><tt class="py-lineno">1620</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1621"></a><tt class="py-lineno">1621</tt>  <tt class="py-line">                                 <tt id="link-428" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-428', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1622"></a><tt class="py-lineno">1622</tt>  <tt class="py-line"> </tt>
+<a name="L1623"></a><tt class="py-lineno">1623</tt>  <tt class="py-line">        <tt class="py-name">caseResult84</tt> <tt class="py-op">=</tt> <tt class="py-name">linkUp</tt> <tt class="py-keyword">and</tt> <tt class="py-name">pingResultLinkUp</tt> </tt>
+<a name="L1624"></a><tt class="py-lineno">1624</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">caseResult84</tt><tt class="py-op">,</tt> </tt>
+<a name="L1625"></a><tt class="py-lineno">1625</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link Up Test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1626"></a><tt class="py-lineno">1626</tt>  <tt class="py-line">                                 <tt id="link-429" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-429', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Link Up Test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1627"></a><tt class="py-lineno">1627</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE90"></a><div id="CHOtest.CASE90-def"><a name="L1628"></a><tt class="py-lineno">1628</tt> <a class="py-toggle" href="#" id="CHOtest.CASE90-toggle" onclick="return toggle('CHOtest.CASE90');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE90">CASE90</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE90-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE90-expanded"><a name="L1629"></a><tt class="py-lineno">1629</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1630"></a><tt class="py-lineno">1630</tt>  <tt class="py-line"><tt class="py-docstring">        Install 600 point intents and verify ping all (Att Topology)</tt> </tt>
+<a name="L1631"></a><tt class="py-lineno">1631</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1632"></a><tt class="py-lineno">1632</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-430" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-430', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Add 600 point intents and verify pingall (Att Topology)"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1633"></a><tt class="py-lineno">1633</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-431" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-431', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"_______________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1634"></a><tt class="py-lineno">1634</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">itertools</tt> </tt>
+<a name="L1635"></a><tt class="py-lineno">1635</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1636"></a><tt class="py-lineno">1636</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-432" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-432', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install 600 point intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1637"></a><tt class="py-lineno">1637</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-433" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-433', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add point Intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1638"></a><tt class="py-lineno">1638</tt>  <tt class="py-line">        <tt class="py-name">intentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1639"></a><tt class="py-lineno">1639</tt>  <tt class="py-line">        <tt class="py-name">deviceCombos</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt> <tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">permutations</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceDPIDs</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1640"></a><tt class="py-lineno">1640</tt>  <tt class="py-line"> </tt>
+<a name="L1641"></a><tt class="py-lineno">1641</tt>  <tt class="py-line">        <tt class="py-name">intentIdList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1642"></a><tt class="py-lineno">1642</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1643"></a><tt class="py-lineno">1643</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">deviceCombos</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1644"></a><tt class="py-lineno">1644</tt>  <tt class="py-line">            <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1645"></a><tt class="py-lineno">1645</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-434" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-434', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L1646"></a><tt class="py-lineno">1646</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">deviceCombos</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1647"></a><tt class="py-lineno">1647</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L1648"></a><tt class="py-lineno">1648</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-435" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-435', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-436" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-436', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-437" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addPointIntent()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addPointIntent,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addPointIntent()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addPointIntent"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addPointIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addPointIntent" class="py-name" href="#" onclick="return doclink('link-437', 'addPointIntent', 'link-437');">addPointIntent</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1649"></a><tt class="py-lineno">1649</tt>  <tt class="py-line">                        <tt class="py-name">threadID</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L1650"></a><tt class="py-lineno">1650</tt>  <tt class="py-line">                        <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"addPointIntent"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1651"></a><tt class="py-lineno">1651</tt>  <tt class="py-line">                        <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">deviceCombos</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">deviceCombos</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">MACsDict</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">deviceCombos</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">MACsDict</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">deviceCombos</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1652"></a><tt class="py-lineno">1652</tt>  <tt class="py-line">                <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L1653"></a><tt class="py-lineno">1653</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1654"></a><tt class="py-lineno">1654</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1655"></a><tt class="py-lineno">1655</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1656"></a><tt class="py-lineno">1656</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L1657"></a><tt class="py-lineno">1657</tt>  <tt class="py-line">                <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1658"></a><tt class="py-lineno">1658</tt>  <tt class="py-line">                <tt class="py-name">intentIdList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L1659"></a><tt class="py-lineno">1659</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1660"></a><tt class="py-lineno">1660</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-438" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-438', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for adding point intents: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1661"></a><tt class="py-lineno">1661</tt>  <tt class="py-line">        <tt class="py-name">intentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1662"></a><tt class="py-lineno">1662</tt>  <tt class="py-line">        <tt class="py-name">intentsJson</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-439" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-439', 'intents', 'link-248');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1663"></a><tt class="py-lineno">1663</tt>  <tt class="py-line">        <tt class="py-name">getIntentStateResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-440" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getIntentState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getIntentState" class="py-name" href="#" onclick="return doclink('link-440', 'getIntentState', 'link-249');">getIntentState</a></tt><tt class="py-op">(</tt><tt class="py-name">intentsId</tt> <tt class="py-op">=</tt> <tt class="py-name">intentIdList</tt><tt class="py-op">,</tt> </tt>
+<a name="L1664"></a><tt class="py-lineno">1664</tt>  <tt class="py-line">                <tt class="py-name">intentsJson</tt> <tt class="py-op">=</tt> <tt class="py-name">intentsJson</tt><tt class="py-op">)</tt> </tt>
+<a name="L1665"></a><tt class="py-lineno">1665</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">getIntentStateResult</tt> </tt>
+<a name="L1666"></a><tt class="py-lineno">1666</tt>  <tt class="py-line">        <tt class="py-comment"># Takes awhile for all the onos to get the intents</tt> </tt>
+<a name="L1667"></a><tt class="py-lineno">1667</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">60</tt><tt class="py-op">)</tt> </tt>
+<a name="L1668"></a><tt class="py-lineno">1668</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-441" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-441', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1669"></a><tt class="py-lineno">1669</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1670"></a><tt class="py-lineno">1670</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1671"></a><tt class="py-lineno">1671</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-442" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-442', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">,</tt><tt class="py-name">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1672"></a><tt class="py-lineno">1672</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1673"></a><tt class="py-lineno">1673</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1674"></a><tt class="py-lineno">1674</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-443" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-443', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1675"></a><tt class="py-lineno">1675</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1676"></a><tt class="py-lineno">1676</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1677"></a><tt class="py-lineno">1677</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1678"></a><tt class="py-lineno">1678</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1679"></a><tt class="py-lineno">1679</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"PING tALL PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1680"></a><tt class="py-lineno">1680</tt>  <tt class="py-line">                                 <tt id="link-444" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-444', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1681"></a><tt class="py-lineno">1681</tt>  <tt class="py-line"> </tt>
+<a name="L1682"></a><tt class="py-lineno">1682</tt>  <tt class="py-line">        <tt class="py-name">case90Result</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">intentResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">pingResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1683"></a><tt class="py-lineno">1683</tt>  <tt class="py-line"> </tt>
+<a name="L1684"></a><tt class="py-lineno">1684</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1685"></a><tt class="py-lineno">1685</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1686"></a><tt class="py-lineno">1686</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case90Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L1687"></a><tt class="py-lineno">1687</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Install 600 point Intents and Ping All test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1688"></a><tt class="py-lineno">1688</tt>  <tt class="py-line">            <tt id="link-445" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-445', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Install 600 point Intents and Ping All test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1689"></a><tt class="py-lineno">1689</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE91"></a><div id="CHOtest.CASE91-def"><a name="L1690"></a><tt class="py-lineno">1690</tt> <a class="py-toggle" href="#" id="CHOtest.CASE91-toggle" onclick="return toggle('CHOtest.CASE91');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE91">CASE91</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE91-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE91-expanded"><a name="L1691"></a><tt class="py-lineno">1691</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1692"></a><tt class="py-lineno">1692</tt>  <tt class="py-line"><tt class="py-docstring">        Install 600 point intents and verify ping all (Chordal Topology)</tt> </tt>
+<a name="L1693"></a><tt class="py-lineno">1693</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1694"></a><tt class="py-lineno">1694</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-446" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-446', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Add 600 point intents and verify pingall (Chordal Topology)"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1695"></a><tt class="py-lineno">1695</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-447" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-447', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"_______________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1696"></a><tt class="py-lineno">1696</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">itertools</tt> </tt>
+<a name="L1697"></a><tt class="py-lineno">1697</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1698"></a><tt class="py-lineno">1698</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-448" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-448', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install 600 point intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1699"></a><tt class="py-lineno">1699</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-449" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-449', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add point Intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1700"></a><tt class="py-lineno">1700</tt>  <tt class="py-line">        <tt class="py-name">intentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1701"></a><tt class="py-lineno">1701</tt>  <tt class="py-line">        <tt class="py-name">deviceCombos</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt> <tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">permutations</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceDPIDs</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1702"></a><tt class="py-lineno">1702</tt>  <tt class="py-line"> </tt>
+<a name="L1703"></a><tt class="py-lineno">1703</tt>  <tt class="py-line">        <tt class="py-name">intentIdList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1704"></a><tt class="py-lineno">1704</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1705"></a><tt class="py-lineno">1705</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">deviceCombos</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1706"></a><tt class="py-lineno">1706</tt>  <tt class="py-line">            <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1707"></a><tt class="py-lineno">1707</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-450" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-450', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L1708"></a><tt class="py-lineno">1708</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">deviceCombos</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1709"></a><tt class="py-lineno">1709</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L1710"></a><tt class="py-lineno">1710</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-451" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-451', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-452" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-452', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-453" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addPointIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addPointIntent" class="py-name" href="#" onclick="return doclink('link-453', 'addPointIntent', 'link-437');">addPointIntent</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1711"></a><tt class="py-lineno">1711</tt>  <tt class="py-line">                        <tt class="py-name">threadID</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L1712"></a><tt class="py-lineno">1712</tt>  <tt class="py-line">                        <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"addPointIntent"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1713"></a><tt class="py-lineno">1713</tt>  <tt class="py-line">                        <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">deviceCombos</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">deviceCombos</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">MACsDict</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">deviceCombos</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1714"></a><tt class="py-lineno">1714</tt>  <tt class="py-line">                <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L1715"></a><tt class="py-lineno">1715</tt>  <tt class="py-line">                <tt class="py-comment">#time.sleep(1)</tt> </tt>
+<a name="L1716"></a><tt class="py-lineno">1716</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1717"></a><tt class="py-lineno">1717</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1718"></a><tt class="py-lineno">1718</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1719"></a><tt class="py-lineno">1719</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L1720"></a><tt class="py-lineno">1720</tt>  <tt class="py-line">                <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1721"></a><tt class="py-lineno">1721</tt>  <tt class="py-line">                <tt class="py-name">intentIdList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L1722"></a><tt class="py-lineno">1722</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1723"></a><tt class="py-lineno">1723</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-454" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-454', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Time for adding point intents: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1724"></a><tt class="py-lineno">1724</tt>  <tt class="py-line">        <tt class="py-name">intentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1725"></a><tt class="py-lineno">1725</tt>  <tt class="py-line">        <tt class="py-name">intentsJson</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-455" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-455', 'intents', 'link-248');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1726"></a><tt class="py-lineno">1726</tt>  <tt class="py-line">        <tt class="py-name">getIntentStateResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-456" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getIntentState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getIntentState" class="py-name" href="#" onclick="return doclink('link-456', 'getIntentState', 'link-249');">getIntentState</a></tt><tt class="py-op">(</tt><tt class="py-name">intentsId</tt> <tt class="py-op">=</tt> <tt class="py-name">intentIdList</tt><tt class="py-op">,</tt> </tt>
+<a name="L1727"></a><tt class="py-lineno">1727</tt>  <tt class="py-line">                <tt class="py-name">intentsJson</tt> <tt class="py-op">=</tt> <tt class="py-name">intentsJson</tt><tt class="py-op">)</tt> </tt>
+<a name="L1728"></a><tt class="py-lineno">1728</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">getIntentStateResult</tt> </tt>
+<a name="L1729"></a><tt class="py-lineno">1729</tt>  <tt class="py-line">        <tt class="py-comment"># Takes awhile for all the onos to get the intents</tt> </tt>
+<a name="L1730"></a><tt class="py-lineno">1730</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">30</tt><tt class="py-op">)</tt> </tt>
+<a name="L1731"></a><tt class="py-lineno">1731</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-457" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-457', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1732"></a><tt class="py-lineno">1732</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1733"></a><tt class="py-lineno">1733</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1734"></a><tt class="py-lineno">1734</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-458" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-458', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">,</tt><tt class="py-name">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1735"></a><tt class="py-lineno">1735</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1736"></a><tt class="py-lineno">1736</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1737"></a><tt class="py-lineno">1737</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-459" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-459', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1738"></a><tt class="py-lineno">1738</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1739"></a><tt class="py-lineno">1739</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1740"></a><tt class="py-lineno">1740</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1741"></a><tt class="py-lineno">1741</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1742"></a><tt class="py-lineno">1742</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1743"></a><tt class="py-lineno">1743</tt>  <tt class="py-line">                                 <tt id="link-460" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-460', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1744"></a><tt class="py-lineno">1744</tt>  <tt class="py-line"> </tt>
+<a name="L1745"></a><tt class="py-lineno">1745</tt>  <tt class="py-line">        <tt class="py-name">case91Result</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">intentResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">pingResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1746"></a><tt class="py-lineno">1746</tt>  <tt class="py-line"> </tt>
+<a name="L1747"></a><tt class="py-lineno">1747</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1748"></a><tt class="py-lineno">1748</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1749"></a><tt class="py-lineno">1749</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case91Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L1750"></a><tt class="py-lineno">1750</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Install 600 point Intents and Ping All test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1751"></a><tt class="py-lineno">1751</tt>  <tt class="py-line">            <tt id="link-461" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-461', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Install 600 point Intents and Ping All test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1752"></a><tt class="py-lineno">1752</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE92"></a><div id="CHOtest.CASE92-def"><a name="L1753"></a><tt class="py-lineno">1753</tt> <a class="py-toggle" href="#" id="CHOtest.CASE92-toggle" onclick="return toggle('CHOtest.CASE92');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE92">CASE92</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE92-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE92-expanded"><a name="L1754"></a><tt class="py-lineno">1754</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1755"></a><tt class="py-lineno">1755</tt>  <tt class="py-line"><tt class="py-docstring">        Install 4556 point intents and verify ping all (Spine Topology)</tt> </tt>
+<a name="L1756"></a><tt class="py-lineno">1756</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1757"></a><tt class="py-lineno">1757</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-462" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-462', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Add 4556 point intents and verify pingall (Spine Topology)"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1758"></a><tt class="py-lineno">1758</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-463" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-463', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"_______________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1759"></a><tt class="py-lineno">1759</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">itertools</tt> </tt>
+<a name="L1760"></a><tt class="py-lineno">1760</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1761"></a><tt class="py-lineno">1761</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-464" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-464', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install 4556 point intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1762"></a><tt class="py-lineno">1762</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-465" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-465', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add point Intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1763"></a><tt class="py-lineno">1763</tt>  <tt class="py-line">        <tt class="py-name">intentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1764"></a><tt class="py-lineno">1764</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt> <tt class="py-op">=</tt> <tt class="py-number">600</tt> </tt>
+<a name="L1765"></a><tt class="py-lineno">1765</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostMACs</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1766"></a><tt class="py-lineno">1766</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">MACsDict</tt><tt class="py-op">[</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceDPIDs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostMACs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L1767"></a><tt class="py-lineno">1767</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">MACsDict</tt> </tt>
+<a name="L1768"></a><tt class="py-lineno">1768</tt>  <tt class="py-line">        <tt class="py-name">deviceCombos</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt> <tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">permutations</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceDPIDs</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1769"></a><tt class="py-lineno">1769</tt>  <tt class="py-line">        <tt class="py-name">intentIdList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1770"></a><tt class="py-lineno">1770</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1771"></a><tt class="py-lineno">1771</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">deviceCombos</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1772"></a><tt class="py-lineno">1772</tt>  <tt class="py-line">            <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1773"></a><tt class="py-lineno">1773</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-466" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-466', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L1774"></a><tt class="py-lineno">1774</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">deviceCombos</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1775"></a><tt class="py-lineno">1775</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L1776"></a><tt class="py-lineno">1776</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-467" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-467', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-468" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-468', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-469" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addPointIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addPointIntent" class="py-name" href="#" onclick="return doclink('link-469', 'addPointIntent', 'link-437');">addPointIntent</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1777"></a><tt class="py-lineno">1777</tt>  <tt class="py-line">                        <tt class="py-name">threadID</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L1778"></a><tt class="py-lineno">1778</tt>  <tt class="py-line">                        <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"addPointIntent"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1779"></a><tt class="py-lineno">1779</tt>  <tt class="py-line">                        <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">deviceCombos</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">deviceCombos</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">,</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">MACsDict</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">deviceCombos</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1780"></a><tt class="py-lineno">1780</tt>  <tt class="py-line">                <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L1781"></a><tt class="py-lineno">1781</tt>  <tt class="py-line">                <tt class="py-comment">#time.sleep(1)</tt> </tt>
+<a name="L1782"></a><tt class="py-lineno">1782</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1783"></a><tt class="py-lineno">1783</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1784"></a><tt class="py-lineno">1784</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1785"></a><tt class="py-lineno">1785</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L1786"></a><tt class="py-lineno">1786</tt>  <tt class="py-line">                <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1787"></a><tt class="py-lineno">1787</tt>  <tt class="py-line">                <tt class="py-name">intentIdList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L1788"></a><tt class="py-lineno">1788</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1789"></a><tt class="py-lineno">1789</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-470" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-470', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for adding point intents: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1790"></a><tt class="py-lineno">1790</tt>  <tt class="py-line">        <tt class="py-name">intentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1791"></a><tt class="py-lineno">1791</tt>  <tt class="py-line">        <tt class="py-name">intentsJson</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-471" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-471', 'intents', 'link-248');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1792"></a><tt class="py-lineno">1792</tt>  <tt class="py-line">        <tt class="py-name">getIntentStateResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-472" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getIntentState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getIntentState" class="py-name" href="#" onclick="return doclink('link-472', 'getIntentState', 'link-249');">getIntentState</a></tt><tt class="py-op">(</tt><tt class="py-name">intentsId</tt> <tt class="py-op">=</tt> <tt class="py-name">intentIdList</tt><tt class="py-op">,</tt> </tt>
+<a name="L1793"></a><tt class="py-lineno">1793</tt>  <tt class="py-line">                <tt class="py-name">intentsJson</tt> <tt class="py-op">=</tt> <tt class="py-name">intentsJson</tt><tt class="py-op">)</tt> </tt>
+<a name="L1794"></a><tt class="py-lineno">1794</tt>  <tt class="py-line">        <tt class="py-comment">#print getIntentStateResult</tt> </tt>
+<a name="L1795"></a><tt class="py-lineno">1795</tt>  <tt class="py-line">        <tt class="py-comment"># Takes awhile for all the onos to get the intents</tt> </tt>
+<a name="L1796"></a><tt class="py-lineno">1796</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">60</tt><tt class="py-op">)</tt> </tt>
+<a name="L1797"></a><tt class="py-lineno">1797</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-473" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-473', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1798"></a><tt class="py-lineno">1798</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1799"></a><tt class="py-lineno">1799</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1800"></a><tt class="py-lineno">1800</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-474" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-474', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">,</tt><tt class="py-name">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1801"></a><tt class="py-lineno">1801</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1802"></a><tt class="py-lineno">1802</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1803"></a><tt class="py-lineno">1803</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-475" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-475', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1804"></a><tt class="py-lineno">1804</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1805"></a><tt class="py-lineno">1805</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1806"></a><tt class="py-lineno">1806</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1807"></a><tt class="py-lineno">1807</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1808"></a><tt class="py-lineno">1808</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1809"></a><tt class="py-lineno">1809</tt>  <tt class="py-line">                                 <tt id="link-476" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-476', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"PING ALL FAIL"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1810"></a><tt class="py-lineno">1810</tt>  <tt class="py-line"> </tt>
+<a name="L1811"></a><tt class="py-lineno">1811</tt>  <tt class="py-line">        <tt class="py-name">case92Result</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">intentResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">pingResult</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1812"></a><tt class="py-lineno">1812</tt>  <tt class="py-line"> </tt>
+<a name="L1813"></a><tt class="py-lineno">1813</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1814"></a><tt class="py-lineno">1814</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1815"></a><tt class="py-lineno">1815</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case92Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L1816"></a><tt class="py-lineno">1816</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Install 4556 point Intents and Ping All test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1817"></a><tt class="py-lineno">1817</tt>  <tt class="py-line">            <tt id="link-477" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-477', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Install 4556 point Intents and Ping All test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1818"></a><tt class="py-lineno">1818</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE93"></a><div id="CHOtest.CASE93-def"><a name="L1819"></a><tt class="py-lineno">1819</tt> <a class="py-toggle" href="#" id="CHOtest.CASE93-toggle" onclick="return toggle('CHOtest.CASE93');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE93">CASE93</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE93-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE93-expanded"><a name="L1820"></a><tt class="py-lineno">1820</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1821"></a><tt class="py-lineno">1821</tt>  <tt class="py-line"><tt class="py-docstring">        Install multi-single point intents and verify Ping all works</tt> </tt>
+<a name="L1822"></a><tt class="py-lineno">1822</tt>  <tt class="py-line"><tt class="py-docstring">        for att topology</tt> </tt>
+<a name="L1823"></a><tt class="py-lineno">1823</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1824"></a><tt class="py-lineno">1824</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
+<a name="L1825"></a><tt class="py-lineno">1825</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1826"></a><tt class="py-lineno">1826</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-478" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-478', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Install multi-single point intents and verify Ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1827"></a><tt class="py-lineno">1827</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-479" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-479', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"___________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1828"></a><tt class="py-lineno">1828</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-480" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-480', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install multi-single point intents and Ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1829"></a><tt class="py-lineno">1829</tt>  <tt class="py-line">        <tt class="py-name">deviceDPIDsCopy</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceDPIDs</tt><tt class="py-op">)</tt> </tt>
+<a name="L1830"></a><tt class="py-lineno">1830</tt>  <tt class="py-line">        <tt class="py-name">portIngressList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'1'</tt><tt class="py-op">]</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L1831"></a><tt class="py-lineno">1831</tt>  <tt class="py-line">        <tt class="py-name">intentIdList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1832"></a><tt class="py-lineno">1832</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"MACsDict"</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">MACsDict</tt> </tt>
+<a name="L1833"></a><tt class="py-lineno">1833</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1834"></a><tt class="py-lineno">1834</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1835"></a><tt class="py-lineno">1835</tt>  <tt class="py-line">            <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1836"></a><tt class="py-lineno">1836</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-481" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-481', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L1837"></a><tt class="py-lineno">1837</tt>  <tt class="py-line">                <tt class="py-name">egressDevice</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L1838"></a><tt class="py-lineno">1838</tt>  <tt class="py-line">                <tt class="py-name">ingressDeviceList</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">)</tt> </tt>
+<a name="L1839"></a><tt class="py-lineno">1839</tt>  <tt class="py-line">                <tt class="py-name">ingressDeviceList</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">egressDevice</tt><tt class="py-op">)</tt> </tt>
+<a name="L1840"></a><tt class="py-lineno">1840</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">deviceDPIDsCopy</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1841"></a><tt class="py-lineno">1841</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L1842"></a><tt class="py-lineno">1842</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-482" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-482', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-483" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-483', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-484" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addMultipointToSinglepointIntent()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addMultipointToSinglepointIntent"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addMultipointToSinglepointIntent" class="py-name" href="#" onclick="return doclink('link-484', 'addMultipointToSinglepointIntent', 'link-484');">addMultipointToSinglepointIntent</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1843"></a><tt class="py-lineno">1843</tt>  <tt class="py-line">                        <tt class="py-name">threadID</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L1844"></a><tt class="py-lineno">1844</tt>  <tt class="py-line">                        <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"addMultipointToSinglepointIntent"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1845"></a><tt class="py-lineno">1845</tt>  <tt class="py-line">                        <tt class="py-name">args</tt> <tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">ingressDeviceList</tt><tt class="py-op">,</tt><tt class="py-name">egressDevice</tt><tt class="py-op">,</tt><tt class="py-name">portIngressList</tt><tt class="py-op">,</tt><tt class="py-string">'1'</tt><tt class="py-op">,</tt><tt class="py-string">'IPV4'</tt><tt class="py-op">,</tt><tt class="py-string">''</tt><tt class="py-op">,</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">MACsDict</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">egressDevice</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1846"></a><tt class="py-lineno">1846</tt>  <tt class="py-line">                <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L1847"></a><tt class="py-lineno">1847</tt>  <tt class="py-line">                <tt class="py-comment">#time.sleep(1)</tt> </tt>
+<a name="L1848"></a><tt class="py-lineno">1848</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1849"></a><tt class="py-lineno">1849</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1850"></a><tt class="py-lineno">1850</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1851"></a><tt class="py-lineno">1851</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L1852"></a><tt class="py-lineno">1852</tt>  <tt class="py-line">                <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1853"></a><tt class="py-lineno">1853</tt>  <tt class="py-line">                <tt class="py-name">intentIdList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L1854"></a><tt class="py-lineno">1854</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1855"></a><tt class="py-lineno">1855</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-485" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-485', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for adding point intents: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1856"></a><tt class="py-lineno">1856</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">30</tt><tt class="py-op">)</tt> </tt>
+<a name="L1857"></a><tt class="py-lineno">1857</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"getting all intents ID"</tt> </tt>
+<a name="L1858"></a><tt class="py-lineno">1858</tt>  <tt class="py-line">        <tt class="py-name">intentIdTemp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-486" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllIntentsId"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId" class="py-name" href="#" onclick="return doclink('link-486', 'getAllIntentsId', 'link-486');">getAllIntentsId</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1859"></a><tt class="py-lineno">1859</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">intentIdTemp</tt> </tt>
+<a name="L1860"></a><tt class="py-lineno">1860</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">intentIdList</tt><tt class="py-op">)</tt> </tt>
+<a name="L1861"></a><tt class="py-lineno">1861</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">intentIdList</tt> </tt>
+<a name="L1862"></a><tt class="py-lineno">1862</tt>  <tt class="py-line">        <tt class="py-name">checkIntentStateResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1863"></a><tt class="py-lineno">1863</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Checking intents state"</tt> </tt>
+<a name="L1864"></a><tt class="py-lineno">1864</tt>  <tt class="py-line">        <tt class="py-name">checkIntentStateResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-487" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.checkIntentState()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#checkIntentState,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkIntentState()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkIntentState"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.checkIntentState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkIntentState" class="py-name" href="#" onclick="return doclink('link-487', 'checkIntentState', 'link-487');">checkIntentState</a></tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt> <tt class="py-op">=</tt> <tt class="py-name">intentIdList</tt> <tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">checkIntentStateResult</tt> </tt>
+<a name="L1865"></a><tt class="py-lineno">1865</tt>  <tt class="py-line">        <tt class="py-name">checkIntentStateResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli2</tt><tt class="py-op">.</tt><tt id="link-488" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.checkIntentState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkIntentState" class="py-name" href="#" onclick="return doclink('link-488', 'checkIntentState', 'link-487');">checkIntentState</a></tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt> <tt class="py-op">=</tt> <tt class="py-name">intentIdList</tt> <tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">checkIntentStateResult</tt> </tt>
+<a name="L1866"></a><tt class="py-lineno">1866</tt>  <tt class="py-line">        <tt class="py-name">checkIntentStateResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli3</tt><tt class="py-op">.</tt><tt id="link-489" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.checkIntentState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkIntentState" class="py-name" href="#" onclick="return doclink('link-489', 'checkIntentState', 'link-487');">checkIntentState</a></tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt> <tt class="py-op">=</tt> <tt class="py-name">intentIdList</tt> <tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">checkIntentStateResult</tt> </tt>
+<a name="L1867"></a><tt class="py-lineno">1867</tt>  <tt class="py-line">        <tt class="py-name">checkIntentStateResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli4</tt><tt class="py-op">.</tt><tt id="link-490" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.checkIntentState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkIntentState" class="py-name" href="#" onclick="return doclink('link-490', 'checkIntentState', 'link-487');">checkIntentState</a></tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt> <tt class="py-op">=</tt> <tt class="py-name">intentIdList</tt> <tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">checkIntentStateResult</tt> </tt>
+<a name="L1868"></a><tt class="py-lineno">1868</tt>  <tt class="py-line">        <tt class="py-name">checkIntentStateResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli5</tt><tt class="py-op">.</tt><tt id="link-491" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.checkIntentState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkIntentState" class="py-name" href="#" onclick="return doclink('link-491', 'checkIntentState', 'link-487');">checkIntentState</a></tt><tt class="py-op">(</tt> <tt class="py-name">intentsId</tt> <tt class="py-op">=</tt> <tt class="py-name">intentIdList</tt> <tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">checkIntentStateResult</tt> </tt>
+<a name="L1869"></a><tt class="py-lineno">1869</tt>  <tt class="py-line"> </tt>
+<a name="L1870"></a><tt class="py-lineno">1870</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">checkIntentStateResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L1871"></a><tt class="py-lineno">1871</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-492" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-492', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"All intents are installed correctly "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1872"></a><tt class="py-lineno">1872</tt>  <tt class="py-line"> </tt>
+<a name="L1873"></a><tt class="py-lineno">1873</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Checking flows state "</tt> </tt>
+<a name="L1874"></a><tt class="py-lineno">1874</tt>  <tt class="py-line">        <tt id="link-493" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.checkFlowsState()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#checkFlowsState,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkFlowsState()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkFlowsState"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.checkFlowsState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkFlowsState" class="py-name" href="#" onclick="return doclink('link-493', 'checkFlowsState', 'link-493');">checkFlowsState</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-494" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.checkFlowsState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkFlowsState" class="py-name" href="#" onclick="return doclink('link-494', 'checkFlowsState', 'link-493');">checkFlowsState</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1875"></a><tt class="py-lineno">1875</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">50</tt><tt class="py-op">)</tt> </tt>
+<a name="L1876"></a><tt class="py-lineno">1876</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-495" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-495', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1877"></a><tt class="py-lineno">1877</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1878"></a><tt class="py-lineno">1878</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1879"></a><tt class="py-lineno">1879</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-496" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-496', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">,</tt><tt class="py-name">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1880"></a><tt class="py-lineno">1880</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1881"></a><tt class="py-lineno">1881</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1882"></a><tt class="py-lineno">1882</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-497" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-497', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1883"></a><tt class="py-lineno">1883</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1884"></a><tt class="py-lineno">1884</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1885"></a><tt class="py-lineno">1885</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1886"></a><tt class="py-lineno">1886</tt>  <tt class="py-line">        <tt id="link-498" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.checkFlowsState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkFlowsState" class="py-name" href="#" onclick="return doclink('link-498', 'checkFlowsState', 'link-493');">checkFlowsState</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-499" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.checkFlowsState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkFlowsState" class="py-name" href="#" onclick="return doclink('link-499', 'checkFlowsState', 'link-493');">checkFlowsState</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1887"></a><tt class="py-lineno">1887</tt>  <tt class="py-line">        <tt class="py-name">case93Result</tt> <tt class="py-op">=</tt> <tt class="py-name">pingResult</tt> </tt>
+<a name="L1888"></a><tt class="py-lineno">1888</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1889"></a><tt class="py-lineno">1889</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1890"></a><tt class="py-lineno">1890</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case93Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L1891"></a><tt class="py-lineno">1891</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Install 25 multi to single point Intents and Ping All test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1892"></a><tt class="py-lineno">1892</tt>  <tt class="py-line">            <tt id="link-500" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-500', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Install 25 multi to single point Intents and Ping All test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1893"></a><tt class="py-lineno">1893</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE94"></a><div id="CHOtest.CASE94-def"><a name="L1894"></a><tt class="py-lineno">1894</tt> <a class="py-toggle" href="#" id="CHOtest.CASE94-toggle" onclick="return toggle('CHOtest.CASE94');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE94">CASE94</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE94-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE94-expanded"><a name="L1895"></a><tt class="py-lineno">1895</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1896"></a><tt class="py-lineno">1896</tt>  <tt class="py-line"><tt class="py-docstring">        Install multi-single point intents and verify Ping all works</tt> </tt>
+<a name="L1897"></a><tt class="py-lineno">1897</tt>  <tt class="py-line"><tt class="py-docstring">        for Chordal topology</tt> </tt>
+<a name="L1898"></a><tt class="py-lineno">1898</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1899"></a><tt class="py-lineno">1899</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
+<a name="L1900"></a><tt class="py-lineno">1900</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1901"></a><tt class="py-lineno">1901</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-501" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-501', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Install multi-single point intents and verify Ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1902"></a><tt class="py-lineno">1902</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-502" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-502', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"___________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1903"></a><tt class="py-lineno">1903</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-503" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-503', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install multi-single point intents and Ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1904"></a><tt class="py-lineno">1904</tt>  <tt class="py-line">        <tt class="py-name">deviceDPIDsCopy</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceDPIDs</tt><tt class="py-op">)</tt> </tt>
+<a name="L1905"></a><tt class="py-lineno">1905</tt>  <tt class="py-line">        <tt class="py-name">portIngressList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'1'</tt><tt class="py-op">]</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L1906"></a><tt class="py-lineno">1906</tt>  <tt class="py-line">        <tt class="py-name">intentIdList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1907"></a><tt class="py-lineno">1907</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"MACsDict"</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">MACsDict</tt> </tt>
+<a name="L1908"></a><tt class="py-lineno">1908</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1909"></a><tt class="py-lineno">1909</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1910"></a><tt class="py-lineno">1910</tt>  <tt class="py-line">            <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1911"></a><tt class="py-lineno">1911</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-504" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-504', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L1912"></a><tt class="py-lineno">1912</tt>  <tt class="py-line">                <tt class="py-name">egressDevice</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L1913"></a><tt class="py-lineno">1913</tt>  <tt class="py-line">                <tt class="py-name">ingressDeviceList</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">)</tt> </tt>
+<a name="L1914"></a><tt class="py-lineno">1914</tt>  <tt class="py-line">                <tt class="py-name">ingressDeviceList</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">egressDevice</tt><tt class="py-op">)</tt> </tt>
+<a name="L1915"></a><tt class="py-lineno">1915</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">deviceDPIDsCopy</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1916"></a><tt class="py-lineno">1916</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L1917"></a><tt class="py-lineno">1917</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-505" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-505', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-506" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-506', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-507" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addMultipointToSinglepointIntent" class="py-name" href="#" onclick="return doclink('link-507', 'addMultipointToSinglepointIntent', 'link-484');">addMultipointToSinglepointIntent</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1918"></a><tt class="py-lineno">1918</tt>  <tt class="py-line">                        <tt class="py-name">threadID</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L1919"></a><tt class="py-lineno">1919</tt>  <tt class="py-line">                        <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"addMultipointToSinglepointIntent"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1920"></a><tt class="py-lineno">1920</tt>  <tt class="py-line">                        <tt class="py-name">args</tt> <tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">ingressDeviceList</tt><tt class="py-op">,</tt><tt class="py-name">egressDevice</tt><tt class="py-op">,</tt><tt class="py-name">portIngressList</tt><tt class="py-op">,</tt><tt class="py-string">'1'</tt><tt class="py-op">,</tt><tt class="py-string">'IPV4'</tt><tt class="py-op">,</tt><tt class="py-string">''</tt><tt class="py-op">,</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">MACsDict</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">egressDevice</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1921"></a><tt class="py-lineno">1921</tt>  <tt class="py-line">                <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L1922"></a><tt class="py-lineno">1922</tt>  <tt class="py-line">                <tt class="py-comment">#time.sleep(1)</tt> </tt>
+<a name="L1923"></a><tt class="py-lineno">1923</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1924"></a><tt class="py-lineno">1924</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1925"></a><tt class="py-lineno">1925</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1926"></a><tt class="py-lineno">1926</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L1927"></a><tt class="py-lineno">1927</tt>  <tt class="py-line">                <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1928"></a><tt class="py-lineno">1928</tt>  <tt class="py-line">                <tt class="py-name">intentIdList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L1929"></a><tt class="py-lineno">1929</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1930"></a><tt class="py-lineno">1930</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-508" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-508', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for adding point intents: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1931"></a><tt class="py-lineno">1931</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1932"></a><tt class="py-lineno">1932</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-509" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-509', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1933"></a><tt class="py-lineno">1933</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1934"></a><tt class="py-lineno">1934</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1935"></a><tt class="py-lineno">1935</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-510" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-510', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">,</tt><tt class="py-name">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1936"></a><tt class="py-lineno">1936</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1937"></a><tt class="py-lineno">1937</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1938"></a><tt class="py-lineno">1938</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-511" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-511', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1939"></a><tt class="py-lineno">1939</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1940"></a><tt class="py-lineno">1940</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1941"></a><tt class="py-lineno">1941</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1942"></a><tt class="py-lineno">1942</tt>  <tt class="py-line"> </tt>
+<a name="L1943"></a><tt class="py-lineno">1943</tt>  <tt class="py-line">        <tt class="py-name">case94Result</tt> <tt class="py-op">=</tt> <tt class="py-name">pingResult</tt> </tt>
+<a name="L1944"></a><tt class="py-lineno">1944</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1945"></a><tt class="py-lineno">1945</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1946"></a><tt class="py-lineno">1946</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case94Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L1947"></a><tt class="py-lineno">1947</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Install 25 multi to single point Intents and Ping All test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1948"></a><tt class="py-lineno">1948</tt>  <tt class="py-line">            <tt id="link-512" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-512', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Install 25 multi to single point Intents and Ping All test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1949"></a><tt class="py-lineno">1949</tt>  <tt class="py-line"> </tt>
+<a name="L1950"></a><tt class="py-lineno">1950</tt>  <tt class="py-line">    <tt class="py-comment">#def CASE95 multi-single point intent for Spine</tt> </tt>
+<a name="L1951"></a><tt class="py-lineno">1951</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE96"></a><div id="CHOtest.CASE96-def"><a name="L1952"></a><tt class="py-lineno">1952</tt> <a class="py-toggle" href="#" id="CHOtest.CASE96-toggle" onclick="return toggle('CHOtest.CASE96');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE96">CASE96</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE96-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE96-expanded"><a name="L1953"></a><tt class="py-lineno">1953</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1954"></a><tt class="py-lineno">1954</tt>  <tt class="py-line"><tt class="py-docstring">        Install single-multi point intents and verify Ping all works</tt> </tt>
+<a name="L1955"></a><tt class="py-lineno">1955</tt>  <tt class="py-line"><tt class="py-docstring">        for att topology</tt> </tt>
+<a name="L1956"></a><tt class="py-lineno">1956</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1957"></a><tt class="py-lineno">1957</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
+<a name="L1958"></a><tt class="py-lineno">1958</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-513" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-513', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Install single-multi point intents and verify Ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1959"></a><tt class="py-lineno">1959</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-514" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-514', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"___________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1960"></a><tt class="py-lineno">1960</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-515" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-515', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install single-multi point intents and Ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1961"></a><tt class="py-lineno">1961</tt>  <tt class="py-line">        <tt class="py-name">deviceDPIDsCopy</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceDPIDs</tt><tt class="py-op">)</tt> </tt>
+<a name="L1962"></a><tt class="py-lineno">1962</tt>  <tt class="py-line">        <tt class="py-name">portEgressList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'1'</tt><tt class="py-op">]</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L1963"></a><tt class="py-lineno">1963</tt>  <tt class="py-line">        <tt class="py-name">intentIdList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1964"></a><tt class="py-lineno">1964</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"MACsDict"</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">MACsDict</tt> </tt>
+<a name="L1965"></a><tt class="py-lineno">1965</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1966"></a><tt class="py-lineno">1966</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1967"></a><tt class="py-lineno">1967</tt>  <tt class="py-line">            <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1968"></a><tt class="py-lineno">1968</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-516" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-516', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L1969"></a><tt class="py-lineno">1969</tt>  <tt class="py-line">                <tt class="py-name">ingressDevice</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L1970"></a><tt class="py-lineno">1970</tt>  <tt class="py-line">                <tt class="py-name">egressDeviceList</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">)</tt> </tt>
+<a name="L1971"></a><tt class="py-lineno">1971</tt>  <tt class="py-line">                <tt class="py-name">egressDeviceList</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">ingressDevice</tt><tt class="py-op">)</tt> </tt>
+<a name="L1972"></a><tt class="py-lineno">1972</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">deviceDPIDsCopy</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1973"></a><tt class="py-lineno">1973</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L1974"></a><tt class="py-lineno">1974</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-517" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-517', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-518" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-518', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-519" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addSinglepointToMultipointIntent()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addSinglepointToMultipointIntent"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addSinglepointToMultipointIntent" class="py-name" href="#" onclick="return doclink('link-519', 'addSinglepointToMultipointIntent', 'link-519');">addSinglepointToMultipointIntent</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1975"></a><tt class="py-lineno">1975</tt>  <tt class="py-line">                        <tt class="py-name">threadID</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L1976"></a><tt class="py-lineno">1976</tt>  <tt class="py-line">                        <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"addSinglepointToMultipointIntent"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1977"></a><tt class="py-lineno">1977</tt>  <tt class="py-line">                        <tt class="py-name">args</tt> <tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">ingressDevice</tt><tt class="py-op">,</tt><tt class="py-name">egressDeviceList</tt><tt class="py-op">,</tt><tt class="py-string">'1'</tt><tt class="py-op">,</tt><tt class="py-name">portEgressList</tt><tt class="py-op">,</tt><tt class="py-string">'IPV4'</tt><tt class="py-op">,</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">MACsDict</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">ingressDevice</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1978"></a><tt class="py-lineno">1978</tt>  <tt class="py-line">                <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L1979"></a><tt class="py-lineno">1979</tt>  <tt class="py-line">                <tt class="py-comment">#time.sleep(1)</tt> </tt>
+<a name="L1980"></a><tt class="py-lineno">1980</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1981"></a><tt class="py-lineno">1981</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1982"></a><tt class="py-lineno">1982</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1983"></a><tt class="py-lineno">1983</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L1984"></a><tt class="py-lineno">1984</tt>  <tt class="py-line">                <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1985"></a><tt class="py-lineno">1985</tt>  <tt class="py-line">                <tt class="py-name">intentIdList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L1986"></a><tt class="py-lineno">1986</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1987"></a><tt class="py-lineno">1987</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-520" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-520', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for adding point intents: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1988"></a><tt class="py-lineno">1988</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1989"></a><tt class="py-lineno">1989</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-521" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-521', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1990"></a><tt class="py-lineno">1990</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1991"></a><tt class="py-lineno">1991</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1992"></a><tt class="py-lineno">1992</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-522" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-522', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">,</tt><tt class="py-name">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L1993"></a><tt class="py-lineno">1993</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1994"></a><tt class="py-lineno">1994</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1995"></a><tt class="py-lineno">1995</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-523" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-523', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L1996"></a><tt class="py-lineno">1996</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1997"></a><tt class="py-lineno">1997</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1998"></a><tt class="py-lineno">1998</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1999"></a><tt class="py-lineno">1999</tt>  <tt class="py-line"> </tt>
+<a name="L2000"></a><tt class="py-lineno">2000</tt>  <tt class="py-line">        <tt class="py-name">case96Result</tt> <tt class="py-op">=</tt> <tt class="py-name">pingResult</tt> </tt>
+<a name="L2001"></a><tt class="py-lineno">2001</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2002"></a><tt class="py-lineno">2002</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2003"></a><tt class="py-lineno">2003</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case96Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L2004"></a><tt class="py-lineno">2004</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Install 25 single to multi point Intents and Ping All test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2005"></a><tt class="py-lineno">2005</tt>  <tt class="py-line">            <tt id="link-524" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-524', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Install 25 single to multi point Intents and Ping All test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2006"></a><tt class="py-lineno">2006</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE97"></a><div id="CHOtest.CASE97-def"><a name="L2007"></a><tt class="py-lineno">2007</tt> <a class="py-toggle" href="#" id="CHOtest.CASE97-toggle" onclick="return toggle('CHOtest.CASE97');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE97">CASE97</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE97-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE97-expanded"><a name="L2008"></a><tt class="py-lineno">2008</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2009"></a><tt class="py-lineno">2009</tt>  <tt class="py-line"><tt class="py-docstring">        Install single-multi point intents and verify Ping all works</tt> </tt>
+<a name="L2010"></a><tt class="py-lineno">2010</tt>  <tt class="py-line"><tt class="py-docstring">        for Chordal topology</tt> </tt>
+<a name="L2011"></a><tt class="py-lineno">2011</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2012"></a><tt class="py-lineno">2012</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
+<a name="L2013"></a><tt class="py-lineno">2013</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-525" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-525', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Install single-multi point intents and verify Ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2014"></a><tt class="py-lineno">2014</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-526" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-526', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"___________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2015"></a><tt class="py-lineno">2015</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-527" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-527', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install single-multi point intents and Ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2016"></a><tt class="py-lineno">2016</tt>  <tt class="py-line">        <tt class="py-name">deviceDPIDsCopy</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceDPIDs</tt><tt class="py-op">)</tt> </tt>
+<a name="L2017"></a><tt class="py-lineno">2017</tt>  <tt class="py-line">        <tt class="py-name">portEgressList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'1'</tt><tt class="py-op">]</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L2018"></a><tt class="py-lineno">2018</tt>  <tt class="py-line">        <tt class="py-name">intentIdList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2019"></a><tt class="py-lineno">2019</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"MACsDict"</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">MACsDict</tt> </tt>
+<a name="L2020"></a><tt class="py-lineno">2020</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2021"></a><tt class="py-lineno">2021</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2022"></a><tt class="py-lineno">2022</tt>  <tt class="py-line">            <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2023"></a><tt class="py-lineno">2023</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-528" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-528', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2024"></a><tt class="py-lineno">2024</tt>  <tt class="py-line">                <tt class="py-name">ingressDevice</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L2025"></a><tt class="py-lineno">2025</tt>  <tt class="py-line">                <tt class="py-name">egressDeviceList</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">)</tt> </tt>
+<a name="L2026"></a><tt class="py-lineno">2026</tt>  <tt class="py-line">                <tt class="py-name">egressDeviceList</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">ingressDevice</tt><tt class="py-op">)</tt> </tt>
+<a name="L2027"></a><tt class="py-lineno">2027</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">deviceDPIDsCopy</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2028"></a><tt class="py-lineno">2028</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L2029"></a><tt class="py-lineno">2029</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-529" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-529', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-530" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-530', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-531" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addSinglepointToMultipointIntent" class="py-name" href="#" onclick="return doclink('link-531', 'addSinglepointToMultipointIntent', 'link-519');">addSinglepointToMultipointIntent</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2030"></a><tt class="py-lineno">2030</tt>  <tt class="py-line">                        <tt class="py-name">threadID</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L2031"></a><tt class="py-lineno">2031</tt>  <tt class="py-line">                        <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"addSinglepointToMultipointIntent"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2032"></a><tt class="py-lineno">2032</tt>  <tt class="py-line">                        <tt class="py-name">args</tt> <tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">ingressDevice</tt><tt class="py-op">,</tt><tt class="py-name">egressDeviceList</tt><tt class="py-op">,</tt><tt class="py-string">'1'</tt><tt class="py-op">,</tt><tt class="py-name">portEgressList</tt><tt class="py-op">,</tt><tt class="py-string">'IPV4'</tt><tt class="py-op">,</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">MACsDict</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">ingressDevice</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-string">''</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2033"></a><tt class="py-lineno">2033</tt>  <tt class="py-line">                <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L2034"></a><tt class="py-lineno">2034</tt>  <tt class="py-line">                <tt class="py-comment">#time.sleep(1)</tt> </tt>
+<a name="L2035"></a><tt class="py-lineno">2035</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2036"></a><tt class="py-lineno">2036</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2037"></a><tt class="py-lineno">2037</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2038"></a><tt class="py-lineno">2038</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L2039"></a><tt class="py-lineno">2039</tt>  <tt class="py-line">                <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2040"></a><tt class="py-lineno">2040</tt>  <tt class="py-line">                <tt class="py-name">intentIdList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L2041"></a><tt class="py-lineno">2041</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2042"></a><tt class="py-lineno">2042</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-532" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-532', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for adding point intents: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2043"></a><tt class="py-lineno">2043</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L2044"></a><tt class="py-lineno">2044</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-533" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-533', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2045"></a><tt class="py-lineno">2045</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2046"></a><tt class="py-lineno">2046</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2047"></a><tt class="py-lineno">2047</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-534" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-534', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">,</tt><tt class="py-name">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L2048"></a><tt class="py-lineno">2048</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2049"></a><tt class="py-lineno">2049</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2050"></a><tt class="py-lineno">2050</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-535" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-535', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L2051"></a><tt class="py-lineno">2051</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2052"></a><tt class="py-lineno">2052</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2053"></a><tt class="py-lineno">2053</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2054"></a><tt class="py-lineno">2054</tt>  <tt class="py-line"> </tt>
+<a name="L2055"></a><tt class="py-lineno">2055</tt>  <tt class="py-line">        <tt class="py-name">case97Result</tt> <tt class="py-op">=</tt> <tt class="py-name">pingResult</tt> </tt>
+<a name="L2056"></a><tt class="py-lineno">2056</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2057"></a><tt class="py-lineno">2057</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2058"></a><tt class="py-lineno">2058</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case97Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L2059"></a><tt class="py-lineno">2059</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Install 25 single to multi point Intents and Ping All test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2060"></a><tt class="py-lineno">2060</tt>  <tt class="py-line">            <tt id="link-536" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-536', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Install 25 single to multi point Intents and Ping All test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2061"></a><tt class="py-lineno">2061</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE98"></a><div id="CHOtest.CASE98-def"><a name="L2062"></a><tt class="py-lineno">2062</tt> <a class="py-toggle" href="#" id="CHOtest.CASE98-toggle" onclick="return toggle('CHOtest.CASE98');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE98">CASE98</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE98-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE98-expanded"><a name="L2063"></a><tt class="py-lineno">2063</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2064"></a><tt class="py-lineno">2064</tt>  <tt class="py-line"><tt class="py-docstring">        Install single-multi point intents and verify Ping all works</tt> </tt>
+<a name="L2065"></a><tt class="py-lineno">2065</tt>  <tt class="py-line"><tt class="py-docstring">        for Spine topology</tt> </tt>
+<a name="L2066"></a><tt class="py-lineno">2066</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2067"></a><tt class="py-lineno">2067</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
+<a name="L2068"></a><tt class="py-lineno">2068</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-537" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-537', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Install single-multi point intents and verify Ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2069"></a><tt class="py-lineno">2069</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-538" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-538', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"___________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2070"></a><tt class="py-lineno">2070</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-539" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-539', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install single-multi point intents and Ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2071"></a><tt class="py-lineno">2071</tt>  <tt class="py-line">        <tt class="py-name">deviceDPIDsCopy</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">deviceDPIDs</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2072"></a><tt class="py-lineno">2072</tt>  <tt class="py-line">        <tt class="py-name">deviceDPIDsCopy</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">[</tt> <tt class="py-number">10</tt><tt class="py-op">:</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2073"></a><tt class="py-lineno">2073</tt>  <tt class="py-line">        <tt class="py-name">portEgressList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'1'</tt> <tt class="py-op">]</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L2074"></a><tt class="py-lineno">2074</tt>  <tt class="py-line">        <tt class="py-name">intentIdList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2075"></a><tt class="py-lineno">2075</tt>  <tt class="py-line">        <tt class="py-name">MACsDictCopy</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L2076"></a><tt class="py-lineno">2076</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">deviceDPIDsCopy</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2077"></a><tt class="py-lineno">2077</tt>  <tt class="py-line">            <tt class="py-name">MACsDictCopy</tt><tt class="py-op">[</tt> <tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostMACs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">'/'</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2078"></a><tt class="py-lineno">2078</tt>  <tt class="py-line"> </tt>
+<a name="L2079"></a><tt class="py-lineno">2079</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"deviceDPIDsCopy"</tt><tt class="py-op">,</tt> <tt class="py-name">deviceDPIDsCopy</tt> </tt>
+<a name="L2080"></a><tt class="py-lineno">2080</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">""</tt> </tt>
+<a name="L2081"></a><tt class="py-lineno">2081</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"MACsDictCopy"</tt><tt class="py-op">,</tt> <tt class="py-name">MACsDictCopy</tt> </tt>
+<a name="L2082"></a><tt class="py-lineno">2082</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2083"></a><tt class="py-lineno">2083</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2084"></a><tt class="py-lineno">2084</tt>  <tt class="py-line">            <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2085"></a><tt class="py-lineno">2085</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-540" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-540', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2086"></a><tt class="py-lineno">2086</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">deviceDPIDsCopy</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2087"></a><tt class="py-lineno">2087</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L2088"></a><tt class="py-lineno">2088</tt>  <tt class="py-line">                <tt class="py-name">ingressDevice</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L2089"></a><tt class="py-lineno">2089</tt>  <tt class="py-line">                <tt class="py-name">egressDeviceList</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">deviceDPIDsCopy</tt><tt class="py-op">)</tt> </tt>
+<a name="L2090"></a><tt class="py-lineno">2090</tt>  <tt class="py-line">                <tt class="py-name">egressDeviceList</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">ingressDevice</tt><tt class="py-op">)</tt> </tt>
+<a name="L2091"></a><tt class="py-lineno">2091</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-541" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-541', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-542" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-542', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-543" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addSinglepointToMultipointIntent" class="py-name" href="#" onclick="return doclink('link-543', 'addSinglepointToMultipointIntent', 'link-519');">addSinglepointToMultipointIntent</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2092"></a><tt class="py-lineno">2092</tt>  <tt class="py-line">                        <tt class="py-name">threadID</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L2093"></a><tt class="py-lineno">2093</tt>  <tt class="py-line">                        <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"addSinglepointToMultipointIntent"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2094"></a><tt class="py-lineno">2094</tt>  <tt class="py-line">                        <tt class="py-name">args</tt> <tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">ingressDevice</tt><tt class="py-op">,</tt><tt class="py-name">egressDeviceList</tt><tt class="py-op">,</tt><tt class="py-string">'1'</tt><tt class="py-op">,</tt><tt class="py-name">portEgressList</tt><tt class="py-op">,</tt><tt class="py-string">'IPV4'</tt><tt class="py-op">,</tt><tt class="py-name">MACsDictCopy</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">ingressDevice</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-string">''</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2095"></a><tt class="py-lineno">2095</tt>  <tt class="py-line">                <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L2096"></a><tt class="py-lineno">2096</tt>  <tt class="py-line">                <tt class="py-comment">#time.sleep(1)</tt> </tt>
+<a name="L2097"></a><tt class="py-lineno">2097</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2098"></a><tt class="py-lineno">2098</tt>  <tt class="py-line">                <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2099"></a><tt class="py-lineno">2099</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2100"></a><tt class="py-lineno">2100</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L2101"></a><tt class="py-lineno">2101</tt>  <tt class="py-line">                <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2102"></a><tt class="py-lineno">2102</tt>  <tt class="py-line">                <tt class="py-name">intentIdList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L2103"></a><tt class="py-lineno">2103</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2104"></a><tt class="py-lineno">2104</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-544" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-544', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for adding point intents: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2105"></a><tt class="py-lineno">2105</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L2106"></a><tt class="py-lineno">2106</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-545" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-545', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Ping across all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2107"></a><tt class="py-lineno">2107</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2108"></a><tt class="py-lineno">2108</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2109"></a><tt class="py-lineno">2109</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-546" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-546', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">pingTimeout</tt><tt class="py-op">,</tt><tt class="py-name">shortCircuit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">acceptableFailed</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L2110"></a><tt class="py-lineno">2110</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2111"></a><tt class="py-lineno">2111</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2112"></a><tt class="py-lineno">2112</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-547" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-547', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L2113"></a><tt class="py-lineno">2113</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2114"></a><tt class="py-lineno">2114</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2115"></a><tt class="py-lineno">2115</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2116"></a><tt class="py-lineno">2116</tt>  <tt class="py-line"> </tt>
+<a name="L2117"></a><tt class="py-lineno">2117</tt>  <tt class="py-line">        <tt class="py-name">case98Result</tt> <tt class="py-op">=</tt> <tt class="py-name">pingResult</tt> </tt>
+<a name="L2118"></a><tt class="py-lineno">2118</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2119"></a><tt class="py-lineno">2119</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2120"></a><tt class="py-lineno">2120</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case98Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L2121"></a><tt class="py-lineno">2121</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Install 25 single to multi point Intents and Ping All test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2122"></a><tt class="py-lineno">2122</tt>  <tt class="py-line">            <tt id="link-548" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-548', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Install 25 single to multi point Intents and Ping All test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2123"></a><tt class="py-lineno">2123</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE10"></a><div id="CHOtest.CASE10-def"><a name="L2124"></a><tt class="py-lineno">2124</tt> <a class="py-toggle" href="#" id="CHOtest.CASE10-toggle" onclick="return toggle('CHOtest.CASE10');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE10">CASE10</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE10-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE10-expanded"><a name="L2125"></a><tt class="py-lineno">2125</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2126"></a><tt class="py-lineno">2126</tt>  <tt class="py-line">        <tt class="py-string">"""</tt> </tt>
+<a name="L2127"></a><tt class="py-lineno">2127</tt>  <tt class="py-line"><tt class="py-string">         Remove all Intents</tt> </tt>
+<a name="L2128"></a><tt class="py-lineno">2128</tt>  <tt class="py-line"><tt class="py-string">        """</tt> </tt>
+<a name="L2129"></a><tt class="py-lineno">2129</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-549" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-549', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Remove all intents that were installed previously"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2130"></a><tt class="py-lineno">2130</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-550" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-550', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"______________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2131"></a><tt class="py-lineno">2131</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-551" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-551', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Remove all intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2132"></a><tt class="py-lineno">2132</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-552" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-552', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Removing intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2133"></a><tt class="py-lineno">2133</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-553" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-553', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Obtain the intent id's first"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2134"></a><tt class="py-lineno">2134</tt>  <tt class="py-line">        <tt class="py-name">intentsList</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-554" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentIds()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllIntentIds"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentIds" class="py-name" href="#" onclick="return doclink('link-554', 'getAllIntentIds', 'link-554');">getAllIntentIds</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2135"></a><tt class="py-lineno">2135</tt>  <tt class="py-line">        <tt class="py-name">ansi_escape</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt> <tt class="py-string">r'\x1b[^m]*m'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2136"></a><tt class="py-lineno">2136</tt>  <tt class="py-line">        <tt class="py-name">intentsList</tt> <tt class="py-op">=</tt> <tt class="py-name">ansi_escape</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">intentsList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2137"></a><tt class="py-lineno">2137</tt>  <tt class="py-line">        <tt class="py-name">intentsList</tt> <tt class="py-op">=</tt> <tt class="py-name">intentsList</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> </tt>
+<a name="L2138"></a><tt class="py-lineno">2138</tt>  <tt class="py-line">            <tt class="py-string">" onos:intents | grep id="</tt><tt class="py-op">,</tt> </tt>
+<a name="L2139"></a><tt class="py-lineno">2139</tt>  <tt class="py-line">            <tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> </tt>
+<a name="L2140"></a><tt class="py-lineno">2140</tt>  <tt class="py-line">            <tt class="py-string">"id="</tt><tt class="py-op">,</tt> </tt>
+<a name="L2141"></a><tt class="py-lineno">2141</tt>  <tt class="py-line">            <tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> </tt>
+<a name="L2142"></a><tt class="py-lineno">2142</tt>  <tt class="py-line">            <tt class="py-string">"\r\r"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2143"></a><tt class="py-lineno">2143</tt>  <tt class="py-line">             <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2144"></a><tt class="py-lineno">2144</tt>  <tt class="py-line">        <tt class="py-name">intentsList</tt> <tt class="py-op">=</tt> <tt class="py-name">intentsList</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2145"></a><tt class="py-lineno">2145</tt>  <tt class="py-line">        <tt class="py-name">intentIdList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2146"></a><tt class="py-lineno">2146</tt>  <tt class="py-line">        <tt class="py-name">step1Result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2147"></a><tt class="py-lineno">2147</tt>  <tt class="py-line">        <tt class="py-name">moreIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2148"></a><tt class="py-lineno">2148</tt>  <tt class="py-line">        <tt class="py-name">removeIntentCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2149"></a><tt class="py-lineno">2149</tt>  <tt class="py-line">        <tt class="py-name">intentsCount</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">intentsList</tt><tt class="py-op">)</tt> </tt>
+<a name="L2150"></a><tt class="py-lineno">2150</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-555" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-555', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt> <tt class="py-op">(</tt> <tt class="py-string">"Current number of intents:  "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">intentsCount</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2151"></a><tt class="py-lineno">2151</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentsList</tt> <tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2152"></a><tt class="py-lineno">2152</tt>  <tt class="py-line">            <tt class="py-name">results</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2153"></a><tt class="py-lineno">2153</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-556" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-556', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Removing intent..."</tt><tt class="py-op">)</tt> </tt>
+<a name="L2154"></a><tt class="py-lineno">2154</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">moreIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L2155"></a><tt class="py-lineno">2155</tt>  <tt class="py-line">            <tt class="py-comment"># This is a work around only: cycle through intents removal for up to 5 times.</tt> </tt>
+<a name="L2156"></a><tt class="py-lineno">2156</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">removeIntentCount</tt> <tt class="py-op">==</tt> <tt class="py-number">5</tt><tt class="py-op">:</tt> </tt>
+<a name="L2157"></a><tt class="py-lineno">2157</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L2158"></a><tt class="py-lineno">2158</tt>  <tt class="py-line">                <tt class="py-name">removeIntentCount</tt> <tt class="py-op">=</tt> <tt class="py-name">removeIntentCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2159"></a><tt class="py-lineno">2159</tt>  <tt class="py-line">                <tt class="py-name">intentsList1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-557" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentIds" class="py-name" href="#" onclick="return doclink('link-557', 'getAllIntentIds', 'link-554');">getAllIntentIds</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2160"></a><tt class="py-lineno">2160</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentsList1</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L2161"></a><tt class="py-lineno">2161</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L2162"></a><tt class="py-lineno">2162</tt>  <tt class="py-line">                <tt class="py-name">ansi_escape</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt> <tt class="py-string">r'\x1b[^m]*m'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2163"></a><tt class="py-lineno">2163</tt>  <tt class="py-line">                <tt class="py-name">intentsList1</tt> <tt class="py-op">=</tt> <tt class="py-name">ansi_escape</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-name">intentsList1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2164"></a><tt class="py-lineno">2164</tt>  <tt class="py-line">                <tt class="py-name">intentsList1</tt> <tt class="py-op">=</tt> <tt class="py-name">intentsList1</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> </tt>
+<a name="L2165"></a><tt class="py-lineno">2165</tt>  <tt class="py-line">                    <tt class="py-string">" onos:intents | grep id="</tt><tt class="py-op">,</tt> </tt>
+<a name="L2166"></a><tt class="py-lineno">2166</tt>  <tt class="py-line">                    <tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> </tt>
+<a name="L2167"></a><tt class="py-lineno">2167</tt>  <tt class="py-line">                    <tt class="py-string">" state="</tt><tt class="py-op">,</tt> </tt>
+<a name="L2168"></a><tt class="py-lineno">2168</tt>  <tt class="py-line">                    <tt class="py-string">""</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt> </tt>
+<a name="L2169"></a><tt class="py-lineno">2169</tt>  <tt class="py-line">                    <tt class="py-string">"\r\r"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2170"></a><tt class="py-lineno">2170</tt>  <tt class="py-line">                    <tt class="py-string">""</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2171"></a><tt class="py-lineno">2171</tt>  <tt class="py-line">                <tt class="py-name">intentsList1</tt> <tt class="py-op">=</tt> <tt class="py-name">intentsList1</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2172"></a><tt class="py-lineno">2172</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-558" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-558', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt> <tt class="py-op">(</tt> <tt class="py-string">"Round %d intents to remove: "</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">removeIntentCount</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2173"></a><tt class="py-lineno">2173</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-name">intentsList1</tt> </tt>
+<a name="L2174"></a><tt class="py-lineno">2174</tt>  <tt class="py-line">                <tt class="py-name">intentIdList1</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2175"></a><tt class="py-lineno">2175</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentsList1</tt> <tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2176"></a><tt class="py-lineno">2176</tt>  <tt class="py-line">                    <tt class="py-name">moreIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2177"></a><tt class="py-lineno">2177</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentsList1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2178"></a><tt class="py-lineno">2178</tt>  <tt class="py-line">                        <tt class="py-name">intentsTemp1</tt> <tt class="py-op">=</tt> <tt class="py-name">intentsList1</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2179"></a><tt class="py-lineno">2179</tt>  <tt class="py-line">                        <tt class="py-name">intentIdList1</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">intentsTemp1</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'='</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2180"></a><tt class="py-lineno">2180</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-559" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-559', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt> <tt class="py-op">(</tt> <tt class="py-string">"Leftover Intent IDs: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">intentIdList1</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2181"></a><tt class="py-lineno">2181</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-560" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-560', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt> <tt class="py-op">(</tt> <tt class="py-string">"Length of Leftover Intents list: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">intentIdList1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2182"></a><tt class="py-lineno">2182</tt>  <tt class="py-line">                    <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2183"></a><tt class="py-lineno">2183</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentIdList1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2184"></a><tt class="py-lineno">2184</tt>  <tt class="py-line">                        <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2185"></a><tt class="py-lineno">2185</tt>  <tt class="py-line">                        <tt class="py-keyword">for</tt> <tt id="link-561" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-561', 'cli', 'link-106');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2186"></a><tt class="py-lineno">2186</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentIdList1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2187"></a><tt class="py-lineno">2187</tt>  <tt class="py-line">                                <tt class="py-keyword">break</tt> </tt>
+<a name="L2188"></a><tt class="py-lineno">2188</tt>  <tt class="py-line">                            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-562" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-562', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-563" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-563', 'cli', 'link-106');">cli</a></tt><tt class="py-op">.</tt><tt id="link-564" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.removeIntent()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#removeIntent,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.removeIntent()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#removeIntent"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.removeIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.removeIntent" class="py-name" href="#" onclick="return doclink('link-564', 'removeIntent', 'link-564');">removeIntent</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2189"></a><tt class="py-lineno">2189</tt>  <tt class="py-line">                                    <tt class="py-name">threadID</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L2190"></a><tt class="py-lineno">2190</tt>  <tt class="py-line">                                    <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"removeIntent"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2191"></a><tt class="py-lineno">2191</tt>  <tt class="py-line">                                    <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">intentIdList1</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-string">'org.onosproject.cli'</tt><tt class="py-op">,</tt><tt class="py-name">False</tt><tt class="py-op">,</tt><tt class="py-name">False</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2192"></a><tt class="py-lineno">2192</tt>  <tt class="py-line">                            <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L2193"></a><tt class="py-lineno">2193</tt>  <tt class="py-line">                            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2194"></a><tt class="py-lineno">2194</tt>  <tt class="py-line">                            <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2195"></a><tt class="py-lineno">2195</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2196"></a><tt class="py-lineno">2196</tt>  <tt class="py-line">                        <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L2197"></a><tt class="py-lineno">2197</tt>  <tt class="py-line">                            <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2198"></a><tt class="py-lineno">2198</tt>  <tt class="py-line">                            <tt class="py-name">intentIdList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L2199"></a><tt class="py-lineno">2199</tt>  <tt class="py-line">                        <tt class="py-comment">#time.sleep(2)</tt> </tt>
+<a name="L2200"></a><tt class="py-lineno">2200</tt>  <tt class="py-line">                    <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2201"></a><tt class="py-lineno">2201</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-565" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-565', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for removing host intents: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2202"></a><tt class="py-lineno">2202</tt>  <tt class="py-line">                    <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
+<a name="L2203"></a><tt class="py-lineno">2203</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-566" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-566', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Purging WITHDRAWN Intents"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2204"></a><tt class="py-lineno">2204</tt>  <tt class="py-line">                    <tt class="py-name">purgeResult</tt>  <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-567" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.purgeWithdrawnIntents()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#purgeWithdrawnIntents"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.purgeWithdrawnIntents" class="py-name" href="#" onclick="return doclink('link-567', 'purgeWithdrawnIntents', 'link-567');">purgeWithdrawnIntents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2205"></a><tt class="py-lineno">2205</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2206"></a><tt class="py-lineno">2206</tt>  <tt class="py-line">                    <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
+<a name="L2207"></a><tt class="py-lineno">2207</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-568" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-568', 'intents', 'link-248');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2208"></a><tt class="py-lineno">2208</tt>  <tt class="py-line">                        <tt class="py-keyword">continue</tt> </tt>
+<a name="L2209"></a><tt class="py-lineno">2209</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L2210"></a><tt class="py-lineno">2210</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
+<a name="L2211"></a><tt class="py-lineno">2211</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2212"></a><tt class="py-lineno">2212</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Removed %d intents"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">intentsCount</tt><tt class="py-op">)</tt> </tt>
+<a name="L2213"></a><tt class="py-lineno">2213</tt>  <tt class="py-line">                <tt class="py-name">step1Result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2214"></a><tt class="py-lineno">2214</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2215"></a><tt class="py-lineno">2215</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"No Intent IDs found in Intents list: "</tt><tt class="py-op">,</tt> <tt class="py-name">intentsList</tt> </tt>
+<a name="L2216"></a><tt class="py-lineno">2216</tt>  <tt class="py-line">            <tt class="py-name">step1Result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2217"></a><tt class="py-lineno">2217</tt>  <tt class="py-line"> </tt>
+<a name="L2218"></a><tt class="py-lineno">2218</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-569" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-569', 'intents', 'link-248');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2219"></a><tt class="py-lineno">2219</tt>  <tt class="py-line">        <tt class="py-name">caseResult10</tt> <tt class="py-op">=</tt> <tt class="py-name">step1Result</tt> </tt>
+<a name="L2220"></a><tt class="py-lineno">2220</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">caseResult10</tt><tt class="py-op">,</tt> </tt>
+<a name="L2221"></a><tt class="py-lineno">2221</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intent removal test successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2222"></a><tt class="py-lineno">2222</tt>  <tt class="py-line">                                 <tt id="link-570" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-570', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intent removal test failed"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2223"></a><tt class="py-lineno">2223</tt>  <tt class="py-line"> </tt>
+<a name="CHOtest.CASE12"></a><div id="CHOtest.CASE12-def"><a name="L2224"></a><tt class="py-lineno">2224</tt> <a class="py-toggle" href="#" id="CHOtest.CASE12-toggle" onclick="return toggle('CHOtest.CASE12');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE12">CASE12</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CHOtest.CASE12-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CHOtest.CASE12-expanded"><a name="L2225"></a><tt class="py-lineno">2225</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2226"></a><tt class="py-lineno">2226</tt>  <tt class="py-line"><tt class="py-docstring">        Enable onos-app-ifwd, Verify Intent based Reactive forwarding through ping all and Disable it</tt> </tt>
+<a name="L2227"></a><tt class="py-lineno">2227</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2228"></a><tt class="py-lineno">2228</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L2229"></a><tt class="py-lineno">2229</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
+<a name="L2230"></a><tt class="py-lineno">2230</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2231"></a><tt class="py-lineno">2231</tt>  <tt class="py-line"> </tt>
+<a name="L2232"></a><tt class="py-lineno">2232</tt>  <tt class="py-line">        <tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2233"></a><tt class="py-lineno">2233</tt>  <tt class="py-line"> </tt>
+<a name="L2234"></a><tt class="py-lineno">2234</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-571" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-571', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Enable Intent based Reactive forwarding and Verify ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2235"></a><tt class="py-lineno">2235</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-572" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-572', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"_____________________________________________________"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2236"></a><tt class="py-lineno">2236</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-573" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-573', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Enable Intent based Reactive forwarding and Verify ping all"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2237"></a><tt class="py-lineno">2237</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-574" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-574', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Enable intent based Reactive forwarding"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2238"></a><tt class="py-lineno">2238</tt>  <tt class="py-line">        <tt class="py-name">installResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2239"></a><tt class="py-lineno">2239</tt>  <tt class="py-line">        <tt class="py-name">feature</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos-app-ifwd"</tt> </tt>
+<a name="L2240"></a><tt class="py-lineno">2240</tt>  <tt class="py-line"> </tt>
+<a name="L2241"></a><tt class="py-lineno">2241</tt>  <tt class="py-line">        <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2242"></a><tt class="py-lineno">2242</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2243"></a><tt class="py-lineno">2243</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-575" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-575', 'cli', 'link-106');">cli</a></tt><tt class="py-op">,</tt><tt class="py-name">feature</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2244"></a><tt class="py-lineno">2244</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-576" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-576', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt><tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-577" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-577', 'cli', 'link-106');">cli</a></tt><tt class="py-op">,</tt><tt class="py-name">threadID</tt><tt class="py-op">=</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L2245"></a><tt class="py-lineno">2245</tt>  <tt class="py-line">                    <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"featureInstall"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">feature</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2246"></a><tt class="py-lineno">2246</tt>  <tt class="py-line">            <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L2247"></a><tt class="py-lineno">2247</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2248"></a><tt class="py-lineno">2248</tt>  <tt class="py-line">            <tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2249"></a><tt class="py-lineno">2249</tt>  <tt class="py-line"> </tt>
+<a name="L2250"></a><tt class="py-lineno">2250</tt>  <tt class="py-line">        <tt class="py-name">results</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2251"></a><tt class="py-lineno">2251</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L2252"></a><tt class="py-lineno">2252</tt>  <tt class="py-line">            <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2253"></a><tt class="py-lineno">2253</tt>  <tt class="py-line">            <tt class="py-name">results</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L2254"></a><tt class="py-lineno">2254</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2255"></a><tt class="py-lineno">2255</tt>  <tt class="py-line"> </tt>
+<a name="L2256"></a><tt class="py-lineno">2256</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt><tt class="py-op">(</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-name">result</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> <tt class="py-keyword">for</tt> <tt class="py-name">result</tt> <tt class="py-keyword">in</tt> <tt class="py-name">results</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2257"></a><tt class="py-lineno">2257</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-578" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-578', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Did not install onos-app-ifwd feature properly"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2258"></a><tt class="py-lineno">2258</tt>  <tt class="py-line">                <tt class="py-comment">#main.cleanup()</tt> </tt>
+<a name="L2259"></a><tt class="py-lineno">2259</tt>  <tt class="py-line">                <tt class="py-comment">#main.exit()</tt> </tt>
+<a name="L2260"></a><tt class="py-lineno">2260</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2261"></a><tt class="py-lineno">2261</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-579" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-579', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Successful feature:install onos-app-ifwd"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2262"></a><tt class="py-lineno">2262</tt>  <tt class="py-line">            <tt class="py-name">installResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2263"></a><tt class="py-lineno">2263</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-580" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-580', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for feature:install onos-app-ifwd: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2264"></a><tt class="py-lineno">2264</tt>  <tt class="py-line"> </tt>
+<a name="L2265"></a><tt class="py-lineno">2265</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-581" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-581', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify Pingall"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2266"></a><tt class="py-lineno">2266</tt>  <tt class="py-line">        <tt class="py-name">ping_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2267"></a><tt class="py-lineno">2267</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2268"></a><tt class="py-lineno">2268</tt>  <tt class="py-line">        <tt class="py-name">ping_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-582" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-582', 'pingall', 'link-138');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">600</tt><tt class="py-op">)</tt> </tt>
+<a name="L2269"></a><tt class="py-lineno">2269</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2270"></a><tt class="py-lineno">2270</tt>  <tt class="py-line">        <tt class="py-name">timeDiff</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2271"></a><tt class="py-lineno">2271</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-583" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-583', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> </tt>
+<a name="L2272"></a><tt class="py-lineno">2272</tt>  <tt class="py-line">            <tt class="py-string">"Time taken for Ping All: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2273"></a><tt class="py-lineno">2273</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">timeDiff</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2274"></a><tt class="py-lineno">2274</tt>  <tt class="py-line">            <tt class="py-string">" seconds"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2275"></a><tt class="py-lineno">2275</tt>  <tt class="py-line"> </tt>
+<a name="L2276"></a><tt class="py-lineno">2276</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">ping_result</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2277"></a><tt class="py-lineno">2277</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-584" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-584', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Pingall Test in Reactive mode successful"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2278"></a><tt class="py-lineno">2278</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2279"></a><tt class="py-lineno">2279</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-585" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-585', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Pingall Test in Reactive mode failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2280"></a><tt class="py-lineno">2280</tt>  <tt class="py-line"> </tt>
+<a name="L2281"></a><tt class="py-lineno">2281</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-586" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-586', 'step', 'link-4');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Disable Intent based Reactive forwarding"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2282"></a><tt class="py-lineno">2282</tt>  <tt class="py-line">        <tt class="py-name">uninstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2283"></a><tt class="py-lineno">2283</tt>  <tt class="py-line"> </tt>
+<a name="L2284"></a><tt class="py-lineno">2284</tt>  <tt class="py-line">        <tt class="py-name">pool</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2285"></a><tt class="py-lineno">2285</tt>  <tt class="py-line">        <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2286"></a><tt class="py-lineno">2286</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-587" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-587', 'cli', 'link-106');">cli</a></tt><tt class="py-op">,</tt><tt class="py-name">feature</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2287"></a><tt class="py-lineno">2287</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-588" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-588', 'Thread', 'link-40');">Thread</a></tt><tt class="py-op">(</tt><tt class="py-name">target</tt><tt class="py-op">=</tt><tt id="link-589" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-589', 'cli', 'link-106');">cli</a></tt><tt class="py-op">,</tt><tt class="py-name">threadID</tt><tt class="py-op">=</tt><tt class="py-name">threadID</tt><tt class="py-op">,</tt> </tt>
+<a name="L2288"></a><tt class="py-lineno">2288</tt>  <tt class="py-line">                    <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"featureUninstall"</tt><tt class="py-op">,</tt><tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">feature</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2289"></a><tt class="py-lineno">2289</tt>  <tt class="py-line">            <tt class="py-name">pool</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+<a name="L2290"></a><tt class="py-lineno">2290</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2291"></a><tt class="py-lineno">2291</tt>  <tt class="py-line">            <tt class="py-name">threadID</tt> <tt class="py-op">=</tt> <tt class="py-name">threadID</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2292"></a><tt class="py-lineno">2292</tt>  <tt class="py-line"> </tt>
+<a name="L2293"></a><tt class="py-lineno">2293</tt>  <tt class="py-line">        <tt class="py-name">results</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2294"></a><tt class="py-lineno">2294</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">thread</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pool</tt><tt class="py-op">:</tt> </tt>
+<a name="L2295"></a><tt class="py-lineno">2295</tt>  <tt class="py-line">            <tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2296"></a><tt class="py-lineno">2296</tt>  <tt class="py-line">            <tt class="py-name">results</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">thread</tt><tt class="py-op">.</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L2297"></a><tt class="py-lineno">2297</tt>  <tt class="py-line">        <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2298"></a><tt class="py-lineno">2298</tt>  <tt class="py-line"> </tt>
+<a name="L2299"></a><tt class="py-lineno">2299</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt><tt class="py-op">(</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-name">result</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> <tt class="py-keyword">for</tt> <tt class="py-name">result</tt> <tt class="py-keyword">in</tt> <tt class="py-name">results</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2300"></a><tt class="py-lineno">2300</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-590" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-590', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Did not uninstall onos-app-ifwd feature properly"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2301"></a><tt class="py-lineno">2301</tt>  <tt class="py-line">                <tt class="py-name">uninstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2302"></a><tt class="py-lineno">2302</tt>  <tt class="py-line">                <tt class="py-comment">#main.cleanup()</tt> </tt>
+<a name="L2303"></a><tt class="py-lineno">2303</tt>  <tt class="py-line">                <tt class="py-comment">#main.exit()</tt> </tt>
+<a name="L2304"></a><tt class="py-lineno">2304</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2305"></a><tt class="py-lineno">2305</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-591" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-591', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Successful feature:uninstall onos-app-ifwd"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2306"></a><tt class="py-lineno">2306</tt>  <tt class="py-line">            <tt class="py-name">uninstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2307"></a><tt class="py-lineno">2307</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-592" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-592', 'log', 'link-2');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Time for feature:uninstall onos-app-ifwd: %2f seconds"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">time2</tt><tt class="py-op">-</tt><tt class="py-name">time1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2308"></a><tt class="py-lineno">2308</tt>  <tt class="py-line"> </tt>
+<a name="L2309"></a><tt class="py-lineno">2309</tt>  <tt class="py-line">        <tt class="py-comment"># Waiting for reative flows to be cleared.</tt> </tt>
+<a name="L2310"></a><tt class="py-lineno">2310</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2311"></a><tt class="py-lineno">2311</tt>  <tt class="py-line"> </tt>
+<a name="L2312"></a><tt class="py-lineno">2312</tt>  <tt class="py-line">        <tt class="py-name">case11Result</tt> <tt class="py-op">=</tt> <tt class="py-name">installResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ping_result</tt> <tt class="py-keyword">and</tt> <tt class="py-name">uninstallResult</tt> </tt>
+<a name="L2313"></a><tt class="py-lineno">2313</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">case11Result</tt><tt class="py-op">,</tt> </tt>
+<a name="L2314"></a><tt class="py-lineno">2314</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intent based Reactive forwarding Pingall test PASS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2315"></a><tt class="py-lineno">2315</tt>  <tt class="py-line">                                 <tt id="link-593" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-593', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intent based Reactive forwarding Pingall test FAIL"</tt> <tt class="py-op">)</tt> </tt>
+</div></div><a name="L2316"></a><tt class="py-lineno">2316</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.CHOtest.CHOtest.CHOtest-class.html b/TestON/Documentation/TestON_Document/TestON.tests.CHOtest.CHOtest.CHOtest-class.html
new file mode 100644
index 0000000..a9f0961
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.CHOtest.CHOtest.CHOtest-class.html
@@ -0,0 +1,736 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.CHOtest.CHOtest.CHOtest</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.CHOtest-module.html">Package&nbsp;CHOtest</a> ::
+        <a href="TestON.tests.CHOtest.CHOtest-module.html">Module&nbsp;CHOtest</a> ::
+        Class&nbsp;CHOtest
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class CHOtest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest">source&nbsp;code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Startup sequence: apply cell &lt;name&gt; git pull mvn clean install 
+      onos-package onos-verify-cell onos-uninstall onos-install 
+      onos-start-cli</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE1">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE20"></a><span class="summary-sig-name">CASE20</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      This test script Loads a new Topology (Att) on CHO setup and balances
+      all switches</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE20">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE21"></a><span class="summary-sig-name">CASE21</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      This test script Loads a new Topology (Chordal) on CHO setup and 
+      balances all switches</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE21">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE22"></a><span class="summary-sig-name">CASE22</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      This test script Loads a new Topology (Spine) on CHO setup and 
+      balances all switches</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE22">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE3"></a><span class="summary-sig-name">CASE3</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      This Test case will be extended to collect and store more data 
+      related ONOS state.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE3">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE40"></a><span class="summary-sig-name">CASE40</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Verify Reactive forwarding (Att Topology)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE40">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE41"></a><span class="summary-sig-name">CASE41</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Verify Reactive forwarding (Chordal Topology)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE41">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE42"></a><span class="summary-sig-name">CASE42</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Verify Reactive forwarding (Spine Topology)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE42">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE5"></a><span class="summary-sig-name">CASE5</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Compare current ONOS topology with reference data</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE5">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE60"></a><span class="summary-sig-name">CASE60</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Install 300 host intents and verify ping all (Att Topology)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE60">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE61"></a><span class="summary-sig-name">CASE61</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Install 600 host intents and verify ping all for Chordal Topology</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE61">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE62"></a><span class="summary-sig-name">CASE62</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Install 2278 host intents and verify ping all for Spine Topology</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE62">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE70"></a><span class="summary-sig-name">CASE70</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Randomly bring some core links down and verify ping all ( Host 
+      Intents-Att Topo)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE70">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE80"></a><span class="summary-sig-name">CASE80</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Bring the core links up that are down and verify ping all ( Host 
+      Intents-Att Topo )</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE80">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE71"></a><span class="summary-sig-name">CASE71</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Randomly bring some core links down and verify ping all ( Point 
+      Intents-Att Topo)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE71">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE81"></a><span class="summary-sig-name">CASE81</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Bring the core links up that are down and verify ping all ( Point 
+      Intents-Att Topo )</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE81">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE72"></a><span class="summary-sig-name">CASE72</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Randomly bring some links down and verify ping all ( Host 
+      Intents-Chordal Topo)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE72">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE82"></a><span class="summary-sig-name">CASE82</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Bring the core links up that are down and verify ping all ( Host 
+      Intents Chordal Topo )</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE82">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE73"></a><span class="summary-sig-name">CASE73</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Randomly bring some links down and verify ping all ( Point 
+      Intents-Chordal Topo)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE73">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE83"></a><span class="summary-sig-name">CASE83</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Bring the core links up that are down and verify ping all ( Point 
+      Intents Chordal Topo )</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE83">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE74"></a><span class="summary-sig-name">CASE74</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Randomly bring some core links down and verify ping all ( Host 
+      Intents-Spine Topo)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE74">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE84"></a><span class="summary-sig-name">CASE84</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Bring the core links up that are down and verify ping all ( Host 
+      Intents-Spine Topo )</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE84">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE90"></a><span class="summary-sig-name">CASE90</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Install 600 point intents and verify ping all (Att Topology)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE90">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE91"></a><span class="summary-sig-name">CASE91</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Install 600 point intents and verify ping all (Chordal Topology)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE91">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE92"></a><span class="summary-sig-name">CASE92</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Install 4556 point intents and verify ping all (Spine Topology)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE92">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE93"></a><span class="summary-sig-name">CASE93</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Install multi-single point intents and verify Ping all works for att 
+      topology</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE93">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE94"></a><span class="summary-sig-name">CASE94</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Install multi-single point intents and verify Ping all works for 
+      Chordal topology</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE94">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE96"></a><span class="summary-sig-name">CASE96</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Install single-multi point intents and verify Ping all works for att 
+      topology</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE96">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE97"></a><span class="summary-sig-name">CASE97</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Install single-multi point intents and verify Ping all works for 
+      Chordal topology</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE97">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE98"></a><span class="summary-sig-name">CASE98</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Install single-multi point intents and verify Ping all works for 
+      Spine topology</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE98">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE10"></a><span class="summary-sig-name">CASE10</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE10">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE12"></a><span class="summary-sig-name">CASE12</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Enable onos-app-ifwd, Verify Intent based Reactive forwarding through
+      ping all and Disable it</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.CHOtest.CHOtest-pysrc.html#CHOtest.CASE12">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest-module.html
deleted file mode 100644
index dac59e8..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest-module.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.DpctlTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;DpctlTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.DpctlTest-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package DpctlTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.DpctlTest-pysrc.html">source&nbsp;code</a></span></p>
-<!-- ==================== SUBMODULES ==================== -->
-<a name="section-Submodules"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Submodules</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Submodules"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr><td class="summary">
-  <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.DpctlTest.DpctlTest-module.html">TestON.tests.DpctlTest.DpctlTest</a></strong>    </li>
-  </ul></td></tr>
-</table>
-
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest-pysrc.html
deleted file mode 100644
index 3b5387a..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest-pysrc.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.DpctlTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;DpctlTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.DpctlTest-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.DpctlTest-module.html">Package TestON.tests.DpctlTest</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
-<a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest-module.html
deleted file mode 100644
index ede0cbb..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest-module.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.DpctlTest.DpctlTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.DpctlTest-module.html">Package&nbsp;DpctlTest</a> ::
-        Module&nbsp;DpctlTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.DpctlTest.DpctlTest-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module DpctlTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html">source&nbsp;code</a></span></p>
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html" class="summary-name">DpctlTest</a>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest-pysrc.html
deleted file mode 100644
index 0747e13..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest-pysrc.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.DpctlTest.DpctlTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.DpctlTest-module.html">Package&nbsp;DpctlTest</a> ::
-        Module&nbsp;DpctlTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.DpctlTest.DpctlTest-module.html">Module TestON.tests.DpctlTest.DpctlTest</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"> </tt>
-<a name="DpctlTest"></a><div id="DpctlTest-def"><a name="L2"></a><tt class="py-lineno"> 2</tt> <a class="py-toggle" href="#" id="DpctlTest-toggle" onclick="return toggle('DpctlTest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html">DpctlTest</a> <tt class="py-op">:</tt> </tt>
-</div><div id="DpctlTest-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="DpctlTest-expanded"><a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"> </tt>
-<a name="DpctlTest.__init__"></a><div id="DpctlTest.__init__-def"><a name="L4"></a><tt class="py-lineno"> 4</tt> <a class="py-toggle" href="#" id="DpctlTest.__init__-toggle" onclick="return toggle('DpctlTest.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="DpctlTest.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="DpctlTest.__init__-expanded"><a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-</div><a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"> </tt>
-<a name="DpctlTest.CASE1"></a><div id="DpctlTest.CASE1-def"><a name="L7"></a><tt class="py-lineno"> 7</tt> <a class="py-toggle" href="#" id="DpctlTest.CASE1-toggle" onclick="return toggle('DpctlTest.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#CASE1">CASE1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="DpctlTest.CASE1-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="DpctlTest.CASE1-expanded"><a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"DPCTL Ping Host"</tt><tt class="py-op">)</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Adding flow for host2"</tt><tt class="py-op">)</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">DPCTL1</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.addFlow()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#addFlow"><a title="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.addFlow" class="py-name" href="#" onclick="return doclink('link-3', 'addFlow', 'link-3');">addFlow</a></tt><tt class="py-op">(</tt><tt class="py-name">tcpip</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'tcpip'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">tcpport</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'tcpport'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">inport</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'inport'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'timeout'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'action'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-4', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Adding Another Flow for Host3"</tt><tt class="py-op">)</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">DPCTL1</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.addFlow" class="py-name" href="#" onclick="return doclink('link-5', 'addFlow', 'link-3');">addFlow</a></tt><tt class="py-op">(</tt><tt class="py-name">tcpip</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'tcpip'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">tcpport</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'tcpport'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">inport</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'inport'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'timeout'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'action'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-6', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Ping From h2 to h3"</tt><tt class="py-op">)</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingHost"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost" class="py-name" href="#" onclick="return doclink('link-7', 'pingHost', 'link-7');">pingHost</a></tt><tt class="py-op">(</tt><tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-string">'DPCTL1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'src'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-string">'DPCTL1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'target'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-8" class="py-name" targets="Package TestON.drivers.common.api.controller=TestON.drivers.common.api.controller-module.html"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-8', 'controller', 'link-8');">controller</a></tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">componentDictionary</tt><tt class="py-op">[</tt><tt class="py-string">'DPCTL1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'controller'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">        <tt class="py-name">result</tt>  <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Ping Successful"</tt><tt class="py-op">,</tt><tt id="link-9" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-9', 'onfail', 'link-9');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Ping failed"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">     </tt>
-<a name="DpctlTest.CASE2"></a><div id="DpctlTest.CASE2-def"><a name="L19"></a><tt class="py-lineno">19</tt> <a class="py-toggle" href="#" id="DpctlTest.CASE2-toggle" onclick="return toggle('DpctlTest.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#CASE2">CASE2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="DpctlTest.CASE2-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="DpctlTest.CASE2-expanded"><a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-10', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"DPCTL Show Flow"</tt><tt class="py-op">)</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-11', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Adding flow for host2"</tt><tt class="py-op">)</tt> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">DPCTL1</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.addFlow" class="py-name" href="#" onclick="return doclink('link-12', 'addFlow', 'link-3');">addFlow</a></tt><tt class="py-op">(</tt><tt class="py-name">tcpip</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'tcpip'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">tcpport</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'tcpport'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">inport</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'inport'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'timeout'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'action'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-13', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Adding Another Flow for Host3"</tt><tt class="py-op">)</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">DPCTL1</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.addFlow" class="py-name" href="#" onclick="return doclink('link-14', 'addFlow', 'link-3');">addFlow</a></tt><tt class="py-op">(</tt><tt class="py-name">tcpip</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'tcpip'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">tcpport</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'tcpport'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">inport</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'inport'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'timeout'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">action</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'action'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-15', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Execute Show Flow"</tt><tt class="py-op">)</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">DPCTL1</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.showFlow()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#showFlow"><a title="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.showFlow" class="py-name" href="#" onclick="return doclink('link-16', 'showFlow', 'link-16');">showFlow</a></tt><tt class="py-op">(</tt><tt class="py-name">tcpip</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'tcpip'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">tcpport</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE2'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'tcpport'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"SHOW FLOW IS EXECUTED"</tt><tt class="py-op">,</tt><tt id="link-17" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-17', 'onfail', 'link-9');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Show Flow Execution failed"</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.VyattaTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.FUNCintent-module.html
similarity index 68%
rename from TestON/Documentation/TestON_Document/TestON.tests.VyattaTest-module.html
rename to TestON/Documentation/TestON_Document/TestON.tests.FUNCintent-module.html
index 5f50476..ea6b9de 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.VyattaTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.FUNCintent-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.VyattaTest</title>
+  <title>TestON.tests.FUNCintent</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;VyattaTest
+        Package&nbsp;FUNCintent
       </span>
     </td>
     <td>
@@ -49,14 +54,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.VyattaTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.FUNCintent-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package VyattaTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.VyattaTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Package FUNCintent</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.FUNCintent-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== SUBMODULES ==================== -->
 <a name="section-Submodules"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -76,11 +81,37 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.VyattaTest.VyattaTest-module.html">TestON.tests.VyattaTest.VyattaTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.FUNCintent.FUNCintent-module.html">TestON.tests.FUNCintent.FUNCintent</a></strong>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.VyattaTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.FUNCintent-pysrc.html
similarity index 81%
copy from TestON/Documentation/TestON_Document/TestON.tests.VyattaTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.tests.FUNCintent-pysrc.html
index 5cc9b03..14c7042 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.VyattaTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.FUNCintent-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.VyattaTest</title>
+  <title>TestON.tests.FUNCintent</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;VyattaTest
+        Package&nbsp;FUNCintent
       </span>
     </td>
     <td>
@@ -49,13 +54,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.VyattaTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.FUNCintent-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.VyattaTest-module.html">Package TestON.tests.VyattaTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.FUNCintent-module.html">Package TestON.tests.FUNCintent</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.FUNCintent.FUNCintent-module.html
similarity index 66%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.FUNCintent.FUNCintent-module.html
index 81b602b..8f3536c 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.FUNCintent.FUNCintent-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest.PoxTest</title>
+  <title>TestON.tests.FUNCintent.FUNCintent</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,8 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.PoxTest-module.html">Package&nbsp;PoxTest</a> ::
-        Module&nbsp;PoxTest
+        <a href="TestON.tests.FUNCintent-module.html">Package&nbsp;FUNCintent</a> ::
+        Module&nbsp;FUNCintent
       </span>
     </td>
     <td>
@@ -50,14 +55,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Module FUNCintent</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -79,7 +84,33 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html" class="summary-name">PoxTest</a>
+        <a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html" class="summary-name">FUNCintent</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
     </td>
   </tr>
 </table>
@@ -103,13 +134,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.FUNCintent.FUNCintent-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.FUNCintent.FUNCintent-pysrc.html
new file mode 100644
index 0000000..213082a
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.FUNCintent.FUNCintent-pysrc.html
@@ -0,0 +1,1430 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.FUNCintent.FUNCintent</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.FUNCintent-module.html">Package&nbsp;FUNCintent</a> ::
+        Module&nbsp;FUNCintent
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.FUNCintent.FUNCintent-module.html">Module TestON.tests.FUNCintent.FUNCintent</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-comment"># Testing the basic intent functionality of ONOS</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"> </tt>
+<a name="FUNCintent"></a><div id="FUNCintent-def"><a name="L3"></a><tt class="py-lineno">   3</tt> <a class="py-toggle" href="#" id="FUNCintent-toggle" onclick="return toggle('FUNCintent');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">FUNCintent</a><tt class="py-op">:</tt> </tt>
+</div><div id="FUNCintent-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="FUNCintent-expanded"><a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"> </tt>
+<a name="FUNCintent.__init__"></a><div id="FUNCintent.__init__-def"><a name="L5"></a><tt class="py-lineno">   5</tt> <a class="py-toggle" href="#" id="FUNCintent.__init__-toggle" onclick="return toggle('FUNCintent.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FUNCintent.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FUNCintent.__init__-expanded"><a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"> </tt>
+<a name="FUNCintent.CASE1"></a><div id="FUNCintent.CASE1-def"><a name="L8"></a><tt class="py-lineno">   8</tt> <a class="py-toggle" href="#" id="FUNCintent.CASE1-toggle" onclick="return toggle('FUNCintent.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE1">CASE1</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FUNCintent.CASE1-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FUNCintent.CASE1-expanded"><a name="L9"></a><tt class="py-lineno">   9</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">  11</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">imp</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"> </tt>
+<a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line">        <tt class="py-string">"""</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line"><tt class="py-string">        - Construct tests variables</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt class="py-string">        - GIT ( optional )</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt class="py-string">            - Checkout ONOS master branch</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-string">            - Pull latest ONOS code</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"><tt class="py-string">        - Building ONOS ( optional )</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"><tt class="py-string">            - Install ONOS package</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"><tt class="py-string">            - Build ONOS package</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">  22</tt>  <tt class="py-line"><tt class="py-string">        """</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line"> </tt>
+<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Constructing test variables and building ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Constructing test variables"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">  26</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"This test case is mainly for loading "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L27"></a><tt class="py-lineno">  27</tt>  <tt class="py-line">                               <tt class="py-string">"from params file, and pull and build the "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L28"></a><tt class="py-lineno">  28</tt>  <tt class="py-line">                               <tt class="py-string">" latest ONOS package"</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">  29</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">  30</tt>  <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line">        <tt class="py-comment"># Test variables</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">  32</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">  33</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testOnDirectory</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">"(/tests)$"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testDir</tt> <tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#apps,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#apps"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-3', 'apps', 'link-3');">apps</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellApps'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line">            <tt class="py-name">gitBranch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'branch'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">  36</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">dependencyPath</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testOnDirectory</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line">                                  <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'DEPENDENCY'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'path'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">  38</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#topology,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topology"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-4', 'topology', 'link-4');">topology</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'DEPENDENCY'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'topology'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">  39</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">scale</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SCALE'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'size'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">","</tt> <tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt><tt class="py-op">:</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">  43</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line">            <tt class="py-name">wrapperFile1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'DEPENDENCY'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'wrapper1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line">            <tt class="py-name">wrapperFile2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'DEPENDENCY'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'wrapper2'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line">            <tt class="py-name">wrapperFile3</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'DEPENDENCY'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'wrapper3'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">  47</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">startUpSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SLEEP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'startup'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">  48</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">checkIntentSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SLEEP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'checkintent'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">rerouteSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SLEEP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'reroute'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">fwdSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SLEEP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'fwd'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">  51</tt>  <tt class="py-line">            <tt id="link-5" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-5', 'gitPull', 'link-5');">gitPull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'pull'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">  52</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MININET'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'switch'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numLinks</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MININET'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'links'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">cellData</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> <tt class="py-comment"># for creating cell file</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">  55</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostsData</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">  56</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">  58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getOnosIps"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps" class="py-name" href="#" onclick="return doclink('link-6', 'getOnosIps', 'link-6');">getOnosIps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">  60</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">  61</tt>  <tt class="py-line"> </tt>
+<a name="L62"></a><tt class="py-lineno">  62</tt>  <tt class="py-line">            <tt class="py-comment"># Assigning ONOS cli handles to a list</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">  63</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt>  <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">'ONOScli'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line"> </tt>
+<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line">            <tt class="py-comment"># -- INIT SECTION, ONLY RUNS ONCE -- #</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">startUp</tt> <tt class="py-op">=</tt> <tt class="py-name">imp</tt><tt class="py-op">.</tt><tt class="py-name">load_source</tt><tt class="py-op">(</tt> <tt class="py-name">wrapperFile1</tt><tt class="py-op">,</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line">                                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">dependencyPath</tt> <tt class="py-op">+</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line">                                            <tt class="py-name">wrapperFile1</tt> <tt class="py-op">+</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">  70</tt>  <tt class="py-line">                                            <tt class="py-string">".py"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line"> </tt>
+<a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt> <tt class="py-op">=</tt> <tt class="py-name">imp</tt><tt class="py-op">.</tt><tt class="py-name">load_source</tt><tt class="py-op">(</tt> <tt class="py-name">wrapperFile2</tt><tt class="py-op">,</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line">                                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">dependencyPath</tt> <tt class="py-op">+</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">  74</tt>  <tt class="py-line">                                            <tt class="py-name">wrapperFile2</tt> <tt class="py-op">+</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line">                                            <tt class="py-string">".py"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line"> </tt>
+<a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">topo</tt> <tt class="py-op">=</tt> <tt class="py-name">imp</tt><tt class="py-op">.</tt><tt class="py-name">load_source</tt><tt class="py-op">(</tt> <tt class="py-name">wrapperFile3</tt><tt class="py-op">,</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">  78</tt>  <tt class="py-line">                                         <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">dependencyPath</tt> <tt class="py-op">+</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line">                                         <tt class="py-name">wrapperFile3</tt> <tt class="py-op">+</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line">                                         <tt class="py-string">".py"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">  81</tt>  <tt class="py-line"> </tt>
+<a name="L82"></a><tt class="py-lineno">  82</tt>  <tt class="py-line">            <tt class="py-name">copyResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.copyMininetFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#copyMininetFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.copyMininetFile" class="py-name" href="#" onclick="return doclink('link-7', 'copyMininetFile', 'link-7');">copyMininetFile</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-8', 'topology', 'link-4');">topology</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L83"></a><tt class="py-lineno">  83</tt>  <tt class="py-line">                                                         <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">dependencyPath</tt><tt class="py-op">,</tt> </tt>
+<a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line">                                                         <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line">                                                         <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno">  86</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L87"></a><tt class="py-lineno">  87</tt>  <tt class="py-line">                <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-10', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Did not properly created list of ONOS CLI handle"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno">  90</tt>  <tt class="py-line">                <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno">  92</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-11', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-12', 'cleanup', 'link-12');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L94"></a><tt class="py-lineno">  94</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-13', 'exit', 'link-13');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno">  95</tt>  <tt class="py-line"> </tt>
+<a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L98"></a><tt class="py-lineno">  98</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully construct "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line">                                        <tt class="py-string">"test variables "</tt><tt class="py-op">,</tt> </tt>
+<a name="L100"></a><tt class="py-lineno"> 100</tt>  <tt class="py-line">                                 <tt id="link-14" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-14', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to construct test variables"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line"> </tt>
+<a name="L102"></a><tt class="py-lineno"> 102</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-15', 'gitPull', 'link-5');">gitPull</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'True'</tt><tt class="py-op">:</tt> </tt>
+<a name="L103"></a><tt class="py-lineno"> 103</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-16', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Building ONOS in "</tt> <tt class="py-op">+</tt> <tt class="py-name">gitBranch</tt> <tt class="py-op">+</tt> <tt class="py-string">" branch"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line">            <tt class="py-name">onosBuildResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">startUp</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosBuild()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosBuild"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosBuild" class="py-name" href="#" onclick="return doclink('link-17', 'onosBuild', 'link-17');">onosBuild</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-name">gitBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line">            <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosBuildResult</tt> </tt>
+<a name="L106"></a><tt class="py-lineno"> 106</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L107"></a><tt class="py-lineno"> 107</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully compiled "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L109"></a><tt class="py-lineno"> 109</tt>  <tt class="py-line">                                            <tt class="py-string">"latest ONOS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line">                                     <tt id="link-18" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-18', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to compile "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L111"></a><tt class="py-lineno"> 111</tt>  <tt class="py-line">                                            <tt class="py-string">"latest ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno"> 112</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L113"></a><tt class="py-lineno"> 113</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-19', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Did not pull new code so skipping mvn "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line">                           <tt class="py-string">"clean install"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno"> 115</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getVersion,Method TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getVersion"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion
+TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion" class="py-name" href="#" onclick="return doclink('link-20', 'getVersion', 'link-20');">getVersion</a></tt><tt class="py-op">(</tt> <tt class="py-name">report</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line"> </tt>
+<a name="FUNCintent.CASE2"></a><div id="FUNCintent.CASE2-def"><a name="L117"></a><tt class="py-lineno"> 117</tt> <a class="py-toggle" href="#" id="FUNCintent.CASE2-toggle" onclick="return toggle('FUNCintent.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE2">CASE2</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FUNCintent.CASE2-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FUNCintent.CASE2-expanded"><a name="L118"></a><tt class="py-lineno"> 118</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line"><tt class="py-docstring">        - Set up cell</tt> </tt>
+<a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line"><tt class="py-docstring">            - Create cell file</tt> </tt>
+<a name="L121"></a><tt class="py-lineno"> 121</tt>  <tt class="py-line"><tt class="py-docstring">            - Set cell file</tt> </tt>
+<a name="L122"></a><tt class="py-lineno"> 122</tt>  <tt class="py-line"><tt class="py-docstring">            - Verify cell file</tt> </tt>
+<a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line"><tt class="py-docstring">        - Kill ONOS process</tt> </tt>
+<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line"><tt class="py-docstring">        - Uninstall ONOS cluster</tt> </tt>
+<a name="L125"></a><tt class="py-lineno"> 125</tt>  <tt class="py-line"><tt class="py-docstring">        - Verify ONOS start up</tt> </tt>
+<a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line"><tt class="py-docstring">        - Install ONOS cluster</tt> </tt>
+<a name="L127"></a><tt class="py-lineno"> 127</tt>  <tt class="py-line"><tt class="py-docstring">        - Connect to cli</tt> </tt>
+<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line"> </tt>
+<a name="L130"></a><tt class="py-lineno"> 130</tt>  <tt class="py-line">        <tt class="py-comment"># main.scale[ 0 ] determines the current number of ONOS controller</tt> </tt>
+<a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line"> </tt>
+<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-21', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting up "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L134"></a><tt class="py-lineno"> 134</tt>  <tt class="py-line">                   <tt class="py-string">" node(s) ONOS cluster"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Set up ONOS with "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line">                                <tt class="py-string">" node(s) ONOS cluster"</tt> </tt>
+<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line"> </tt>
+<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line"> </tt>
+<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line"> </tt>
+<a name="L140"></a><tt class="py-lineno"> 140</tt>  <tt class="py-line">        <tt class="py-comment">#kill off all onos processes</tt> </tt>
+<a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-22', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Safety check, killing all ONOS processes"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line">                       <tt class="py-string">" before initiating enviornment setup"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno"> 143</tt>  <tt class="py-line"> </tt>
+<a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosDie"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie" class="py-name" href="#" onclick="return doclink('link-23', 'onosDie', 'link-23');">onosDie</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno"> 146</tt>  <tt class="py-line"> </tt>
+<a name="L147"></a><tt class="py-lineno"> 147</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"NODE COUNT = "</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L148"></a><tt class="py-lineno"> 148</tt>  <tt class="py-line"> </tt>
+<a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line">        <tt class="py-name">tempOnosIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line">            <tt class="py-name">tempOnosIp</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line"> </tt>
+<a name="L153"></a><tt class="py-lineno"> 153</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile" class="py-name" href="#" onclick="return doclink('link-24', 'createCellFile', 'link-24');">createCellFile</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line">                                       <tt class="py-string">"temp"</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line">                                       <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-25', 'apps', 'link-3');">apps</a></tt><tt class="py-op">,</tt> <tt class="py-name">tempOnosIp</tt> <tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno"> 156</tt>  <tt class="py-line"> </tt>
+<a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-26', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Apply cell to environment"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line">        <tt class="py-name">cellResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell,Method TestON.drivers.common.cli.onosdriver.OnosDriver.setCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.setCell" class="py-name" href="#" onclick="return doclink('link-27', 'setCell', 'link-27');">setCell</a></tt><tt class="py-op">(</tt> <tt class="py-string">"temp"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line">        <tt class="py-name">verifyResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifyCell"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell" class="py-name" href="#" onclick="return doclink('link-28', 'verifyCell', 'link-28');">verifyCell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">cellResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">verifyResult</tt> </tt>
+<a name="L161"></a><tt class="py-lineno"> 161</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L162"></a><tt class="py-lineno"> 162</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully applied cell to "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L164"></a><tt class="py-lineno"> 164</tt>  <tt class="py-line">                                        <tt class="py-string">"environment"</tt><tt class="py-op">,</tt> </tt>
+<a name="L165"></a><tt class="py-lineno"> 165</tt>  <tt class="py-line">                                 <tt id="link-29" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-29', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to apply cell to environment "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line"> </tt>
+<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-30', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Creating ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line">        <tt class="py-name">packageResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage" class="py-name" href="#" onclick="return doclink('link-31', 'onosPackage', 'link-31');">onosPackage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L169"></a><tt class="py-lineno"> 169</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">packageResult</tt> </tt>
+<a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L172"></a><tt class="py-lineno"> 172</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully created ONOS package"</tt><tt class="py-op">,</tt> </tt>
+<a name="L173"></a><tt class="py-lineno"> 173</tt>  <tt class="py-line">                                 <tt id="link-32" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-32', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to create ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line"> </tt>
+<a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">startUpSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L176"></a><tt class="py-lineno"> 176</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-33', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Uninstalling ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line">        <tt class="py-name">onosUninstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">ip</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">:</tt> </tt>
+<a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line">            <tt class="py-name">onosUninstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosUninstallResult</tt> <tt class="py-keyword">and</tt> \ </tt>
+<a name="L180"></a><tt class="py-lineno"> 180</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosUninstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall" class="py-name" href="#" onclick="return doclink('link-34', 'onosUninstall', 'link-34');">onosUninstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">nodeIp</tt><tt class="py-op">=</tt><tt class="py-name">ip</tt> <tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosUninstallResult</tt> </tt>
+<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully uninstalled ONOS package"</tt><tt class="py-op">,</tt> </tt>
+<a name="L185"></a><tt class="py-lineno"> 185</tt>  <tt class="py-line">                                 <tt id="link-35" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-35', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to uninstall ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L186"></a><tt class="py-lineno"> 186</tt>  <tt class="py-line"> </tt>
+<a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">startUpSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-36', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Installing ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line">        <tt class="py-name">onosInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L191"></a><tt class="py-lineno"> 191</tt>  <tt class="py-line">            <tt class="py-name">onosInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosInstallResult</tt> <tt class="py-keyword">and</tt> \ </tt>
+<a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall" class="py-name" href="#" onclick="return doclink('link-37', 'onosInstall', 'link-37');">onosInstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosInstallResult</tt> </tt>
+<a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L195"></a><tt class="py-lineno"> 195</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L196"></a><tt class="py-lineno"> 196</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully installed ONOS package"</tt><tt class="py-op">,</tt> </tt>
+<a name="L197"></a><tt class="py-lineno"> 197</tt>  <tt class="py-line">                                 <tt id="link-38" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-38', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to install ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line"> </tt>
+<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">startUpSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-39', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting ONOS service"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line">        <tt class="py-name">stopResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line">        <tt class="py-name">startResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line">        <tt class="py-name">onosIsUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L204"></a><tt class="py-lineno"> 204</tt>  <tt class="py-line"> </tt>
+<a name="L205"></a><tt class="py-lineno"> 205</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line">            <tt class="py-name">onosIsUp</tt> <tt class="py-op">=</tt> <tt class="py-name">onosIsUp</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.isup()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#isup"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-40', 'isup', 'link-40');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno"> 207</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">onosIsUp</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-41', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS instance is up and ready"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-42', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS instance may not be up, stop and "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L211"></a><tt class="py-lineno"> 211</tt>  <tt class="py-line">                             <tt class="py-string">"start ONOS again "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line">                <tt class="py-name">stopResult</tt> <tt class="py-op">=</tt> <tt class="py-name">stopResult</tt> <tt class="py-keyword">and</tt> \ </tt>
+<a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosStop()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStop"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosStop" class="py-name" href="#" onclick="return doclink('link-43', 'onosStop', 'link-43');">onosStop</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L216"></a><tt class="py-lineno"> 216</tt>  <tt class="py-line">                <tt class="py-name">startResult</tt> <tt class="py-op">=</tt> <tt class="py-name">startResult</tt> <tt class="py-keyword">and</tt> \ </tt>
+<a name="L217"></a><tt class="py-lineno"> 217</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosStart()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStart"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosStart" class="py-name" href="#" onclick="return doclink('link-44', 'onosStart', 'link-44');">onosStart</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L218"></a><tt class="py-lineno"> 218</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosIsUp</tt> <tt class="py-keyword">and</tt> <tt class="py-name">stopResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">startResult</tt> </tt>
+<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS service is ready"</tt><tt class="py-op">,</tt> </tt>
+<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line">                                 <tt id="link-45" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-45', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS service did not start properly"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line"> </tt>
+<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-46', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Start ONOS cli"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line">        <tt class="py-name">cliResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L226"></a><tt class="py-lineno"> 226</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line">            <tt class="py-name">cliResult</tt> <tt class="py-op">=</tt> <tt class="py-name">cliResult</tt> <tt class="py-keyword">and</tt> \ </tt>
+<a name="L228"></a><tt class="py-lineno"> 228</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#startOnosCli"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli" class="py-name" href="#" onclick="return doclink('link-47', 'startOnosCli', 'link-47');">startOnosCli</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L229"></a><tt class="py-lineno"> 229</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">cliResult</tt> </tt>
+<a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L232"></a><tt class="py-lineno"> 232</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully start ONOS cli"</tt><tt class="py-op">,</tt> </tt>
+<a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line">                                 <tt id="link-48" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-48', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to start ONOS cli"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L234"></a><tt class="py-lineno"> 234</tt>  <tt class="py-line"> </tt>
+<a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line">        <tt class="py-comment"># Remove the first element in main.scale list</tt> </tt>
+<a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">scale</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line"> </tt>
+<a name="FUNCintent.CASE8"></a><div id="FUNCintent.CASE8-def"><a name="L238"></a><tt class="py-lineno"> 238</tt> <a class="py-toggle" href="#" id="FUNCintent.CASE8-toggle" onclick="return toggle('FUNCintent.CASE8');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE8">CASE8</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FUNCintent.CASE8-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FUNCintent.CASE8-expanded"><a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line"><tt class="py-docstring">        Compare Topo</tt> </tt>
+<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line"> </tt>
+<a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-49', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Compare ONOS Topology view to Mininet topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Compare topology elements between Mininet"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line">                                <tt class="py-string">" and ONOS"</tt> </tt>
+<a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line"> </tt>
+<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-50', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Gathering topology information"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: add a paramaterized sleep here</tt> </tt>
+<a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line">        <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line">        <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">        <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line">        <tt id="link-51" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#devices"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-51', 'devices', 'link-51');">devices</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">topo</tt><tt class="py-op">.</tt><tt class="py-name">getAllDevices</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt> <tt class="py-op">)</tt> </tt>
+<a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line">        <tt id="link-52" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#hosts,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#hosts"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-52', 'hosts', 'link-52');">hosts</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">topo</tt><tt class="py-op">.</tt><tt class="py-name">getAllHosts</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt> <tt class="py-op">)</tt> </tt>
+<a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line">        <tt id="link-53" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#ports"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-53', 'ports', 'link-53');">ports</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">topo</tt><tt class="py-op">.</tt><tt class="py-name">getAllPorts</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt> <tt class="py-op">)</tt> </tt>
+<a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line">        <tt id="link-54" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#links,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#links"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-54', 'links', 'link-54');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">topo</tt><tt class="py-op">.</tt><tt class="py-name">getAllLinks</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt> <tt class="py-op">)</tt> </tt>
+<a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line">        <tt id="link-55" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#clusters"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-55', 'clusters', 'link-55');">clusters</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">topo</tt><tt class="py-op">.</tt><tt class="py-name">getAllClusters</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt> <tt class="py-op">)</tt> </tt>
+<a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line"> </tt>
+<a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line">        <tt class="py-name">mnSwitches</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitches()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitches"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitches" class="py-name" href="#" onclick="return doclink('link-56', 'getSwitches', 'link-56');">getSwitches</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line">        <tt class="py-name">mnLinks</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getLinks()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getLinks"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getLinks" class="py-name" href="#" onclick="return doclink('link-57', 'getLinks', 'link-57');">getLinks</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line">        <tt class="py-name">mnHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHosts()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getHosts"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHosts" class="py-name" href="#" onclick="return doclink('link-58', 'getHosts', 'link-58');">getHosts</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line"> </tt>
+<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-59', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Conmparing MN topology to ONOS topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-60" class="py-name" targets="Package TestON.drivers.common.api.controller=TestON.drivers.common.api.controller-module.html"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-60', 'controller', 'link-60');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L265"></a><tt class="py-lineno"> 265</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-61" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-61', 'controller', 'link-60');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-62" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-62', 'devices', 'link-51');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-63" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-63', 'controller', 'link-60');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt id="link-64" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-64', 'ports', 'link-53');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-65" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-65', 'controller', 'link-60');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line">                <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-66" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-66', 'devices', 'link-51');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-67" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-67', 'controller', 'link-60');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line">                <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-68" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-68', 'ports', 'link-53');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-69" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-69', 'controller', 'link-60');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line"> </tt>
+<a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line">                <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareSwitches()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareSwitches"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareSwitches" class="py-name" href="#" onclick="return doclink('link-70', 'compareSwitches', 'link-70');">compareSwitches</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line">                        <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> </tt>
+<a name="L272"></a><tt class="py-lineno"> 272</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-71" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-71', 'devices', 'link-51');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-72" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-72', 'controller', 'link-60');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-73" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-73', 'ports', 'link-53');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-74" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-74', 'controller', 'link-60');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L274"></a><tt class="py-lineno"> 274</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line">                <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L276"></a><tt class="py-lineno"> 276</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L277"></a><tt class="py-lineno"> 277</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentDevicesResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line">                                     <tt class="py-string">" Switches view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L280"></a><tt class="py-lineno"> 280</tt>  <tt class="py-line">                                     <tt id="link-75" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-75', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line">                                     <tt class="py-string">" Switches view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">            <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">devicesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentDevicesResult</tt> </tt>
+<a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line"> </tt>
+<a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-76" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-76', 'links', 'link-54');">links</a></tt><tt class="py-op">[</tt> <tt id="link-77" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-77', 'controller', 'link-60');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-78" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-78', 'links', 'link-54');">links</a></tt><tt class="py-op">[</tt> <tt id="link-79" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-79', 'controller', 'link-60');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line">                <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareLinks()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareLinks"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareLinks" class="py-name" href="#" onclick="return doclink('link-80', 'compareLinks', 'link-80');">compareLinks</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line">                        <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> <tt class="py-name">mnLinks</tt><tt class="py-op">,</tt> </tt>
+<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-81" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-81', 'links', 'link-54');">links</a></tt><tt class="py-op">[</tt> <tt id="link-82" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-82', 'controller', 'link-60');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line">                <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentLinksResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line">                                     <tt class="py-string">" links view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line">                                     <tt id="link-83" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-83', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line">                                     <tt class="py-string">" links view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line">            <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">linksResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentLinksResult</tt> </tt>
+<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line"> </tt>
+<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-84" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-84', 'hosts', 'link-52');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-85" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-85', 'controller', 'link-60');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-86" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-86', 'hosts', 'link-52');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-87" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-87', 'controller', 'link-60');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line">                <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareHosts()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareHosts"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareHosts" class="py-name" href="#" onclick="return doclink('link-88', 'compareHosts', 'link-88');">compareHosts</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line">                        <tt class="py-name">mnHosts</tt><tt class="py-op">,</tt> </tt>
+<a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-89" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-89', 'hosts', 'link-52');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-90" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-90', 'controller', 'link-60');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line">                <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentHostsResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line">                                     <tt class="py-string">" hosts exist in Mininet"</tt><tt class="py-op">,</tt> </tt>
+<a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line">                                     <tt id="link-91" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-91', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L309"></a><tt class="py-lineno"> 309</tt>  <tt class="py-line">                                     <tt class="py-string">" hosts don't match Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L310"></a><tt class="py-lineno"> 310</tt>  <tt class="py-line">            <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentHostsResult</tt> </tt>
+<a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line">        <tt class="py-name">topoResults</tt> <tt class="py-op">=</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">linksResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">devicesResults</tt> </tt>
+<a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">topoResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L314"></a><tt class="py-lineno"> 314</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS correctly discovered the topology"</tt><tt class="py-op">,</tt> </tt>
+<a name="L315"></a><tt class="py-lineno"> 315</tt>  <tt class="py-line">                                 <tt id="link-92" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-92', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS incorrectly discovered the topology"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line"> </tt>
+<a name="L317"></a><tt class="py-lineno"> 317</tt>  <tt class="py-line"> </tt>
+<a name="FUNCintent.CASE9"></a><div id="FUNCintent.CASE9-def"><a name="L318"></a><tt class="py-lineno"> 318</tt> <a class="py-toggle" href="#" id="FUNCintent.CASE9-toggle" onclick="return toggle('FUNCintent.CASE9');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE9">CASE9</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FUNCintent.CASE9-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FUNCintent.CASE9-expanded"><a name="L319"></a><tt class="py-lineno"> 319</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L320"></a><tt class="py-lineno"> 320</tt>  <tt class="py-line"><tt class="py-docstring">            Report errors/warnings/exceptions</tt> </tt>
+<a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L322"></a><tt class="py-lineno"> 322</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-93', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testName</tt> <tt class="py-op">+</tt> <tt class="py-string">" Report - "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line">                   <tt class="py-string">" NODE(S) - OF "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">OFProtocol</tt> <tt class="py-op">)</tt> </tt>
+<a name="L324"></a><tt class="py-lineno"> 324</tt>  <tt class="py-line"> </tt>
+<a name="L325"></a><tt class="py-lineno"> 325</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.logReport()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#logReport"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-94', 'logReport', 'link-94');">logReport</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line">                                  <tt class="py-op">[</tt> <tt class="py-string">"INFO"</tt><tt class="py-op">,</tt> </tt>
+<a name="L327"></a><tt class="py-lineno"> 327</tt>  <tt class="py-line">                                    <tt class="py-string">"FOLLOWER"</tt><tt class="py-op">,</tt> </tt>
+<a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line">                                    <tt class="py-string">"WARN"</tt><tt class="py-op">,</tt> </tt>
+<a name="L329"></a><tt class="py-lineno"> 329</tt>  <tt class="py-line">                                    <tt class="py-string">"flow"</tt><tt class="py-op">,</tt> </tt>
+<a name="L330"></a><tt class="py-lineno"> 330</tt>  <tt class="py-line">                                    <tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> </tt>
+<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line">                                    <tt class="py-string">"Except"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L332"></a><tt class="py-lineno"> 332</tt>  <tt class="py-line">                                  <tt class="py-string">"s"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L333"></a><tt class="py-lineno"> 333</tt>  <tt class="py-line"> </tt>
+<a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-95', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ERROR report: \n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-96', 'logReport', 'link-94');">logReport</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line">                    <tt class="py-op">[</tt> <tt class="py-string">"ERROR"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L338"></a><tt class="py-lineno"> 338</tt>  <tt class="py-line">                    <tt class="py-string">"d"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line"> </tt>
+<a name="L340"></a><tt class="py-lineno"> 340</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-97', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"EXCEPTIONS report: \n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L341"></a><tt class="py-lineno"> 341</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-98', 'logReport', 'link-94');">logReport</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line">                    <tt class="py-op">[</tt> <tt class="py-string">"Except"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line">                    <tt class="py-string">"d"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L345"></a><tt class="py-lineno"> 345</tt>  <tt class="py-line"> </tt>
+<a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-99', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"WARNING report: \n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-100', 'logReport', 'link-94');">logReport</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L349"></a><tt class="py-lineno"> 349</tt>  <tt class="py-line">                    <tt class="py-op">[</tt> <tt class="py-string">"WARN"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L350"></a><tt class="py-lineno"> 350</tt>  <tt class="py-line">                    <tt class="py-string">"d"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line"> </tt>
+<a name="FUNCintent.CASE10"></a><div id="FUNCintent.CASE10-def"><a name="L352"></a><tt class="py-lineno"> 352</tt> <a class="py-toggle" href="#" id="FUNCintent.CASE10-toggle" onclick="return toggle('FUNCintent.CASE10');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE10">CASE10</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FUNCintent.CASE10-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FUNCintent.CASE10-expanded"><a name="L353"></a><tt class="py-lineno"> 353</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line"><tt class="py-docstring">            Start Mininet topology with OF 1.0 switches</tt> </tt>
+<a name="L355"></a><tt class="py-lineno"> 355</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">OFProtocol</tt> <tt class="py-op">=</tt> <tt class="py-string">"1.0"</tt> </tt>
+<a name="L357"></a><tt class="py-lineno"> 357</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-101', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Start Mininet topology with OF 1.0 switches"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-102', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Start Mininet topology with OF 1.0 switches"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Start mininet topology with OF 1.0 "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line">                                <tt class="py-string">"switches to test intents, exits out if "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line">                                <tt class="py-string">"topology did not start correctly"</tt> </tt>
+<a name="L362"></a><tt class="py-lineno"> 362</tt>  <tt class="py-line"> </tt>
+<a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-103', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting Mininet topology with OF 1.0 switches"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L364"></a><tt class="py-lineno"> 364</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-string">"--switch ovs,protocols=OpenFlow10"</tt> </tt>
+<a name="L365"></a><tt class="py-lineno"> 365</tt>  <tt class="py-line">        <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet" class="py-name" href="#" onclick="return doclink('link-104', 'startNet', 'link-104');">startNet</a></tt><tt class="py-op">(</tt> <tt class="py-name">topoFile</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">dependencyPath</tt> <tt class="py-op">+</tt> </tt>
+<a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line">                                                      <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-105', 'topology', 'link-4');">topology</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L367"></a><tt class="py-lineno"> 367</tt>  <tt class="py-line">                                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-name">args</tt> <tt class="py-op">)</tt> </tt>
+<a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">topoResult</tt> </tt>
+<a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully loaded topology"</tt><tt class="py-op">,</tt> </tt>
+<a name="L372"></a><tt class="py-lineno"> 372</tt>  <tt class="py-line">                                 <tt id="link-106" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-106', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to load topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L373"></a><tt class="py-lineno"> 373</tt>  <tt class="py-line">        <tt class="py-comment"># Exit if topology did not load properly</tt> </tt>
+<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">topoResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-107', 'cleanup', 'link-12');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L376"></a><tt class="py-lineno"> 376</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-108', 'exit', 'link-13');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line"> </tt>
+<a name="FUNCintent.CASE11"></a><div id="FUNCintent.CASE11-def"><a name="L378"></a><tt class="py-lineno"> 378</tt> <a class="py-toggle" href="#" id="FUNCintent.CASE11-toggle" onclick="return toggle('FUNCintent.CASE11');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE11">CASE11</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FUNCintent.CASE11-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FUNCintent.CASE11-expanded"><a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line"><tt class="py-docstring">            Start Mininet topology with OF 1.3 switches</tt> </tt>
+<a name="L381"></a><tt class="py-lineno"> 381</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L382"></a><tt class="py-lineno"> 382</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">OFProtocol</tt> <tt class="py-op">=</tt> <tt class="py-string">"1.3"</tt> </tt>
+<a name="L383"></a><tt class="py-lineno"> 383</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-109', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Start Mininet topology with OF 1.3 switches"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L384"></a><tt class="py-lineno"> 384</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-110', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Start Mininet topology with OF 1.3 switches"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L385"></a><tt class="py-lineno"> 385</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Start mininet topology with OF 1.3 "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L386"></a><tt class="py-lineno"> 386</tt>  <tt class="py-line">                                <tt class="py-string">"switches to test intents, exits out if "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line">                                <tt class="py-string">"topology did not start correctly"</tt> </tt>
+<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line"> </tt>
+<a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-111', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting Mininet topology with OF 1.3 switches"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-string">"--switch ovs,protocols=OpenFlow13"</tt> </tt>
+<a name="L391"></a><tt class="py-lineno"> 391</tt>  <tt class="py-line">        <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet" class="py-name" href="#" onclick="return doclink('link-112', 'startNet', 'link-104');">startNet</a></tt><tt class="py-op">(</tt> <tt class="py-name">topoFile</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">dependencyPath</tt> <tt class="py-op">+</tt> </tt>
+<a name="L392"></a><tt class="py-lineno"> 392</tt>  <tt class="py-line">                                                      <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-113', 'topology', 'link-4');">topology</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line">                                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-name">args</tt> <tt class="py-op">)</tt> </tt>
+<a name="L394"></a><tt class="py-lineno"> 394</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">topoResult</tt> </tt>
+<a name="L395"></a><tt class="py-lineno"> 395</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L396"></a><tt class="py-lineno"> 396</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully loaded topology"</tt><tt class="py-op">,</tt> </tt>
+<a name="L398"></a><tt class="py-lineno"> 398</tt>  <tt class="py-line">                                 <tt id="link-114" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-114', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to load topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L399"></a><tt class="py-lineno"> 399</tt>  <tt class="py-line">        <tt class="py-comment"># Exit if topology did not load properly</tt> </tt>
+<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">topoResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L401"></a><tt class="py-lineno"> 401</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-115', 'cleanup', 'link-12');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L402"></a><tt class="py-lineno"> 402</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-116', 'exit', 'link-13');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line"> </tt>
+<a name="FUNCintent.CASE12"></a><div id="FUNCintent.CASE12-def"><a name="L404"></a><tt class="py-lineno"> 404</tt> <a class="py-toggle" href="#" id="FUNCintent.CASE12-toggle" onclick="return toggle('FUNCintent.CASE12');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE12">CASE12</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FUNCintent.CASE12-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FUNCintent.CASE12-expanded"><a name="L405"></a><tt class="py-lineno"> 405</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L406"></a><tt class="py-lineno"> 406</tt>  <tt class="py-line"><tt class="py-docstring">            Assign mastership to controllers</tt> </tt>
+<a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L408"></a><tt class="py-lineno"> 408</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L409"></a><tt class="py-lineno"> 409</tt>  <tt class="py-line"> </tt>
+<a name="L410"></a><tt class="py-lineno"> 410</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-117', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assign switches to controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L411"></a><tt class="py-lineno"> 411</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-118', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assigning switches to controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Assign OF "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">OFProtocol</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line">                                <tt class="py-string">" switches to ONOS nodes"</tt> </tt>
+<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line"> </tt>
+<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line">        <tt class="py-name">assignResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line">        <tt class="py-name">switchList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line"> </tt>
+<a name="L418"></a><tt class="py-lineno"> 418</tt>  <tt class="py-line">        <tt class="py-comment"># Creates a list switch name, use getSwitch() function later...</tt> </tt>
+<a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numSwitch</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line">            <tt class="py-name">switchList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">'s'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line"> </tt>
+<a name="L422"></a><tt class="py-lineno"> 422</tt>  <tt class="py-line">        <tt class="py-name">tempONOSip</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line">            <tt class="py-name">tempONOSip</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L425"></a><tt class="py-lineno"> 425</tt>  <tt class="py-line"> </tt>
+<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line">        <tt class="py-name">assignResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignSwController"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController" class="py-name" href="#" onclick="return doclink('link-119', 'assignSwController', 'link-119');">assignSwController</a></tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt><tt class="py-op">=</tt><tt class="py-name">switchList</tt><tt class="py-op">,</tt> </tt>
+<a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line">                                                         <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">tempONOSip</tt><tt class="py-op">,</tt> </tt>
+<a name="L428"></a><tt class="py-lineno"> 428</tt>  <tt class="py-line">                                                         <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-string">'6633'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">assignResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-120', 'cleanup', 'link-12');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-121', 'exit', 'link-13');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line"> </tt>
+<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numSwitch</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwController()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwController"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwController" class="py-name" href="#" onclick="return doclink('link-122', 'getSwController', 'link-122');">getSwController</a></tt><tt class="py-op">(</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt> <tt class="py-string">"Response is "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L436"></a><tt class="py-lineno"> 436</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line">                <tt class="py-name">assignResult</tt> <tt class="py-op">=</tt> <tt class="py-name">assignResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L438"></a><tt class="py-lineno"> 438</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L439"></a><tt class="py-lineno"> 439</tt>  <tt class="py-line">                <tt class="py-name">assignResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">assignResult</tt> </tt>
+<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully assigned switches"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L444"></a><tt class="py-lineno"> 444</tt>  <tt class="py-line">                                        <tt class="py-string">"to controller"</tt><tt class="py-op">,</tt> </tt>
+<a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line">                                 <tt id="link-123" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-123', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to assign switches to "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L446"></a><tt class="py-lineno"> 446</tt>  <tt class="py-line">                                        <tt class="py-string">"controller"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="FUNCintent.CASE13"></a><div id="FUNCintent.CASE13-def"><a name="L447"></a><tt class="py-lineno"> 447</tt> <a class="py-toggle" href="#" id="FUNCintent.CASE13-toggle" onclick="return toggle('FUNCintent.CASE13');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE13">CASE13</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FUNCintent.CASE13-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FUNCintent.CASE13-expanded"><a name="L448"></a><tt class="py-lineno"> 448</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line"><tt class="py-docstring">            Discover all hosts and store its data to a dictionary</tt> </tt>
+<a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L451"></a><tt class="py-lineno"> 451</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-124', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Discover all hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L452"></a><tt class="py-lineno"> 452</tt>  <tt class="py-line"> </tt>
+<a name="L453"></a><tt class="py-lineno"> 453</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-125', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Discover all hosts using pingall "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">getHostsData</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt> <tt class="py-op">)</tt> </tt>
+<a name="L456"></a><tt class="py-lineno"> 456</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully discovered hosts"</tt><tt class="py-op">,</tt> </tt>
+<a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line">                                 <tt id="link-126" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-126', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to discover hosts"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line"> </tt>
+<a name="FUNCintent.CASE14"></a><div id="FUNCintent.CASE14-def"><a name="L461"></a><tt class="py-lineno"> 461</tt> <a class="py-toggle" href="#" id="FUNCintent.CASE14-toggle" onclick="return toggle('FUNCintent.CASE14');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE14">CASE14</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FUNCintent.CASE14-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FUNCintent.CASE14-expanded"><a name="L462"></a><tt class="py-lineno"> 462</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L463"></a><tt class="py-lineno"> 463</tt>  <tt class="py-line"><tt class="py-docstring">            Stop mininet</tt> </tt>
+<a name="L464"></a><tt class="py-lineno"> 464</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-127', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Stop Mininet topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L466"></a><tt class="py-lineno"> 466</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-128', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Stop Mininet topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Stopping the current mininet topology "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line">                                <tt class="py-string">"to start up fresh"</tt> </tt>
+<a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line"> </tt>
+<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-129', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Stopping Mininet Topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L471"></a><tt class="py-lineno"> 471</tt>  <tt class="py-line">        <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet" class="py-name" href="#" onclick="return doclink('link-130', 'stopNet', 'link-130');">stopNet</a></tt><tt class="py-op">(</tt> <tt class="py-op">)</tt> </tt>
+<a name="L472"></a><tt class="py-lineno"> 472</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">topoResult</tt> </tt>
+<a name="L473"></a><tt class="py-lineno"> 473</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully stop mininet"</tt><tt class="py-op">,</tt> </tt>
+<a name="L476"></a><tt class="py-lineno"> 476</tt>  <tt class="py-line">                                 <tt id="link-131" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-131', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to stop mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line">        <tt class="py-comment"># Exit if topology did not load properly</tt> </tt>
+<a name="L478"></a><tt class="py-lineno"> 478</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">topoResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L479"></a><tt class="py-lineno"> 479</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-132', 'cleanup', 'link-12');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-133', 'exit', 'link-13');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L481"></a><tt class="py-lineno"> 481</tt>  <tt class="py-line"> </tt>
+<a name="FUNCintent.CASE1000"></a><div id="FUNCintent.CASE1000-def"><a name="L482"></a><tt class="py-lineno"> 482</tt> <a class="py-toggle" href="#" id="FUNCintent.CASE1000-toggle" onclick="return toggle('FUNCintent.CASE1000');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE1000">CASE1000</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FUNCintent.CASE1000-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FUNCintent.CASE1000-expanded"><a name="L483"></a><tt class="py-lineno"> 483</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line"><tt class="py-docstring">            Add host intents between 2 host:</tt> </tt>
+<a name="L485"></a><tt class="py-lineno"> 485</tt>  <tt class="py-line"><tt class="py-docstring">                - Discover hosts</tt> </tt>
+<a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line"><tt class="py-docstring">                - Add host intents</tt> </tt>
+<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line"><tt class="py-docstring">                - Check intents</tt> </tt>
+<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line"><tt class="py-docstring">                - Verify flows</tt> </tt>
+<a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line"><tt class="py-docstring">                - Ping hosts</tt> </tt>
+<a name="L490"></a><tt class="py-lineno"> 490</tt>  <tt class="py-line"><tt class="py-docstring">                - Reroute</tt> </tt>
+<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line"><tt class="py-docstring">                    - Link down</tt> </tt>
+<a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line"><tt class="py-docstring">                    - Verify flows</tt> </tt>
+<a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line"><tt class="py-docstring">                    - Check topology</tt> </tt>
+<a name="L494"></a><tt class="py-lineno"> 494</tt>  <tt class="py-line"><tt class="py-docstring">                    - Ping hosts</tt> </tt>
+<a name="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line"><tt class="py-docstring">                    - Link up</tt> </tt>
+<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line"><tt class="py-docstring">                    - Verify flows</tt> </tt>
+<a name="L497"></a><tt class="py-lineno"> 497</tt>  <tt class="py-line"><tt class="py-docstring">                    - Check topology</tt> </tt>
+<a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line"><tt class="py-docstring">                    - Ping hosts</tt> </tt>
+<a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line"><tt class="py-docstring">                - Remove intents</tt> </tt>
+<a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L504"></a><tt class="py-lineno"> 504</tt>  <tt class="py-line"> </tt>
+<a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line">        <tt class="py-comment"># Assert variables - These variable's name|format must be followed</tt> </tt>
+<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line">        <tt class="py-comment"># if you want to use the wrapper function</tt> </tt>
+<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"There is no main"</tt> </tt>
+<a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"There is no main.CLIs"</tt> </tt>
+<a name="L509"></a><tt class="py-lineno"> 509</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">,</tt> <tt class="py-string">"Mininet handle should be named Mininet1"</tt> </tt>
+<a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numSwitch</tt><tt class="py-op">,</tt> <tt class="py-string">"Placed the total number of switch topology in \</tt> </tt>
+<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line"><tt class="py-string">                                main.numSwitch"</tt> </tt>
+<a name="L512"></a><tt class="py-lineno"> 512</tt>  <tt class="py-line"> </tt>
+<a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line">        <tt class="py-name">intentLeadersOld</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaderCandidates()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#leaderCandidates"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaderCandidates" class="py-name" href="#" onclick="return doclink('link-134', 'leaderCandidates', 'link-134');">leaderCandidates</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line"> </tt>
+<a name="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testName</tt> <tt class="py-op">=</tt> <tt class="py-string">"Host Intents"</tt> </tt>
+<a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-135', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testName</tt> <tt class="py-op">+</tt> <tt class="py-string">" Test - "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L517"></a><tt class="py-lineno"> 517</tt>  <tt class="py-line">                   <tt class="py-string">" NODE(S) - OF "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">OFProtocol</tt> <tt class="py-op">)</tt> </tt>
+<a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"This test case tests Host intents using "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L519"></a><tt class="py-lineno"> 519</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" node(s) cluster;\n"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L520"></a><tt class="py-lineno"> 520</tt>  <tt class="py-line">                                <tt class="py-string">"Different type of hosts will be tested in "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L521"></a><tt class="py-lineno"> 521</tt>  <tt class="py-line">                                <tt class="py-string">"each step such as IPV4, Dual stack, VLAN "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L522"></a><tt class="py-lineno"> 522</tt>  <tt class="py-line">                                <tt class="py-string">"etc;\nThe test will use OF "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">OFProtocol</tt>\ </tt>
+<a name="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line">                                <tt class="py-op">+</tt> <tt class="py-string">" OVS running in Mininet"</tt> </tt>
+<a name="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line"> </tt>
+<a name="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-136', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"IPV4: Add host intents between h1 and h9"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L527"></a><tt class="py-lineno"> 527</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">hostIntent</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line">                                              <tt class="py-name">onosNode</tt><tt class="py-op">=</tt><tt class="py-string">'0'</tt><tt class="py-op">,</tt> </tt>
+<a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line">                                              <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">'IPV4'</tt><tt class="py-op">,</tt> </tt>
+<a name="L530"></a><tt class="py-lineno"> 530</tt>  <tt class="py-line">                                              <tt class="py-name">host1</tt><tt class="py-op">=</tt><tt class="py-string">'h1'</tt><tt class="py-op">,</tt> </tt>
+<a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line">                                              <tt class="py-name">host2</tt><tt class="py-op">=</tt><tt class="py-string">'h9'</tt><tt class="py-op">,</tt> </tt>
+<a name="L532"></a><tt class="py-lineno"> 532</tt>  <tt class="py-line">                                              <tt class="py-name">host1Id</tt><tt class="py-op">=</tt><tt class="py-string">'00:00:00:00:00:01/-1'</tt><tt class="py-op">,</tt> </tt>
+<a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line">                                              <tt class="py-name">host2Id</tt><tt class="py-op">=</tt><tt class="py-string">'00:00:00:00:00:09/-1'</tt><tt class="py-op">,</tt> </tt>
+<a name="L534"></a><tt class="py-lineno"> 534</tt>  <tt class="py-line">                                              <tt class="py-name">sw1</tt><tt class="py-op">=</tt><tt class="py-string">'s5'</tt><tt class="py-op">,</tt> </tt>
+<a name="L535"></a><tt class="py-lineno"> 535</tt>  <tt class="py-line">                                              <tt class="py-name">sw2</tt><tt class="py-op">=</tt><tt class="py-string">'s2'</tt><tt class="py-op">,</tt> </tt>
+<a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line">                                              <tt class="py-name">expectedLink</tt><tt class="py-op">=</tt><tt class="py-number">18</tt> <tt class="py-op">)</tt> </tt>
+<a name="L537"></a><tt class="py-lineno"> 537</tt>  <tt class="py-line"> </tt>
+<a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4: Host intent test successful "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line">                                        <tt class="py-string">"between two IPV4 hosts"</tt><tt class="py-op">,</tt> </tt>
+<a name="L542"></a><tt class="py-lineno"> 542</tt>  <tt class="py-line">                                 <tt id="link-137" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-137', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"IPV4: Host intent test failed "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line">                                        <tt class="py-string">"between two IPV4 hosts"</tt><tt class="py-op">)</tt> </tt>
+<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line"> </tt>
+<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-138', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"DUALSTACK1: Add host intents between h3 and h11"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">hostIntent</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line">                                              <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">'DUALSTACK'</tt><tt class="py-op">,</tt> </tt>
+<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line">                                              <tt class="py-name">host1</tt><tt class="py-op">=</tt><tt class="py-string">'h3'</tt><tt class="py-op">,</tt> </tt>
+<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">                                              <tt class="py-name">host2</tt><tt class="py-op">=</tt><tt class="py-string">'h11'</tt><tt class="py-op">,</tt> </tt>
+<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line">                                              <tt class="py-name">host1Id</tt><tt class="py-op">=</tt><tt class="py-string">'00:00:00:00:00:03/-1'</tt><tt class="py-op">,</tt> </tt>
+<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">                                              <tt class="py-name">host2Id</tt><tt class="py-op">=</tt><tt class="py-string">'00:00:00:00:00:0B/-1'</tt><tt class="py-op">,</tt> </tt>
+<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line">                                              <tt class="py-name">sw1</tt><tt class="py-op">=</tt><tt class="py-string">'s5'</tt><tt class="py-op">,</tt> </tt>
+<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">                                              <tt class="py-name">sw2</tt><tt class="py-op">=</tt><tt class="py-string">'s2'</tt><tt class="py-op">,</tt> </tt>
+<a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">                                              <tt class="py-name">expectedLink</tt><tt class="py-op">=</tt><tt class="py-number">18</tt> <tt class="py-op">)</tt> </tt>
+<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line"> </tt>
+<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"DUALSTACK: Host intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">                                        <tt class="py-string">"successful between two "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line">                                        <tt class="py-string">"dual stack host using IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line">                                 <tt id="link-139" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-139', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"DUALSTACK: Host intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">                                        <tt class="py-string">"failed between two"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line">                                        <tt class="py-string">"dual stack host using IPV4"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line"> </tt>
+<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line"> </tt>
+<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-140', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"DUALSTACK2: Add host intents between h1 and h11"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">hostIntent</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L570"></a><tt class="py-lineno"> 570</tt>  <tt class="py-line">                                              <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">'DUALSTACK2'</tt><tt class="py-op">,</tt> </tt>
+<a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line">                                              <tt class="py-name">host1</tt><tt class="py-op">=</tt><tt class="py-string">'h1'</tt><tt class="py-op">,</tt> </tt>
+<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line">                                              <tt class="py-name">host2</tt><tt class="py-op">=</tt><tt class="py-string">'h11'</tt><tt class="py-op">,</tt> </tt>
+<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line">                                              <tt class="py-name">sw1</tt><tt class="py-op">=</tt><tt class="py-string">'s5'</tt><tt class="py-op">,</tt> </tt>
+<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line">                                              <tt class="py-name">sw2</tt><tt class="py-op">=</tt><tt class="py-string">'s2'</tt><tt class="py-op">,</tt> </tt>
+<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line">                                              <tt class="py-name">expectedLink</tt><tt class="py-op">=</tt><tt class="py-number">18</tt> <tt class="py-op">)</tt> </tt>
+<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line"> </tt>
+<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"DUALSTACK2: Host intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L580"></a><tt class="py-lineno"> 580</tt>  <tt class="py-line">                                        <tt class="py-string">"successful between two "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">                                        <tt class="py-string">"dual stack host using IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line">                                 <tt id="link-141" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-141', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"DUALSTACK2: Host intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line">                                        <tt class="py-string">"failed between two"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line">                                        <tt class="py-string">"dual stack host using IPV4"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line"> </tt>
+<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-142', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"1HOP: Add host intents between h1 and h3"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">hostIntent</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line">                                              <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">'1HOP'</tt><tt class="py-op">,</tt> </tt>
+<a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line">                                              <tt class="py-name">host1</tt><tt class="py-op">=</tt><tt class="py-string">'h1'</tt><tt class="py-op">,</tt> </tt>
+<a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line">                                              <tt class="py-name">host2</tt><tt class="py-op">=</tt><tt class="py-string">'h3'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line"> </tt>
+<a name="L593"></a><tt class="py-lineno"> 593</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"1HOP: Host intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line">                                        <tt class="py-string">"successful between two "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line">                                        <tt class="py-string">"host using IPV4 in the same switch"</tt><tt class="py-op">,</tt> </tt>
+<a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line">                                 <tt id="link-143" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-143', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"1HOP: Host intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line">                                        <tt class="py-string">"failed between two"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L600"></a><tt class="py-lineno"> 600</tt>  <tt class="py-line">                                        <tt class="py-string">"host using IPV4 in the same switch"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line"> </tt>
+<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-144', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"VLAN1: Add vlan host intents between h4 and h12"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">hostIntent</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line">                                              <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">'VLAN1'</tt><tt class="py-op">,</tt> </tt>
+<a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line">                                              <tt class="py-name">host1</tt><tt class="py-op">=</tt><tt class="py-string">'h4'</tt><tt class="py-op">,</tt> </tt>
+<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">                                              <tt class="py-name">host2</tt><tt class="py-op">=</tt><tt class="py-string">'h12'</tt><tt class="py-op">,</tt> </tt>
+<a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line">                                              <tt class="py-name">host1Id</tt><tt class="py-op">=</tt><tt class="py-string">'00:00:00:00:00:04/100'</tt><tt class="py-op">,</tt> </tt>
+<a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line">                                              <tt class="py-name">host2Id</tt><tt class="py-op">=</tt><tt class="py-string">'00:00:00:00:00:0C/100'</tt><tt class="py-op">,</tt> </tt>
+<a name="L610"></a><tt class="py-lineno"> 610</tt>  <tt class="py-line">                                              <tt class="py-name">sw1</tt><tt class="py-op">=</tt><tt class="py-string">'s5'</tt><tt class="py-op">,</tt> </tt>
+<a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line">                                              <tt class="py-name">sw2</tt><tt class="py-op">=</tt><tt class="py-string">'s2'</tt><tt class="py-op">,</tt> </tt>
+<a name="L612"></a><tt class="py-lineno"> 612</tt>  <tt class="py-line">                                              <tt class="py-name">expectedLink</tt><tt class="py-op">=</tt><tt class="py-number">18</tt> <tt class="py-op">)</tt> </tt>
+<a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line"> </tt>
+<a name="L614"></a><tt class="py-lineno"> 614</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L616"></a><tt class="py-lineno"> 616</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"VLAN1: Host intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line">                                        <tt class="py-string">"successful between two "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">                                        <tt class="py-string">"host using IPV4 in the same VLAN"</tt><tt class="py-op">,</tt> </tt>
+<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line">                                 <tt id="link-145" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-145', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"VLAN1: Host intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line">                                        <tt class="py-string">"failed between two"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line">                                        <tt class="py-string">"host using IPV4 in the same VLAN"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line"> </tt>
+<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-146', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"VLAN2: Add inter vlan host intents between h13 and h20"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">hostIntent</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line">                                              <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">'VLAN2'</tt><tt class="py-op">,</tt> </tt>
+<a name="L627"></a><tt class="py-lineno"> 627</tt>  <tt class="py-line">                                              <tt class="py-name">host1</tt><tt class="py-op">=</tt><tt class="py-string">'h13'</tt><tt class="py-op">,</tt> </tt>
+<a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line">                                              <tt class="py-name">host2</tt><tt class="py-op">=</tt><tt class="py-string">'h20'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line"> </tt>
+<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">,</tt> </tt>
+<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"VLAN2: Host intent negative test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line">                                        <tt class="py-string">"successful between two "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L634"></a><tt class="py-lineno"> 634</tt>  <tt class="py-line">                                        <tt class="py-string">"host using IPV4 in different VLAN"</tt><tt class="py-op">,</tt> </tt>
+<a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line">                                 <tt id="link-147" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-147', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"VLAN2: Host intent negative test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">                                        <tt class="py-string">"failed between two"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line">                                        <tt class="py-string">"host using IPV4 in different VLAN"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L638"></a><tt class="py-lineno"> 638</tt>  <tt class="py-line"> </tt>
+<a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line"> </tt>
+<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line">        <tt class="py-name">intentLeadersNew</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaderCandidates" class="py-name" href="#" onclick="return doclink('link-148', 'leaderCandidates', 'link-134');">leaderCandidates</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">checkLeaderChange</tt><tt class="py-op">(</tt> <tt class="py-name">intentLeadersOld</tt><tt class="py-op">,</tt> </tt>
+<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line">                                                <tt class="py-name">intentLeadersNew</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line"> </tt>
+<a name="FUNCintent.CASE2000"></a><div id="FUNCintent.CASE2000-def"><a name="L644"></a><tt class="py-lineno"> 644</tt> <a class="py-toggle" href="#" id="FUNCintent.CASE2000-toggle" onclick="return toggle('FUNCintent.CASE2000');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE2000">CASE2000</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FUNCintent.CASE2000-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FUNCintent.CASE2000-expanded"><a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line"><tt class="py-docstring">            Add point intents between 2 hosts:</tt> </tt>
+<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line"><tt class="py-docstring">                - Get device ids | ports</tt> </tt>
+<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line"><tt class="py-docstring">                - Add point intents</tt> </tt>
+<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line"><tt class="py-docstring">                - Check intents</tt> </tt>
+<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line"><tt class="py-docstring">                - Verify flows</tt> </tt>
+<a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line"><tt class="py-docstring">                - Ping hosts</tt> </tt>
+<a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line"><tt class="py-docstring">                - Reroute</tt> </tt>
+<a name="L653"></a><tt class="py-lineno"> 653</tt>  <tt class="py-line"><tt class="py-docstring">                    - Link down</tt> </tt>
+<a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line"><tt class="py-docstring">                    - Verify flows</tt> </tt>
+<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line"><tt class="py-docstring">                    - Check topology</tt> </tt>
+<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line"><tt class="py-docstring">                    - Ping hosts</tt> </tt>
+<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line"><tt class="py-docstring">                    - Link up</tt> </tt>
+<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line"><tt class="py-docstring">                    - Verify flows</tt> </tt>
+<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line"><tt class="py-docstring">                    - Check topology</tt> </tt>
+<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line"><tt class="py-docstring">                    - Ping hosts</tt> </tt>
+<a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line"><tt class="py-docstring">                - Remove intents</tt> </tt>
+<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L663"></a><tt class="py-lineno"> 663</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line"> </tt>
+<a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line">        <tt class="py-comment"># Assert variables - These variable's name|format must be followed</tt> </tt>
+<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line">        <tt class="py-comment"># if you want to use the wrapper function</tt> </tt>
+<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"There is no main"</tt> </tt>
+<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"There is no main.CLIs"</tt> </tt>
+<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">,</tt> <tt class="py-string">"Mininet handle should be named Mininet1"</tt> </tt>
+<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numSwitch</tt><tt class="py-op">,</tt> <tt class="py-string">"Placed the total number of switch topology in \</tt> </tt>
+<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line"><tt class="py-string">                                main.numSwitch"</tt> </tt>
+<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line"> </tt>
+<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testName</tt> <tt class="py-op">=</tt> <tt class="py-string">"Point Intents"</tt> </tt>
+<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-149', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testName</tt> <tt class="py-op">+</tt> <tt class="py-string">" Test - "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line">                   <tt class="py-string">" NODE(S) - OF "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">OFProtocol</tt> <tt class="py-op">)</tt> </tt>
+<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"This test case will test point to point"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line">                               <tt class="py-string">" intents using "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L680"></a><tt class="py-lineno"> 680</tt>  <tt class="py-line">                               <tt class="py-string">" node(s) cluster;\n"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line">                               <tt class="py-string">"Different type of hosts will be tested in "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line">                               <tt class="py-string">"each step such as IPV4, Dual stack, VLAN etc"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line">                               <tt class="py-string">";\nThe test will use OF "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">OFProtocol</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line">                               <tt class="py-string">" OVS running in Mininet"</tt> </tt>
+<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line"> </tt>
+<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line">        <tt class="py-comment"># No option point intents</tt> </tt>
+<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-150', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"NOOPTION: Add point intents between h1 and h9"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">pointIntent</tt><tt class="py-op">(</tt> </tt>
+<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line">                                       <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line">                                       <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"NOOPTION"</tt><tt class="py-op">,</tt> </tt>
+<a name="L692"></a><tt class="py-lineno"> 692</tt>  <tt class="py-line">                                       <tt class="py-name">host1</tt><tt class="py-op">=</tt><tt class="py-string">"h1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">                                       <tt class="py-name">host2</tt><tt class="py-op">=</tt><tt class="py-string">"h9"</tt><tt class="py-op">,</tt> </tt>
+<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line">                                       <tt class="py-name">deviceId1</tt><tt class="py-op">=</tt><tt class="py-string">"of:0000000000000005/1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line">                                       <tt class="py-name">deviceId2</tt><tt class="py-op">=</tt><tt class="py-string">"of:0000000000000006/1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line">                                       <tt class="py-name">sw1</tt><tt class="py-op">=</tt><tt class="py-string">"s5"</tt><tt class="py-op">,</tt> </tt>
+<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line">                                       <tt class="py-name">sw2</tt><tt class="py-op">=</tt><tt class="py-string">"s2"</tt><tt class="py-op">,</tt> </tt>
+<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line">                                       <tt class="py-name">expectedLink</tt><tt class="py-op">=</tt><tt class="py-number">18</tt> <tt class="py-op">)</tt> </tt>
+<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line"> </tt>
+<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"NOOPTION: Point intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line">                                        <tt class="py-string">"successful using no match action"</tt><tt class="py-op">,</tt> </tt>
+<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line">                                 <tt id="link-151" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-151', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"NOOPTION: Point intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line">                                        <tt class="py-string">"failed using no match action"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line"> </tt>
+<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-152', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"IPV4: Add point intents between h1 and h9"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">pointIntent</tt><tt class="py-op">(</tt> </tt>
+<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line">                                       <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line">                                       <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line">                                       <tt class="py-name">host1</tt><tt class="py-op">=</tt><tt class="py-string">"h1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line">                                       <tt class="py-name">host2</tt><tt class="py-op">=</tt><tt class="py-string">"h9"</tt><tt class="py-op">,</tt> </tt>
+<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line">                                       <tt class="py-name">deviceId1</tt><tt class="py-op">=</tt><tt class="py-string">"of:0000000000000005/1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line">                                       <tt class="py-name">deviceId2</tt><tt class="py-op">=</tt><tt class="py-string">"of:0000000000000006/1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line">                                       <tt class="py-name">port1</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line">                                       <tt class="py-name">port2</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line">                                       <tt class="py-name">ethType</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line">                                       <tt class="py-name">mac1</tt><tt class="py-op">=</tt><tt class="py-string">"00:00:00:00:00:01"</tt><tt class="py-op">,</tt> </tt>
+<a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line">                                       <tt class="py-name">mac2</tt><tt class="py-op">=</tt><tt class="py-string">"00:00:00:00:00:09"</tt><tt class="py-op">,</tt> </tt>
+<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line">                                       <tt class="py-name">bandwidth</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">                                       <tt class="py-name">lambdaAlloc</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line">                                       <tt class="py-name">ipProto</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line">                                       <tt class="py-name">ip1</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line">                                       <tt class="py-name">ip2</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line">                                       <tt class="py-name">tcp1</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L727"></a><tt class="py-lineno"> 727</tt>  <tt class="py-line">                                       <tt class="py-name">tcp2</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line">                                       <tt class="py-name">sw1</tt><tt class="py-op">=</tt><tt class="py-string">"s5"</tt><tt class="py-op">,</tt> </tt>
+<a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line">                                       <tt class="py-name">sw2</tt><tt class="py-op">=</tt><tt class="py-string">"s2"</tt><tt class="py-op">,</tt> </tt>
+<a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line">                                       <tt class="py-name">expectedLink</tt><tt class="py-op">=</tt><tt class="py-number">18</tt> <tt class="py-op">)</tt> </tt>
+<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line"> </tt>
+<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4: Point intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line">                                        <tt class="py-string">"successful using IPV4 type with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">                                        <tt class="py-string">"MAC addresses"</tt><tt class="py-op">,</tt> </tt>
+<a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line">                                 <tt id="link-153" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-153', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"IPV4: Point intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line">                                        <tt class="py-string">"failed using IPV4 type with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L739"></a><tt class="py-lineno"> 739</tt>  <tt class="py-line">                                        <tt class="py-string">"MAC addresses"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-154', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"IPV4_2: Add point intents between h1 and h9"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">pointIntent</tt><tt class="py-op">(</tt> </tt>
+<a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line">                                       <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line">                                       <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4_2"</tt><tt class="py-op">,</tt> </tt>
+<a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line">                                       <tt class="py-name">host1</tt><tt class="py-op">=</tt><tt class="py-string">"h1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line">                                       <tt class="py-name">host2</tt><tt class="py-op">=</tt><tt class="py-string">"h9"</tt><tt class="py-op">,</tt> </tt>
+<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line">                                       <tt class="py-name">deviceId1</tt><tt class="py-op">=</tt><tt class="py-string">"of:0000000000000005/1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line">                                       <tt class="py-name">deviceId2</tt><tt class="py-op">=</tt><tt class="py-string">"of:0000000000000006/1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line">                                       <tt class="py-name">ipProto</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line">                                       <tt class="py-name">ip1</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line">                                       <tt class="py-name">ip2</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line">                                       <tt class="py-name">tcp1</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line">                                       <tt class="py-name">tcp2</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line">                                       <tt class="py-name">sw1</tt><tt class="py-op">=</tt><tt class="py-string">"s5"</tt><tt class="py-op">,</tt> </tt>
+<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line">                                       <tt class="py-name">sw2</tt><tt class="py-op">=</tt><tt class="py-string">"s2"</tt><tt class="py-op">,</tt> </tt>
+<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line">                                       <tt class="py-name">expectedLink</tt><tt class="py-op">=</tt><tt class="py-number">18</tt> <tt class="py-op">)</tt> </tt>
+<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line"> </tt>
+<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4_2: Point intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line">                                        <tt class="py-string">"successful using IPV4 type with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line">                                        <tt class="py-string">"no MAC addresses"</tt><tt class="py-op">,</tt> </tt>
+<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line">                                 <tt id="link-155" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-155', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"IPV4_2: Point intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line">                                        <tt class="py-string">"failed using IPV4 type with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line">                                        <tt class="py-string">"no MAC addresses"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line"> </tt>
+<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-156', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"SDNIP-ICMP: Add point intents between h1 and h9"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L769"></a><tt class="py-lineno"> 769</tt>  <tt class="py-line">        <tt class="py-name">mac1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostsData</tt><tt class="py-op">[</tt> <tt class="py-string">'h1'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'mac'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L770"></a><tt class="py-lineno"> 770</tt>  <tt class="py-line">        <tt class="py-name">mac2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostsData</tt><tt class="py-op">[</tt> <tt class="py-string">'h9'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'mac'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line">            <tt class="py-name">ip1</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostsData</tt><tt class="py-op">[</tt> <tt class="py-string">'h1'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ipAddresses'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/24"</tt> </tt>
+<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line">            <tt class="py-name">ip2</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostsData</tt><tt class="py-op">[</tt> <tt class="py-string">'h9'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ipAddresses'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/24"</tt> </tt>
+<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-157', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Key Error getting IP addresses of h1 | h9 in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line">                            <tt class="py-string">"main.hostsData"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line">            <tt class="py-name">ip1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getIPAddress()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getIPAddress"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getIPAddress" class="py-name" href="#" onclick="return doclink('link-158', 'getIPAddress', 'link-158');">getIPAddress</a></tt><tt class="py-op">(</tt> <tt class="py-string">'h1'</tt><tt class="py-op">)</tt> </tt>
+<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line">            <tt class="py-name">ip2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getIPAddress" class="py-name" href="#" onclick="return doclink('link-159', 'getIPAddress', 'link-158');">getIPAddress</a></tt><tt class="py-op">(</tt> <tt class="py-string">'h9'</tt><tt class="py-op">)</tt> </tt>
+<a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line"> </tt>
+<a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line">        <tt class="py-name">ipProto</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SDNIP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'icmpProto'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L781"></a><tt class="py-lineno"> 781</tt>  <tt class="py-line">        <tt class="py-comment"># Uneccessary, not including this in the selectors</tt> </tt>
+<a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line">        <tt class="py-name">tcp1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SDNIP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'srcPort'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line">        <tt class="py-name">tcp2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SDNIP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'dstPort'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line"> </tt>
+<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">pointIntent</tt><tt class="py-op">(</tt> </tt>
+<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line">                                           <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line">                                           <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"SDNIP-ICMP"</tt><tt class="py-op">,</tt> </tt>
+<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line">                                           <tt class="py-name">host1</tt><tt class="py-op">=</tt><tt class="py-string">"h1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line">                                           <tt class="py-name">host2</tt><tt class="py-op">=</tt><tt class="py-string">"h9"</tt><tt class="py-op">,</tt> </tt>
+<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line">                                           <tt class="py-name">deviceId1</tt><tt class="py-op">=</tt><tt class="py-string">"of:0000000000000005/1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line">                                           <tt class="py-name">deviceId2</tt><tt class="py-op">=</tt><tt class="py-string">"of:0000000000000006/1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line">                                           <tt class="py-name">mac1</tt><tt class="py-op">=</tt><tt class="py-name">mac1</tt><tt class="py-op">,</tt> </tt>
+<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line">                                           <tt class="py-name">mac2</tt><tt class="py-op">=</tt><tt class="py-name">mac2</tt><tt class="py-op">,</tt> </tt>
+<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line">                                           <tt class="py-name">ethType</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">                                           <tt class="py-name">ipProto</tt><tt class="py-op">=</tt><tt class="py-name">ipProto</tt><tt class="py-op">,</tt> </tt>
+<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line">                                           <tt class="py-name">ip1</tt><tt class="py-op">=</tt><tt class="py-name">ip1</tt><tt class="py-op">,</tt> </tt>
+<a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line">                                           <tt class="py-name">ip2</tt><tt class="py-op">=</tt><tt class="py-name">ip2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line"> </tt>
+<a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"SDNIP-ICMP: Point intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line">                                        <tt class="py-string">"successful using IPV4 type with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line">                                        <tt class="py-string">"IP protocol TCP enabled"</tt><tt class="py-op">,</tt> </tt>
+<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line">                                 <tt id="link-160" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-160', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"SDNIP-ICMP: Point intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line">                                        <tt class="py-string">"failed using IPV4 type with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line">                                        <tt class="py-string">"IP protocol TCP enabled"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line"> </tt>
+<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-161', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"SDNIP-TCP: Add point intents between h1 and h9"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line">        <tt class="py-name">mac1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostsData</tt><tt class="py-op">[</tt> <tt class="py-string">'h1'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'mac'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">        <tt class="py-name">mac2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostsData</tt><tt class="py-op">[</tt> <tt class="py-string">'h9'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'mac'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line">        <tt class="py-name">ip1</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostsData</tt><tt class="py-op">[</tt> <tt class="py-string">'h1'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ipAddresses'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/32"</tt> </tt>
+<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line">        <tt class="py-name">ip2</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostsData</tt><tt class="py-op">[</tt> <tt class="py-string">'h9'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ipAddresses'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"/32"</tt> </tt>
+<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">        <tt class="py-name">ipProto</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SDNIP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'tcpProto'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line">        <tt class="py-name">tcp1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SDNIP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'srcPort'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line">        <tt class="py-name">tcp2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SDNIP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'dstPort'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line"> </tt>
+<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">pointIntentTcp</tt><tt class="py-op">(</tt> </tt>
+<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line">                                           <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">                                           <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"SDNIP-TCP"</tt><tt class="py-op">,</tt> </tt>
+<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line">                                           <tt class="py-name">host1</tt><tt class="py-op">=</tt><tt class="py-string">"h1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line">                                           <tt class="py-name">host2</tt><tt class="py-op">=</tt><tt class="py-string">"h9"</tt><tt class="py-op">,</tt> </tt>
+<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line">                                           <tt class="py-name">deviceId1</tt><tt class="py-op">=</tt><tt class="py-string">"of:0000000000000005/1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line">                                           <tt class="py-name">deviceId2</tt><tt class="py-op">=</tt><tt class="py-string">"of:0000000000000006/1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line">                                           <tt class="py-name">mac1</tt><tt class="py-op">=</tt><tt class="py-name">mac1</tt><tt class="py-op">,</tt> </tt>
+<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line">                                           <tt class="py-name">mac2</tt><tt class="py-op">=</tt><tt class="py-name">mac2</tt><tt class="py-op">,</tt> </tt>
+<a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line">                                           <tt class="py-name">ethType</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line">                                           <tt class="py-name">ipProto</tt><tt class="py-op">=</tt><tt class="py-name">ipProto</tt><tt class="py-op">,</tt> </tt>
+<a name="L829"></a><tt class="py-lineno"> 829</tt>  <tt class="py-line">                                           <tt class="py-name">ip1</tt><tt class="py-op">=</tt><tt class="py-name">ip1</tt><tt class="py-op">,</tt> </tt>
+<a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line">                                           <tt class="py-name">ip2</tt><tt class="py-op">=</tt><tt class="py-name">ip2</tt><tt class="py-op">,</tt> </tt>
+<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line">                                           <tt class="py-name">tcp1</tt><tt class="py-op">=</tt><tt class="py-name">tcp1</tt><tt class="py-op">,</tt> </tt>
+<a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line">                                           <tt class="py-name">tcp2</tt><tt class="py-op">=</tt><tt class="py-name">tcp2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line"> </tt>
+<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line">                             <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"SDNIP-TCP: Point intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line">                                        <tt class="py-string">"successful using IPV4 type with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line">                                        <tt class="py-string">"IP protocol ICMP enabled"</tt><tt class="py-op">,</tt> </tt>
+<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line">                                 <tt id="link-162" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-162', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"SDNIP-TCP: Point intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line">                                        <tt class="py-string">"failed using IPV4 type with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line">                                        <tt class="py-string">"IP protocol ICMP enabled"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line"> </tt>
+<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-163', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"DUALSTACK1: Add point intents between h1 and h9"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">pointIntent</tt><tt class="py-op">(</tt> </tt>
+<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line">                                       <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line">                                       <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"DUALSTACK1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line">                                       <tt class="py-name">host1</tt><tt class="py-op">=</tt><tt class="py-string">"h3"</tt><tt class="py-op">,</tt> </tt>
+<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line">                                       <tt class="py-name">host2</tt><tt class="py-op">=</tt><tt class="py-string">"h11"</tt><tt class="py-op">,</tt> </tt>
+<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line">                                       <tt class="py-name">deviceId1</tt><tt class="py-op">=</tt><tt class="py-string">"of:0000000000000005"</tt><tt class="py-op">,</tt> </tt>
+<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line">                                       <tt class="py-name">deviceId2</tt><tt class="py-op">=</tt><tt class="py-string">"of:0000000000000006"</tt><tt class="py-op">,</tt> </tt>
+<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line">                                       <tt class="py-name">port1</tt><tt class="py-op">=</tt><tt class="py-string">"3"</tt><tt class="py-op">,</tt> </tt>
+<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line">                                       <tt class="py-name">port2</tt><tt class="py-op">=</tt><tt class="py-string">"3"</tt><tt class="py-op">,</tt> </tt>
+<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line">                                       <tt class="py-name">ethType</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line">                                       <tt class="py-name">mac1</tt><tt class="py-op">=</tt><tt class="py-string">"00:00:00:00:00:03"</tt><tt class="py-op">,</tt> </tt>
+<a name="L856"></a><tt class="py-lineno"> 856</tt>  <tt class="py-line">                                       <tt class="py-name">mac2</tt><tt class="py-op">=</tt><tt class="py-string">"00:00:00:00:00:0B"</tt><tt class="py-op">,</tt> </tt>
+<a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line">                                       <tt class="py-name">bandwidth</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line">                                       <tt class="py-name">lambdaAlloc</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line">                                       <tt class="py-name">ipProto</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line">                                       <tt class="py-name">ip1</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line">                                       <tt class="py-name">ip2</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line">                                       <tt class="py-name">tcp1</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line">                                       <tt class="py-name">tcp2</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">                                       <tt class="py-name">sw1</tt><tt class="py-op">=</tt><tt class="py-string">"s5"</tt><tt class="py-op">,</tt> </tt>
+<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line">                                       <tt class="py-name">sw2</tt><tt class="py-op">=</tt><tt class="py-string">"s2"</tt><tt class="py-op">,</tt> </tt>
+<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line">                                       <tt class="py-name">expectedLink</tt><tt class="py-op">=</tt><tt class="py-number">18</tt> <tt class="py-op">)</tt> </tt>
+<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line"> </tt>
+<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"DUALSTACK1: Point intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line">                                        <tt class="py-string">"successful using IPV4 type with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line">                                        <tt class="py-string">"MAC addresses"</tt><tt class="py-op">,</tt> </tt>
+<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line">                                 <tt id="link-164" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-164', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"DUALSTACK1: Point intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L874"></a><tt class="py-lineno"> 874</tt>  <tt class="py-line">                                        <tt class="py-string">"failed using IPV4 type with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line">                                        <tt class="py-string">"MAC addresses"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L876"></a><tt class="py-lineno"> 876</tt>  <tt class="py-line"> </tt>
+<a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-165', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"VLAN: Add point intents between h5 and h21"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">pointIntent</tt><tt class="py-op">(</tt> </tt>
+<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line">                                       <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line">                                       <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"VLAN"</tt><tt class="py-op">,</tt> </tt>
+<a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line">                                       <tt class="py-name">host1</tt><tt class="py-op">=</tt><tt class="py-string">"h5"</tt><tt class="py-op">,</tt> </tt>
+<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line">                                       <tt class="py-name">host2</tt><tt class="py-op">=</tt><tt class="py-string">"h21"</tt><tt class="py-op">,</tt> </tt>
+<a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line">                                       <tt class="py-name">deviceId1</tt><tt class="py-op">=</tt><tt class="py-string">"of:0000000000000005/5"</tt><tt class="py-op">,</tt> </tt>
+<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line">                                       <tt class="py-name">deviceId2</tt><tt class="py-op">=</tt><tt class="py-string">"of:0000000000000007/5"</tt><tt class="py-op">,</tt> </tt>
+<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line">                                       <tt class="py-name">port1</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line">                                       <tt class="py-name">port2</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line">                                       <tt class="py-name">ethType</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line">                                       <tt class="py-name">mac1</tt><tt class="py-op">=</tt><tt class="py-string">"00:00:00:00:00:05"</tt><tt class="py-op">,</tt> </tt>
+<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line">                                       <tt class="py-name">mac2</tt><tt class="py-op">=</tt><tt class="py-string">"00:00:00:00:00:15"</tt><tt class="py-op">,</tt> </tt>
+<a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line">                                       <tt class="py-name">bandwidth</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line">                                       <tt class="py-name">lambdaAlloc</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line">                                       <tt class="py-name">ipProto</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line">                                       <tt class="py-name">ip1</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line">                                       <tt class="py-name">ip2</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line">                                       <tt class="py-name">tcp1</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line">                                       <tt class="py-name">tcp2</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line">                                       <tt class="py-name">sw1</tt><tt class="py-op">=</tt><tt class="py-string">"s5"</tt><tt class="py-op">,</tt> </tt>
+<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">                                       <tt class="py-name">sw2</tt><tt class="py-op">=</tt><tt class="py-string">"s2"</tt><tt class="py-op">,</tt> </tt>
+<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line">                                       <tt class="py-name">expectedLink</tt><tt class="py-op">=</tt><tt class="py-number">18</tt> <tt class="py-op">)</tt> </tt>
+<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line"> </tt>
+<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"VLAN1: Point intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line">                                        <tt class="py-string">"successful using IPV4 type with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L906"></a><tt class="py-lineno"> 906</tt>  <tt class="py-line">                                        <tt class="py-string">"MAC addresses"</tt><tt class="py-op">,</tt> </tt>
+<a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line">                                 <tt id="link-166" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-166', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"VLAN1: Point intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line">                                        <tt class="py-string">"failed using IPV4 type with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">                                        <tt class="py-string">"MAC addresses"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line"> </tt>
+<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-167', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"1HOP: Add point intents between h1 and h3"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">hostIntent</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line">                                              <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">'1HOP'</tt><tt class="py-op">,</tt> </tt>
+<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line">                                              <tt class="py-name">host1</tt><tt class="py-op">=</tt><tt class="py-string">'h1'</tt><tt class="py-op">,</tt> </tt>
+<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line">                                              <tt class="py-name">host2</tt><tt class="py-op">=</tt><tt class="py-string">'h3'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line"> </tt>
+<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L919"></a><tt class="py-lineno"> 919</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"1HOP: Point intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line">                                        <tt class="py-string">"successful using IPV4 type with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line">                                        <tt class="py-string">"no MAC addresses"</tt><tt class="py-op">,</tt> </tt>
+<a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line">                                 <tt id="link-168" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-168', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"1HOP: Point intent test "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">                                        <tt class="py-string">"failed using IPV4 type with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line">                                        <tt class="py-string">"no MAC addresses"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line"> </tt>
+<a name="FUNCintent.CASE3000"></a><div id="FUNCintent.CASE3000-def"><a name="L927"></a><tt class="py-lineno"> 927</tt> <a class="py-toggle" href="#" id="FUNCintent.CASE3000-toggle" onclick="return toggle('FUNCintent.CASE3000');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE3000">CASE3000</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FUNCintent.CASE3000-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FUNCintent.CASE3000-expanded"><a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line"><tt class="py-docstring">            Add single point to multi point intents</tt> </tt>
+<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line"><tt class="py-docstring">                - Get device ids</tt> </tt>
+<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line"><tt class="py-docstring">                - Add single point to multi point intents</tt> </tt>
+<a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line"><tt class="py-docstring">                - Check intents</tt> </tt>
+<a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line"><tt class="py-docstring">                - Verify flows</tt> </tt>
+<a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line"><tt class="py-docstring">                - Ping hosts</tt> </tt>
+<a name="L935"></a><tt class="py-lineno"> 935</tt>  <tt class="py-line"><tt class="py-docstring">                - Reroute</tt> </tt>
+<a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line"><tt class="py-docstring">                    - Link down</tt> </tt>
+<a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line"><tt class="py-docstring">                    - Verify flows</tt> </tt>
+<a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line"><tt class="py-docstring">                    - Check topology</tt> </tt>
+<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line"><tt class="py-docstring">                    - Ping hosts</tt> </tt>
+<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line"><tt class="py-docstring">                    - Link up</tt> </tt>
+<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line"><tt class="py-docstring">                    - Verify flows</tt> </tt>
+<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line"><tt class="py-docstring">                    - Check topology</tt> </tt>
+<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line"><tt class="py-docstring">                    - Ping hosts</tt> </tt>
+<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line"><tt class="py-docstring">                - Remove intents</tt> </tt>
+<a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"There is no main"</tt> </tt>
+<a name="L947"></a><tt class="py-lineno"> 947</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"There is no main.CLIs"</tt> </tt>
+<a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">,</tt> <tt class="py-string">"Mininet handle should be named Mininet1"</tt> </tt>
+<a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numSwitch</tt><tt class="py-op">,</tt> <tt class="py-string">"Placed the total number of switch topology in \</tt> </tt>
+<a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line"><tt class="py-string">                                main.numSwitch"</tt> </tt>
+<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line"> </tt>
+<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testName</tt> <tt class="py-op">=</tt> <tt class="py-string">"Single to Multi Point Intents"</tt> </tt>
+<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-169', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testName</tt> <tt class="py-op">+</tt> <tt class="py-string">" Test - "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line">                   <tt class="py-string">" NODE(S) - OF "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">OFProtocol</tt> <tt class="py-op">)</tt> </tt>
+<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"This test case will test single point to"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line">                               <tt class="py-string">" multi point intents using "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" node(s) cluster;\n"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line">                               <tt class="py-string">"Different type of hosts will be tested in "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line">                               <tt class="py-string">"each step such as IPV4, Dual stack, VLAN etc"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line">                               <tt class="py-string">";\nThe test will use OF "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">OFProtocol</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line">                               <tt class="py-string">" OVS running in Mininet"</tt> </tt>
+<a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line"> </tt>
+<a name="L963"></a><tt class="py-lineno"> 963</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-170', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"NOOPTION: Add single point to multi point intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line">        <tt class="py-name">hostNames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'h8'</tt><tt class="py-op">,</tt> <tt class="py-string">'h16'</tt><tt class="py-op">,</tt> <tt class="py-string">'h24'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line">        <tt id="link-171" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-171', 'devices', 'link-51');">devices</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'of:0000000000000005/8'</tt><tt class="py-op">,</tt> <tt class="py-string">'of:0000000000000006/8'</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line">                    <tt class="py-string">'of:0000000000000007/8'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line">        <tt class="py-name">macs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'00:00:00:00:00:08'</tt><tt class="py-op">,</tt> <tt class="py-string">'00:00:00:00:00:10'</tt><tt class="py-op">,</tt> <tt class="py-string">'00:00:00:00:00:18'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L969"></a><tt class="py-lineno"> 969</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">singleToMultiIntent</tt><tt class="py-op">(</tt> </tt>
+<a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">                                         <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line">                                         <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"NOOPTION"</tt><tt class="py-op">,</tt> </tt>
+<a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line">                                         <tt class="py-name">hostNames</tt><tt class="py-op">=</tt><tt class="py-name">hostNames</tt><tt class="py-op">,</tt> </tt>
+<a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line">                                         <tt id="link-172" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-172', 'devices', 'link-51');">devices</a></tt><tt class="py-op">=</tt><tt id="link-173" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-173', 'devices', 'link-51');">devices</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line">                                         <tt class="py-name">sw1</tt><tt class="py-op">=</tt><tt class="py-string">"s5"</tt><tt class="py-op">,</tt> </tt>
+<a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line">                                         <tt class="py-name">sw2</tt><tt class="py-op">=</tt><tt class="py-string">"s2"</tt><tt class="py-op">,</tt> </tt>
+<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line">                                         <tt class="py-name">expectedLink</tt><tt class="py-op">=</tt><tt class="py-number">18</tt> <tt class="py-op">)</tt> </tt>
+<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line"> </tt>
+<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"NOOPTION: Successfully added single "</tt> </tt>
+<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-string">" point to multi point intents"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line">                                        <tt class="py-string">" with no match action"</tt><tt class="py-op">,</tt> </tt>
+<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line">                                 <tt id="link-174" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-174', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"NOOPTION: Failed to add single point"</tt> </tt>
+<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-string">" point to multi point intents"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line">                                        <tt class="py-string">" with no match action"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line"> </tt>
+<a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-175', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"IPV4: Add single point to multi point intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">singleToMultiIntent</tt><tt class="py-op">(</tt> </tt>
+<a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line">                                         <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line">                                         <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line">                                         <tt class="py-name">hostNames</tt><tt class="py-op">=</tt><tt class="py-name">hostNames</tt><tt class="py-op">,</tt> </tt>
+<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line">                                         <tt id="link-176" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-176', 'devices', 'link-51');">devices</a></tt><tt class="py-op">=</tt><tt id="link-177" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-177', 'devices', 'link-51');">devices</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line">                                         <tt id="link-178" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-178', 'ports', 'link-53');">ports</a></tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line">                                         <tt class="py-name">ethType</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line">                                         <tt class="py-name">macs</tt><tt class="py-op">=</tt><tt class="py-name">macs</tt><tt class="py-op">,</tt> </tt>
+<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line">                                         <tt class="py-name">bandwidth</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line">                                         <tt class="py-name">lambdaAlloc</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line">                                         <tt class="py-name">ipProto</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line">                                         <tt class="py-name">ipAddresses</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line">                                         <tt class="py-name">tcp</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">                                         <tt class="py-name">sw1</tt><tt class="py-op">=</tt><tt class="py-string">"s5"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line">                                         <tt class="py-name">sw2</tt><tt class="py-op">=</tt><tt class="py-string">"s2"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line">                                         <tt class="py-name">expectedLink</tt><tt class="py-op">=</tt><tt class="py-number">18</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line"> </tt>
+<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1008"></a><tt class="py-lineno">1008</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4: Successfully added single "</tt> </tt>
+<a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-string">" point to multi point intents"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line">                                        <tt class="py-string">" with IPV4 type and MAC addresses"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line">                                 <tt id="link-179" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-179', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"IPV4: Failed to add single point"</tt> </tt>
+<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-string">" point to multi point intents"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line">                                        <tt class="py-string">" with IPV4 type and MAC addresses"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line"> </tt>
+<a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-180', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"IPV4_2: Add single point to multi point intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1017"></a><tt class="py-lineno">1017</tt>  <tt class="py-line">        <tt class="py-name">hostNames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'h8'</tt><tt class="py-op">,</tt> <tt class="py-string">'h16'</tt><tt class="py-op">,</tt> <tt class="py-string">'h24'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">singleToMultiIntent</tt><tt class="py-op">(</tt> </tt>
+<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line">                                         <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line">                                         <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line">                                         <tt class="py-name">hostNames</tt><tt class="py-op">=</tt><tt class="py-name">hostNames</tt><tt class="py-op">,</tt> </tt>
+<a name="L1022"></a><tt class="py-lineno">1022</tt>  <tt class="py-line">                                         <tt class="py-name">ethType</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1023"></a><tt class="py-lineno">1023</tt>  <tt class="py-line">                                         <tt class="py-name">lambdaAlloc</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1024"></a><tt class="py-lineno">1024</tt>  <tt class="py-line"> </tt>
+<a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4_2: Successfully added single "</tt> </tt>
+<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-string">" point to multi point intents"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line">                                        <tt class="py-string">" with IPV4 type and no MAC addresses"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line">                                 <tt id="link-181" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-181', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"IPV4_2: Failed to add single point"</tt> </tt>
+<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-string">" point to multi point intents"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line">                                        <tt class="py-string">" with IPV4 type and no MAC addresses"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line"> </tt>
+<a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-182', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"VLAN: Add single point to multi point intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1035"></a><tt class="py-lineno">1035</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line">        <tt class="py-name">hostNames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'h4'</tt><tt class="py-op">,</tt> <tt class="py-string">'h12'</tt><tt class="py-op">,</tt> <tt class="py-string">'h20'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line">        <tt id="link-183" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-183', 'devices', 'link-51');">devices</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'of:0000000000000005/4'</tt><tt class="py-op">,</tt> <tt class="py-string">'of:0000000000000006/4'</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line">                    <tt class="py-string">'of:0000000000000007/4'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line">        <tt class="py-name">macs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'00:00:00:00:00:04'</tt><tt class="py-op">,</tt> <tt class="py-string">'00:00:00:00:00:0C'</tt><tt class="py-op">,</tt> <tt class="py-string">'00:00:00:00:00:14'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">singleToMultiIntent</tt><tt class="py-op">(</tt> </tt>
+<a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line">                                         <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line">                                         <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"VLAN"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line">                                         <tt class="py-name">hostNames</tt><tt class="py-op">=</tt><tt class="py-name">hostNames</tt><tt class="py-op">,</tt> </tt>
+<a name="L1044"></a><tt class="py-lineno">1044</tt>  <tt class="py-line">                                         <tt id="link-184" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-184', 'devices', 'link-51');">devices</a></tt><tt class="py-op">=</tt><tt id="link-185" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-185', 'devices', 'link-51');">devices</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1045"></a><tt class="py-lineno">1045</tt>  <tt class="py-line">                                         <tt id="link-186" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-186', 'ports', 'link-53');">ports</a></tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line">                                         <tt class="py-name">ethType</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line">                                         <tt class="py-name">macs</tt><tt class="py-op">=</tt><tt class="py-name">macs</tt><tt class="py-op">,</tt> </tt>
+<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line">                                         <tt class="py-name">bandwidth</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line">                                         <tt class="py-name">lambdaAlloc</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line">                                         <tt class="py-name">ipProto</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1051"></a><tt class="py-lineno">1051</tt>  <tt class="py-line">                                         <tt class="py-name">ipAddresses</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line">                                         <tt class="py-name">tcp</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1053"></a><tt class="py-lineno">1053</tt>  <tt class="py-line">                                         <tt class="py-name">sw1</tt><tt class="py-op">=</tt><tt class="py-string">"s5"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line">                                         <tt class="py-name">sw2</tt><tt class="py-op">=</tt><tt class="py-string">"s2"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line">                                         <tt class="py-name">expectedLink</tt><tt class="py-op">=</tt><tt class="py-number">18</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line"> </tt>
+<a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"VLAN: Successfully added single "</tt> </tt>
+<a name="L1060"></a><tt class="py-lineno">1060</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-string">" point to multi point intents"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line">                                        <tt class="py-string">" with IPV4 type and MAC addresses"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1062"></a><tt class="py-lineno">1062</tt>  <tt class="py-line">                                        <tt class="py-string">" in the same VLAN"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line">                                 <tt id="link-187" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-187', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"VLAN: Failed to add single point"</tt> </tt>
+<a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-string">" point to multi point intents"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1065"></a><tt class="py-lineno">1065</tt>  <tt class="py-line">                                        <tt class="py-string">" with IPV4 type and MAC addresses"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1066"></a><tt class="py-lineno">1066</tt>  <tt class="py-line">                                        <tt class="py-string">" in the same VLAN"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1067"></a><tt class="py-lineno">1067</tt>  <tt class="py-line"> </tt>
+<a name="FUNCintent.CASE4000"></a><div id="FUNCintent.CASE4000-def"><a name="L1068"></a><tt class="py-lineno">1068</tt> <a class="py-toggle" href="#" id="FUNCintent.CASE4000-toggle" onclick="return toggle('FUNCintent.CASE4000');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE4000">CASE4000</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FUNCintent.CASE4000-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FUNCintent.CASE4000-expanded"><a name="L1069"></a><tt class="py-lineno">1069</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1070"></a><tt class="py-lineno">1070</tt>  <tt class="py-line"><tt class="py-docstring">            Add multi point to single point intents</tt> </tt>
+<a name="L1071"></a><tt class="py-lineno">1071</tt>  <tt class="py-line"><tt class="py-docstring">                - Get device ids</tt> </tt>
+<a name="L1072"></a><tt class="py-lineno">1072</tt>  <tt class="py-line"><tt class="py-docstring">                - Add multi point to single point intents</tt> </tt>
+<a name="L1073"></a><tt class="py-lineno">1073</tt>  <tt class="py-line"><tt class="py-docstring">                - Check intents</tt> </tt>
+<a name="L1074"></a><tt class="py-lineno">1074</tt>  <tt class="py-line"><tt class="py-docstring">                - Verify flows</tt> </tt>
+<a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line"><tt class="py-docstring">                - Ping hosts</tt> </tt>
+<a name="L1076"></a><tt class="py-lineno">1076</tt>  <tt class="py-line"><tt class="py-docstring">                - Reroute</tt> </tt>
+<a name="L1077"></a><tt class="py-lineno">1077</tt>  <tt class="py-line"><tt class="py-docstring">                    - Link down</tt> </tt>
+<a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line"><tt class="py-docstring">                    - Verify flows</tt> </tt>
+<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line"><tt class="py-docstring">                    - Check topology</tt> </tt>
+<a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line"><tt class="py-docstring">                    - Ping hosts</tt> </tt>
+<a name="L1081"></a><tt class="py-lineno">1081</tt>  <tt class="py-line"><tt class="py-docstring">                    - Link up</tt> </tt>
+<a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line"><tt class="py-docstring">                    - Verify flows</tt> </tt>
+<a name="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line"><tt class="py-docstring">                    - Check topology</tt> </tt>
+<a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line"><tt class="py-docstring">                    - Ping hosts</tt> </tt>
+<a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line"><tt class="py-docstring">             - Remove intents</tt> </tt>
+<a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1087"></a><tt class="py-lineno">1087</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"There is no main"</tt> </tt>
+<a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"There is no main.CLIs"</tt> </tt>
+<a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">,</tt> <tt class="py-string">"Mininet handle should be named Mininet1"</tt> </tt>
+<a name="L1090"></a><tt class="py-lineno">1090</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numSwitch</tt><tt class="py-op">,</tt> <tt class="py-string">"Placed the total number of switch topology in \</tt> </tt>
+<a name="L1091"></a><tt class="py-lineno">1091</tt>  <tt class="py-line"><tt class="py-string">                                main.numSwitch"</tt> </tt>
+<a name="L1092"></a><tt class="py-lineno">1092</tt>  <tt class="py-line"> </tt>
+<a name="L1093"></a><tt class="py-lineno">1093</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testName</tt> <tt class="py-op">=</tt> <tt class="py-string">"Multi To Single Point Intents"</tt> </tt>
+<a name="L1094"></a><tt class="py-lineno">1094</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-188', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testName</tt> <tt class="py-op">+</tt> <tt class="py-string">" Test - "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1095"></a><tt class="py-lineno">1095</tt>  <tt class="py-line">                   <tt class="py-string">" NODE(S) - OF "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">OFProtocol</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1096"></a><tt class="py-lineno">1096</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"This test case will test single point to"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1097"></a><tt class="py-lineno">1097</tt>  <tt class="py-line">                               <tt class="py-string">" multi point intents using "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1098"></a><tt class="py-lineno">1098</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" node(s) cluster;\n"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1099"></a><tt class="py-lineno">1099</tt>  <tt class="py-line">                               <tt class="py-string">"Different type of hosts will be tested in "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1100"></a><tt class="py-lineno">1100</tt>  <tt class="py-line">                               <tt class="py-string">"each step such as IPV4, Dual stack, VLAN etc"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1101"></a><tt class="py-lineno">1101</tt>  <tt class="py-line">                               <tt class="py-string">";\nThe test will use OF "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">OFProtocol</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1102"></a><tt class="py-lineno">1102</tt>  <tt class="py-line">                               <tt class="py-string">" OVS running in Mininet"</tt> </tt>
+<a name="L1103"></a><tt class="py-lineno">1103</tt>  <tt class="py-line"> </tt>
+<a name="L1104"></a><tt class="py-lineno">1104</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-189', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"NOOPTION: Add multi point to single point intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1105"></a><tt class="py-lineno">1105</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1106"></a><tt class="py-lineno">1106</tt>  <tt class="py-line">        <tt class="py-name">hostNames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'h8'</tt><tt class="py-op">,</tt> <tt class="py-string">'h16'</tt><tt class="py-op">,</tt> <tt class="py-string">'h24'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1107"></a><tt class="py-lineno">1107</tt>  <tt class="py-line">        <tt id="link-190" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-190', 'devices', 'link-51');">devices</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'of:0000000000000005/8'</tt><tt class="py-op">,</tt> <tt class="py-string">'of:0000000000000006/8'</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L1108"></a><tt class="py-lineno">1108</tt>  <tt class="py-line">                    <tt class="py-string">'of:0000000000000007/8'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1109"></a><tt class="py-lineno">1109</tt>  <tt class="py-line">        <tt class="py-name">macs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'00:00:00:00:00:08'</tt><tt class="py-op">,</tt> <tt class="py-string">'00:00:00:00:00:10'</tt><tt class="py-op">,</tt> <tt class="py-string">'00:00:00:00:00:18'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1110"></a><tt class="py-lineno">1110</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">multiToSingleIntent</tt><tt class="py-op">(</tt> </tt>
+<a name="L1111"></a><tt class="py-lineno">1111</tt>  <tt class="py-line">                                         <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L1112"></a><tt class="py-lineno">1112</tt>  <tt class="py-line">                                         <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"NOOPTION"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1113"></a><tt class="py-lineno">1113</tt>  <tt class="py-line">                                         <tt class="py-name">hostNames</tt><tt class="py-op">=</tt><tt class="py-name">hostNames</tt><tt class="py-op">,</tt> </tt>
+<a name="L1114"></a><tt class="py-lineno">1114</tt>  <tt class="py-line">                                         <tt id="link-191" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-191', 'devices', 'link-51');">devices</a></tt><tt class="py-op">=</tt><tt id="link-192" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-192', 'devices', 'link-51');">devices</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1115"></a><tt class="py-lineno">1115</tt>  <tt class="py-line">                                         <tt class="py-name">sw1</tt><tt class="py-op">=</tt><tt class="py-string">"s5"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1116"></a><tt class="py-lineno">1116</tt>  <tt class="py-line">                                         <tt class="py-name">sw2</tt><tt class="py-op">=</tt><tt class="py-string">"s2"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1117"></a><tt class="py-lineno">1117</tt>  <tt class="py-line">                                         <tt class="py-name">expectedLink</tt><tt class="py-op">=</tt><tt class="py-number">18</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1118"></a><tt class="py-lineno">1118</tt>  <tt class="py-line"> </tt>
+<a name="L1119"></a><tt class="py-lineno">1119</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1120"></a><tt class="py-lineno">1120</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1121"></a><tt class="py-lineno">1121</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"NOOPTION: Successfully added multi "</tt> </tt>
+<a name="L1122"></a><tt class="py-lineno">1122</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-string">" point to single point intents"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1123"></a><tt class="py-lineno">1123</tt>  <tt class="py-line">                                        <tt class="py-string">" with no match action"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1124"></a><tt class="py-lineno">1124</tt>  <tt class="py-line">                                 <tt id="link-193" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-193', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"NOOPTION: Failed to add multi point"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1125"></a><tt class="py-lineno">1125</tt>  <tt class="py-line">                                        <tt class="py-string">" to single point intents"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1126"></a><tt class="py-lineno">1126</tt>  <tt class="py-line">                                        <tt class="py-string">" with no match action"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1127"></a><tt class="py-lineno">1127</tt>  <tt class="py-line"> </tt>
+<a name="L1128"></a><tt class="py-lineno">1128</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-194', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"IPV4: Add multi point to single point intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1129"></a><tt class="py-lineno">1129</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1130"></a><tt class="py-lineno">1130</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">multiToSingleIntent</tt><tt class="py-op">(</tt> </tt>
+<a name="L1131"></a><tt class="py-lineno">1131</tt>  <tt class="py-line">                                         <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L1132"></a><tt class="py-lineno">1132</tt>  <tt class="py-line">                                         <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1133"></a><tt class="py-lineno">1133</tt>  <tt class="py-line">                                         <tt class="py-name">hostNames</tt><tt class="py-op">=</tt><tt class="py-name">hostNames</tt><tt class="py-op">,</tt> </tt>
+<a name="L1134"></a><tt class="py-lineno">1134</tt>  <tt class="py-line">                                         <tt id="link-195" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-195', 'devices', 'link-51');">devices</a></tt><tt class="py-op">=</tt><tt id="link-196" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-196', 'devices', 'link-51');">devices</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1135"></a><tt class="py-lineno">1135</tt>  <tt class="py-line">                                         <tt id="link-197" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-197', 'ports', 'link-53');">ports</a></tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1136"></a><tt class="py-lineno">1136</tt>  <tt class="py-line">                                         <tt class="py-name">ethType</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1137"></a><tt class="py-lineno">1137</tt>  <tt class="py-line">                                         <tt class="py-name">macs</tt><tt class="py-op">=</tt><tt class="py-name">macs</tt><tt class="py-op">,</tt> </tt>
+<a name="L1138"></a><tt class="py-lineno">1138</tt>  <tt class="py-line">                                         <tt class="py-name">bandwidth</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1139"></a><tt class="py-lineno">1139</tt>  <tt class="py-line">                                         <tt class="py-name">lambdaAlloc</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L1140"></a><tt class="py-lineno">1140</tt>  <tt class="py-line">                                         <tt class="py-name">ipProto</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1141"></a><tt class="py-lineno">1141</tt>  <tt class="py-line">                                         <tt class="py-name">ipAddresses</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1142"></a><tt class="py-lineno">1142</tt>  <tt class="py-line">                                         <tt class="py-name">tcp</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1143"></a><tt class="py-lineno">1143</tt>  <tt class="py-line">                                         <tt class="py-name">sw1</tt><tt class="py-op">=</tt><tt class="py-string">"s5"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1144"></a><tt class="py-lineno">1144</tt>  <tt class="py-line">                                         <tt class="py-name">sw2</tt><tt class="py-op">=</tt><tt class="py-string">"s2"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1145"></a><tt class="py-lineno">1145</tt>  <tt class="py-line">                                         <tt class="py-name">expectedLink</tt><tt class="py-op">=</tt><tt class="py-number">18</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1146"></a><tt class="py-lineno">1146</tt>  <tt class="py-line"> </tt>
+<a name="L1147"></a><tt class="py-lineno">1147</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1148"></a><tt class="py-lineno">1148</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1149"></a><tt class="py-lineno">1149</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4: Successfully added multi point"</tt> </tt>
+<a name="L1150"></a><tt class="py-lineno">1150</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-string">" to single point intents"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1151"></a><tt class="py-lineno">1151</tt>  <tt class="py-line">                                        <tt class="py-string">" with IPV4 type and MAC addresses"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1152"></a><tt class="py-lineno">1152</tt>  <tt class="py-line">                                 <tt id="link-198" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-198', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"IPV4: Failed to add multi point"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1153"></a><tt class="py-lineno">1153</tt>  <tt class="py-line">                                        <tt class="py-string">" to single point intents"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1154"></a><tt class="py-lineno">1154</tt>  <tt class="py-line">                                        <tt class="py-string">" with IPV4 type and MAC addresses"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1155"></a><tt class="py-lineno">1155</tt>  <tt class="py-line"> </tt>
+<a name="L1156"></a><tt class="py-lineno">1156</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-199', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"IPV4_2: Add multi point to single point intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1157"></a><tt class="py-lineno">1157</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1158"></a><tt class="py-lineno">1158</tt>  <tt class="py-line">        <tt class="py-name">hostNames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'h8'</tt><tt class="py-op">,</tt> <tt class="py-string">'h16'</tt><tt class="py-op">,</tt> <tt class="py-string">'h24'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1159"></a><tt class="py-lineno">1159</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">multiToSingleIntent</tt><tt class="py-op">(</tt> </tt>
+<a name="L1160"></a><tt class="py-lineno">1160</tt>  <tt class="py-line">                                         <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L1161"></a><tt class="py-lineno">1161</tt>  <tt class="py-line">                                         <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1162"></a><tt class="py-lineno">1162</tt>  <tt class="py-line">                                         <tt class="py-name">hostNames</tt><tt class="py-op">=</tt><tt class="py-name">hostNames</tt><tt class="py-op">,</tt> </tt>
+<a name="L1163"></a><tt class="py-lineno">1163</tt>  <tt class="py-line">                                         <tt class="py-name">ethType</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1164"></a><tt class="py-lineno">1164</tt>  <tt class="py-line">                                         <tt class="py-name">lambdaAlloc</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1165"></a><tt class="py-lineno">1165</tt>  <tt class="py-line"> </tt>
+<a name="L1166"></a><tt class="py-lineno">1166</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1167"></a><tt class="py-lineno">1167</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1168"></a><tt class="py-lineno">1168</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4_2: Successfully added multi point"</tt> </tt>
+<a name="L1169"></a><tt class="py-lineno">1169</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-string">" to single point intents"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1170"></a><tt class="py-lineno">1170</tt>  <tt class="py-line">                                        <tt class="py-string">" with IPV4 type and no MAC addresses"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1171"></a><tt class="py-lineno">1171</tt>  <tt class="py-line">                                 <tt id="link-200" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-200', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"IPV4_2: Failed to add multi point"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1172"></a><tt class="py-lineno">1172</tt>  <tt class="py-line">                                        <tt class="py-string">" to single point intents"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1173"></a><tt class="py-lineno">1173</tt>  <tt class="py-line">                                        <tt class="py-string">" with IPV4 type and no MAC addresses"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1174"></a><tt class="py-lineno">1174</tt>  <tt class="py-line"> </tt>
+<a name="L1175"></a><tt class="py-lineno">1175</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-201', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"VLAN: Add multi point to single point intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1176"></a><tt class="py-lineno">1176</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1177"></a><tt class="py-lineno">1177</tt>  <tt class="py-line">        <tt class="py-name">hostNames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'h5'</tt><tt class="py-op">,</tt> <tt class="py-string">'h13'</tt><tt class="py-op">,</tt> <tt class="py-string">'h21'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1178"></a><tt class="py-lineno">1178</tt>  <tt class="py-line">        <tt id="link-202" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-202', 'devices', 'link-51');">devices</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'of:0000000000000005/5'</tt><tt class="py-op">,</tt> <tt class="py-string">'of:0000000000000006/5'</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L1179"></a><tt class="py-lineno">1179</tt>  <tt class="py-line">                    <tt class="py-string">'of:0000000000000007/5'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1180"></a><tt class="py-lineno">1180</tt>  <tt class="py-line">        <tt class="py-name">macs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">'00:00:00:00:00:05'</tt><tt class="py-op">,</tt> <tt class="py-string">'00:00:00:00:00:0D'</tt><tt class="py-op">,</tt> <tt class="py-string">'00:00:00:00:00:15'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1181"></a><tt class="py-lineno">1181</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">multiToSingleIntent</tt><tt class="py-op">(</tt> </tt>
+<a name="L1182"></a><tt class="py-lineno">1182</tt>  <tt class="py-line">                                         <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L1183"></a><tt class="py-lineno">1183</tt>  <tt class="py-line">                                         <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"VLAN"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1184"></a><tt class="py-lineno">1184</tt>  <tt class="py-line">                                         <tt class="py-name">hostNames</tt><tt class="py-op">=</tt><tt class="py-name">hostNames</tt><tt class="py-op">,</tt> </tt>
+<a name="L1185"></a><tt class="py-lineno">1185</tt>  <tt class="py-line">                                         <tt id="link-203" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-203', 'devices', 'link-51');">devices</a></tt><tt class="py-op">=</tt><tt id="link-204" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-204', 'devices', 'link-51');">devices</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1186"></a><tt class="py-lineno">1186</tt>  <tt class="py-line">                                         <tt id="link-205" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-205', 'ports', 'link-53');">ports</a></tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1187"></a><tt class="py-lineno">1187</tt>  <tt class="py-line">                                         <tt class="py-name">ethType</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1188"></a><tt class="py-lineno">1188</tt>  <tt class="py-line">                                         <tt class="py-name">macs</tt><tt class="py-op">=</tt><tt class="py-name">macs</tt><tt class="py-op">,</tt> </tt>
+<a name="L1189"></a><tt class="py-lineno">1189</tt>  <tt class="py-line">                                         <tt class="py-name">bandwidth</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1190"></a><tt class="py-lineno">1190</tt>  <tt class="py-line">                                         <tt class="py-name">lambdaAlloc</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L1191"></a><tt class="py-lineno">1191</tt>  <tt class="py-line">                                         <tt class="py-name">ipProto</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1192"></a><tt class="py-lineno">1192</tt>  <tt class="py-line">                                         <tt class="py-name">ipAddresses</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1193"></a><tt class="py-lineno">1193</tt>  <tt class="py-line">                                         <tt class="py-name">tcp</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L1194"></a><tt class="py-lineno">1194</tt>  <tt class="py-line">                                         <tt class="py-name">sw1</tt><tt class="py-op">=</tt><tt class="py-string">"s5"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1195"></a><tt class="py-lineno">1195</tt>  <tt class="py-line">                                         <tt class="py-name">sw2</tt><tt class="py-op">=</tt><tt class="py-string">"s2"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1196"></a><tt class="py-lineno">1196</tt>  <tt class="py-line">                                         <tt class="py-name">expectedLink</tt><tt class="py-op">=</tt><tt class="py-number">18</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1197"></a><tt class="py-lineno">1197</tt>  <tt class="py-line"> </tt>
+<a name="L1198"></a><tt class="py-lineno">1198</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1199"></a><tt class="py-lineno">1199</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1200"></a><tt class="py-lineno">1200</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"VLAN: Successfully added multi point"</tt> </tt>
+<a name="L1201"></a><tt class="py-lineno">1201</tt>  <tt class="py-line">                                        <tt class="py-op">+</tt> <tt class="py-string">" to single point intents"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1202"></a><tt class="py-lineno">1202</tt>  <tt class="py-line">                                        <tt class="py-string">" with IPV4 type and MAC addresses"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1203"></a><tt class="py-lineno">1203</tt>  <tt class="py-line">                                        <tt class="py-string">" in the same VLAN"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1204"></a><tt class="py-lineno">1204</tt>  <tt class="py-line">                                 <tt id="link-206" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-206', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"VLAN: Failed to add multi point"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1205"></a><tt class="py-lineno">1205</tt>  <tt class="py-line">                                        <tt class="py-string">" to single point intents"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1206"></a><tt class="py-lineno">1206</tt>  <tt class="py-line"> </tt>
+<a name="FUNCintent.CASE5000"></a><div id="FUNCintent.CASE5000-def"><a name="L1207"></a><tt class="py-lineno">1207</tt> <a class="py-toggle" href="#" id="FUNCintent.CASE5000-toggle" onclick="return toggle('FUNCintent.CASE5000');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE5000">CASE5000</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="FUNCintent.CASE5000-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FUNCintent.CASE5000-expanded"><a name="L1208"></a><tt class="py-lineno">1208</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1209"></a><tt class="py-lineno">1209</tt>  <tt class="py-line"><tt class="py-docstring">        Will add description in next patch set</tt> </tt>
+<a name="L1210"></a><tt class="py-lineno">1210</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1211"></a><tt class="py-lineno">1211</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"There is no main"</tt> </tt>
+<a name="L1212"></a><tt class="py-lineno">1212</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"There is no main.CLIs"</tt> </tt>
+<a name="L1213"></a><tt class="py-lineno">1213</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">,</tt> <tt class="py-string">"Mininet handle should be named Mininet1"</tt> </tt>
+<a name="L1214"></a><tt class="py-lineno">1214</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numSwitch</tt><tt class="py-op">,</tt> <tt class="py-string">"Placed the total number of switch topology in \</tt> </tt>
+<a name="L1215"></a><tt class="py-lineno">1215</tt>  <tt class="py-line"><tt class="py-string">                                main.numSwitch"</tt> </tt>
+<a name="L1216"></a><tt class="py-lineno">1216</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-207', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Test host mobility with host intents "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1217"></a><tt class="py-lineno">1217</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-208', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">" Testing host mobility by moving h1 from s5 to s6"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1218"></a><tt class="py-lineno">1218</tt>  <tt class="py-line">        <tt class="py-name">h1PreMove</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostsData</tt><tt class="py-op">[</tt> <tt class="py-string">"h1"</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">"location"</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">19</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1219"></a><tt class="py-lineno">1219</tt>  <tt class="py-line"> </tt>
+<a name="L1220"></a><tt class="py-lineno">1220</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-209', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Moving h1 from s5 to s6"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1221"></a><tt class="py-lineno">1221</tt>  <tt class="py-line"> </tt>
+<a name="L1222"></a><tt class="py-lineno">1222</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-210" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.moveHost()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#moveHost"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.moveHost" class="py-name" href="#" onclick="return doclink('link-210', 'moveHost', 'link-210');">moveHost</a></tt><tt class="py-op">(</tt> <tt class="py-string">"h1"</tt><tt class="py-op">,</tt><tt class="py-string">"s5"</tt><tt class="py-op">,</tt><tt class="py-string">"s6"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1223"></a><tt class="py-lineno">1223</tt>  <tt class="py-line"> </tt>
+<a name="L1224"></a><tt class="py-lineno">1224</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">getHostsData</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1225"></a><tt class="py-lineno">1225</tt>  <tt class="py-line">        <tt class="py-name">h1PostMove</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostsData</tt><tt class="py-op">[</tt> <tt class="py-string">"h1"</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">"location"</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">19</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1226"></a><tt class="py-lineno">1226</tt>  <tt class="py-line"> </tt>
+<a name="L1227"></a><tt class="py-lineno">1227</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-string">"of:0000000000000006"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1228"></a><tt class="py-lineno">1228</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">h1PostMove</tt><tt class="py-op">,</tt> </tt>
+<a name="L1229"></a><tt class="py-lineno">1229</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Mobility: Successfully moved h1 to s6"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1230"></a><tt class="py-lineno">1230</tt>  <tt class="py-line">                                 <tt id="link-211" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-211', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Mobility: Failed to moved h1 to s6"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1231"></a><tt class="py-lineno">1231</tt>  <tt class="py-line">                                        <tt class="py-string">" to single point intents"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1232"></a><tt class="py-lineno">1232</tt>  <tt class="py-line">                                        <tt class="py-string">" with IPV4 type and MAC addresses"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1233"></a><tt class="py-lineno">1233</tt>  <tt class="py-line">                                        <tt class="py-string">" in the same VLAN"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1234"></a><tt class="py-lineno">1234</tt>  <tt class="py-line"> </tt>
+<a name="L1235"></a><tt class="py-lineno">1235</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-212', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"IPV4: Add host intents between h1 and h9"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1236"></a><tt class="py-lineno">1236</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1237"></a><tt class="py-lineno">1237</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">intentFunction</tt><tt class="py-op">.</tt><tt class="py-name">hostIntent</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L1238"></a><tt class="py-lineno">1238</tt>  <tt class="py-line">                                              <tt class="py-name">onosNode</tt><tt class="py-op">=</tt><tt class="py-string">'0'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1239"></a><tt class="py-lineno">1239</tt>  <tt class="py-line">                                              <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">'IPV4'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1240"></a><tt class="py-lineno">1240</tt>  <tt class="py-line">                                              <tt class="py-name">host1</tt><tt class="py-op">=</tt><tt class="py-string">'h1'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1241"></a><tt class="py-lineno">1241</tt>  <tt class="py-line">                                              <tt class="py-name">host2</tt><tt class="py-op">=</tt><tt class="py-string">'h9'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1242"></a><tt class="py-lineno">1242</tt>  <tt class="py-line">                                              <tt class="py-name">host1Id</tt><tt class="py-op">=</tt><tt class="py-string">'00:00:00:00:00:01/-1'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1243"></a><tt class="py-lineno">1243</tt>  <tt class="py-line">                                              <tt class="py-name">host2Id</tt><tt class="py-op">=</tt><tt class="py-string">'00:00:00:00:00:09/-1'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1244"></a><tt class="py-lineno">1244</tt>  <tt class="py-line"> </tt>
+<a name="L1245"></a><tt class="py-lineno">1245</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1246"></a><tt class="py-lineno">1246</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1247"></a><tt class="py-lineno">1247</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"IPV4: Host intent test successful "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1248"></a><tt class="py-lineno">1248</tt>  <tt class="py-line">                                        <tt class="py-string">"between two IPV4 hosts"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1249"></a><tt class="py-lineno">1249</tt>  <tt class="py-line">                                 <tt id="link-213" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-213', 'onfail', 'link-14');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"IPV4: Host intent test failed "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1250"></a><tt class="py-lineno">1250</tt>  <tt class="py-line">                                        <tt class="py-string">"between two IPV4 hosts"</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1251"></a><tt class="py-lineno">1251</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html b/TestON/Documentation/TestON_Document/TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html
new file mode 100644
index 0000000..2a6eade
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html
@@ -0,0 +1,749 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.FUNCintent.FUNCintent.FUNCintent</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.FUNCintent-module.html">Package&nbsp;FUNCintent</a> ::
+        <a href="TestON.tests.FUNCintent.FUNCintent-module.html">Module&nbsp;FUNCintent</a> ::
+        Class&nbsp;FUNCintent
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class FUNCintent</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent">source&nbsp;code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE1">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE2" class="summary-sig-name">CASE2</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Set up cell</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE2">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE8"></a><span class="summary-sig-name">CASE8</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Compare Topo</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE8">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE9"></a><span class="summary-sig-name">CASE9</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Report errors/warnings/exceptions</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE9">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE10"></a><span class="summary-sig-name">CASE10</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Start Mininet topology with OF 1.0 switches</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE10">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE11"></a><span class="summary-sig-name">CASE11</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Start Mininet topology with OF 1.3 switches</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE11">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE12"></a><span class="summary-sig-name">CASE12</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Assign mastership to controllers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE12">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE13"></a><span class="summary-sig-name">CASE13</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Discover all hosts and store its data to a dictionary</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE13">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE14"></a><span class="summary-sig-name">CASE14</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Stop mininet</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE14">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE1000" class="summary-sig-name">CASE1000</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Add host intents between 2 host:</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE1000">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE2000" class="summary-sig-name">CASE2000</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Add point intents between 2 hosts:</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE2000">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE3000" class="summary-sig-name">CASE3000</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Add single point to multi point intents</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE3000">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE4000" class="summary-sig-name">CASE4000</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Add multi point to single point intents</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE4000">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE5000"></a><span class="summary-sig-name">CASE5000</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Will add description in next patch set</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE5000">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="CASE2"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">CASE2</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">main</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE2">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <ul>
+    <li>
+      Set up cell
+      <ul>
+        <li>
+          Create cell file
+        </li>
+        <li>
+          Set cell file
+        </li>
+        <li>
+          Verify cell file
+        </li>
+      </ul>
+    </li>
+    <li>
+      Kill ONOS process
+    </li>
+    <li>
+      Uninstall ONOS cluster
+    </li>
+    <li>
+      Verify ONOS start up
+    </li>
+    <li>
+      Install ONOS cluster
+    </li>
+    <li>
+      Connect to cli
+    </li>
+  </ul>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="CASE1000"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">CASE1000</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">main</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE1000">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Add host intents between 2 host:</p>
+  <ul>
+    <li>
+      Discover hosts
+    </li>
+    <li>
+      Add host intents
+    </li>
+    <li>
+      Check intents
+    </li>
+    <li>
+      Verify flows
+    </li>
+    <li>
+      Ping hosts
+    </li>
+    <li>
+      Reroute
+      <ul>
+        <li>
+          Link down
+        </li>
+        <li>
+          Verify flows
+        </li>
+        <li>
+          Check topology
+        </li>
+        <li>
+          Ping hosts
+        </li>
+        <li>
+          Link up
+        </li>
+        <li>
+          Verify flows
+        </li>
+        <li>
+          Check topology
+        </li>
+        <li>
+          Ping hosts
+        </li>
+      </ul>
+    </li>
+    <li>
+      Remove intents
+    </li>
+  </ul>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="CASE2000"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">CASE2000</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">main</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE2000">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Add point intents between 2 hosts:</p>
+  <ul>
+    <li>
+      Get device ids | ports
+    </li>
+    <li>
+      Add point intents
+    </li>
+    <li>
+      Check intents
+    </li>
+    <li>
+      Verify flows
+    </li>
+    <li>
+      Ping hosts
+    </li>
+    <li>
+      Reroute
+      <ul>
+        <li>
+          Link down
+        </li>
+        <li>
+          Verify flows
+        </li>
+        <li>
+          Check topology
+        </li>
+        <li>
+          Ping hosts
+        </li>
+        <li>
+          Link up
+        </li>
+        <li>
+          Verify flows
+        </li>
+        <li>
+          Check topology
+        </li>
+        <li>
+          Ping hosts
+        </li>
+      </ul>
+    </li>
+    <li>
+      Remove intents
+    </li>
+  </ul>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="CASE3000"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">CASE3000</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">main</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE3000">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Add single point to multi point intents</p>
+  <ul>
+    <li>
+      Get device ids
+    </li>
+    <li>
+      Add single point to multi point intents
+    </li>
+    <li>
+      Check intents
+    </li>
+    <li>
+      Verify flows
+    </li>
+    <li>
+      Ping hosts
+    </li>
+    <li>
+      Reroute
+      <ul>
+        <li>
+          Link down
+        </li>
+        <li>
+          Verify flows
+        </li>
+        <li>
+          Check topology
+        </li>
+        <li>
+          Ping hosts
+        </li>
+        <li>
+          Link up
+        </li>
+        <li>
+          Verify flows
+        </li>
+        <li>
+          Check topology
+        </li>
+        <li>
+          Ping hosts
+        </li>
+      </ul>
+    </li>
+    <li>
+      Remove intents
+    </li>
+  </ul>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="CASE4000"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">CASE4000</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">main</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.tests.FUNCintent.FUNCintent-pysrc.html#FUNCintent.CASE4000">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Add multi point to single point intents</p>
+  <ul>
+    <li>
+      Get device ids
+    </li>
+    <li>
+      Add multi point to single point intents
+    </li>
+    <li>
+      Check intents
+    </li>
+    <li>
+      Verify flows
+    </li>
+    <li>
+      Ping hosts
+    </li>
+    <li>
+      Reroute
+      <ul>
+        <li>
+          Link down
+        </li>
+        <li>
+          Verify flows
+        </li>
+        <li>
+          Check topology
+        </li>
+        <li>
+          Ping hosts
+        </li>
+        <li>
+          Link up
+        </li>
+        <li>
+          Verify flows
+        </li>
+        <li>
+          Check topology
+        </li>
+        <li>
+          Ping hosts
+        </li>
+      </ul>
+    </li>
+  </ul>
+  <ul>
+    <li>
+      Remove intents
+    </li>
+  </ul>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.FvtTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.FvtTest-module.html
deleted file mode 100644
index cdc2ad7..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.FvtTest-module.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.FvtTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;FvtTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.FvtTest-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package FvtTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.FvtTest-pysrc.html">source&nbsp;code</a></span></p>
-<!-- ==================== SUBMODULES ==================== -->
-<a name="section-Submodules"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Submodules</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Submodules"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr><td class="summary">
-  <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.FvtTest.FvtTest-module.html">TestON.tests.FvtTest.FvtTest</a></strong>    </li>
-  </ul></td></tr>
-</table>
-
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.FvtTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.FvtTest-pysrc.html
deleted file mode 100644
index 148f134..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.FvtTest-pysrc.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.FvtTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;FvtTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.FvtTest-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.FvtTest-module.html">Package TestON.tests.FvtTest</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
-<a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.FvtTest.FvtTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.FvtTest.FvtTest-module.html
deleted file mode 100644
index 72acd6b..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.FvtTest.FvtTest-module.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.FvtTest.FvtTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.FvtTest-module.html">Package&nbsp;FvtTest</a> ::
-        Module&nbsp;FvtTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.FvtTest.FvtTest-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module FvtTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.FvtTest.FvtTest-pysrc.html">source&nbsp;code</a></span></p>
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="TestON.tests.FvtTest.FvtTest.FvtTest-class.html" class="summary-name">FvtTest</a>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.FvtTest.FvtTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.FvtTest.FvtTest-pysrc.html
deleted file mode 100644
index 8dda401..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.FvtTest.FvtTest-pysrc.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.FvtTest.FvtTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.FvtTest-module.html">Package&nbsp;FvtTest</a> ::
-        Module&nbsp;FvtTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.FvtTest.FvtTest-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.FvtTest.FvtTest-module.html">Module TestON.tests.FvtTest.FvtTest</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"> </tt>
-<a name="FvtTest"></a><div id="FvtTest-def"><a name="L2"></a><tt class="py-lineno"> 2</tt> <a class="py-toggle" href="#" id="FvtTest-toggle" onclick="return toggle('FvtTest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.FvtTest.FvtTest.FvtTest-class.html">FvtTest</a> <tt class="py-op">:</tt> </tt>
-</div><div id="FvtTest-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="FvtTest-expanded"><a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"> </tt>
-<a name="FvtTest.__init__"></a><div id="FvtTest.__init__-def"><a name="L4"></a><tt class="py-lineno"> 4</tt> <a class="py-toggle" href="#" id="FvtTest.__init__-toggle" onclick="return toggle('FvtTest.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.FvtTest.FvtTest.FvtTest-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="FvtTest.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="FvtTest.__init__-expanded"><a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-</div><a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"> </tt>
-<a name="FvtTest.CASE1"></a><div id="FvtTest.CASE1-def"><a name="L7"></a><tt class="py-lineno"> 7</tt> <a class="py-toggle" href="#" id="FvtTest.CASE1-toggle" onclick="return toggle('FvtTest.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.FvtTest.FvtTest.FvtTest-class.html#CASE1">CASE1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="FvtTest.CASE1-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="FvtTest.CASE1-expanded"><a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">     </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Checking FVT"</tt><tt class="py-op">)</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Checking the FVT"</tt><tt class="py-op">)</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">        <tt class="py-name">pkt</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FVT</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.simplePacket()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#simplePacket"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.simplePacket" class="py-name" href="#" onclick="return doclink('link-3', 'simplePacket', 'link-3');">simplePacket</a></tt><tt class="py-op">(</tt><tt class="py-string">"SRC_MAC_FOR_CTL0_0"</tt><tt class="py-op">)</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">        <tt class="py-name">in_port</tt> <tt class="py-op">=</tt> <tt class="py-number">3</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">        <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FVT</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPacketIn()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPacketIn"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPacketIn" class="py-name" href="#" onclick="return doclink('link-4', 'genPacketIn', 'link-4');">genPacketIn</a></tt><tt class="py-op">(</tt><tt class="py-name">in_port</tt><tt class="py-op">=</tt><tt class="py-name">in_port</tt><tt class="py-op">,</tt> <tt class="py-name">pkt</tt><tt class="py-op">=</tt><tt class="py-name">pkt</tt><tt class="py-op">)</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">        <tt class="py-name">snd_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"switch"</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt><tt class="py-op">]</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">        <tt class="py-name">exp_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">[</tt><tt class="py-string">"controller"</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">        <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FVT</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.ofmsgSndCmp()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#ofmsgSndCmp"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.ofmsgSndCmp" class="py-name" href="#" onclick="return doclink('link-5', 'ofmsgSndCmp', 'link-5');">ofmsgSndCmp</a></tt><tt class="py-op">(</tt><tt class="py-name">snd_list</tt> <tt class="py-op">,</tt> <tt class="py-name">exp_list</tt> <tt class="py-op">,</tt> <tt class="py-name">xid_ignore</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">hdr_only</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">res</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Received expected message"</tt><tt class="py-op">,</tt><tt id="link-6" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-6', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Received unexpected message"</tt><tt class="py-op">)</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">     </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-comment">#Packet_in for controller1</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">        <tt class="py-name">pkt</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FVT</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.simplePacket" class="py-name" href="#" onclick="return doclink('link-7', 'simplePacket', 'link-3');">simplePacket</a></tt><tt class="py-op">(</tt><tt class="py-string">"SRC_MAC_FOR_CTL1_0"</tt><tt class="py-op">)</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">        <tt class="py-name">in_port</tt> <tt class="py-op">=</tt> <tt class="py-number">3</tt> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FVT</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPacketIn" class="py-name" href="#" onclick="return doclink('link-8', 'genPacketIn', 'link-4');">genPacketIn</a></tt><tt class="py-op">(</tt><tt class="py-name">in_port</tt><tt class="py-op">=</tt><tt class="py-name">in_port</tt><tt class="py-op">,</tt> <tt class="py-name">pkt</tt><tt class="py-op">=</tt><tt class="py-name">pkt</tt><tt class="py-op">)</tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">        <tt class="py-name">snd_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"switch"</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt><tt class="py-op">]</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-name">exp_list</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">[</tt><tt class="py-string">"controller"</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">msg</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FVT</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.api.fvtapidriver.FvtApiDriver.ofmsgSndCmp" class="py-name" href="#" onclick="return doclink('link-9', 'ofmsgSndCmp', 'link-5');">ofmsgSndCmp</a></tt><tt class="py-op">(</tt><tt class="py-name">snd_list</tt> <tt class="py-op">,</tt> <tt class="py-name">exp_list</tt> <tt class="py-op">,</tt> <tt class="py-name">xid_ignore</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">res</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Received expected message"</tt><tt class="py-op">,</tt><tt id="link-10" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-10', 'onfail', 'link-6');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Received unexpected message"</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.FvtTest.FvtTest.FvtTest-class.html b/TestON/Documentation/TestON_Document/TestON.tests.FvtTest.FvtTest.FvtTest-class.html
deleted file mode 100644
index abac11d..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.FvtTest.FvtTest.FvtTest-class.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.FvtTest.FvtTest.FvtTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.FvtTest-module.html">Package&nbsp;FvtTest</a> ::
-        <a href="TestON.tests.FvtTest.FvtTest-module.html">Module&nbsp;FvtTest</a> ::
-        Class&nbsp;FvtTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.FvtTest.FvtTest.FvtTest-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class FvtTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.FvtTest.FvtTest-pysrc.html#FvtTest">source&nbsp;code</a></span></p>
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.FvtTest.FvtTest-pysrc.html#FvtTest.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">main</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.FvtTest.FvtTest-pysrc.html#FvtTest.CASE1">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart-module.html b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart-module.html
new file mode 100644
index 0000000..38e8819
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart-module.html
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAclusterRestart</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        Package&nbsp;HAclusterRestart
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAclusterRestart-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PACKAGE DESCRIPTION ==================== -->
+<h1 class="epydoc">Package HAclusterRestart</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAclusterRestart-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== SUBMODULES ==================== -->
+<a name="section-Submodules"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Submodules</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Submodules"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr><td class="summary">
+  <ul class="nomargin">
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-module.html">TestON.tests.HAclusterRestart.HAclusterRestart</a></strong>: <em class="summary">Description: This test is to determine if ONOS can handle
+    all of it's nodes restarting</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.dependencies-module.html">TestON.tests.HAclusterRestart.dependencies</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html">TestON.tests.HAclusterRestart.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html">TestON.tests.HAclusterRestart.dependencies.obelisk</a></strong>    </li>
+    </ul>
+    </li>
+  </ul></td></tr>
+</table>
+
+<br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart-pysrc.html
similarity index 80%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart-pysrc.html
index ab359bb..ded9ecb 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.HAclusterRestart</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;HAclusterRestart
       </span>
     </td>
     <td>
@@ -49,13 +54,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAclusterRestart-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAclusterRestart-module.html">Package TestON.tests.HAclusterRestart</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.HAclusterRestart-module.html b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.HAclusterRestart-module.html
new file mode 100644
index 0000000..9f4190a
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.HAclusterRestart-module.html
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAclusterRestart.HAclusterRestart</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAclusterRestart-module.html">Package&nbsp;HAclusterRestart</a> ::
+        Module&nbsp;HAclusterRestart
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module HAclusterRestart</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
+
+Description: This test is to determine if ONOS can handle
+    all of it's nodes restarting
+
+List of test cases:
+CASE1: Compile ONOS and push it to the test machines
+CASE2: Assign devices to controllers
+CASE21: Assign mastership to controllers
+CASE3: Assign intents
+CASE4: Ping across added host intents
+CASE5: Reading state of ONOS
+CASE6: The Failure case.
+CASE7: Check state after control plane failure
+CASE8: Compare topo
+CASE9: Link s3-s28 down
+CASE10: Link s3-s28 up
+CASE11: Switch down
+CASE12: Switch up
+CASE13: Clean up
+CASE14: start election app on all onos nodes
+CASE15: Check that Leadership Election is still functional
+CASE16: Install Distributed Primitives app
+CASE17: Check for basic functionality with distributed primitives
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html" class="summary-name">HAclusterRestart</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html
new file mode 100644
index 0000000..5e012f9
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html
@@ -0,0 +1,4806 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAclusterRestart.HAclusterRestart</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAclusterRestart-module.html">Package&nbsp;HAclusterRestart</a> ::
+        Module&nbsp;HAclusterRestart
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAclusterRestart.HAclusterRestart-module.html">Module TestON.tests.HAclusterRestart.HAclusterRestart</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"><tt class="py-docstring">Description: This test is to determine if ONOS can handle</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">   3</tt>  <tt class="py-line"><tt class="py-docstring">    all of it's nodes restarting</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno">   5</tt>  <tt class="py-line"><tt class="py-docstring">List of test cases:</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line"><tt class="py-docstring">CASE1: Compile ONOS and push it to the test machines</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"><tt class="py-docstring">CASE2: Assign devices to controllers</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">   8</tt>  <tt class="py-line"><tt class="py-docstring">CASE21: Assign mastership to controllers</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">   9</tt>  <tt class="py-line"><tt class="py-docstring">CASE3: Assign intents</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line"><tt class="py-docstring">CASE4: Ping across added host intents</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">  11</tt>  <tt class="py-line"><tt class="py-docstring">CASE5: Reading state of ONOS</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line"><tt class="py-docstring">CASE6: The Failure case.</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"><tt class="py-docstring">CASE7: Check state after control plane failure</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line"><tt class="py-docstring">CASE8: Compare topo</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line"><tt class="py-docstring">CASE9: Link s3-s28 down</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt class="py-docstring">CASE10: Link s3-s28 up</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt class="py-docstring">CASE11: Switch down</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-docstring">CASE12: Switch up</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"><tt class="py-docstring">CASE13: Clean up</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"><tt class="py-docstring">CASE14: start election app on all onos nodes</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"><tt class="py-docstring">CASE15: Check that Leadership Election is still functional</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">  22</tt>  <tt class="py-line"><tt class="py-docstring">CASE16: Install Distributed Primitives app</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line"><tt class="py-docstring">CASE17: Check for basic functionality with distributed primitives</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">  26</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart"></a><div id="HAclusterRestart-def"><a name="L27"></a><tt class="py-lineno">  27</tt> <a class="py-toggle" href="#" id="HAclusterRestart-toggle" onclick="return toggle('HAclusterRestart');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HAclusterRestart-expanded"><a name="L28"></a><tt class="py-lineno">  28</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.__init__"></a><div id="HAclusterRestart.__init__-def"><a name="L29"></a><tt class="py-lineno">  29</tt> <a class="py-toggle" href="#" id="HAclusterRestart.__init__-toggle" onclick="return toggle('HAclusterRestart.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.__init__-expanded"><a name="L30"></a><tt class="py-lineno">  30</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE1"></a><div id="HAclusterRestart.CASE1-def"><a name="L32"></a><tt class="py-lineno">  32</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE1-toggle" onclick="return toggle('HAclusterRestart.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE1">CASE1</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE1-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE1-expanded"><a name="L33"></a><tt class="py-lineno">  33</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line"><tt class="py-docstring">        CASE1 is to compile ONOS and push it to the test machines</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L36"></a><tt class="py-lineno">  36</tt>  <tt class="py-line"><tt class="py-docstring">        Startup sequence:</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line"><tt class="py-docstring">        cell &lt;name&gt;</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">  38</tt>  <tt class="py-line"><tt class="py-docstring">        onos-verify-cell</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">  39</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: temporary - onos-remove-raft-logs</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line"><tt class="py-docstring">        onos-uninstall</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line"><tt class="py-docstring">        start mininet</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line"><tt class="py-docstring">        git pull</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">  43</tt>  <tt class="py-line"><tt class="py-docstring">        mvn clean install</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line"><tt class="py-docstring">        onos-package</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line"><tt class="py-docstring">        onos-install -f</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line"><tt class="py-docstring">        onos-wait-for-start</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">  47</tt>  <tt class="py-line"><tt class="py-docstring">        start cli sessions</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">  48</tt>  <tt class="py-line"><tt class="py-docstring">        start tcpdump</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">imp</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">  51</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS HA test: Restart all ONOS nodes - "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">  52</tt>  <tt class="py-line">                         <tt class="py-string">"initialization"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-2', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Setting up test environment"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Setup the test environment including "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L55"></a><tt class="py-lineno">  55</tt>  <tt class="py-line">                                <tt class="py-string">"installing ONOS, starting Mininet and ONOS"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L56"></a><tt class="py-lineno">  56</tt>  <tt class="py-line">                                <tt class="py-string">"cli sessions."</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: save all the timers and output them for plotting</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">  58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line">        <tt class="py-comment"># load some variables from the params file</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">  60</tt>  <tt class="py-line">        <tt class="py-name">PULLCODE</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">  61</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'Git'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'True'</tt><tt class="py-op">:</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">  62</tt>  <tt class="py-line">            <tt class="py-name">PULLCODE</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">  63</tt>  <tt class="py-line">        <tt class="py-name">gitBranch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'branch'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line"> </tt>
+<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'num_controllers'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">  70</tt>  <tt class="py-line">        <tt class="py-comment"># set global variables</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS1Port</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS2Port</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS3Port</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">  74</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS4Port</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS5Port</tt> </tt>
+<a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS6Port</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS7Port</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">  78</tt>  <tt class="py-line">        <tt class="py-comment"># These are for csv plotting in jenkins</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">labels</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">data</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">  81</tt>  <tt class="py-line">        <tt class="py-name">labels</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L82"></a><tt class="py-lineno">  82</tt>  <tt class="py-line">        <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L83"></a><tt class="py-lineno">  83</tt>  <tt class="py-line"> </tt>
+<a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: just get controller port from params?</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: do we really need all these?</tt> </tt>
+<a name="L86"></a><tt class="py-lineno">  86</tt>  <tt class="py-line">        <tt class="py-name">ONOS1Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L87"></a><tt class="py-lineno">  87</tt>  <tt class="py-line">        <tt class="py-name">ONOS2Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port2'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line">        <tt class="py-name">ONOS3Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port3'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line">        <tt class="py-name">ONOS4Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port4'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L90"></a><tt class="py-lineno">  90</tt>  <tt class="py-line">        <tt class="py-name">ONOS5Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port5'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line">        <tt class="py-name">ONOS6Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port6'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L92"></a><tt class="py-lineno">  92</tt>  <tt class="py-line">        <tt class="py-name">ONOS7Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port7'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line"> </tt>
+<a name="L94"></a><tt class="py-lineno">  94</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L95"></a><tt class="py-lineno">  95</tt>  <tt class="py-line">            <tt class="py-name">fileName</tt> <tt class="py-op">=</tt> <tt class="py-string">"Counters"</tt> </tt>
+<a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line">            <tt id="link-3" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-3', 'path', 'link-3');">path</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'imports'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'path'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module TestON.tests.HAclusterRestart.dependencies.Counters=TestON.tests.HAclusterRestart.dependencies.Counters-module.html,Module TestON.tests.HAminorityRestart.dependencies.Counters=TestON.tests.HAminorityRestart.dependencies.Counters-module.html,Module TestON.tests.HAsanity.dependencies.Counters=TestON.tests.HAsanity.dependencies.Counters-module.html,Module TestON.tests.HAsingleInstanceRestart.dependencies.Counters=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-4', 'Counters', 'link-4');">Counters</a></tt> <tt class="py-op">=</tt> <tt class="py-name">imp</tt><tt class="py-op">.</tt><tt class="py-name">load_source</tt><tt class="py-op">(</tt> <tt class="py-name">fileName</tt><tt class="py-op">,</tt> </tt>
+<a name="L98"></a><tt class="py-lineno">  98</tt>  <tt class="py-line">                                             <tt id="link-5" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-5', 'path', 'link-3');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L100"></a><tt class="py-lineno"> 100</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-6', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-7', 'cleanup', 'link-7');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno"> 102</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-8', 'exit', 'link-8');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno"> 103</tt>  <tt class="py-line"> </tt>
+<a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#nodes,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#nodes"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-9', 'nodes', 'link-9');">nodes</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L106"></a><tt class="py-lineno"> 106</tt>  <tt class="py-line">        <tt class="py-name">ipList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L107"></a><tt class="py-lineno"> 107</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno"> 109</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">'ONOScli'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-10', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">'ONOS'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno"> 111</tt>  <tt class="py-line">                <tt class="py-name">ipList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-11', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno"> 112</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L113"></a><tt class="py-lineno"> 113</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line"> </tt>
+<a name="L115"></a><tt class="py-lineno"> 115</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-12', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Create cell file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line">        <tt class="py-name">cellAppString</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'appString'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L117"></a><tt class="py-lineno"> 117</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile" class="py-name" href="#" onclick="return doclink('link-13', 'createCellFile', 'link-13');">createCellFile</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-name">cellName</tt><tt class="py-op">,</tt> </tt>
+<a name="L118"></a><tt class="py-lineno"> 118</tt>  <tt class="py-line">                                       <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line">                                       <tt class="py-name">cellAppString</tt><tt class="py-op">,</tt> <tt class="py-name">ipList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-14', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Applying cell variable to environment"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno"> 121</tt>  <tt class="py-line">        <tt class="py-name">cellResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell,Method TestON.drivers.common.cli.onosdriver.OnosDriver.setCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.setCell" class="py-name" href="#" onclick="return doclink('link-15', 'setCell', 'link-15');">setCell</a></tt><tt class="py-op">(</tt> <tt class="py-name">cellName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno"> 122</tt>  <tt class="py-line">        <tt class="py-name">verifyResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifyCell"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell" class="py-name" href="#" onclick="return doclink('link-16', 'verifyCell', 'link-16');">verifyCell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line"> </tt>
+<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME:this is short term fix</tt> </tt>
+<a name="L125"></a><tt class="py-lineno"> 125</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-17', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Removing raft logs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosRemoveRaftLogs()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosRemoveRaftLogs"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosRemoveRaftLogs" class="py-name" href="#" onclick="return doclink('link-18', 'onosRemoveRaftLogs', 'link-18');">onosRemoveRaftLogs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno"> 127</tt>  <tt class="py-line"> </tt>
+<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-19', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Uninstalling ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-20', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L130"></a><tt class="py-lineno"> 130</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosUninstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall" class="py-name" href="#" onclick="return doclink('link-21', 'onosUninstall', 'link-21');">onosUninstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line"> </tt>
+<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line">        <tt class="py-comment"># Make sure ONOS is DEAD</tt> </tt>
+<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-22', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Killing any ONOS processes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno"> 134</tt>  <tt class="py-line">        <tt class="py-name">killResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-23', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line">            <tt class="py-name">killed</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosKill()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosKill"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosKill" class="py-name" href="#" onclick="return doclink('link-24', 'onosKill', 'link-24');">onosKill</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line">            <tt class="py-name">killResults</tt> <tt class="py-op">=</tt> <tt class="py-name">killResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">killed</tt> </tt>
+<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line"> </tt>
+<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line">        <tt class="py-name">cleanInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L140"></a><tt class="py-lineno"> 140</tt>  <tt class="py-line">        <tt class="py-name">gitPullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line"> </tt>
+<a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-25', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno"> 143</tt>  <tt class="py-line">        <tt class="py-comment"># scp topo file to mininet</tt> </tt>
+<a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: move to params?</tt> </tt>
+<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line">        <tt class="py-name">topoName</tt> <tt class="py-op">=</tt> <tt class="py-string">"obelisk.py"</tt> </tt>
+<a name="L146"></a><tt class="py-lineno"> 146</tt>  <tt class="py-line">        <tt class="py-name">filePath</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> <tt class="py-string">"/tools/test/topos/"</tt> </tt>
+<a name="L147"></a><tt class="py-lineno"> 147</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.copyMininetFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#copyMininetFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.copyMininetFile" class="py-name" href="#" onclick="return doclink('link-26', 'copyMininetFile', 'link-26');">copyMininetFile</a></tt><tt class="py-op">(</tt> <tt class="py-name">topoName</tt><tt class="py-op">,</tt> <tt class="py-name">filePath</tt><tt class="py-op">,</tt> </tt>
+<a name="L148"></a><tt class="py-lineno"> 148</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line">        <tt class="py-name">mnResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet" class="py-name" href="#" onclick="return doclink('link-27', 'startNet', 'link-27');">startNet</a></tt><tt class="py-op">(</tt> <tt class="py-op">)</tt> </tt>
+<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">mnResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Mininet Started"</tt><tt class="py-op">,</tt> </tt>
+<a name="L153"></a><tt class="py-lineno"> 153</tt>  <tt class="py-line">                                 <tt id="link-28" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-28', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error starting Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line"> </tt>
+<a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-29', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Git checkout and pull "</tt> <tt class="py-op">+</tt> <tt class="py-name">gitBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno"> 156</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">PULLCODE</tt><tt class="py-op">:</tt> </tt>
+<a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitCheckout"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout" class="py-name" href="#" onclick="return doclink('link-30', 'gitCheckout', 'link-30');">gitCheckout</a></tt><tt class="py-op">(</tt> <tt class="py-name">gitBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line">            <tt class="py-name">gitPullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-31', 'gitPull', 'link-31');">gitPull</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line">            <tt class="py-comment"># values of 1 or 3 are good</tt> </tt>
+<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_lesser</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">gitPullResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L161"></a><tt class="py-lineno"> 161</tt>  <tt class="py-line">                                      <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Git pull successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L162"></a><tt class="py-lineno"> 162</tt>  <tt class="py-line">                                      <tt id="link-32" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-32', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Git pull failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getVersion,Method TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getVersion"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion
+TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion" class="py-name" href="#" onclick="return doclink('link-33', 'getVersion', 'link-33');">getVersion</a></tt><tt class="py-op">(</tt> <tt class="py-name">report</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno"> 164</tt>  <tt class="py-line"> </tt>
+<a name="L165"></a><tt class="py-lineno"> 165</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-34', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Using mvn clean install"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line">        <tt class="py-name">cleanInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">PULLCODE</tt> <tt class="py-keyword">and</tt> <tt class="py-name">gitPullResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line">            <tt class="py-name">cleanInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cleanInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall" class="py-name" href="#" onclick="return doclink('link-35', 'cleanInstall', 'link-35');">cleanInstall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L169"></a><tt class="py-lineno"> 169</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-36', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Did not pull new code so skipping mvn "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line">                           <tt class="py-string">"clean install"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno"> 172</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L173"></a><tt class="py-lineno"> 173</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">cleanInstallResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"MCI successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line">                                 <tt id="link-37" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-37', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"MCI failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L176"></a><tt class="py-lineno"> 176</tt>  <tt class="py-line">        <tt class="py-comment"># GRAPHS</tt> </tt>
+<a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: important params here:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line">        <tt class="py-comment">#       job = name of Jenkins job</tt> </tt>
+<a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line">        <tt class="py-comment">#       Plot Name = Plot-HA, only can be used if multiple plots</tt> </tt>
+<a name="L180"></a><tt class="py-lineno"> 180</tt>  <tt class="py-line">        <tt class="py-comment">#       index = The number of the graph under plot name</tt> </tt>
+<a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line">        <tt class="py-name">job</tt> <tt class="py-op">=</tt> <tt class="py-string">"HAclusterRestart"</tt> </tt>
+<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line">        <tt class="py-name">plotName</tt> <tt class="py-op">=</tt> <tt class="py-string">"Plot-HA"</tt> </tt>
+<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">=</tt> <tt class="py-string">'&lt;ac:structured-macro ac:name="html"&gt;\n'</tt> </tt>
+<a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">+=</tt> <tt class="py-string">'&lt;ac:plain-text-body&gt;&lt;![CDATA[\n'</tt> </tt>
+<a name="L185"></a><tt class="py-lineno"> 185</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">+=</tt> <tt class="py-string">'&lt;iframe src="https://onos-jenkins.onlab.us/job/'</tt> <tt class="py-op">+</tt> <tt class="py-name">job</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L186"></a><tt class="py-lineno"> 186</tt>  <tt class="py-line">                  <tt class="py-string">'/plot/'</tt> <tt class="py-op">+</tt> <tt class="py-name">plotName</tt> <tt class="py-op">+</tt> <tt class="py-string">'/getPlot?index=0'</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line">                  <tt class="py-string">'&amp;width=500&amp;height=300"'</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line">                  <tt class="py-string">'noborder="0" width="500" height="300" scrolling="yes" '</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line">                  <tt class="py-string">'seamless="seamless"&gt;&lt;/iframe&gt;\n'</tt> </tt>
+<a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">+=</tt> <tt class="py-string">']]&gt;&lt;/ac:plain-text-body&gt;\n'</tt> </tt>
+<a name="L191"></a><tt class="py-lineno"> 191</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">+=</tt> <tt class="py-string">'&lt;/ac:structured-macro&gt;\n'</tt> </tt>
+<a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-38', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt><tt class="py-name">graphs</tt><tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line"> </tt>
+<a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-39', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Creating ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno"> 195</tt>  <tt class="py-line">        <tt class="py-name">packageResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage" class="py-name" href="#" onclick="return doclink('link-40', 'onosPackage', 'link-40');">onosPackage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L196"></a><tt class="py-lineno"> 196</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">packageResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L197"></a><tt class="py-lineno"> 197</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS package successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line">                                 <tt id="link-41" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-41', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS package failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line"> </tt>
+<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-42', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Installing ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line">        <tt class="py-name">onosInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-43', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall" class="py-name" href="#" onclick="return doclink('link-44', 'onosInstall', 'link-44');">onosInstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">options</tt><tt class="py-op">=</tt><tt class="py-string">"-f"</tt><tt class="py-op">,</tt> </tt>
+<a name="L204"></a><tt class="py-lineno"> 204</tt>  <tt class="py-line">                                                    <tt class="py-name">node</tt><tt class="py-op">=</tt><tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno"> 205</tt>  <tt class="py-line">            <tt class="py-name">onosInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosInstallResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">onosInstallResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L207"></a><tt class="py-lineno"> 207</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS install successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line">                                 <tt id="link-45" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-45', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS install failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line"> </tt>
+<a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-46', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Checking if ONOS is up yet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno"> 211</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line">            <tt class="py-name">onosIsupResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-47', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line">                <tt class="py-name">started</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.isup()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#isup"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-48', 'isup', 'link-48');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">started</tt><tt class="py-op">:</tt> </tt>
+<a name="L216"></a><tt class="py-lineno"> 216</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-49', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-50', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" didn't start!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L217"></a><tt class="py-lineno"> 217</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosStop()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStop"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosStop" class="py-name" href="#" onclick="return doclink('link-51', 'onosStop', 'link-51');">onosStop</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L218"></a><tt class="py-lineno"> 218</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosStart()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStart"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosStart" class="py-name" href="#" onclick="return doclink('link-52', 'onosStart', 'link-52');">onosStart</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line">                <tt class="py-name">onosIsupResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosIsupResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">started</tt> </tt>
+<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">onosIsupResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">onosIsupResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS startup successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line">                                 <tt id="link-53" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-53', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS startup failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line"> </tt>
+<a name="L226"></a><tt class="py-lineno"> 226</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-54', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-55', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting ONOS CLI sessions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line">        <tt class="py-name">cliResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L228"></a><tt class="py-lineno"> 228</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L229"></a><tt class="py-lineno"> 229</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Module TestON.core.Thread=TestON.core.Thread-module.html,Class TestON.core.Thread.Thread=TestON.core.Thread.Thread-class.html"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-56', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#startOnosCli"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli" class="py-name" href="#" onclick="return doclink('link-57', 'startOnosCli', 'link-57');">startOnosCli</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"startOnosCli-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L232"></a><tt class="py-lineno"> 232</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-58', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L234"></a><tt class="py-lineno"> 234</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line"> </tt>
+<a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line">            <tt class="py-name">cliResults</tt> <tt class="py-op">=</tt> <tt class="py-name">cliResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">cliResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS cli startup successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line">                                 <tt id="link-59" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-59', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS cli startup failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line"> </tt>
+<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'tcpdump'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">"true"</tt><tt class="py-op">:</tt> </tt>
+<a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-60', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Start Packet Capture MN"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startTcpdump()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startTcpdump,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.startTcpdump()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#startTcpdump"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startTcpdump
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.startTcpdump" class="py-name" href="#" onclick="return doclink('link-61', 'startTcpdump', 'link-61');">startTcpdump</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MNtcpdump'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'folder'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">)</tt> </tt>
+<a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line">                <tt class="py-op">+</tt> <tt class="py-string">"-MN.pcap"</tt><tt class="py-op">,</tt> </tt>
+<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line">                <tt class="py-name">intf</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MNtcpdump'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'intf'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line">                <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MNtcpdump'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line"> </tt>
+<a name="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-62', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"App Ids check"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">        <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-63', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appToIDCheck"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-64', 'appToIDCheck', 'link-64');">appToIDCheck</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"appToIDCheck-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line"> </tt>
+<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line">            <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">appCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L265"></a><tt class="py-lineno"> 265</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-65', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#apps,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#apps"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-66', 'apps', 'link-66');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-67', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appIDs"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-68', 'appIDs', 'link-68');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line">                                 <tt id="link-69" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-69', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line"> </tt>
+<a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">cliResults</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L272"></a><tt class="py-lineno"> 272</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-70', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-71', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to start ONOS, stopping test"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-72', 'cleanup', 'link-7');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L274"></a><tt class="py-lineno"> 274</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-73', 'exit', 'link-8');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE2"></a><div id="HAclusterRestart.CASE2-def"><a name="L276"></a><tt class="py-lineno"> 276</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE2-toggle" onclick="return toggle('HAclusterRestart.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE2">CASE2</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE2-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE2-expanded"><a name="L277"></a><tt class="py-lineno"> 277</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line"><tt class="py-docstring">        Assign devices to controllers</tt> </tt>
+<a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L280"></a><tt class="py-lineno"> 280</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-74', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS1Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS1Port not defined"</tt> </tt>
+<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS2Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS2Port not defined"</tt> </tt>
+<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS3Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS3Port not defined"</tt> </tt>
+<a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS4Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS4Port not defined"</tt> </tt>
+<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS5Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS5Port not defined"</tt> </tt>
+<a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS6Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS6Port not defined"</tt> </tt>
+<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS7Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS7Port not defined"</tt> </tt>
+<a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line"> </tt>
+<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-75', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assigning devices to controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Assign switches to ONOS using 'ovs-vsctl' "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line">                                <tt class="py-string">"and check that an ONOS node becomes the "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line">                                <tt class="py-string">"master of the device."</tt> </tt>
+<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-76', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assign switches to controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line"> </tt>
+<a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line">        <tt class="py-name">ipList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line">            <tt class="py-name">ipList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-77', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line">        <tt class="py-name">swList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line">            <tt class="py-name">swList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignSwController"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController" class="py-name" href="#" onclick="return doclink('link-78', 'assignSwController', 'link-78');">assignSwController</a></tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt><tt class="py-op">=</tt><tt class="py-name">swList</tt><tt class="py-op">,</tt> <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">ipList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line"> </tt>
+<a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line">        <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L309"></a><tt class="py-lineno"> 309</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L310"></a><tt class="py-lineno"> 310</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwController()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwController"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwController" class="py-name" href="#" onclick="return doclink('link-79', 'getSwController', 'link-79');">getSwController</a></tt><tt class="py-op">(</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-80', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L314"></a><tt class="py-lineno"> 314</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-81', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L315"></a><tt class="py-lineno"> 315</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-82', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L317"></a><tt class="py-lineno"> 317</tt>  <tt class="py-line">                    <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">mastershipCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L318"></a><tt class="py-lineno"> 318</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L319"></a><tt class="py-lineno"> 319</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-83', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-84', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, node "</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> <tt class="py-string">" is "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L320"></a><tt class="py-lineno"> 320</tt>  <tt class="py-line">                                    <tt class="py-string">"not in the list of controllers s"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is connecting to."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L322"></a><tt class="py-lineno"> 322</tt>  <tt class="py-line">                    <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L324"></a><tt class="py-lineno"> 324</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L325"></a><tt class="py-lineno"> 325</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">mastershipCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Switch mastership assigned correctly"</tt><tt class="py-op">,</tt> </tt>
+<a name="L327"></a><tt class="py-lineno"> 327</tt>  <tt class="py-line">            <tt id="link-85" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-85', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Switches not assigned correctly to controllers"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE21"></a><div id="HAclusterRestart.CASE21-def"><a name="L329"></a><tt class="py-lineno"> 329</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE21-toggle" onclick="return toggle('HAclusterRestart.CASE21');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE21">CASE21</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE21-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE21-expanded"><a name="L330"></a><tt class="py-lineno"> 330</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line"><tt class="py-docstring">        Assign mastership to controllers</tt> </tt>
+<a name="L332"></a><tt class="py-lineno"> 332</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L333"></a><tt class="py-lineno"> 333</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L338"></a><tt class="py-lineno"> 338</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-86', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS1Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS1Port not defined"</tt> </tt>
+<a name="L340"></a><tt class="py-lineno"> 340</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS2Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS2Port not defined"</tt> </tt>
+<a name="L341"></a><tt class="py-lineno"> 341</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS3Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS3Port not defined"</tt> </tt>
+<a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS4Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS4Port not defined"</tt> </tt>
+<a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS5Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS5Port not defined"</tt> </tt>
+<a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS6Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS6Port not defined"</tt> </tt>
+<a name="L345"></a><tt class="py-lineno"> 345</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS7Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS7Port not defined"</tt> </tt>
+<a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line"> </tt>
+<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-87', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assigning Controller roles for switches"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Check that ONOS is connected to each "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L349"></a><tt class="py-lineno"> 349</tt>  <tt class="py-line">                                <tt class="py-string">"device. Then manually assign"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L350"></a><tt class="py-lineno"> 350</tt>  <tt class="py-line">                                <tt class="py-string">" mastership to specific ONOS nodes using"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line">                                <tt class="py-string">" 'device-role'"</tt> </tt>
+<a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-88', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assign mastership of switches to specific controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L353"></a><tt class="py-lineno"> 353</tt>  <tt class="py-line">        <tt class="py-comment"># Manually assign mastership to the controller we want</tt> </tt>
+<a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line">        <tt class="py-name">roleCall</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L355"></a><tt class="py-lineno"> 355</tt>  <tt class="py-line"> </tt>
+<a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line">        <tt class="py-name">ipList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-op">]</tt> </tt>
+<a name="L357"></a><tt class="py-lineno"> 357</tt>  <tt class="py-line">        <tt class="py-name">deviceList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line">            <tt class="py-comment"># Assign mastership to specific controllers. This assignment was</tt> </tt>
+<a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line">            <tt class="py-comment"># determined for a 7 node cluser, but will work with any sized</tt> </tt>
+<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line">            <tt class="py-comment"># cluster</tt> </tt>
+<a name="L362"></a><tt class="py-lineno"> 362</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># switches 1 through 28</tt> </tt>
+<a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line">                <tt class="py-comment"># set up correct variables:</tt> </tt>
+<a name="L364"></a><tt class="py-lineno"> 364</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L365"></a><tt class="py-lineno"> 365</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-89', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS1</tt> </tt>
+<a name="L367"></a><tt class="py-lineno"> 367</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getDevice"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-90', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"1000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-91', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS2</tt> </tt>
+<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-92', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"2000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L372"></a><tt class="py-lineno"> 372</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L373"></a><tt class="py-lineno"> 373</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-93', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS2</tt> </tt>
+<a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-94', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"3000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L376"></a><tt class="py-lineno"> 376</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">3</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-95', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS4</tt> </tt>
+<a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-96', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"3004"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">5</tt><tt class="py-op">:</tt> </tt>
+<a name="L381"></a><tt class="py-lineno"> 381</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L382"></a><tt class="py-lineno"> 382</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-97', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS3</tt> </tt>
+<a name="L383"></a><tt class="py-lineno"> 383</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-98', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"5000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L384"></a><tt class="py-lineno"> 384</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">6</tt><tt class="py-op">:</tt> </tt>
+<a name="L385"></a><tt class="py-lineno"> 385</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L386"></a><tt class="py-lineno"> 386</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-99', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS3</tt> </tt>
+<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-100', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"6000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">7</tt><tt class="py-op">:</tt> </tt>
+<a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">5</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-101', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS6</tt> </tt>
+<a name="L391"></a><tt class="py-lineno"> 391</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-102', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"6007"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L392"></a><tt class="py-lineno"> 392</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">8</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">17</tt><tt class="py-op">:</tt> </tt>
+<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">4</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L394"></a><tt class="py-lineno"> 394</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-103', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS5</tt> </tt>
+<a name="L395"></a><tt class="py-lineno"> 395</tt>  <tt class="py-line">                    <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'3'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L396"></a><tt class="py-lineno"> 396</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-104', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">18</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">27</tt><tt class="py-op">:</tt> </tt>
+<a name="L398"></a><tt class="py-lineno"> 398</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">6</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L399"></a><tt class="py-lineno"> 399</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-105', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS7</tt> </tt>
+<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line">                    <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'6'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L401"></a><tt class="py-lineno"> 401</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-106', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L402"></a><tt class="py-lineno"> 402</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">28</tt><tt class="py-op">:</tt> </tt>
+<a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L404"></a><tt class="py-lineno"> 404</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-107', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS1</tt> </tt>
+<a name="L405"></a><tt class="py-lineno"> 405</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-108', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"2800"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L406"></a><tt class="py-lineno"> 406</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-109', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-110', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"You didn't write an else statement for "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L408"></a><tt class="py-lineno"> 408</tt>  <tt class="py-line">                                    <tt class="py-string">"switch s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L409"></a><tt class="py-lineno"> 409</tt>  <tt class="py-line">                    <tt class="py-name">roleCall</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L410"></a><tt class="py-lineno"> 410</tt>  <tt class="py-line">                <tt class="py-comment"># Assign switch</tt> </tt>
+<a name="L411"></a><tt class="py-lineno"> 411</tt>  <tt class="py-line">                <tt class="py-keyword">assert</tt> <tt class="py-name">deviceId</tt><tt class="py-op">,</tt> <tt class="py-string">"No device id for s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" in ONOS"</tt> </tt>
+<a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: make this controller dynamic</tt> </tt>
+<a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line">                <tt class="py-name">roleCall</tt> <tt class="py-op">=</tt> <tt class="py-name">roleCall</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deviceRole()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deviceRole"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deviceRole" class="py-name" href="#" onclick="return doclink('link-111', 'deviceRole', 'link-111');">deviceRole</a></tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt><tt class="py-op">,</tt> </tt>
+<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line">                                                                  <tt class="py-name">ip</tt> <tt class="py-op">)</tt> </tt>
+<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line">                <tt class="py-name">ipList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt> <tt class="py-op">)</tt> </tt>
+<a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line">                <tt class="py-name">deviceList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt class="py-name">AssertionError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L418"></a><tt class="py-lineno"> 418</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-112', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Something is wrong with ONOS device view"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-113', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#devices"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-114', 'devices', 'link-114');">devices</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L422"></a><tt class="py-lineno"> 422</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">roleCall</tt><tt class="py-op">,</tt> </tt>
+<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Re-assigned switch mastership to designated controller"</tt><tt class="py-op">,</tt> </tt>
+<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line">            <tt id="link-115" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-115', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something wrong with deviceRole calls"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L425"></a><tt class="py-lineno"> 425</tt>  <tt class="py-line"> </tt>
+<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-116', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check mastership was correctly assigned"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line">        <tt class="py-name">roleCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L428"></a><tt class="py-lineno"> 428</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: This is due to the fact that device mastership change is not</tt> </tt>
+<a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line">        <tt class="py-comment">#       atomic and is actually a multi step process</tt> </tt>
+<a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">ipList</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line">            <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">ipList</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line">            <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceList</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line">            <tt class="py-comment"># Check assignment</tt> </tt>
+<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line">            <tt class="py-name">master</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getRole()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getRole"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getRole" class="py-name" href="#" onclick="return doclink('link-117', 'getRole', 'link-117');">getRole</a></tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'master'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L436"></a><tt class="py-lineno"> 436</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-keyword">in</tt> <tt class="py-name">master</tt><tt class="py-op">:</tt> </tt>
+<a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line">                <tt class="py-name">roleCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">roleCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L438"></a><tt class="py-lineno"> 438</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L439"></a><tt class="py-lineno"> 439</tt>  <tt class="py-line">                <tt class="py-name">roleCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">roleCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-118', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-119', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, controller "</tt> <tt class="py-op">+</tt> <tt class="py-name">ip</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line">                                <tt class="py-string">" master "</tt> <tt class="py-op">+</tt> <tt class="py-string">"of device "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">". Master is "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line">                                <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">master</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L444"></a><tt class="py-lineno"> 444</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L446"></a><tt class="py-lineno"> 446</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">roleCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L447"></a><tt class="py-lineno"> 447</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Switches were successfully reassigned to designated "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L448"></a><tt class="py-lineno"> 448</tt>  <tt class="py-line">                   <tt class="py-string">"controller"</tt><tt class="py-op">,</tt> </tt>
+<a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line">            <tt id="link-120" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-120', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Switches were not successfully reassigned"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE3"></a><div id="HAclusterRestart.CASE3-def"><a name="L451"></a><tt class="py-lineno"> 451</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE3-toggle" onclick="return toggle('HAclusterRestart.CASE3');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE3">CASE3</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE3-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE3-expanded"><a name="L452"></a><tt class="py-lineno"> 452</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L453"></a><tt class="py-lineno"> 453</tt>  <tt class="py-line"><tt class="py-docstring">        Assign intents</tt> </tt>
+<a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L456"></a><tt class="py-lineno"> 456</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L461"></a><tt class="py-lineno"> 461</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-121', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L462"></a><tt class="py-lineno"> 462</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L463"></a><tt class="py-lineno"> 463</tt>  <tt class="py-line">            <tt class="py-name">labels</tt> </tt>
+<a name="L464"></a><tt class="py-lineno"> 464</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-122', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-123', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"labels not defined, setting to []"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L466"></a><tt class="py-lineno"> 466</tt>  <tt class="py-line">            <tt class="py-name">labels</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line">            <tt class="py-name">data</tt> </tt>
+<a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-124', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-125', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"data not defined, setting to []"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L471"></a><tt class="py-lineno"> 471</tt>  <tt class="py-line">            <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L472"></a><tt class="py-lineno"> 472</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: we must reinstall intents until we have a persistant intent</tt> </tt>
+<a name="L473"></a><tt class="py-lineno"> 473</tt>  <tt class="py-line">        <tt class="py-comment">#        datastore!</tt> </tt>
+<a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-126', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Adding host Intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Discover hosts by using pingall then "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L476"></a><tt class="py-lineno"> 476</tt>  <tt class="py-line">                                <tt class="py-string">"assign predetermined host-to-host intents."</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line">                                <tt class="py-string">" After installation, check that the intent"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L478"></a><tt class="py-lineno"> 478</tt>  <tt class="py-line">                                <tt class="py-string">" is distributed to all nodes and the state"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L479"></a><tt class="py-lineno"> 479</tt>  <tt class="py-line">                                <tt class="py-string">" is INSTALLED"</tt> </tt>
+<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line"> </tt>
+<a name="L481"></a><tt class="py-lineno"> 481</tt>  <tt class="py-line">        <tt class="py-comment"># install onos-app-fwd</tt> </tt>
+<a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-127', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install reactive forwarding app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L483"></a><tt class="py-lineno"> 483</tt>  <tt class="py-line">        <tt class="py-name">installResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#activateApp,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#activateApp"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp" class="py-name" href="#" onclick="return doclink('link-128', 'activateApp', 'link-128');">activateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.fwd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">installResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L485"></a><tt class="py-lineno"> 485</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Install fwd successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line">                                 <tt id="link-129" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-129', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Install fwd failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line"> </tt>
+<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-130', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check app ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line">        <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L490"></a><tt class="py-lineno"> 490</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-131', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-132', 'appToIDCheck', 'link-64');">appToIDCheck</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"appToIDCheck-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L494"></a><tt class="py-lineno"> 494</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L497"></a><tt class="py-lineno"> 497</tt>  <tt class="py-line"> </tt>
+<a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line">            <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">appCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-133', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-134', 'apps', 'link-66');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-135', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-136', 'appIDs', 'link-68');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L504"></a><tt class="py-lineno"> 504</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line">                                 <tt id="link-137" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-137', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line"> </tt>
+<a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-138', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Discovering Hosts( Via pingall for now )"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L509"></a><tt class="py-lineno"> 509</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: Once we have a host discovery mechanism, use that instead</tt> </tt>
+<a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line">        <tt class="py-comment"># REACTIVE FWD test</tt> </tt>
+<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L512"></a><tt class="py-lineno"> 512</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># Retry if pingall fails first time</tt> </tt>
+<a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line">            <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line">            <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingall"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-139', 'pingall', 'link-139');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line">                <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L517"></a><tt class="py-lineno"> 517</tt>  <tt class="py-line">                    <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line">                    <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L519"></a><tt class="py-lineno"> 519</tt>  <tt class="py-line">                    <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Reactive Pingall test passed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L520"></a><tt class="py-lineno"> 520</tt>  <tt class="py-line">                    <tt id="link-140" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-140', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Reactive Pingall failed, "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L521"></a><tt class="py-lineno"> 521</tt>  <tt class="py-line">                           <tt class="py-string">"one or more ping pairs failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L522"></a><tt class="py-lineno"> 522</tt>  <tt class="py-line">            <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-141', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Time for pingall: %2f seconds"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line">                           <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line">        <tt class="py-comment"># timeout for fwd flows</tt> </tt>
+<a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">11</tt> <tt class="py-op">)</tt> </tt>
+<a name="L527"></a><tt class="py-lineno"> 527</tt>  <tt class="py-line">        <tt class="py-comment"># uninstall onos-app-fwd</tt> </tt>
+<a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-142', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Uninstall reactive forwarding app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line">        <tt class="py-name">uninstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.deactivateApp()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#deactivateApp,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deactivateApp()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deactivateApp"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.deactivateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deactivateApp" class="py-name" href="#" onclick="return doclink('link-143', 'deactivateApp', 'link-143');">deactivateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.fwd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L530"></a><tt class="py-lineno"> 530</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">uninstallResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Uninstall fwd successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L532"></a><tt class="py-lineno"> 532</tt>  <tt class="py-line">                                 <tt id="link-144" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-144', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Uninstall fwd failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line"> </tt>
+<a name="L534"></a><tt class="py-lineno"> 534</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-145', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check app ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L535"></a><tt class="py-lineno"> 535</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line">        <tt class="py-name">appCheck2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L537"></a><tt class="py-lineno"> 537</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-146', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-147', 'appToIDCheck', 'link-64');">appToIDCheck</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"appToIDCheck-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L542"></a><tt class="py-lineno"> 542</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line"> </tt>
+<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line">            <tt class="py-name">appCheck2</tt> <tt class="py-op">=</tt> <tt class="py-name">appCheck2</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck2</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-148', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-149', 'apps', 'link-66');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-150', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-151', 'appIDs', 'link-68');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck2</tt><tt class="py-op">,</tt> </tt>
+<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">                                 <tt id="link-152" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-152', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line"> </tt>
+<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-153', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add host intents via cli"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">        <tt class="py-name">intentIds</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line">        <tt class="py-comment"># TODO:  move the host numbers to params</tt> </tt>
+<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line">        <tt class="py-comment">#        Maybe look at all the paths we ping?</tt> </tt>
+<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">        <tt class="py-name">intentAddResult</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line">        <tt class="py-name">hostResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-number">18</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-154', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Adding host intent between h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line">                           <tt class="py-string">" and h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">            <tt class="py-name">host1</tt> <tt class="py-op">=</tt> <tt class="py-string">"00:00:00:00:00:"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hex</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line">            <tt class="py-name">host2</tt> <tt class="py-op">=</tt> <tt class="py-string">"00:00:00:00:00:"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hex</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: getHost can return None</tt> </tt>
+<a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line">            <tt class="py-name">host1Dict</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getHost()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getHost,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getHost()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getHost"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getHost
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getHost" class="py-name" href="#" onclick="return doclink('link-155', 'getHost', 'link-155');">getHost</a></tt><tt class="py-op">(</tt> <tt class="py-name">host1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line">            <tt class="py-name">host2Dict</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getHost
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getHost" class="py-name" href="#" onclick="return doclink('link-156', 'getHost', 'link-155');">getHost</a></tt><tt class="py-op">(</tt> <tt class="py-name">host2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L570"></a><tt class="py-lineno"> 570</tt>  <tt class="py-line">            <tt class="py-name">host1Id</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line">            <tt class="py-name">host2Id</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">host1Dict</tt> <tt class="py-keyword">and</tt> <tt class="py-name">host2Dict</tt><tt class="py-op">:</tt> </tt>
+<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line">                <tt class="py-name">host1Id</tt> <tt class="py-op">=</tt> <tt class="py-name">host1Dict</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line">                <tt class="py-name">host2Id</tt> <tt class="py-op">=</tt> <tt class="py-name">host2Dict</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">host1Id</tt> <tt class="py-keyword">and</tt> <tt class="py-name">host2Id</tt><tt class="py-op">:</tt> </tt>
+<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line">                <tt class="py-name">nodeNum</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> </tt>
+<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line">                <tt class="py-name">tmpId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt> <tt class="py-name">nodeNum</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addHostIntent()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addHostIntent,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addHostIntent()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addHostIntent"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addHostIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addHostIntent" class="py-name" href="#" onclick="return doclink('link-157', 'addHostIntent', 'link-157');">addHostIntent</a></tt><tt class="py-op">(</tt> <tt class="py-name">host1Id</tt><tt class="py-op">,</tt> <tt class="py-name">host2Id</tt> <tt class="py-op">)</tt> </tt>
+<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">tmpId</tt><tt class="py-op">:</tt> </tt>
+<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-158', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Added intent with id: "</tt> <tt class="py-op">+</tt> <tt class="py-name">tmpId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L580"></a><tt class="py-lineno"> 580</tt>  <tt class="py-line">                    <tt class="py-name">intentIds</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">tmpId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-159', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-160', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"addHostIntent returned: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line">                                     <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">tmpId</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-161', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-162', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, getHost() failed for h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line">                                <tt class="py-string">" and/or h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line">                <tt id="link-163" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#hosts,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#hosts"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-163', 'hosts', 'link-163');">hosts</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-164', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-165', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Hosts output: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-166', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-167" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-167', 'hosts', 'link-163');">hosts</a></tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L593"></a><tt class="py-lineno"> 593</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-168', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-169" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-169', 'hosts', 'link-163');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line">                <tt class="py-name">hostResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">hostResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Found a host id for each host"</tt><tt class="py-op">,</tt> </tt>
+<a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line">                                 <tt id="link-170" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-170', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error looking up host ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L600"></a><tt class="py-lineno"> 600</tt>  <tt class="py-line"> </tt>
+<a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line">        <tt class="py-name">intentStart</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line">        <tt class="py-name">onosIds</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllIntentsId"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId" class="py-name" href="#" onclick="return doclink('link-171', 'getAllIntentsId', 'link-171');">getAllIntentsId</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-172', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Submitted intents: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">intentIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-173', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents in ONOS: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-174" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intent"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-174', 'intent', 'link-174');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentIds</tt><tt class="py-op">:</tt> </tt>
+<a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-175" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-175', 'intent', 'link-174');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosIds</tt><tt class="py-op">:</tt> </tt>
+<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt>  <tt class="py-comment"># intent submitted is in onos</tt> </tt>
+<a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line">                <tt class="py-name">intentAddResult</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L610"></a><tt class="py-lineno"> 610</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">intentAddResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line">            <tt class="py-name">intentStop</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L612"></a><tt class="py-lineno"> 612</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line">            <tt class="py-name">intentStop</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L614"></a><tt class="py-lineno"> 614</tt>  <tt class="py-line">        <tt class="py-comment"># Print the intent states</tt> </tt>
+<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line">        <tt id="link-176" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intents,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intents"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-176', 'intents', 'link-176');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-177', 'intents', 'link-176');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L616"></a><tt class="py-lineno"> 616</tt>  <tt class="py-line">        <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line">        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-178', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> <tt class="py-string">'Count'</tt><tt class="py-op">,</tt> <tt class="py-string">'ID'</tt><tt class="py-op">,</tt> <tt class="py-string">'State'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line">        <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-179" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-179', 'intent', 'link-174');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-180" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-180', 'intents', 'link-176');">intents</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line">                <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-181" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-181', 'intent', 'link-174');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-string">"INSTALLED"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state</tt><tt class="py-op">:</tt> </tt>
+<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line">                    <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line">                <tt class="py-name">intentId</tt> <tt class="py-op">=</tt> <tt id="link-182" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-182', 'intent', 'link-174');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line">                <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L627"></a><tt class="py-lineno"> 627</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-183', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line">        <tt class="py-comment"># add submitted intents not in the store</tt> </tt>
+<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line">        <tt class="py-name">tmplist</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt> <tt class="py-op">]</tt> </tt>
+<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line">        <tt class="py-name">missingIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentIds</tt><tt class="py-op">:</tt> </tt>
+<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tmplist</tt><tt class="py-op">:</tt> </tt>
+<a name="L634"></a><tt class="py-lineno"> 634</tt>  <tt class="py-line">                <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-string">" - "</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line">                <tt class="py-name">missingIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">        <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt><tt class="py-op">:</tt> </tt>
+<a name="L638"></a><tt class="py-lineno"> 638</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-184', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line">                           <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">s</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line">        <tt id="link-185" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#leaders"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-185', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-186', 'leaders', 'link-185');">leaders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line">            <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-187" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-187', 'leaders', 'link-185');">leaders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line">                <tt class="py-name">parsedLeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-188" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-188', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-189', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedLeaders</tt><tt class="py-op">,</tt> </tt>
+<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line">                <tt class="py-comment"># check for all intent partitions</tt> </tt>
+<a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line">                <tt class="py-name">topics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">14</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L653"></a><tt class="py-lineno"> 653</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"intent-partition-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-190', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">topics</tt> <tt class="py-op">)</tt> </tt>
+<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line">                <tt class="py-name">ONOStopics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">j</tt><tt class="py-op">[</tt><tt class="py-string">'topic'</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsedLeaders</tt> <tt class="py-op">]</tt> </tt>
+<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">in</tt> <tt class="py-name">topics</tt><tt class="py-op">:</tt> </tt>
+<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOStopics</tt><tt class="py-op">:</tt> </tt>
+<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-191', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-192', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error: "</tt> <tt class="py-op">+</tt> <tt class="py-name">topic</tt> <tt class="py-op">+</tt> </tt>
+<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line">                                        <tt class="py-string">" not in leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line">                        <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-193', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-194', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"leaders() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L663"></a><tt class="py-lineno"> 663</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-195', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-196', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-197', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-198" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-198', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line">        <tt class="py-comment"># Check all nodes</tt> </tt>
+<a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">missing</tt><tt class="py-op">:</tt> </tt>
+<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-199', 'leaders', 'link-185');">leaders</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-200', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" leaders output: \n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line"> </tt>
+<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line">        <tt id="link-201" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#partitions"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-201', 'partitions', 'link-201');">partitions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-202', 'partitions', 'link-201');">partitions</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-203" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-203', 'partitions', 'link-201');">partitions</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line">                <tt class="py-name">parsedPartitions</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-204" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-204', 'partitions', 'link-201');">partitions</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-205" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-205', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPartitions</tt><tt class="py-op">,</tt> </tt>
+<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L680"></a><tt class="py-lineno"> 680</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check for a leader in all paritions</tt> </tt>
+<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check for consistency among nodes</tt> </tt>
+<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-206', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-207', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"partitions() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-208', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing partitions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-209', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-210" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-210', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-211" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-211', 'partitions', 'link-201');">partitions</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">        <tt id="link-212" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#pendingMap"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-212', 'pendingMap', 'link-212');">pendingMap</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-213', 'pendingMap', 'link-212');">pendingMap</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-214" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-214', 'pendingMap', 'link-212');">pendingMap</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line">                <tt class="py-name">parsedPending</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-215" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-215', 'pendingMap', 'link-212');">pendingMap</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L692"></a><tt class="py-lineno"> 692</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-216', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPending</tt><tt class="py-op">,</tt> </tt>
+<a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check something here?</tt> </tt>
+<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-217', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-218', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pendingMap() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-219', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing pending map"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-220', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-221', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-222" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-222', 'pendingMap', 'link-212');">pendingMap</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line"> </tt>
+<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line">        <tt class="py-name">intentAddResult</tt> <tt class="py-op">=</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt> <tt class="py-name">intentAddResult</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">missingIntents</tt> <tt class="py-keyword">and</tt> </tt>
+<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line">                                <tt class="py-name">installedCheck</tt> <tt class="py-op">)</tt> </tt>
+<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">intentAddResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-223" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-223', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-224" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-224', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in pushing host intents to ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line"> </tt>
+<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-225" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-225', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Intent Anti-Entropy dispersion"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">100</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line">            <tt class="py-name">correct</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-226', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Submitted intents: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">intentIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-227" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-227', 'cli', 'link-227');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line">                <tt class="py-name">onosIds</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line">                <tt class="py-name">ids</tt> <tt class="py-op">=</tt> <tt id="link-228" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-228', 'cli', 'link-227');">cli</a></tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId" class="py-name" href="#" onclick="return doclink('link-229', 'getAllIntentsId', 'link-171');">getAllIntentsId</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line">                <tt class="py-name">onosIds</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">ids</tt> <tt class="py-op">)</tt> </tt>
+<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-230" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-230', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents in "</tt> <tt class="py-op">+</tt> <tt id="link-231" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-231', 'cli', 'link-227');">cli</a></tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">onosIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">ids</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">intentIds</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-232" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-232', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Set of intent IDs doesn't match"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line">                    <tt class="py-name">correct</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line">                    <tt id="link-233" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-233', 'intents', 'link-176');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-234" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-234', 'cli', 'link-227');">cli</a></tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-235', 'intents', 'link-176');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt id="link-236" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-236', 'intent', 'link-174');">intent</a></tt> <tt class="py-keyword">in</tt> <tt id="link-237" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-237', 'intents', 'link-176');">intents</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt id="link-238" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-238', 'intent', 'link-174');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">"INSTALLED"</tt><tt class="py-op">:</tt> </tt>
+<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-239" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-239', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Intent "</tt> <tt class="py-op">+</tt> <tt id="link-240" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-240', 'intent', 'link-174');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> </tt>
+<a name="L727"></a><tt class="py-lineno"> 727</tt>  <tt class="py-line">                                           <tt class="py-string">" is "</tt> <tt class="py-op">+</tt> <tt id="link-241" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-241', 'intent', 'link-174');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line">                            <tt class="py-name">correct</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
+<a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">correct</tt><tt class="py-op">:</tt> </tt>
+<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">intentStop</tt><tt class="py-op">:</tt> </tt>
+<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line">            <tt class="py-name">intentStop</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">gossipTime</tt> </tt>
+<a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line">        <tt class="py-name">gossipTime</tt> <tt class="py-op">=</tt> <tt class="py-name">intentStop</tt> <tt class="py-op">-</tt> <tt class="py-name">intentStart</tt> </tt>
+<a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-242', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"It took about "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">gossipTime</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L739"></a><tt class="py-lineno"> 739</tt>  <tt class="py-line">                        <tt class="py-string">" seconds for all intents to appear in each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line">        <tt class="py-name">append</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line">        <tt class="py-name">title</tt> <tt class="py-op">=</tt> <tt class="py-string">"Gossip Intents"</tt> </tt>
+<a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line">        <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">append</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line">            <tt class="py-name">curTitle</tt> <tt class="py-op">=</tt> <tt class="py-name">title</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt> </tt>
+<a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">curTitle</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">labels</tt><tt class="py-op">:</tt> </tt>
+<a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line">                <tt class="py-name">labels</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">curTitle</tt> <tt class="py-op">)</tt> </tt>
+<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line">                <tt class="py-name">data</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">gossipTime</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line">                <tt class="py-name">append</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line">                <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: make this time configurable/calculate based off of number of</tt> </tt>
+<a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line">        <tt class="py-comment">#        nodes and gossip rounds</tt> </tt>
+<a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_greater_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line">                <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-number">40</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">gossipTime</tt><tt class="py-op">,</tt> </tt>
+<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line">                <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ECM anti-entropy for intents worked within "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line">                       <tt class="py-string">"expected time"</tt><tt class="py-op">,</tt> </tt>
+<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line">                <tt id="link-243" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-243', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intent ECM anti-entropy took too long"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">gossipTime</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">40</tt><tt class="py-op">:</tt> </tt>
+<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line">            <tt class="py-name">intentAddResult</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line"> </tt>
+<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">intentAddResult</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"key"</tt> <tt class="py-keyword">in</tt> <tt id="link-244" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-244', 'pendingMap', 'link-212');">pendingMap</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line">            <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line">            <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-245" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-245', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Sleeping 60 seconds to see if intents are found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line">            <tt class="py-name">onosIds</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-246" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId" class="py-name" href="#" onclick="return doclink('link-246', 'getAllIntentsId', 'link-171');">getAllIntentsId</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-247" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-247', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Submitted intents: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">intentIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-248', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents in ONOS: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L769"></a><tt class="py-lineno"> 769</tt>  <tt class="py-line">            <tt class="py-comment"># Print the intent states</tt> </tt>
+<a name="L770"></a><tt class="py-lineno"> 770</tt>  <tt class="py-line">            <tt id="link-249" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-249', 'intents', 'link-176');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-250" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-250', 'intents', 'link-176');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-251" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-251', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> <tt class="py-string">'Count'</tt><tt class="py-op">,</tt> <tt class="py-string">'ID'</tt><tt class="py-op">,</tt> <tt class="py-string">'State'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-252" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-252', 'intent', 'link-174');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-253" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-253', 'intents', 'link-176');">intents</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line">                    <tt class="py-comment"># Iter through intents of a node</tt> </tt>
+<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line">                    <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-254" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-254', 'intent', 'link-174');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-string">"INSTALLED"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state</tt><tt class="py-op">:</tt> </tt>
+<a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line">                        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line">                    <tt class="py-name">intentId</tt> <tt class="py-op">=</tt> <tt id="link-255" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-255', 'intent', 'link-174');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L781"></a><tt class="py-lineno"> 781</tt>  <tt class="py-line">                    <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-256" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-256', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line">            <tt class="py-comment"># add submitted intents not in the store</tt> </tt>
+<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line">            <tt class="py-name">tmplist</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt> <tt class="py-op">]</tt> </tt>
+<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentIds</tt><tt class="py-op">:</tt> </tt>
+<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tmplist</tt><tt class="py-op">:</tt> </tt>
+<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line">                    <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-string">" - "</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt><tt class="py-op">:</tt> </tt>
+<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line">                <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-257" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-257', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line">                               <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">s</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line">            <tt id="link-258" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-258', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-259" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-259', 'leaders', 'link-185');">leaders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line">                <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-260" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-260', 'leaders', 'link-185');">leaders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line">                    <tt class="py-name">parsedLeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-261" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-261', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-262', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedLeaders</tt><tt class="py-op">,</tt> </tt>
+<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line">                    <tt class="py-comment"># check for all intent partitions</tt> </tt>
+<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line">                    <tt class="py-comment"># check for election</tt> </tt>
+<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">14</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line">                        <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"intent-partition-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line">                    <tt class="py-comment"># FIXME: this should only be after we start the app</tt> </tt>
+<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-263" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-263', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">topics</tt> <tt class="py-op">)</tt> </tt>
+<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">                    <tt class="py-name">ONOStopics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">j</tt><tt class="py-op">[</tt><tt class="py-string">'topic'</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsedLeaders</tt> <tt class="py-op">]</tt> </tt>
+<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">in</tt> <tt class="py-name">topics</tt><tt class="py-op">:</tt> </tt>
+<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOStopics</tt><tt class="py-op">:</tt> </tt>
+<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-264" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-264', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-265" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-265', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error: "</tt> <tt class="py-op">+</tt> <tt class="py-name">topic</tt> <tt class="py-op">+</tt> </tt>
+<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line">                                            <tt class="py-string">" not in leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line">                            <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-266" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-266', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-267" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-267', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"leaders() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-268" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-268', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-269" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-269', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-270" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-270', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-271" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-271', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line">            <tt class="py-comment"># Check all nodes</tt> </tt>
+<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">missing</tt><tt class="py-op">:</tt> </tt>
+<a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line">                    <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-272" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-272', 'leaders', 'link-185');">leaders</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-273" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-273', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" leaders output: \n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line">                                   <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line"> </tt>
+<a name="L829"></a><tt class="py-lineno"> 829</tt>  <tt class="py-line">            <tt id="link-274" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-274', 'partitions', 'link-201');">partitions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-275" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-275', 'partitions', 'link-201');">partitions</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-276" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-276', 'partitions', 'link-201');">partitions</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line">                    <tt class="py-name">parsedPartitions</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-277" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-277', 'partitions', 'link-201');">partitions</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-278" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-278', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPartitions</tt><tt class="py-op">,</tt> </tt>
+<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check for a leader in all paritions</tt> </tt>
+<a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check for consistency among nodes</tt> </tt>
+<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-279" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-279', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-280" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-280', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"partitions() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-281" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-281', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing partitions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-282', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-283" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-283', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-284" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-284', 'partitions', 'link-201');">partitions</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line">            <tt id="link-285" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-285', 'pendingMap', 'link-212');">pendingMap</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-286" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-286', 'pendingMap', 'link-212');">pendingMap</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-287" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-287', 'pendingMap', 'link-212');">pendingMap</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line">                    <tt class="py-name">parsedPending</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-288" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-288', 'pendingMap', 'link-212');">pendingMap</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-289" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-289', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPending</tt><tt class="py-op">,</tt> </tt>
+<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check something here?</tt> </tt>
+<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-290" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-290', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-291" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-291', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pendingMap() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L856"></a><tt class="py-lineno"> 856</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-292', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing pending map"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-293" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-293', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-294" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-294', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-295" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-295', 'pendingMap', 'link-212');">pendingMap</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE4"></a><div id="HAclusterRestart.CASE4-def"><a name="L859"></a><tt class="py-lineno"> 859</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE4-toggle" onclick="return toggle('HAclusterRestart.CASE4');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE4">CASE4</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE4-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE4-expanded"><a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line"><tt class="py-docstring">        Ping across added host intents</tt> </tt>
+<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-296" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-296', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-297" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-297', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify connectivity by sendind traffic across Intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Ping across added host intents to check "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line">                                <tt class="py-string">"functionality and check the state of "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line">                                <tt class="py-string">"the intent"</tt> </tt>
+<a name="L874"></a><tt class="py-lineno"> 874</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-298" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-298', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Ping across added host intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line">        <tt class="py-name">PingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L876"></a><tt class="py-lineno"> 876</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-number">18</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line">            <tt class="py-name">ping</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-299" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingHost,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingHost()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingHost"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingHost" class="py-name" href="#" onclick="return doclink('link-299', 'pingHost', 'link-299');">pingHost</a></tt><tt class="py-op">(</tt> <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-string">"h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line">                                           <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-string">"h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line">            <tt class="py-name">PingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">PingResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ping</tt> </tt>
+<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ping</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-300" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-300', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Ping failed between h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line">                               <tt class="py-string">" and h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">ping</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-301" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-301', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Ping test passed!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line">                <tt class="py-comment"># Don't set PingResult or you'd override failures</tt> </tt>
+<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">PingResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-302" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-302', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-303" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-303', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line">                <tt class="py-string">"Intents have not been installed correctly, pings failed."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: pretty print</tt> </tt>
+<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-304" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-304', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS1 intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line">                <tt class="py-name">tmpIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-305" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-305', 'intents', 'link-176');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-306" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-306', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">tmpIntents</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-307', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">tmpIntents</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">PingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents have been installed correctly and pings work"</tt><tt class="py-op">,</tt> </tt>
+<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line">            <tt id="link-308" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-308', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intents have not been installed correctly, pings failed."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line"> </tt>
+<a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-309" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-309', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check Intent state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L906"></a><tt class="py-lineno"> 906</tt>  <tt class="py-line">        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line">        <tt class="py-name">loopCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">installedCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">loopCount</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">40</tt><tt class="py-op">:</tt> </tt>
+<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">            <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">            <tt class="py-comment"># Print the intent states</tt> </tt>
+<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line">            <tt id="link-310" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-310', 'intents', 'link-176');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-311" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-311', 'intents', 'link-176');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-312" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-312', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> <tt class="py-string">'Count'</tt><tt class="py-op">,</tt> <tt class="py-string">'ID'</tt><tt class="py-op">,</tt> <tt class="py-string">'State'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line">            <tt class="py-comment"># Iter through intents of a node</tt> </tt>
+<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-313" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-313', 'intent', 'link-174');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-314" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-314', 'intents', 'link-176');">intents</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line">                    <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-315" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-315', 'intent', 'link-174');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L919"></a><tt class="py-lineno"> 919</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-string">"INSTALLED"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state</tt><tt class="py-op">:</tt> </tt>
+<a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">                        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line">                    <tt class="py-name">intentId</tt> <tt class="py-op">=</tt> <tt id="link-316" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-316', 'intent', 'link-174');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line">                    <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-317" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-317', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing intents."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line">            <tt class="py-comment"># Print states</tt> </tt>
+<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt><tt class="py-op">:</tt> </tt>
+<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line">                <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-318" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-318', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line">                               <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">s</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">installedCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line">                <tt class="py-name">loopCount</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">installedCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L935"></a><tt class="py-lineno"> 935</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents are all INSTALLED"</tt><tt class="py-op">,</tt> </tt>
+<a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line">                                 <tt id="link-319" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-319', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intents are not all in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line">                                        <tt class="py-string">"INSTALLED state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line"> </tt>
+<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-320" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-320', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check leadership of topics"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line">        <tt id="link-321" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-321', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-322', 'leaders', 'link-185');">leaders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line">        <tt class="py-name">topicCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-323" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-323', 'leaders', 'link-185');">leaders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line">                <tt class="py-name">parsedLeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-324" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-324', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-325" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-325', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedLeaders</tt><tt class="py-op">,</tt> </tt>
+<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L947"></a><tt class="py-lineno"> 947</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line">                <tt class="py-comment"># check for all intent partitions</tt> </tt>
+<a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line">                <tt class="py-comment"># check for election</tt> </tt>
+<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: Look at Devices as topics now that it uses this system</tt> </tt>
+<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line">                <tt class="py-name">topics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">14</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"intent-partition-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: this should only be after we start the app</tt> </tt>
+<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: topics.append( "org.onosproject.election" )</tt> </tt>
+<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line">                <tt class="py-comment"># Print leaders output</tt> </tt>
+<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-326" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-326', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">topics</tt> <tt class="py-op">)</tt> </tt>
+<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line">                <tt class="py-name">ONOStopics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">j</tt><tt class="py-op">[</tt><tt class="py-string">'topic'</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsedLeaders</tt> <tt class="py-op">]</tt> </tt>
+<a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">in</tt> <tt class="py-name">topics</tt><tt class="py-op">:</tt> </tt>
+<a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOStopics</tt><tt class="py-op">:</tt> </tt>
+<a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-327" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-327', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-328" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-328', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error: "</tt> <tt class="py-op">+</tt> <tt class="py-name">topic</tt> <tt class="py-op">+</tt> </tt>
+<a name="L963"></a><tt class="py-lineno"> 963</tt>  <tt class="py-line">                                        <tt class="py-string">" not in leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line">                        <tt class="py-name">topicCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-329" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-329', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-330" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-330', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"leaders() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line">                <tt class="py-name">topicCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L969"></a><tt class="py-lineno"> 969</tt>  <tt class="py-line">            <tt class="py-name">topicCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-331" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-331', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-332" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-332', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-333" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-333', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-334" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-334', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: Check for a leader of these topics</tt> </tt>
+<a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line">        <tt class="py-comment"># Check all nodes</tt> </tt>
+<a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">topicCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-335" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-335', 'leaders', 'link-185');">leaders</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-336" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-336', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" leaders output: \n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line"> </tt>
+<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">topicCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"intent Partitions is in leaders"</tt><tt class="py-op">,</tt> </tt>
+<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line">                                 <tt id="link-337" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-337', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Some topics were lost "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line">        <tt class="py-comment"># Print partitions</tt> </tt>
+<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line">        <tt id="link-338" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-338', 'partitions', 'link-201');">partitions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-339" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-339', 'partitions', 'link-201');">partitions</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-340" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-340', 'partitions', 'link-201');">partitions</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line">                <tt class="py-name">parsedPartitions</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-341" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-341', 'partitions', 'link-201');">partitions</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-342" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-342', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPartitions</tt><tt class="py-op">,</tt> </tt>
+<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check for a leader in all paritions</tt> </tt>
+<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check for consistency among nodes</tt> </tt>
+<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-343" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-343', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-344" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-344', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"partitions() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-345" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-345', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing partitions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-346" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-346', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-347" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-347', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-348" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-348', 'partitions', 'link-201');">partitions</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line">        <tt class="py-comment"># Print Pending Map</tt> </tt>
+<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line">        <tt id="link-349" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-349', 'pendingMap', 'link-212');">pendingMap</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-350" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-350', 'pendingMap', 'link-212');">pendingMap</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-351" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-351', 'pendingMap', 'link-212');">pendingMap</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line">                <tt class="py-name">parsedPending</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-352" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-352', 'pendingMap', 'link-212');">pendingMap</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-353" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-353', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPending</tt><tt class="py-op">,</tt> </tt>
+<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1008"></a><tt class="py-lineno">1008</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check something here?</tt> </tt>
+<a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-354" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-354', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-355" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-355', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pendingMap() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-356" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-356', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing pending map"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-357" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-357', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-358" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-358', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-359" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-359', 'pendingMap', 'link-212');">pendingMap</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line"> </tt>
+<a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">installedCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-360" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-360', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting 60 seconds to see if the state of "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1017"></a><tt class="py-lineno">1017</tt>  <tt class="py-line">                           <tt class="py-string">"intents change"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line">            <tt class="py-comment"># Print the intent states</tt> </tt>
+<a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line">            <tt id="link-361" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-361', 'intents', 'link-176');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-362" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-362', 'intents', 'link-176');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1022"></a><tt class="py-lineno">1022</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-363" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-363', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> <tt class="py-string">'Count'</tt><tt class="py-op">,</tt> <tt class="py-string">'ID'</tt><tt class="py-op">,</tt> <tt class="py-string">'State'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1023"></a><tt class="py-lineno">1023</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L1024"></a><tt class="py-lineno">1024</tt>  <tt class="py-line">            <tt class="py-comment"># Iter through intents of a node</tt> </tt>
+<a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-364" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-364', 'intent', 'link-174');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-365" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-365', 'intents', 'link-176');">intents</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line">                    <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-366" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-366', 'intent', 'link-174');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-string">"INSTALLED"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state</tt><tt class="py-op">:</tt> </tt>
+<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line">                        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line">                    <tt class="py-name">intentId</tt> <tt class="py-op">=</tt> <tt id="link-367" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-367', 'intent', 'link-174');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line">                    <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-368" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-368', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing intents."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1035"></a><tt class="py-lineno">1035</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt><tt class="py-op">:</tt> </tt>
+<a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line">                <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-369" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-369', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line">                               <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">s</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line">            <tt id="link-370" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-370', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-371" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-371', 'leaders', 'link-185');">leaders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line">                <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-372" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-372', 'leaders', 'link-185');">leaders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line">                    <tt class="py-name">parsedLeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-373" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-373', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L1044"></a><tt class="py-lineno">1044</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-374" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-374', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedLeaders</tt><tt class="py-op">,</tt> </tt>
+<a name="L1045"></a><tt class="py-lineno">1045</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line">                    <tt class="py-comment"># check for all intent partitions</tt> </tt>
+<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line">                    <tt class="py-comment"># check for election</tt> </tt>
+<a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1051"></a><tt class="py-lineno">1051</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">14</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line">                        <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"intent-partition-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1053"></a><tt class="py-lineno">1053</tt>  <tt class="py-line">                    <tt class="py-comment"># FIXME: this should only be after we start the app</tt> </tt>
+<a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-375" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-375', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">topics</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line">                    <tt class="py-name">ONOStopics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">j</tt><tt class="py-op">[</tt><tt class="py-string">'topic'</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsedLeaders</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">in</tt> <tt class="py-name">topics</tt><tt class="py-op">:</tt> </tt>
+<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOStopics</tt><tt class="py-op">:</tt> </tt>
+<a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-376" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-376', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-377" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-377', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error: "</tt> <tt class="py-op">+</tt> <tt class="py-name">topic</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1060"></a><tt class="py-lineno">1060</tt>  <tt class="py-line">                                            <tt class="py-string">" not in leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line">                            <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1062"></a><tt class="py-lineno">1062</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-378" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-378', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-379" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-379', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"leaders() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1065"></a><tt class="py-lineno">1065</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-380" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-380', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1066"></a><tt class="py-lineno">1066</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-381" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-381', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-382" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-382', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-383" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-383', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1067"></a><tt class="py-lineno">1067</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">missing</tt><tt class="py-op">:</tt> </tt>
+<a name="L1068"></a><tt class="py-lineno">1068</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L1069"></a><tt class="py-lineno">1069</tt>  <tt class="py-line">                    <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-384" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-384', 'leaders', 'link-185');">leaders</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L1070"></a><tt class="py-lineno">1070</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-385" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-385', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" leaders output: \n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1071"></a><tt class="py-lineno">1071</tt>  <tt class="py-line">                                   <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1072"></a><tt class="py-lineno">1072</tt>  <tt class="py-line"> </tt>
+<a name="L1073"></a><tt class="py-lineno">1073</tt>  <tt class="py-line">            <tt id="link-386" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-386', 'partitions', 'link-201');">partitions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-387" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-387', 'partitions', 'link-201');">partitions</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1074"></a><tt class="py-lineno">1074</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-388" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-388', 'partitions', 'link-201');">partitions</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L1076"></a><tt class="py-lineno">1076</tt>  <tt class="py-line">                    <tt class="py-name">parsedPartitions</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-389" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-389', 'partitions', 'link-201');">partitions</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L1077"></a><tt class="py-lineno">1077</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-390" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-390', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPartitions</tt><tt class="py-op">,</tt> </tt>
+<a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1081"></a><tt class="py-lineno">1081</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check for a leader in all paritions</tt> </tt>
+<a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check for consistency among nodes</tt> </tt>
+<a name="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-391" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-391', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-392" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-392', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"partitions() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-393" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-393', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing partitions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1087"></a><tt class="py-lineno">1087</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-394" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-394', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-395" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-395', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-396" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-396', 'partitions', 'link-201');">partitions</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line">            <tt id="link-397" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-397', 'pendingMap', 'link-212');">pendingMap</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-398" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-398', 'pendingMap', 'link-212');">pendingMap</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1090"></a><tt class="py-lineno">1090</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-399" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-399', 'pendingMap', 'link-212');">pendingMap</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L1091"></a><tt class="py-lineno">1091</tt>  <tt class="py-line">                    <tt class="py-name">parsedPending</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-400" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-400', 'pendingMap', 'link-212');">pendingMap</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L1092"></a><tt class="py-lineno">1092</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-401" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-401', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPending</tt><tt class="py-op">,</tt> </tt>
+<a name="L1093"></a><tt class="py-lineno">1093</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1094"></a><tt class="py-lineno">1094</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1095"></a><tt class="py-lineno">1095</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1096"></a><tt class="py-lineno">1096</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check something here?</tt> </tt>
+<a name="L1097"></a><tt class="py-lineno">1097</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1098"></a><tt class="py-lineno">1098</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-402" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-402', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-403" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-403', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pendingMap() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1099"></a><tt class="py-lineno">1099</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1100"></a><tt class="py-lineno">1100</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-404" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-404', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing pending map"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1101"></a><tt class="py-lineno">1101</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-405" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-405', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-406" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-406', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-407" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-407', 'pendingMap', 'link-212');">pendingMap</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1102"></a><tt class="py-lineno">1102</tt>  <tt class="py-line">        <tt class="py-comment"># Print flowrules</tt> </tt>
+<a name="L1103"></a><tt class="py-lineno">1103</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-408" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-408', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-409" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#flows,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#flows"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-409', 'flows', 'link-409');">flows</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1104"></a><tt class="py-lineno">1104</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-410" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-410', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Wait a minute then ping again"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1105"></a><tt class="py-lineno">1105</tt>  <tt class="py-line">        <tt class="py-comment"># the wait is above</tt> </tt>
+<a name="L1106"></a><tt class="py-lineno">1106</tt>  <tt class="py-line">        <tt class="py-name">PingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1107"></a><tt class="py-lineno">1107</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-number">18</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1108"></a><tt class="py-lineno">1108</tt>  <tt class="py-line">            <tt class="py-name">ping</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-411" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingHost" class="py-name" href="#" onclick="return doclink('link-411', 'pingHost', 'link-299');">pingHost</a></tt><tt class="py-op">(</tt> <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-string">"h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1109"></a><tt class="py-lineno">1109</tt>  <tt class="py-line">                                           <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-string">"h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1110"></a><tt class="py-lineno">1110</tt>  <tt class="py-line">            <tt class="py-name">PingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">PingResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ping</tt> </tt>
+<a name="L1111"></a><tt class="py-lineno">1111</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ping</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1112"></a><tt class="py-lineno">1112</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-412" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-412', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Ping failed between h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1113"></a><tt class="py-lineno">1113</tt>  <tt class="py-line">                               <tt class="py-string">" and h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1114"></a><tt class="py-lineno">1114</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">ping</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1115"></a><tt class="py-lineno">1115</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-413" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-413', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Ping test passed!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1116"></a><tt class="py-lineno">1116</tt>  <tt class="py-line">                <tt class="py-comment"># Don't set PingResult or you'd override failures</tt> </tt>
+<a name="L1117"></a><tt class="py-lineno">1117</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">PingResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1118"></a><tt class="py-lineno">1118</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-414" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-414', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-415" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-415', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1119"></a><tt class="py-lineno">1119</tt>  <tt class="py-line">                <tt class="py-string">"Intents have not been installed correctly, pings failed."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1120"></a><tt class="py-lineno">1120</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: pretty print</tt> </tt>
+<a name="L1121"></a><tt class="py-lineno">1121</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-416" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-416', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS1 intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1122"></a><tt class="py-lineno">1122</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1123"></a><tt class="py-lineno">1123</tt>  <tt class="py-line">                <tt class="py-name">tmpIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-417" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-417', 'intents', 'link-176');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1124"></a><tt class="py-lineno">1124</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-418" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-418', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">tmpIntents</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1125"></a><tt class="py-lineno">1125</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1126"></a><tt class="py-lineno">1126</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1127"></a><tt class="py-lineno">1127</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1128"></a><tt class="py-lineno">1128</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1129"></a><tt class="py-lineno">1129</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-419" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-419', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">tmpIntents</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1130"></a><tt class="py-lineno">1130</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1131"></a><tt class="py-lineno">1131</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1132"></a><tt class="py-lineno">1132</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">PingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1133"></a><tt class="py-lineno">1133</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents have been installed correctly and pings work"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1134"></a><tt class="py-lineno">1134</tt>  <tt class="py-line">            <tt id="link-420" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-420', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intents have not been installed correctly, pings failed."</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1135"></a><tt class="py-lineno">1135</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE5"></a><div id="HAclusterRestart.CASE5-def"><a name="L1136"></a><tt class="py-lineno">1136</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE5-toggle" onclick="return toggle('HAclusterRestart.CASE5');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE5">CASE5</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE5-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE5-expanded"><a name="L1137"></a><tt class="py-lineno">1137</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1138"></a><tt class="py-lineno">1138</tt>  <tt class="py-line"><tt class="py-docstring">        Reading state of ONOS</tt> </tt>
+<a name="L1139"></a><tt class="py-lineno">1139</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1140"></a><tt class="py-lineno">1140</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L1141"></a><tt class="py-lineno">1141</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1142"></a><tt class="py-lineno">1142</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1143"></a><tt class="py-lineno">1143</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1144"></a><tt class="py-lineno">1144</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1145"></a><tt class="py-lineno">1145</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L1146"></a><tt class="py-lineno">1146</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-421" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-421', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L1147"></a><tt class="py-lineno">1147</tt>  <tt class="py-line"> </tt>
+<a name="L1148"></a><tt class="py-lineno">1148</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-422" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-422', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Setting up and gathering data for current state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1149"></a><tt class="py-lineno">1149</tt>  <tt class="py-line">        <tt class="py-comment"># The general idea for this test case is to pull the state of</tt> </tt>
+<a name="L1150"></a><tt class="py-lineno">1150</tt>  <tt class="py-line">        <tt class="py-comment"># ( intents,flows, topology,... ) from each ONOS node</tt> </tt>
+<a name="L1151"></a><tt class="py-lineno">1151</tt>  <tt class="py-line">        <tt class="py-comment"># We can then compare them with each other and also with past states</tt> </tt>
+<a name="L1152"></a><tt class="py-lineno">1152</tt>  <tt class="py-line"> </tt>
+<a name="L1153"></a><tt class="py-lineno">1153</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-423" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-423', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check that each switch has a master"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1154"></a><tt class="py-lineno">1154</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">mastershipState</tt> </tt>
+<a name="L1155"></a><tt class="py-lineno">1155</tt>  <tt class="py-line">        <tt class="py-name">mastershipState</tt> <tt class="py-op">=</tt> <tt class="py-string">'[]'</tt> </tt>
+<a name="L1156"></a><tt class="py-lineno">1156</tt>  <tt class="py-line"> </tt>
+<a name="L1157"></a><tt class="py-lineno">1157</tt>  <tt class="py-line">        <tt class="py-comment"># Assert that each device has a master</tt> </tt>
+<a name="L1158"></a><tt class="py-lineno">1158</tt>  <tt class="py-line">        <tt id="link-424" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#rolesNotNull"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-424', 'rolesNotNull', 'link-424');">rolesNotNull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1159"></a><tt class="py-lineno">1159</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1160"></a><tt class="py-lineno">1160</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1161"></a><tt class="py-lineno">1161</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-425" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-425', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-426" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-426', 'rolesNotNull', 'link-424');">rolesNotNull</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1162"></a><tt class="py-lineno">1162</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"rolesNotNull-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1163"></a><tt class="py-lineno">1163</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1164"></a><tt class="py-lineno">1164</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1165"></a><tt class="py-lineno">1165</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1166"></a><tt class="py-lineno">1166</tt>  <tt class="py-line"> </tt>
+<a name="L1167"></a><tt class="py-lineno">1167</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1168"></a><tt class="py-lineno">1168</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1169"></a><tt class="py-lineno">1169</tt>  <tt class="py-line">            <tt id="link-427" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-427', 'rolesNotNull', 'link-424');">rolesNotNull</a></tt> <tt class="py-op">=</tt> <tt id="link-428" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-428', 'rolesNotNull', 'link-424');">rolesNotNull</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L1170"></a><tt class="py-lineno">1170</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1171"></a><tt class="py-lineno">1171</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1172"></a><tt class="py-lineno">1172</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt id="link-429" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-429', 'rolesNotNull', 'link-424');">rolesNotNull</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1173"></a><tt class="py-lineno">1173</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Each device has a master"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1174"></a><tt class="py-lineno">1174</tt>  <tt class="py-line">            <tt id="link-430" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-430', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Some devices don't have a master assigned"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1175"></a><tt class="py-lineno">1175</tt>  <tt class="py-line"> </tt>
+<a name="L1176"></a><tt class="py-lineno">1176</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-431" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-431', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the Mastership of each switch from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1177"></a><tt class="py-lineno">1177</tt>  <tt class="py-line">        <tt class="py-name">ONOSMastership</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1178"></a><tt class="py-lineno">1178</tt>  <tt class="py-line">        <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1179"></a><tt class="py-lineno">1179</tt>  <tt class="py-line">        <tt class="py-name">consistentMastership</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1180"></a><tt class="py-lineno">1180</tt>  <tt class="py-line">        <tt class="py-name">rolesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1181"></a><tt class="py-lineno">1181</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1182"></a><tt class="py-lineno">1182</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1183"></a><tt class="py-lineno">1183</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-432" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-432', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-433" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.roles()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#roles"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.roles" class="py-name" href="#" onclick="return doclink('link-433', 'roles', 'link-433');">roles</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1184"></a><tt class="py-lineno">1184</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"roles-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1185"></a><tt class="py-lineno">1185</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1186"></a><tt class="py-lineno">1186</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1187"></a><tt class="py-lineno">1187</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1188"></a><tt class="py-lineno">1188</tt>  <tt class="py-line"> </tt>
+<a name="L1189"></a><tt class="py-lineno">1189</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1190"></a><tt class="py-lineno">1190</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1191"></a><tt class="py-lineno">1191</tt>  <tt class="py-line">            <tt class="py-name">ONOSMastership</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1192"></a><tt class="py-lineno">1192</tt>  <tt class="py-line"> </tt>
+<a name="L1193"></a><tt class="py-lineno">1193</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1194"></a><tt class="py-lineno">1194</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1195"></a><tt class="py-lineno">1195</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-434" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-434', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-435" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-435', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1196"></a><tt class="py-lineno">1196</tt>  <tt class="py-line">                                 <tt class="py-string">" roles"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1197"></a><tt class="py-lineno">1197</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-436" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-436', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1198"></a><tt class="py-lineno">1198</tt>  <tt class="py-line">                    <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" mastership response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1199"></a><tt class="py-lineno">1199</tt>  <tt class="py-line">                    <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1200"></a><tt class="py-lineno">1200</tt>  <tt class="py-line">                <tt class="py-name">rolesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1201"></a><tt class="py-lineno">1201</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1202"></a><tt class="py-lineno">1202</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1203"></a><tt class="py-lineno">1203</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">rolesResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1204"></a><tt class="py-lineno">1204</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No error in reading roles output"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1205"></a><tt class="py-lineno">1205</tt>  <tt class="py-line">            <tt id="link-437" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-437', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error in reading roles from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1206"></a><tt class="py-lineno">1206</tt>  <tt class="py-line"> </tt>
+<a name="L1207"></a><tt class="py-lineno">1207</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-438" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-438', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check for consistency in roles from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1208"></a><tt class="py-lineno">1208</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSMastership</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1209"></a><tt class="py-lineno">1209</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-439" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-439', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L1210"></a><tt class="py-lineno">1210</tt>  <tt class="py-line">                <tt class="py-string">"Switch roles are consistent across all ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1211"></a><tt class="py-lineno">1211</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1212"></a><tt class="py-lineno">1212</tt>  <tt class="py-line">            <tt class="py-name">consistentMastership</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1213"></a><tt class="py-lineno">1213</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1214"></a><tt class="py-lineno">1214</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1215"></a><tt class="py-lineno">1215</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentMastership</tt><tt class="py-op">,</tt> </tt>
+<a name="L1216"></a><tt class="py-lineno">1216</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Switch roles are consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1217"></a><tt class="py-lineno">1217</tt>  <tt class="py-line">            <tt id="link-440" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-440', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of switch roles"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1218"></a><tt class="py-lineno">1218</tt>  <tt class="py-line"> </tt>
+<a name="L1219"></a><tt class="py-lineno">1219</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">rolesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">consistentMastership</tt><tt class="py-op">:</tt> </tt>
+<a name="L1220"></a><tt class="py-lineno">1220</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1221"></a><tt class="py-lineno">1221</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1222"></a><tt class="py-lineno">1222</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-441" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-441', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1223"></a><tt class="py-lineno">1223</tt>  <tt class="py-line">                        <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" roles: "</tt><tt class="py-op">,</tt> </tt>
+<a name="L1224"></a><tt class="py-lineno">1224</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> </tt>
+<a name="L1225"></a><tt class="py-lineno">1225</tt>  <tt class="py-line">                            <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1226"></a><tt class="py-lineno">1226</tt>  <tt class="py-line">                            <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1227"></a><tt class="py-lineno">1227</tt>  <tt class="py-line">                            <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1228"></a><tt class="py-lineno">1228</tt>  <tt class="py-line">                            <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1229"></a><tt class="py-lineno">1229</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1230"></a><tt class="py-lineno">1230</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-442" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-442', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1231"></a><tt class="py-lineno">1231</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">rolesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentMastership</tt><tt class="py-op">:</tt> </tt>
+<a name="L1232"></a><tt class="py-lineno">1232</tt>  <tt class="py-line">            <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1233"></a><tt class="py-lineno">1233</tt>  <tt class="py-line">            <tt class="py-name">mastershipState</tt> <tt class="py-op">=</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1234"></a><tt class="py-lineno">1234</tt>  <tt class="py-line"> </tt>
+<a name="L1235"></a><tt class="py-lineno">1235</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-443" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-443', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the intents from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1236"></a><tt class="py-lineno">1236</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">intentState</tt> </tt>
+<a name="L1237"></a><tt class="py-lineno">1237</tt>  <tt class="py-line">        <tt class="py-name">intentState</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1238"></a><tt class="py-lineno">1238</tt>  <tt class="py-line">        <tt class="py-name">ONOSIntents</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1239"></a><tt class="py-lineno">1239</tt>  <tt class="py-line">        <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1240"></a><tt class="py-lineno">1240</tt>  <tt class="py-line">        <tt class="py-name">consistentIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1241"></a><tt class="py-lineno">1241</tt>  <tt class="py-line">        <tt class="py-name">intentsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1242"></a><tt class="py-lineno">1242</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1243"></a><tt class="py-lineno">1243</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1244"></a><tt class="py-lineno">1244</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-444" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-444', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-445" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-445', 'intents', 'link-176');">intents</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1245"></a><tt class="py-lineno">1245</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"intents-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1246"></a><tt class="py-lineno">1246</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1247"></a><tt class="py-lineno">1247</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">'jsonFormat'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1248"></a><tt class="py-lineno">1248</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1249"></a><tt class="py-lineno">1249</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1250"></a><tt class="py-lineno">1250</tt>  <tt class="py-line"> </tt>
+<a name="L1251"></a><tt class="py-lineno">1251</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1252"></a><tt class="py-lineno">1252</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1253"></a><tt class="py-lineno">1253</tt>  <tt class="py-line">            <tt class="py-name">ONOSIntents</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1254"></a><tt class="py-lineno">1254</tt>  <tt class="py-line"> </tt>
+<a name="L1255"></a><tt class="py-lineno">1255</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1256"></a><tt class="py-lineno">1256</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1257"></a><tt class="py-lineno">1257</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-446" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-446', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-447" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-447', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1258"></a><tt class="py-lineno">1258</tt>  <tt class="py-line">                                 <tt class="py-string">" intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1259"></a><tt class="py-lineno">1259</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-448" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-448', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1260"></a><tt class="py-lineno">1260</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1261"></a><tt class="py-lineno">1261</tt>  <tt class="py-line">                <tt class="py-name">intentsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1262"></a><tt class="py-lineno">1262</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1263"></a><tt class="py-lineno">1263</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1264"></a><tt class="py-lineno">1264</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">intentsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1265"></a><tt class="py-lineno">1265</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No error in reading intents output"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1266"></a><tt class="py-lineno">1266</tt>  <tt class="py-line">            <tt id="link-449" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-449', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error in reading intents from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1267"></a><tt class="py-lineno">1267</tt>  <tt class="py-line"> </tt>
+<a name="L1268"></a><tt class="py-lineno">1268</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-450" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-450', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check for consistency in Intents from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1269"></a><tt class="py-lineno">1269</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">[</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1270"></a><tt class="py-lineno">1270</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-451" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-451', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents are consistent across all ONOS "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1271"></a><tt class="py-lineno">1271</tt>  <tt class="py-line">                             <tt class="py-string">"nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1272"></a><tt class="py-lineno">1272</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1273"></a><tt class="py-lineno">1273</tt>  <tt class="py-line">            <tt class="py-name">consistentIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1274"></a><tt class="py-lineno">1274</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-452" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-452', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-453" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-453', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Intents not consistent"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1275"></a><tt class="py-lineno">1275</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1276"></a><tt class="py-lineno">1276</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1277"></a><tt class="py-lineno">1277</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentIntents</tt><tt class="py-op">,</tt> </tt>
+<a name="L1278"></a><tt class="py-lineno">1278</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents are consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1279"></a><tt class="py-lineno">1279</tt>  <tt class="py-line">            <tt id="link-454" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-454', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1280"></a><tt class="py-lineno">1280</tt>  <tt class="py-line"> </tt>
+<a name="L1281"></a><tt class="py-lineno">1281</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">intentsResults</tt><tt class="py-op">:</tt> </tt>
+<a name="L1282"></a><tt class="py-lineno">1282</tt>  <tt class="py-line">            <tt class="py-comment"># Try to make it easy to figure out what is happening</tt> </tt>
+<a name="L1283"></a><tt class="py-lineno">1283</tt>  <tt class="py-line">            <tt class="py-comment">#</tt> </tt>
+<a name="L1284"></a><tt class="py-lineno">1284</tt>  <tt class="py-line">            <tt class="py-comment"># Intent      ONOS1      ONOS2    ...</tt> </tt>
+<a name="L1285"></a><tt class="py-lineno">1285</tt>  <tt class="py-line">            <tt class="py-comment">#  0x01     INSTALLED  INSTALLING</tt> </tt>
+<a name="L1286"></a><tt class="py-lineno">1286</tt>  <tt class="py-line">            <tt class="py-comment">#  ...        ...         ...</tt> </tt>
+<a name="L1287"></a><tt class="py-lineno">1287</tt>  <tt class="py-line">            <tt class="py-comment">#  ...        ...         ...</tt> </tt>
+<a name="L1288"></a><tt class="py-lineno">1288</tt>  <tt class="py-line">            <tt class="py-name">title</tt> <tt class="py-op">=</tt> <tt class="py-string">"   Id"</tt> </tt>
+<a name="L1289"></a><tt class="py-lineno">1289</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1290"></a><tt class="py-lineno">1290</tt>  <tt class="py-line">                <tt class="py-name">title</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1291"></a><tt class="py-lineno">1291</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-455" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-455', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">title</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1292"></a><tt class="py-lineno">1292</tt>  <tt class="py-line">            <tt class="py-comment"># get all intent keys in the cluster</tt> </tt>
+<a name="L1293"></a><tt class="py-lineno">1293</tt>  <tt class="py-line">            <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1294"></a><tt class="py-lineno">1294</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">nodeStr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1295"></a><tt class="py-lineno">1295</tt>  <tt class="py-line">                <tt class="py-name">node</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1296"></a><tt class="py-lineno">1296</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-456" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-456', 'intent', 'link-174');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">node</tt><tt class="py-op">:</tt> </tt>
+<a name="L1297"></a><tt class="py-lineno">1297</tt>  <tt class="py-line">                    <tt class="py-name">keys</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-457" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-457', 'intent', 'link-174');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1298"></a><tt class="py-lineno">1298</tt>  <tt class="py-line">            <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">keys</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1299"></a><tt class="py-lineno">1299</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">keys</tt><tt class="py-op">:</tt> </tt>
+<a name="L1300"></a><tt class="py-lineno">1300</tt>  <tt class="py-line">                <tt class="py-name">row</tt> <tt class="py-op">=</tt> <tt class="py-string">"%-13s"</tt> <tt class="py-op">%</tt> <tt class="py-name">key</tt> </tt>
+<a name="L1301"></a><tt class="py-lineno">1301</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">nodeStr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1302"></a><tt class="py-lineno">1302</tt>  <tt class="py-line">                    <tt class="py-name">node</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1303"></a><tt class="py-lineno">1303</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt id="link-458" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-458', 'intent', 'link-174');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">node</tt><tt class="py-op">:</tt> </tt>
+<a name="L1304"></a><tt class="py-lineno">1304</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt id="link-459" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-459', 'intent', 'link-174');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-string">"Error"</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">key</tt><tt class="py-op">:</tt> </tt>
+<a name="L1305"></a><tt class="py-lineno">1305</tt>  <tt class="py-line">                            <tt class="py-name">row</tt> <tt class="py-op">+=</tt> <tt class="py-string">"%-15s"</tt> <tt class="py-op">%</tt> <tt id="link-460" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-460', 'intent', 'link-174');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1306"></a><tt class="py-lineno">1306</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-461" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-461', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">row</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1307"></a><tt class="py-lineno">1307</tt>  <tt class="py-line">            <tt class="py-comment"># End table view</tt> </tt>
+<a name="L1308"></a><tt class="py-lineno">1308</tt>  <tt class="py-line"> </tt>
+<a name="L1309"></a><tt class="py-lineno">1309</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">intentsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">consistentIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1310"></a><tt class="py-lineno">1310</tt>  <tt class="py-line">            <tt class="py-comment"># print the json objects</tt> </tt>
+<a name="L1311"></a><tt class="py-lineno">1311</tt>  <tt class="py-line">            <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIntents</tt><tt class="py-op">)</tt> </tt>
+<a name="L1312"></a><tt class="py-lineno">1312</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-462" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-462', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1313"></a><tt class="py-lineno">1313</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-463" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-463', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1314"></a><tt class="py-lineno">1314</tt>  <tt class="py-line">                                        <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1315"></a><tt class="py-lineno">1315</tt>  <tt class="py-line">                                        <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1316"></a><tt class="py-lineno">1316</tt>  <tt class="py-line">                                        <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1317"></a><tt class="py-lineno">1317</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1318"></a><tt class="py-lineno">1318</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1319"></a><tt class="py-lineno">1319</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-464" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-464', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1320"></a><tt class="py-lineno">1320</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-465" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-465', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1321"></a><tt class="py-lineno">1321</tt>  <tt class="py-line">                                                <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1322"></a><tt class="py-lineno">1322</tt>  <tt class="py-line">                                                <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1323"></a><tt class="py-lineno">1323</tt>  <tt class="py-line">                                                <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1324"></a><tt class="py-lineno">1324</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1325"></a><tt class="py-lineno">1325</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-466" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-466', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-467" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-467', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents match ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1326"></a><tt class="py-lineno">1326</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1327"></a><tt class="py-lineno">1327</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">intentsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1328"></a><tt class="py-lineno">1328</tt>  <tt class="py-line">            <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1329"></a><tt class="py-lineno">1329</tt>  <tt class="py-line">            <tt class="py-name">intentState</tt> <tt class="py-op">=</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1330"></a><tt class="py-lineno">1330</tt>  <tt class="py-line"> </tt>
+<a name="L1331"></a><tt class="py-lineno">1331</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-468" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-468', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the flows from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1332"></a><tt class="py-lineno">1332</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">flowState</tt> </tt>
+<a name="L1333"></a><tt class="py-lineno">1333</tt>  <tt class="py-line">        <tt class="py-name">flowState</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1334"></a><tt class="py-lineno">1334</tt>  <tt class="py-line">        <tt class="py-name">ONOSFlows</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1335"></a><tt class="py-lineno">1335</tt>  <tt class="py-line">        <tt class="py-name">ONOSFlowsJson</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1336"></a><tt class="py-lineno">1336</tt>  <tt class="py-line">        <tt class="py-name">flowCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1337"></a><tt class="py-lineno">1337</tt>  <tt class="py-line">        <tt class="py-name">consistentFlows</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1338"></a><tt class="py-lineno">1338</tt>  <tt class="py-line">        <tt class="py-name">flowsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1339"></a><tt class="py-lineno">1339</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1340"></a><tt class="py-lineno">1340</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1341"></a><tt class="py-lineno">1341</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-469" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-469', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-470" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-470', 'flows', 'link-409');">flows</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1342"></a><tt class="py-lineno">1342</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"flows-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1343"></a><tt class="py-lineno">1343</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1344"></a><tt class="py-lineno">1344</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">'jsonFormat'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1345"></a><tt class="py-lineno">1345</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1346"></a><tt class="py-lineno">1346</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1347"></a><tt class="py-lineno">1347</tt>  <tt class="py-line"> </tt>
+<a name="L1348"></a><tt class="py-lineno">1348</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: Flows command can take some time to run</tt> </tt>
+<a name="L1349"></a><tt class="py-lineno">1349</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">30</tt><tt class="py-op">)</tt> </tt>
+<a name="L1350"></a><tt class="py-lineno">1350</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1351"></a><tt class="py-lineno">1351</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1352"></a><tt class="py-lineno">1352</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L1353"></a><tt class="py-lineno">1353</tt>  <tt class="py-line">            <tt class="py-name">ONOSFlows</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1354"></a><tt class="py-lineno">1354</tt>  <tt class="py-line"> </tt>
+<a name="L1355"></a><tt class="py-lineno">1355</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1356"></a><tt class="py-lineno">1356</tt>  <tt class="py-line">            <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1357"></a><tt class="py-lineno">1357</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1358"></a><tt class="py-lineno">1358</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-471" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-471', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-472" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-472', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">num</tt> <tt class="py-op">+</tt> <tt class="py-string">" flows"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1359"></a><tt class="py-lineno">1359</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-473" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-473', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">num</tt> <tt class="py-op">+</tt> <tt class="py-string">" flows response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1360"></a><tt class="py-lineno">1360</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1361"></a><tt class="py-lineno">1361</tt>  <tt class="py-line">                <tt class="py-name">flowsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1362"></a><tt class="py-lineno">1362</tt>  <tt class="py-line">                <tt class="py-name">ONOSFlowsJson</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1363"></a><tt class="py-lineno">1363</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1364"></a><tt class="py-lineno">1364</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1365"></a><tt class="py-lineno">1365</tt>  <tt class="py-line">                    <tt class="py-name">ONOSFlowsJson</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1366"></a><tt class="py-lineno">1366</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1367"></a><tt class="py-lineno">1367</tt>  <tt class="py-line">                    <tt class="py-comment"># FIXME: change this to log.error?</tt> </tt>
+<a name="L1368"></a><tt class="py-lineno">1368</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-474" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-474', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error in parsing ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">num</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1369"></a><tt class="py-lineno">1369</tt>  <tt class="py-line">                                        <tt class="py-string">" response as json."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1370"></a><tt class="py-lineno">1370</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-475" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-475', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-476" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-476', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1371"></a><tt class="py-lineno">1371</tt>  <tt class="py-line">                    <tt class="py-name">ONOSFlowsJson</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1372"></a><tt class="py-lineno">1372</tt>  <tt class="py-line">                    <tt class="py-name">flowsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1373"></a><tt class="py-lineno">1373</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1374"></a><tt class="py-lineno">1374</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1375"></a><tt class="py-lineno">1375</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">flowsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1376"></a><tt class="py-lineno">1376</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No error in reading flows output"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1377"></a><tt class="py-lineno">1377</tt>  <tt class="py-line">            <tt id="link-477" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-477', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error in reading flows from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1378"></a><tt class="py-lineno">1378</tt>  <tt class="py-line"> </tt>
+<a name="L1379"></a><tt class="py-lineno">1379</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-478" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-478', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check for consistency in Flows from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1380"></a><tt class="py-lineno">1380</tt>  <tt class="py-line">        <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlowsJson</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSFlowsJson</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1381"></a><tt class="py-lineno">1381</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt> <tt class="py-name">tmp</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1382"></a><tt class="py-lineno">1382</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-479" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-479', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Flow count is consistent across all ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1383"></a><tt class="py-lineno">1383</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1384"></a><tt class="py-lineno">1384</tt>  <tt class="py-line">            <tt class="py-name">consistentFlows</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1385"></a><tt class="py-lineno">1385</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1386"></a><tt class="py-lineno">1386</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1387"></a><tt class="py-lineno">1387</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentFlows</tt><tt class="py-op">,</tt> </tt>
+<a name="L1388"></a><tt class="py-lineno">1388</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"The flow count is consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1389"></a><tt class="py-lineno">1389</tt>  <tt class="py-line">            <tt id="link-480" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-480', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different flow counts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1390"></a><tt class="py-lineno">1390</tt>  <tt class="py-line"> </tt>
+<a name="L1391"></a><tt class="py-lineno">1391</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">flowsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">consistentFlows</tt><tt class="py-op">:</tt> </tt>
+<a name="L1392"></a><tt class="py-lineno">1392</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1393"></a><tt class="py-lineno">1393</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1394"></a><tt class="py-lineno">1394</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-481" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-481', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1395"></a><tt class="py-lineno">1395</tt>  <tt class="py-line">                        <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" flows: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1396"></a><tt class="py-lineno">1396</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1397"></a><tt class="py-lineno">1397</tt>  <tt class="py-line">                                    <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1398"></a><tt class="py-lineno">1398</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1399"></a><tt class="py-lineno">1399</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-482" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-482', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1400"></a><tt class="py-lineno">1400</tt>  <tt class="py-line">                        <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" flows: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1401"></a><tt class="py-lineno">1401</tt>  <tt class="py-line">                        <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1402"></a><tt class="py-lineno">1402</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">flowsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentFlows</tt><tt class="py-op">:</tt> </tt>
+<a name="L1403"></a><tt class="py-lineno">1403</tt>  <tt class="py-line">            <tt class="py-name">flowCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1404"></a><tt class="py-lineno">1404</tt>  <tt class="py-line">            <tt class="py-name">flowState</tt> <tt class="py-op">=</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1405"></a><tt class="py-lineno">1405</tt>  <tt class="py-line"> </tt>
+<a name="L1406"></a><tt class="py-lineno">1406</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-483" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-483', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the OF Table entries"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1407"></a><tt class="py-lineno">1407</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt id="link-484" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-484', 'flows', 'link-409');">flows</a></tt> </tt>
+<a name="L1408"></a><tt class="py-lineno">1408</tt>  <tt class="py-line">        <tt id="link-485" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-485', 'flows', 'link-409');">flows</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1409"></a><tt class="py-lineno">1409</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1410"></a><tt class="py-lineno">1410</tt>  <tt class="py-line">            <tt id="link-486" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-486', 'flows', 'link-409');">flows</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-487" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getFlowTable()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getFlowTable"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getFlowTable" class="py-name" href="#" onclick="return doclink('link-487', 'getFlowTable', 'link-487');">getFlowTable</a></tt><tt class="py-op">(</tt> <tt class="py-number">1.3</tt><tt class="py-op">,</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1411"></a><tt class="py-lineno">1411</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">flowCheck</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1412"></a><tt class="py-lineno">1412</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">table</tt> <tt class="py-keyword">in</tt> <tt id="link-488" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-488', 'flows', 'link-409');">flows</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L1413"></a><tt class="py-lineno">1413</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-489" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-489', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">table</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1414"></a><tt class="py-lineno">1414</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Compare switch flow tables with ONOS flow tables</tt> </tt>
+<a name="L1415"></a><tt class="py-lineno">1415</tt>  <tt class="py-line"> </tt>
+<a name="L1416"></a><tt class="py-lineno">1416</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-490" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-490', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Start continuous pings"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1417"></a><tt class="py-lineno">1417</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-491" class="py-name" targets="Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingLong"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-491', 'pingLong', 'link-491');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1418"></a><tt class="py-lineno">1418</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source1'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1419"></a><tt class="py-lineno">1419</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target1'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1420"></a><tt class="py-lineno">1420</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1421"></a><tt class="py-lineno">1421</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-492" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-492', 'pingLong', 'link-491');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1422"></a><tt class="py-lineno">1422</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source2'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1423"></a><tt class="py-lineno">1423</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target2'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1424"></a><tt class="py-lineno">1424</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1425"></a><tt class="py-lineno">1425</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-493" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-493', 'pingLong', 'link-491');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1426"></a><tt class="py-lineno">1426</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source3'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1427"></a><tt class="py-lineno">1427</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target3'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1428"></a><tt class="py-lineno">1428</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1429"></a><tt class="py-lineno">1429</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-494" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-494', 'pingLong', 'link-491');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1430"></a><tt class="py-lineno">1430</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source4'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1431"></a><tt class="py-lineno">1431</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target4'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1432"></a><tt class="py-lineno">1432</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1433"></a><tt class="py-lineno">1433</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-495" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-495', 'pingLong', 'link-491');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1434"></a><tt class="py-lineno">1434</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source5'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1435"></a><tt class="py-lineno">1435</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target5'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1436"></a><tt class="py-lineno">1436</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1437"></a><tt class="py-lineno">1437</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-496" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-496', 'pingLong', 'link-491');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1438"></a><tt class="py-lineno">1438</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source6'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1439"></a><tt class="py-lineno">1439</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target6'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1440"></a><tt class="py-lineno">1440</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1441"></a><tt class="py-lineno">1441</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-497" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-497', 'pingLong', 'link-491');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1442"></a><tt class="py-lineno">1442</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source7'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1443"></a><tt class="py-lineno">1443</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target7'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1444"></a><tt class="py-lineno">1444</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1445"></a><tt class="py-lineno">1445</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-498" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-498', 'pingLong', 'link-491');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1446"></a><tt class="py-lineno">1446</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source8'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1447"></a><tt class="py-lineno">1447</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target8'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1448"></a><tt class="py-lineno">1448</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1449"></a><tt class="py-lineno">1449</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-499" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-499', 'pingLong', 'link-491');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1450"></a><tt class="py-lineno">1450</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source9'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1451"></a><tt class="py-lineno">1451</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target9'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1452"></a><tt class="py-lineno">1452</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1453"></a><tt class="py-lineno">1453</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-500" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-500', 'pingLong', 'link-491');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1454"></a><tt class="py-lineno">1454</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source10'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1455"></a><tt class="py-lineno">1455</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target10'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1456"></a><tt class="py-lineno">1456</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1457"></a><tt class="py-lineno">1457</tt>  <tt class="py-line"> </tt>
+<a name="L1458"></a><tt class="py-lineno">1458</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-501" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-501', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Collecting topology information from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1459"></a><tt class="py-lineno">1459</tt>  <tt class="py-line">        <tt id="link-502" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-502', 'devices', 'link-114');">devices</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1460"></a><tt class="py-lineno">1460</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1461"></a><tt class="py-lineno">1461</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1462"></a><tt class="py-lineno">1462</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-503" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-503', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-504" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-504', 'devices', 'link-114');">devices</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1463"></a><tt class="py-lineno">1463</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"devices-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1464"></a><tt class="py-lineno">1464</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1465"></a><tt class="py-lineno">1465</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1466"></a><tt class="py-lineno">1466</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1467"></a><tt class="py-lineno">1467</tt>  <tt class="py-line"> </tt>
+<a name="L1468"></a><tt class="py-lineno">1468</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1469"></a><tt class="py-lineno">1469</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1470"></a><tt class="py-lineno">1470</tt>  <tt class="py-line">            <tt id="link-505" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-505', 'devices', 'link-114');">devices</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1471"></a><tt class="py-lineno">1471</tt>  <tt class="py-line">        <tt id="link-506" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-506', 'hosts', 'link-163');">hosts</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1472"></a><tt class="py-lineno">1472</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1473"></a><tt class="py-lineno">1473</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1474"></a><tt class="py-lineno">1474</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-507" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-507', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-508" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-508', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1475"></a><tt class="py-lineno">1475</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"hosts-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1476"></a><tt class="py-lineno">1476</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1477"></a><tt class="py-lineno">1477</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1478"></a><tt class="py-lineno">1478</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1479"></a><tt class="py-lineno">1479</tt>  <tt class="py-line"> </tt>
+<a name="L1480"></a><tt class="py-lineno">1480</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1481"></a><tt class="py-lineno">1481</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1482"></a><tt class="py-lineno">1482</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1483"></a><tt class="py-lineno">1483</tt>  <tt class="py-line">                <tt id="link-509" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-509', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1484"></a><tt class="py-lineno">1484</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1485"></a><tt class="py-lineno">1485</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: better handling of this, print which node</tt> </tt>
+<a name="L1486"></a><tt class="py-lineno">1486</tt>  <tt class="py-line">                <tt class="py-comment">#        Maybe use thread name?</tt> </tt>
+<a name="L1487"></a><tt class="py-lineno">1487</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-510" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-510', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing json output of hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1488"></a><tt class="py-lineno">1488</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: should this be an empty json object instead?</tt> </tt>
+<a name="L1489"></a><tt class="py-lineno">1489</tt>  <tt class="py-line">                <tt id="link-511" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-511', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1490"></a><tt class="py-lineno">1490</tt>  <tt class="py-line"> </tt>
+<a name="L1491"></a><tt class="py-lineno">1491</tt>  <tt class="py-line">        <tt id="link-512" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#ports"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-512', 'ports', 'link-512');">ports</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1492"></a><tt class="py-lineno">1492</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1493"></a><tt class="py-lineno">1493</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1494"></a><tt class="py-lineno">1494</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-513" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-513', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-514" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-514', 'ports', 'link-512');">ports</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1495"></a><tt class="py-lineno">1495</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"ports-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1496"></a><tt class="py-lineno">1496</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1497"></a><tt class="py-lineno">1497</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1498"></a><tt class="py-lineno">1498</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1499"></a><tt class="py-lineno">1499</tt>  <tt class="py-line"> </tt>
+<a name="L1500"></a><tt class="py-lineno">1500</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1501"></a><tt class="py-lineno">1501</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1502"></a><tt class="py-lineno">1502</tt>  <tt class="py-line">            <tt id="link-515" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-515', 'ports', 'link-512');">ports</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1503"></a><tt class="py-lineno">1503</tt>  <tt class="py-line">        <tt id="link-516" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#links,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#links"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-516', 'links', 'link-516');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1504"></a><tt class="py-lineno">1504</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1505"></a><tt class="py-lineno">1505</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1506"></a><tt class="py-lineno">1506</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-517" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-517', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-518" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-518', 'links', 'link-516');">links</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1507"></a><tt class="py-lineno">1507</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"links-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1508"></a><tt class="py-lineno">1508</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1509"></a><tt class="py-lineno">1509</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1510"></a><tt class="py-lineno">1510</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1511"></a><tt class="py-lineno">1511</tt>  <tt class="py-line"> </tt>
+<a name="L1512"></a><tt class="py-lineno">1512</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1513"></a><tt class="py-lineno">1513</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1514"></a><tt class="py-lineno">1514</tt>  <tt class="py-line">            <tt id="link-519" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-519', 'links', 'link-516');">links</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1515"></a><tt class="py-lineno">1515</tt>  <tt class="py-line">        <tt id="link-520" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#clusters"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-520', 'clusters', 'link-520');">clusters</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1516"></a><tt class="py-lineno">1516</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1517"></a><tt class="py-lineno">1517</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1518"></a><tt class="py-lineno">1518</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-521" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-521', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-522" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-522', 'clusters', 'link-520');">clusters</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1519"></a><tt class="py-lineno">1519</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"clusters-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1520"></a><tt class="py-lineno">1520</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1521"></a><tt class="py-lineno">1521</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1522"></a><tt class="py-lineno">1522</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1523"></a><tt class="py-lineno">1523</tt>  <tt class="py-line"> </tt>
+<a name="L1524"></a><tt class="py-lineno">1524</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1525"></a><tt class="py-lineno">1525</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1526"></a><tt class="py-lineno">1526</tt>  <tt class="py-line">            <tt id="link-523" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-523', 'clusters', 'link-520');">clusters</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1527"></a><tt class="py-lineno">1527</tt>  <tt class="py-line">        <tt class="py-comment"># Compare json objects for hosts and dataplane clusters</tt> </tt>
+<a name="L1528"></a><tt class="py-lineno">1528</tt>  <tt class="py-line"> </tt>
+<a name="L1529"></a><tt class="py-lineno">1529</tt>  <tt class="py-line">        <tt class="py-comment"># hosts</tt> </tt>
+<a name="L1530"></a><tt class="py-lineno">1530</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-524" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-524', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Host view is consistent across ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1531"></a><tt class="py-lineno">1531</tt>  <tt class="py-line">        <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1532"></a><tt class="py-lineno">1532</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-525" class="py-name" targets="Package TestON.drivers.common.api.controller=TestON.drivers.common.api.controller-module.html"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-525', 'controller', 'link-525');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-526" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-526', 'hosts', 'link-163');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1533"></a><tt class="py-lineno">1533</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-527" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-527', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1534"></a><tt class="py-lineno">1534</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-528" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-528', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-529" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-529', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1535"></a><tt class="py-lineno">1535</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-530" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-530', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-531" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-531', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-532" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-532', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1536"></a><tt class="py-lineno">1536</tt>  <tt class="py-line">                    <tt class="py-keyword">continue</tt> </tt>
+<a name="L1537"></a><tt class="py-lineno">1537</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># hosts not consistent</tt> </tt>
+<a name="L1538"></a><tt class="py-lineno">1538</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-533" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-533', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-534" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-534', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"hosts from ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1539"></a><tt class="py-lineno">1539</tt>  <tt class="py-line">                                     <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1540"></a><tt class="py-lineno">1540</tt>  <tt class="py-line">                                     <tt class="py-string">" is inconsistent with ONOS1"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1541"></a><tt class="py-lineno">1541</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-535" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-535', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-536" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-536', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-537" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-537', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1542"></a><tt class="py-lineno">1542</tt>  <tt class="py-line">                    <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1543"></a><tt class="py-lineno">1543</tt>  <tt class="py-line"> </tt>
+<a name="L1544"></a><tt class="py-lineno">1544</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1545"></a><tt class="py-lineno">1545</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-538" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-538', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-539" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-539', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS hosts from ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1546"></a><tt class="py-lineno">1546</tt>  <tt class="py-line">                                 <tt class="py-name">controllerStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1547"></a><tt class="py-lineno">1547</tt>  <tt class="py-line">                <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1548"></a><tt class="py-lineno">1548</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-540" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-540', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1549"></a><tt class="py-lineno">1549</tt>  <tt class="py-line">                               <tt class="py-string">" hosts response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1550"></a><tt class="py-lineno">1550</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-541" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-541', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-542" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-542', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1551"></a><tt class="py-lineno">1551</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1552"></a><tt class="py-lineno">1552</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1553"></a><tt class="py-lineno">1553</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentHostsResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1554"></a><tt class="py-lineno">1554</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Hosts view is consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1555"></a><tt class="py-lineno">1555</tt>  <tt class="py-line">            <tt id="link-543" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-543', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1556"></a><tt class="py-lineno">1556</tt>  <tt class="py-line"> </tt>
+<a name="L1557"></a><tt class="py-lineno">1557</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-544" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-544', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Each host has an IP address"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1558"></a><tt class="py-lineno">1558</tt>  <tt class="py-line">        <tt class="py-name">ipResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1559"></a><tt class="py-lineno">1559</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-545" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-545', 'controller', 'link-525');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-546" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-546', 'hosts', 'link-163');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1560"></a><tt class="py-lineno">1560</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-547" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-547', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1561"></a><tt class="py-lineno">1561</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">host</tt> <tt class="py-keyword">in</tt> <tt id="link-548" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-548', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-549" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-549', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1562"></a><tt class="py-lineno">1562</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">host</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'ipAddresses'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1563"></a><tt class="py-lineno">1563</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-550" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-550', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-551" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-551', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"DEBUG:Error with host ips on controller"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1564"></a><tt class="py-lineno">1564</tt>  <tt class="py-line">                                    <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1565"></a><tt class="py-lineno">1565</tt>  <tt class="py-line">                    <tt class="py-name">ipResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1566"></a><tt class="py-lineno">1566</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1567"></a><tt class="py-lineno">1567</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1568"></a><tt class="py-lineno">1568</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">ipResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1569"></a><tt class="py-lineno">1569</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"The ips of the hosts aren't empty"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1570"></a><tt class="py-lineno">1570</tt>  <tt class="py-line">            <tt id="link-552" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-552', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"The ip of at least one host is missing"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1571"></a><tt class="py-lineno">1571</tt>  <tt class="py-line"> </tt>
+<a name="L1572"></a><tt class="py-lineno">1572</tt>  <tt class="py-line">        <tt class="py-comment"># Strongly connected clusters of devices</tt> </tt>
+<a name="L1573"></a><tt class="py-lineno">1573</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-553" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-553', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cluster view is consistent across ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1574"></a><tt class="py-lineno">1574</tt>  <tt class="py-line">        <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1575"></a><tt class="py-lineno">1575</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-554" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-554', 'controller', 'link-525');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-555" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-555', 'clusters', 'link-520');">clusters</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1576"></a><tt class="py-lineno">1576</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-556" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-556', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1577"></a><tt class="py-lineno">1577</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-557" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-557', 'clusters', 'link-520');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-558" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-558', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1578"></a><tt class="py-lineno">1578</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-559" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-559', 'clusters', 'link-520');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-560" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-560', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-561" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-561', 'clusters', 'link-520');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1579"></a><tt class="py-lineno">1579</tt>  <tt class="py-line">                    <tt class="py-keyword">continue</tt> </tt>
+<a name="L1580"></a><tt class="py-lineno">1580</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># clusters not consistent</tt> </tt>
+<a name="L1581"></a><tt class="py-lineno">1581</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-562" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-562', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-563" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-563', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"clusters from ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1582"></a><tt class="py-lineno">1582</tt>  <tt class="py-line">                                     <tt class="py-string">" is inconsistent with ONOS1"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1583"></a><tt class="py-lineno">1583</tt>  <tt class="py-line">                    <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1584"></a><tt class="py-lineno">1584</tt>  <tt class="py-line"> </tt>
+<a name="L1585"></a><tt class="py-lineno">1585</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1586"></a><tt class="py-lineno">1586</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-564" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-564', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-565" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-565', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting dataplane clusters "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1587"></a><tt class="py-lineno">1587</tt>  <tt class="py-line">                                 <tt class="py-string">"from ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1588"></a><tt class="py-lineno">1588</tt>  <tt class="py-line">                <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1589"></a><tt class="py-lineno">1589</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-566" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-566', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1590"></a><tt class="py-lineno">1590</tt>  <tt class="py-line">                               <tt class="py-string">" clusters response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1591"></a><tt class="py-lineno">1591</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-567" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-567', 'clusters', 'link-520');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-568" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-568', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1592"></a><tt class="py-lineno">1592</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1593"></a><tt class="py-lineno">1593</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1594"></a><tt class="py-lineno">1594</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentClustersResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1595"></a><tt class="py-lineno">1595</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Clusters view is consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1596"></a><tt class="py-lineno">1596</tt>  <tt class="py-line">            <tt id="link-569" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-569', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of clusters"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1597"></a><tt class="py-lineno">1597</tt>  <tt class="py-line">        <tt class="py-comment"># there should always only be one cluster</tt> </tt>
+<a name="L1598"></a><tt class="py-lineno">1598</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-570" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-570', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cluster view correct across ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1599"></a><tt class="py-lineno">1599</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1600"></a><tt class="py-lineno">1600</tt>  <tt class="py-line">            <tt class="py-name">numClusters</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-571" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-571', 'clusters', 'link-520');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1601"></a><tt class="py-lineno">1601</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1602"></a><tt class="py-lineno">1602</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-572" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-572', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing clusters[0]: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1603"></a><tt class="py-lineno">1603</tt>  <tt class="py-line">                                <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-573" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-573', 'clusters', 'link-520');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1604"></a><tt class="py-lineno">1604</tt>  <tt class="py-line">        <tt class="py-name">clusterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1605"></a><tt class="py-lineno">1605</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">numClusters</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1606"></a><tt class="py-lineno">1606</tt>  <tt class="py-line">            <tt class="py-name">clusterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1607"></a><tt class="py-lineno">1607</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1608"></a><tt class="py-lineno">1608</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1609"></a><tt class="py-lineno">1609</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">numClusters</tt><tt class="py-op">,</tt> </tt>
+<a name="L1610"></a><tt class="py-lineno">1610</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS shows 1 SCC"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1611"></a><tt class="py-lineno">1611</tt>  <tt class="py-line">            <tt id="link-574" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-574', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS shows "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">numClusters</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" SCCs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1612"></a><tt class="py-lineno">1612</tt>  <tt class="py-line"> </tt>
+<a name="L1613"></a><tt class="py-lineno">1613</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-575" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-575', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Comparing ONOS topology to MN"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1614"></a><tt class="py-lineno">1614</tt>  <tt class="py-line">        <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1615"></a><tt class="py-lineno">1615</tt>  <tt class="py-line">        <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1616"></a><tt class="py-lineno">1616</tt>  <tt class="py-line">        <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1617"></a><tt class="py-lineno">1617</tt>  <tt class="py-line">        <tt class="py-name">mnSwitches</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-576" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitches()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitches"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitches" class="py-name" href="#" onclick="return doclink('link-576', 'getSwitches', 'link-576');">getSwitches</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1618"></a><tt class="py-lineno">1618</tt>  <tt class="py-line">        <tt class="py-name">mnLinks</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-577" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getLinks()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getLinks"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getLinks" class="py-name" href="#" onclick="return doclink('link-577', 'getLinks', 'link-577');">getLinks</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1619"></a><tt class="py-lineno">1619</tt>  <tt class="py-line">        <tt class="py-name">mnHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-578" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHosts()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getHosts"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHosts" class="py-name" href="#" onclick="return doclink('link-578', 'getHosts', 'link-578');">getHosts</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1620"></a><tt class="py-lineno">1620</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-579" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-579', 'controller', 'link-525');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1621"></a><tt class="py-lineno">1621</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-580" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-580', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1622"></a><tt class="py-lineno">1622</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-581" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-581', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-582" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-582', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt id="link-583" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-583', 'ports', 'link-512');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-584" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-584', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L1623"></a><tt class="py-lineno">1623</tt>  <tt class="py-line">                <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-585" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-585', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-586" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-586', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L1624"></a><tt class="py-lineno">1624</tt>  <tt class="py-line">                <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-587" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-587', 'ports', 'link-512');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-588" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-588', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1625"></a><tt class="py-lineno">1625</tt>  <tt class="py-line">                    <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-589" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareSwitches()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareSwitches"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareSwitches" class="py-name" href="#" onclick="return doclink('link-589', 'compareSwitches', 'link-589');">compareSwitches</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1626"></a><tt class="py-lineno">1626</tt>  <tt class="py-line">                            <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> </tt>
+<a name="L1627"></a><tt class="py-lineno">1627</tt>  <tt class="py-line">                            <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-590" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-590', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-591" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-591', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1628"></a><tt class="py-lineno">1628</tt>  <tt class="py-line">                            <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-592" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-592', 'ports', 'link-512');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-593" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-593', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1629"></a><tt class="py-lineno">1629</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1630"></a><tt class="py-lineno">1630</tt>  <tt class="py-line">                <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1631"></a><tt class="py-lineno">1631</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1632"></a><tt class="py-lineno">1632</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentDevicesResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1633"></a><tt class="py-lineno">1633</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1634"></a><tt class="py-lineno">1634</tt>  <tt class="py-line">                                     <tt class="py-string">" Switches view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1635"></a><tt class="py-lineno">1635</tt>  <tt class="py-line">                                     <tt id="link-594" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-594', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1636"></a><tt class="py-lineno">1636</tt>  <tt class="py-line">                                     <tt class="py-string">" Switches view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1637"></a><tt class="py-lineno">1637</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-595" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-595', 'links', 'link-516');">links</a></tt><tt class="py-op">[</tt> <tt id="link-596" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-596', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-597" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-597', 'links', 'link-516');">links</a></tt><tt class="py-op">[</tt> <tt id="link-598" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-598', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1638"></a><tt class="py-lineno">1638</tt>  <tt class="py-line">                <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-599" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareLinks()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareLinks"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareLinks" class="py-name" href="#" onclick="return doclink('link-599', 'compareLinks', 'link-599');">compareLinks</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1639"></a><tt class="py-lineno">1639</tt>  <tt class="py-line">                        <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> <tt class="py-name">mnLinks</tt><tt class="py-op">,</tt> </tt>
+<a name="L1640"></a><tt class="py-lineno">1640</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-600" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-600', 'links', 'link-516');">links</a></tt><tt class="py-op">[</tt> <tt id="link-601" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-601', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1641"></a><tt class="py-lineno">1641</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1642"></a><tt class="py-lineno">1642</tt>  <tt class="py-line">                <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1643"></a><tt class="py-lineno">1643</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1644"></a><tt class="py-lineno">1644</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentLinksResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1645"></a><tt class="py-lineno">1645</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1646"></a><tt class="py-lineno">1646</tt>  <tt class="py-line">                                     <tt class="py-string">" links view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1647"></a><tt class="py-lineno">1647</tt>  <tt class="py-line">                                     <tt id="link-602" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-602', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1648"></a><tt class="py-lineno">1648</tt>  <tt class="py-line">                                     <tt class="py-string">" links view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1649"></a><tt class="py-lineno">1649</tt>  <tt class="py-line"> </tt>
+<a name="L1650"></a><tt class="py-lineno">1650</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-603" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-603', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-604" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-604', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-605" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-605', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-606" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-606', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1651"></a><tt class="py-lineno">1651</tt>  <tt class="py-line">                <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-607" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareHosts()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareHosts"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareHosts" class="py-name" href="#" onclick="return doclink('link-607', 'compareHosts', 'link-607');">compareHosts</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1652"></a><tt class="py-lineno">1652</tt>  <tt class="py-line">                        <tt class="py-name">mnHosts</tt><tt class="py-op">,</tt> </tt>
+<a name="L1653"></a><tt class="py-lineno">1653</tt>  <tt class="py-line">                        <tt id="link-608" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-608', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-609" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-609', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1654"></a><tt class="py-lineno">1654</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1655"></a><tt class="py-lineno">1655</tt>  <tt class="py-line">                <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1656"></a><tt class="py-lineno">1656</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1657"></a><tt class="py-lineno">1657</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentHostsResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1658"></a><tt class="py-lineno">1658</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1659"></a><tt class="py-lineno">1659</tt>  <tt class="py-line">                                     <tt class="py-string">" hosts exist in Mininet"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1660"></a><tt class="py-lineno">1660</tt>  <tt class="py-line">                                     <tt id="link-610" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-610', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1661"></a><tt class="py-lineno">1661</tt>  <tt class="py-line">                                     <tt class="py-string">" hosts don't match Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1662"></a><tt class="py-lineno">1662</tt>  <tt class="py-line"> </tt>
+<a name="L1663"></a><tt class="py-lineno">1663</tt>  <tt class="py-line">            <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">devicesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentDevicesResult</tt> </tt>
+<a name="L1664"></a><tt class="py-lineno">1664</tt>  <tt class="py-line">            <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">linksResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentLinksResult</tt> </tt>
+<a name="L1665"></a><tt class="py-lineno">1665</tt>  <tt class="py-line">            <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentHostsResult</tt> </tt>
+<a name="L1666"></a><tt class="py-lineno">1666</tt>  <tt class="py-line"> </tt>
+<a name="L1667"></a><tt class="py-lineno">1667</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-611" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-611', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Device information is correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1668"></a><tt class="py-lineno">1668</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1669"></a><tt class="py-lineno">1669</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1670"></a><tt class="py-lineno">1670</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">devicesResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1671"></a><tt class="py-lineno">1671</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Device information is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1672"></a><tt class="py-lineno">1672</tt>  <tt class="py-line">            <tt id="link-612" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-612', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Device information is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1673"></a><tt class="py-lineno">1673</tt>  <tt class="py-line"> </tt>
+<a name="L1674"></a><tt class="py-lineno">1674</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-613" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-613', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Links are correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1675"></a><tt class="py-lineno">1675</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1676"></a><tt class="py-lineno">1676</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1677"></a><tt class="py-lineno">1677</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">linksResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1678"></a><tt class="py-lineno">1678</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1679"></a><tt class="py-lineno">1679</tt>  <tt class="py-line">            <tt id="link-614" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-614', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Links are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1680"></a><tt class="py-lineno">1680</tt>  <tt class="py-line"> </tt>
+<a name="L1681"></a><tt class="py-lineno">1681</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-615" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-615', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Hosts are correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1682"></a><tt class="py-lineno">1682</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1683"></a><tt class="py-lineno">1683</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1684"></a><tt class="py-lineno">1684</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">hostsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1685"></a><tt class="py-lineno">1685</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Hosts are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1686"></a><tt class="py-lineno">1686</tt>  <tt class="py-line">            <tt id="link-616" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-616', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Hosts are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1687"></a><tt class="py-lineno">1687</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE6"></a><div id="HAclusterRestart.CASE6-def"><a name="L1688"></a><tt class="py-lineno">1688</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE6-toggle" onclick="return toggle('HAclusterRestart.CASE6');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE6">CASE6</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE6-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE6-expanded"><a name="L1689"></a><tt class="py-lineno">1689</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1690"></a><tt class="py-lineno">1690</tt>  <tt class="py-line"><tt class="py-docstring">        The Failure case.</tt> </tt>
+<a name="L1691"></a><tt class="py-lineno">1691</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1692"></a><tt class="py-lineno">1692</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1693"></a><tt class="py-lineno">1693</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1694"></a><tt class="py-lineno">1694</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1695"></a><tt class="py-lineno">1695</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1696"></a><tt class="py-lineno">1696</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L1697"></a><tt class="py-lineno">1697</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-617" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-617', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L1698"></a><tt class="py-lineno">1698</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1699"></a><tt class="py-lineno">1699</tt>  <tt class="py-line">            <tt class="py-name">labels</tt> </tt>
+<a name="L1700"></a><tt class="py-lineno">1700</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1701"></a><tt class="py-lineno">1701</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-618" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-618', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-619" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-619', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"labels not defined, setting to []"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1702"></a><tt class="py-lineno">1702</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">labels</tt> </tt>
+<a name="L1703"></a><tt class="py-lineno">1703</tt>  <tt class="py-line">            <tt class="py-name">labels</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1704"></a><tt class="py-lineno">1704</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1705"></a><tt class="py-lineno">1705</tt>  <tt class="py-line">            <tt class="py-name">data</tt> </tt>
+<a name="L1706"></a><tt class="py-lineno">1706</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1707"></a><tt class="py-lineno">1707</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-620" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-620', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-621" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-621', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"data not defined, setting to []"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1708"></a><tt class="py-lineno">1708</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">data</tt> </tt>
+<a name="L1709"></a><tt class="py-lineno">1709</tt>  <tt class="py-line">            <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1710"></a><tt class="py-lineno">1710</tt>  <tt class="py-line">        <tt class="py-comment"># Reset non-persistent variables</tt> </tt>
+<a name="L1711"></a><tt class="py-lineno">1711</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1712"></a><tt class="py-lineno">1712</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L1713"></a><tt class="py-lineno">1713</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1714"></a><tt class="py-lineno">1714</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-622" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-622', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-623" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-623', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"iCounterValue not defined, setting to 0"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1715"></a><tt class="py-lineno">1715</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L1716"></a><tt class="py-lineno">1716</tt>  <tt class="py-line"> </tt>
+<a name="L1717"></a><tt class="py-lineno">1717</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-624" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-624', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Restart entire ONOS cluster"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1718"></a><tt class="py-lineno">1718</tt>  <tt class="py-line"> </tt>
+<a name="L1719"></a><tt class="py-lineno">1719</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-625" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-625', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Killing ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1720"></a><tt class="py-lineno">1720</tt>  <tt class="py-line">        <tt class="py-name">killResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1721"></a><tt class="py-lineno">1721</tt>  <tt class="py-line">        <tt class="py-name">killTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1722"></a><tt class="py-lineno">1722</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-626" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-626', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L1723"></a><tt class="py-lineno">1723</tt>  <tt class="py-line">            <tt class="py-name">killed</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-627" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosKill" class="py-name" href="#" onclick="return doclink('link-627', 'onosKill', 'link-24');">onosKill</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1724"></a><tt class="py-lineno">1724</tt>  <tt class="py-line">            <tt class="py-name">killResults</tt> <tt class="py-op">=</tt> <tt class="py-name">killResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">killed</tt> </tt>
+<a name="L1725"></a><tt class="py-lineno">1725</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">killResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1726"></a><tt class="py-lineno">1726</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes killed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1727"></a><tt class="py-lineno">1727</tt>  <tt class="py-line">                                 <tt id="link-628" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-628', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS kill unsuccessful"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1728"></a><tt class="py-lineno">1728</tt>  <tt class="py-line"> </tt>
+<a name="L1729"></a><tt class="py-lineno">1729</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-629" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-629', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Checking if ONOS is up yet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1730"></a><tt class="py-lineno">1730</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1731"></a><tt class="py-lineno">1731</tt>  <tt class="py-line">            <tt class="py-name">onosIsupResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1732"></a><tt class="py-lineno">1732</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-630" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-630', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L1733"></a><tt class="py-lineno">1733</tt>  <tt class="py-line">                <tt class="py-name">started</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-631" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-631', 'isup', 'link-48');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1734"></a><tt class="py-lineno">1734</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">started</tt><tt class="py-op">:</tt> </tt>
+<a name="L1735"></a><tt class="py-lineno">1735</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-632" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-632', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-633" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-633', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" didn't start!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1736"></a><tt class="py-lineno">1736</tt>  <tt class="py-line">                <tt class="py-name">onosIsupResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosIsupResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">started</tt> </tt>
+<a name="L1737"></a><tt class="py-lineno">1737</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">onosIsupResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1738"></a><tt class="py-lineno">1738</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L1739"></a><tt class="py-lineno">1739</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">onosIsupResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1740"></a><tt class="py-lineno">1740</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS restarted"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1741"></a><tt class="py-lineno">1741</tt>  <tt class="py-line">                                 <tt id="link-634" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-634', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS restart NOT successful"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1742"></a><tt class="py-lineno">1742</tt>  <tt class="py-line"> </tt>
+<a name="L1743"></a><tt class="py-lineno">1743</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-635" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-635', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-636" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-636', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting ONOS CLI sessions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1744"></a><tt class="py-lineno">1744</tt>  <tt class="py-line">        <tt class="py-name">cliResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1745"></a><tt class="py-lineno">1745</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1746"></a><tt class="py-lineno">1746</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1747"></a><tt class="py-lineno">1747</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-637" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-637', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-638" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli" class="py-name" href="#" onclick="return doclink('link-638', 'startOnosCli', 'link-57');">startOnosCli</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1748"></a><tt class="py-lineno">1748</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"startOnosCli-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1749"></a><tt class="py-lineno">1749</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-639" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-639', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1750"></a><tt class="py-lineno">1750</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1751"></a><tt class="py-lineno">1751</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1752"></a><tt class="py-lineno">1752</tt>  <tt class="py-line"> </tt>
+<a name="L1753"></a><tt class="py-lineno">1753</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1754"></a><tt class="py-lineno">1754</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1755"></a><tt class="py-lineno">1755</tt>  <tt class="py-line">            <tt class="py-name">cliResults</tt> <tt class="py-op">=</tt> <tt class="py-name">cliResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L1756"></a><tt class="py-lineno">1756</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">cliResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1757"></a><tt class="py-lineno">1757</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS cli started"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1758"></a><tt class="py-lineno">1758</tt>  <tt class="py-line">                                 <tt id="link-640" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-640', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS clis did not restart"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1759"></a><tt class="py-lineno">1759</tt>  <tt class="py-line"> </tt>
+<a name="L1760"></a><tt class="py-lineno">1760</tt>  <tt class="py-line">        <tt class="py-comment"># Grab the time of restart so we chan check how long the gossip</tt> </tt>
+<a name="L1761"></a><tt class="py-lineno">1761</tt>  <tt class="py-line">        <tt class="py-comment"># protocol has had time to work</tt> </tt>
+<a name="L1762"></a><tt class="py-lineno">1762</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">restartTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">killTime</tt> </tt>
+<a name="L1763"></a><tt class="py-lineno">1763</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-641" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-641', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Restart time: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">restartTime</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1764"></a><tt class="py-lineno">1764</tt>  <tt class="py-line">        <tt class="py-name">labels</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"Restart"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1765"></a><tt class="py-lineno">1765</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">restartTime</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1766"></a><tt class="py-lineno">1766</tt>  <tt class="py-line"> </tt>
+<a name="L1767"></a><tt class="py-lineno">1767</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: revisit test plan for election with madan</tt> </tt>
+<a name="L1768"></a><tt class="py-lineno">1768</tt>  <tt class="py-line">        <tt class="py-comment"># Rerun for election on restarted nodes</tt> </tt>
+<a name="L1769"></a><tt class="py-lineno">1769</tt>  <tt class="py-line">        <tt class="py-name">runResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1770"></a><tt class="py-lineno">1770</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-642" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-642', 'cli', 'link-227');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L1771"></a><tt class="py-lineno">1771</tt>  <tt class="py-line">            <tt id="link-643" class="py-name" targets="Method TestON.bin.cli.TestThread.run()=TestON.bin.cli.TestThread-class.html#run,Method TestON.core.Thread.Thread.run()=TestON.core.Thread.Thread-class.html#run,Method TestON.core.teston.TestON.run()=TestON.core.teston.TestON-class.html#run,Function TestON.tests.HAclusterRestart.dependencies.obelisk.run()=TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#run,Function TestON.tests.HAminorityRestart.dependencies.obelisk.run()=TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#run,Function TestON.tests.HAsanity.dependencies.obelisk.run()=TestON.tests.HAsanity.dependencies.obelisk-module.html#run,Function TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#run"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-643', 'run', 'link-643');">run</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-644" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestRun()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestRun"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestRun" class="py-name" href="#" onclick="return doclink('link-644', 'electionTestRun', 'link-644');">electionTestRun</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1772"></a><tt class="py-lineno">1772</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-645" class="py-name"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-645', 'run', 'link-643');">run</a></tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1773"></a><tt class="py-lineno">1773</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-646" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-646', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-647" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-647', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error running for election on "</tt> <tt class="py-op">+</tt> <tt id="link-648" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-648', 'cli', 'link-227');">cli</a></tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1774"></a><tt class="py-lineno">1774</tt>  <tt class="py-line">            <tt class="py-name">runResults</tt> <tt class="py-op">=</tt> <tt class="py-name">runResults</tt> <tt class="py-keyword">and</tt> <tt id="link-649" class="py-name"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-649', 'run', 'link-643');">run</a></tt> </tt>
+<a name="L1775"></a><tt class="py-lineno">1775</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">runResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1776"></a><tt class="py-lineno">1776</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Reran for election"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1777"></a><tt class="py-lineno">1777</tt>  <tt class="py-line">                                 <tt id="link-650" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-650', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to rerun for election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1778"></a><tt class="py-lineno">1778</tt>  <tt class="py-line"> </tt>
+<a name="L1779"></a><tt class="py-lineno">1779</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Make this configurable</tt> </tt>
+<a name="L1780"></a><tt class="py-lineno">1780</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1781"></a><tt class="py-lineno">1781</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-651" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-651', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-652" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-652', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1782"></a><tt class="py-lineno">1782</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-653" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-653', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-654" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-654', 'leaders', 'link-185');">leaders</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1783"></a><tt class="py-lineno">1783</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-655" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-655', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-656" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-656', 'partitions', 'link-201');">partitions</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1784"></a><tt class="py-lineno">1784</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE7"></a><div id="HAclusterRestart.CASE7-def"><a name="L1785"></a><tt class="py-lineno">1785</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE7-toggle" onclick="return toggle('HAclusterRestart.CASE7');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE7">CASE7</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE7-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE7-expanded"><a name="L1786"></a><tt class="py-lineno">1786</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1787"></a><tt class="py-lineno">1787</tt>  <tt class="py-line"><tt class="py-docstring">        Check state after ONOS failure</tt> </tt>
+<a name="L1788"></a><tt class="py-lineno">1788</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1789"></a><tt class="py-lineno">1789</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L1790"></a><tt class="py-lineno">1790</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1791"></a><tt class="py-lineno">1791</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1792"></a><tt class="py-lineno">1792</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1793"></a><tt class="py-lineno">1793</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L1794"></a><tt class="py-lineno">1794</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-657" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-657', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L1795"></a><tt class="py-lineno">1795</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-658" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-658', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Running ONOS Constant State Tests"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1796"></a><tt class="py-lineno">1796</tt>  <tt class="py-line"> </tt>
+<a name="L1797"></a><tt class="py-lineno">1797</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-659" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-659', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check that each switch has a master"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1798"></a><tt class="py-lineno">1798</tt>  <tt class="py-line">        <tt class="py-comment"># Assert that each device has a master</tt> </tt>
+<a name="L1799"></a><tt class="py-lineno">1799</tt>  <tt class="py-line">        <tt id="link-660" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-660', 'rolesNotNull', 'link-424');">rolesNotNull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1800"></a><tt class="py-lineno">1800</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1801"></a><tt class="py-lineno">1801</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1802"></a><tt class="py-lineno">1802</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-661" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-661', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-662" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-662', 'rolesNotNull', 'link-424');">rolesNotNull</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1803"></a><tt class="py-lineno">1803</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"rolesNotNull-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1804"></a><tt class="py-lineno">1804</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1805"></a><tt class="py-lineno">1805</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1806"></a><tt class="py-lineno">1806</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1807"></a><tt class="py-lineno">1807</tt>  <tt class="py-line"> </tt>
+<a name="L1808"></a><tt class="py-lineno">1808</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1809"></a><tt class="py-lineno">1809</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1810"></a><tt class="py-lineno">1810</tt>  <tt class="py-line">            <tt id="link-663" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-663', 'rolesNotNull', 'link-424');">rolesNotNull</a></tt> <tt class="py-op">=</tt> <tt id="link-664" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-664', 'rolesNotNull', 'link-424');">rolesNotNull</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L1811"></a><tt class="py-lineno">1811</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1812"></a><tt class="py-lineno">1812</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1813"></a><tt class="py-lineno">1813</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt id="link-665" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-665', 'rolesNotNull', 'link-424');">rolesNotNull</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1814"></a><tt class="py-lineno">1814</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Each device has a master"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1815"></a><tt class="py-lineno">1815</tt>  <tt class="py-line">            <tt id="link-666" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-666', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Some devices don't have a master assigned"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1816"></a><tt class="py-lineno">1816</tt>  <tt class="py-line"> </tt>
+<a name="L1817"></a><tt class="py-lineno">1817</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-667" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-667', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Read device roles from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1818"></a><tt class="py-lineno">1818</tt>  <tt class="py-line">        <tt class="py-name">ONOSMastership</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1819"></a><tt class="py-lineno">1819</tt>  <tt class="py-line">        <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1820"></a><tt class="py-lineno">1820</tt>  <tt class="py-line">        <tt class="py-name">consistentMastership</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1821"></a><tt class="py-lineno">1821</tt>  <tt class="py-line">        <tt class="py-name">rolesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1822"></a><tt class="py-lineno">1822</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1823"></a><tt class="py-lineno">1823</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1824"></a><tt class="py-lineno">1824</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-668" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-668', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-669" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.roles" class="py-name" href="#" onclick="return doclink('link-669', 'roles', 'link-433');">roles</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1825"></a><tt class="py-lineno">1825</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"roles-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1826"></a><tt class="py-lineno">1826</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1827"></a><tt class="py-lineno">1827</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1828"></a><tt class="py-lineno">1828</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1829"></a><tt class="py-lineno">1829</tt>  <tt class="py-line"> </tt>
+<a name="L1830"></a><tt class="py-lineno">1830</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1831"></a><tt class="py-lineno">1831</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1832"></a><tt class="py-lineno">1832</tt>  <tt class="py-line">            <tt class="py-name">ONOSMastership</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1833"></a><tt class="py-lineno">1833</tt>  <tt class="py-line"> </tt>
+<a name="L1834"></a><tt class="py-lineno">1834</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1835"></a><tt class="py-lineno">1835</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1836"></a><tt class="py-lineno">1836</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-670" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-670', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-671" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-671', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1837"></a><tt class="py-lineno">1837</tt>  <tt class="py-line">                                 <tt class="py-string">" roles"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1838"></a><tt class="py-lineno">1838</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-672" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-672', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1839"></a><tt class="py-lineno">1839</tt>  <tt class="py-line">                    <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" mastership response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1840"></a><tt class="py-lineno">1840</tt>  <tt class="py-line">                    <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1841"></a><tt class="py-lineno">1841</tt>  <tt class="py-line">                <tt class="py-name">rolesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1842"></a><tt class="py-lineno">1842</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1843"></a><tt class="py-lineno">1843</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1844"></a><tt class="py-lineno">1844</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">rolesResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1845"></a><tt class="py-lineno">1845</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No error in reading roles output"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1846"></a><tt class="py-lineno">1846</tt>  <tt class="py-line">            <tt id="link-673" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-673', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error in reading roles from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1847"></a><tt class="py-lineno">1847</tt>  <tt class="py-line"> </tt>
+<a name="L1848"></a><tt class="py-lineno">1848</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-674" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-674', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check for consistency in roles from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1849"></a><tt class="py-lineno">1849</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSMastership</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1850"></a><tt class="py-lineno">1850</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-675" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-675', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L1851"></a><tt class="py-lineno">1851</tt>  <tt class="py-line">                <tt class="py-string">"Switch roles are consistent across all ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1852"></a><tt class="py-lineno">1852</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1853"></a><tt class="py-lineno">1853</tt>  <tt class="py-line">            <tt class="py-name">consistentMastership</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1854"></a><tt class="py-lineno">1854</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1855"></a><tt class="py-lineno">1855</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1856"></a><tt class="py-lineno">1856</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentMastership</tt><tt class="py-op">,</tt> </tt>
+<a name="L1857"></a><tt class="py-lineno">1857</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Switch roles are consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1858"></a><tt class="py-lineno">1858</tt>  <tt class="py-line">            <tt id="link-676" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-676', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of switch roles"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1859"></a><tt class="py-lineno">1859</tt>  <tt class="py-line"> </tt>
+<a name="L1860"></a><tt class="py-lineno">1860</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">rolesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">consistentMastership</tt><tt class="py-op">:</tt> </tt>
+<a name="L1861"></a><tt class="py-lineno">1861</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1862"></a><tt class="py-lineno">1862</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-677" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-677', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1863"></a><tt class="py-lineno">1863</tt>  <tt class="py-line">                    <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" roles: "</tt><tt class="py-op">,</tt> </tt>
+<a name="L1864"></a><tt class="py-lineno">1864</tt>  <tt class="py-line">                    <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> </tt>
+<a name="L1865"></a><tt class="py-lineno">1865</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1866"></a><tt class="py-lineno">1866</tt>  <tt class="py-line">                        <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1867"></a><tt class="py-lineno">1867</tt>  <tt class="py-line">                        <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1868"></a><tt class="py-lineno">1868</tt>  <tt class="py-line">                        <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1869"></a><tt class="py-lineno">1869</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">rolesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">consistentMastership</tt><tt class="py-op">:</tt> </tt>
+<a name="L1870"></a><tt class="py-lineno">1870</tt>  <tt class="py-line">            <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1871"></a><tt class="py-lineno">1871</tt>  <tt class="py-line"> </tt>
+<a name="L1872"></a><tt class="py-lineno">1872</tt>  <tt class="py-line">        <tt class="py-string">'''</tt> </tt>
+<a name="L1873"></a><tt class="py-lineno">1873</tt>  <tt class="py-line"><tt class="py-string">        description2 = "Compare switch roles from before failure"</tt> </tt>
+<a name="L1874"></a><tt class="py-lineno">1874</tt>  <tt class="py-line"><tt class="py-string">        main.step( description2 )</tt> </tt>
+<a name="L1875"></a><tt class="py-lineno">1875</tt>  <tt class="py-line"><tt class="py-string">        try:</tt> </tt>
+<a name="L1876"></a><tt class="py-lineno">1876</tt>  <tt class="py-line"><tt class="py-string">            currentJson = json.loads( ONOSMastership[0] )</tt> </tt>
+<a name="L1877"></a><tt class="py-lineno">1877</tt>  <tt class="py-line"><tt class="py-string">            oldJson = json.loads( mastershipState )</tt> </tt>
+<a name="L1878"></a><tt class="py-lineno">1878</tt>  <tt class="py-line"><tt class="py-string">        except ( ValueError, TypeError ):</tt> </tt>
+<a name="L1879"></a><tt class="py-lineno">1879</tt>  <tt class="py-line"><tt class="py-string">            main.log.exception( "Something is wrong with parsing " +</tt> </tt>
+<a name="L1880"></a><tt class="py-lineno">1880</tt>  <tt class="py-line"><tt class="py-string">                                "ONOSMastership[0] or mastershipState" )</tt> </tt>
+<a name="L1881"></a><tt class="py-lineno">1881</tt>  <tt class="py-line"><tt class="py-string">            main.log.error( "ONOSMastership[0]: " + repr( ONOSMastership[0] ) )</tt> </tt>
+<a name="L1882"></a><tt class="py-lineno">1882</tt>  <tt class="py-line"><tt class="py-string">            main.log.error( "mastershipState" + repr( mastershipState ) )</tt> </tt>
+<a name="L1883"></a><tt class="py-lineno">1883</tt>  <tt class="py-line"><tt class="py-string">            main.cleanup()</tt> </tt>
+<a name="L1884"></a><tt class="py-lineno">1884</tt>  <tt class="py-line"><tt class="py-string">            main.exit()</tt> </tt>
+<a name="L1885"></a><tt class="py-lineno">1885</tt>  <tt class="py-line"><tt class="py-string">        mastershipCheck = main.TRUE</tt> </tt>
+<a name="L1886"></a><tt class="py-lineno">1886</tt>  <tt class="py-line"><tt class="py-string">        for i in range( 1, 29 ):</tt> </tt>
+<a name="L1887"></a><tt class="py-lineno">1887</tt>  <tt class="py-line"><tt class="py-string">            switchDPID = str(</tt> </tt>
+<a name="L1888"></a><tt class="py-lineno">1888</tt>  <tt class="py-line"><tt class="py-string">                main.Mininet1.getSwitchDPID( switch="s" + str( i ) ) )</tt> </tt>
+<a name="L1889"></a><tt class="py-lineno">1889</tt>  <tt class="py-line"><tt class="py-string">            current = [ switch[ 'master' ] for switch in currentJson</tt> </tt>
+<a name="L1890"></a><tt class="py-lineno">1890</tt>  <tt class="py-line"><tt class="py-string">                        if switchDPID in switch[ 'id' ] ]</tt> </tt>
+<a name="L1891"></a><tt class="py-lineno">1891</tt>  <tt class="py-line"><tt class="py-string">            old = [ switch[ 'master' ] for switch in oldJson</tt> </tt>
+<a name="L1892"></a><tt class="py-lineno">1892</tt>  <tt class="py-line"><tt class="py-string">                    if switchDPID in switch[ 'id' ] ]</tt> </tt>
+<a name="L1893"></a><tt class="py-lineno">1893</tt>  <tt class="py-line"><tt class="py-string">            if current == old:</tt> </tt>
+<a name="L1894"></a><tt class="py-lineno">1894</tt>  <tt class="py-line"><tt class="py-string">                mastershipCheck = mastershipCheck and main.TRUE</tt> </tt>
+<a name="L1895"></a><tt class="py-lineno">1895</tt>  <tt class="py-line"><tt class="py-string">            else:</tt> </tt>
+<a name="L1896"></a><tt class="py-lineno">1896</tt>  <tt class="py-line"><tt class="py-string">                main.log.warn( "Mastership of switch %s changed" % switchDPID )</tt> </tt>
+<a name="L1897"></a><tt class="py-lineno">1897</tt>  <tt class="py-line"><tt class="py-string">                mastershipCheck = main.FALSE</tt> </tt>
+<a name="L1898"></a><tt class="py-lineno">1898</tt>  <tt class="py-line"><tt class="py-string">        utilities.assert_equals(</tt> </tt>
+<a name="L1899"></a><tt class="py-lineno">1899</tt>  <tt class="py-line"><tt class="py-string">            expect=main.TRUE,</tt> </tt>
+<a name="L1900"></a><tt class="py-lineno">1900</tt>  <tt class="py-line"><tt class="py-string">            actual=mastershipCheck,</tt> </tt>
+<a name="L1901"></a><tt class="py-lineno">1901</tt>  <tt class="py-line"><tt class="py-string">            onpass="Mastership of Switches was not changed",</tt> </tt>
+<a name="L1902"></a><tt class="py-lineno">1902</tt>  <tt class="py-line"><tt class="py-string">            onfail="Mastership of some switches changed" )</tt> </tt>
+<a name="L1903"></a><tt class="py-lineno">1903</tt>  <tt class="py-line"><tt class="py-string">        '''</tt> </tt>
+<a name="L1904"></a><tt class="py-lineno">1904</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: we expect mastership to change on controller failure</tt> </tt>
+<a name="L1905"></a><tt class="py-lineno">1905</tt>  <tt class="py-line"> </tt>
+<a name="L1906"></a><tt class="py-lineno">1906</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-678" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-678', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the intents and compare across all nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1907"></a><tt class="py-lineno">1907</tt>  <tt class="py-line">        <tt class="py-name">ONOSIntents</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1908"></a><tt class="py-lineno">1908</tt>  <tt class="py-line">        <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1909"></a><tt class="py-lineno">1909</tt>  <tt class="py-line">        <tt class="py-name">consistentIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1910"></a><tt class="py-lineno">1910</tt>  <tt class="py-line">        <tt class="py-name">intentsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1911"></a><tt class="py-lineno">1911</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1912"></a><tt class="py-lineno">1912</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1913"></a><tt class="py-lineno">1913</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-679" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-679', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-680" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-680', 'intents', 'link-176');">intents</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1914"></a><tt class="py-lineno">1914</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"intents-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1915"></a><tt class="py-lineno">1915</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1916"></a><tt class="py-lineno">1916</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">'jsonFormat'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1917"></a><tt class="py-lineno">1917</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1918"></a><tt class="py-lineno">1918</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1919"></a><tt class="py-lineno">1919</tt>  <tt class="py-line"> </tt>
+<a name="L1920"></a><tt class="py-lineno">1920</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1921"></a><tt class="py-lineno">1921</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1922"></a><tt class="py-lineno">1922</tt>  <tt class="py-line">            <tt class="py-name">ONOSIntents</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1923"></a><tt class="py-lineno">1923</tt>  <tt class="py-line"> </tt>
+<a name="L1924"></a><tt class="py-lineno">1924</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1925"></a><tt class="py-lineno">1925</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1926"></a><tt class="py-lineno">1926</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-681" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-681', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-682" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-682', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1927"></a><tt class="py-lineno">1927</tt>  <tt class="py-line">                                 <tt class="py-string">" intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1928"></a><tt class="py-lineno">1928</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-683" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-683', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1929"></a><tt class="py-lineno">1929</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1930"></a><tt class="py-lineno">1930</tt>  <tt class="py-line">                <tt class="py-name">intentsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1931"></a><tt class="py-lineno">1931</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1932"></a><tt class="py-lineno">1932</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1933"></a><tt class="py-lineno">1933</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">intentsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1934"></a><tt class="py-lineno">1934</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No error in reading intents output"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1935"></a><tt class="py-lineno">1935</tt>  <tt class="py-line">            <tt id="link-684" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-684', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error in reading intents from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1936"></a><tt class="py-lineno">1936</tt>  <tt class="py-line"> </tt>
+<a name="L1937"></a><tt class="py-lineno">1937</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-685" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-685', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check for consistency in Intents from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1938"></a><tt class="py-lineno">1938</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">[</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1939"></a><tt class="py-lineno">1939</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-686" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-686', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents are consistent across all ONOS "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1940"></a><tt class="py-lineno">1940</tt>  <tt class="py-line">                             <tt class="py-string">"nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1941"></a><tt class="py-lineno">1941</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1942"></a><tt class="py-lineno">1942</tt>  <tt class="py-line">            <tt class="py-name">consistentIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1943"></a><tt class="py-lineno">1943</tt>  <tt class="py-line"> </tt>
+<a name="L1944"></a><tt class="py-lineno">1944</tt>  <tt class="py-line">        <tt class="py-comment"># Try to make it easy to figure out what is happening</tt> </tt>
+<a name="L1945"></a><tt class="py-lineno">1945</tt>  <tt class="py-line">        <tt class="py-comment">#</tt> </tt>
+<a name="L1946"></a><tt class="py-lineno">1946</tt>  <tt class="py-line">        <tt class="py-comment"># Intent      ONOS1      ONOS2    ...</tt> </tt>
+<a name="L1947"></a><tt class="py-lineno">1947</tt>  <tt class="py-line">        <tt class="py-comment">#  0x01     INSTALLED  INSTALLING</tt> </tt>
+<a name="L1948"></a><tt class="py-lineno">1948</tt>  <tt class="py-line">        <tt class="py-comment">#  ...        ...         ...</tt> </tt>
+<a name="L1949"></a><tt class="py-lineno">1949</tt>  <tt class="py-line">        <tt class="py-comment">#  ...        ...         ...</tt> </tt>
+<a name="L1950"></a><tt class="py-lineno">1950</tt>  <tt class="py-line">        <tt class="py-name">title</tt> <tt class="py-op">=</tt> <tt class="py-string">"   ID"</tt> </tt>
+<a name="L1951"></a><tt class="py-lineno">1951</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1952"></a><tt class="py-lineno">1952</tt>  <tt class="py-line">            <tt class="py-name">title</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1953"></a><tt class="py-lineno">1953</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-687" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-687', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">title</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1954"></a><tt class="py-lineno">1954</tt>  <tt class="py-line">        <tt class="py-comment"># get all intent keys in the cluster</tt> </tt>
+<a name="L1955"></a><tt class="py-lineno">1955</tt>  <tt class="py-line">        <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1956"></a><tt class="py-lineno">1956</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">nodeStr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1957"></a><tt class="py-lineno">1957</tt>  <tt class="py-line">            <tt class="py-name">node</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1958"></a><tt class="py-lineno">1958</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-688" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-688', 'intent', 'link-174');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">node</tt><tt class="py-op">:</tt> </tt>
+<a name="L1959"></a><tt class="py-lineno">1959</tt>  <tt class="py-line">                <tt class="py-name">keys</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-689" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-689', 'intent', 'link-174');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1960"></a><tt class="py-lineno">1960</tt>  <tt class="py-line">        <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">keys</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1961"></a><tt class="py-lineno">1961</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">keys</tt><tt class="py-op">:</tt> </tt>
+<a name="L1962"></a><tt class="py-lineno">1962</tt>  <tt class="py-line">            <tt class="py-name">row</tt> <tt class="py-op">=</tt> <tt class="py-string">"%-13s"</tt> <tt class="py-op">%</tt> <tt class="py-name">key</tt> </tt>
+<a name="L1963"></a><tt class="py-lineno">1963</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">nodeStr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1964"></a><tt class="py-lineno">1964</tt>  <tt class="py-line">                <tt class="py-name">node</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1965"></a><tt class="py-lineno">1965</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-690" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-690', 'intent', 'link-174');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">node</tt><tt class="py-op">:</tt> </tt>
+<a name="L1966"></a><tt class="py-lineno">1966</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt id="link-691" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-691', 'intent', 'link-174');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">key</tt><tt class="py-op">:</tt> </tt>
+<a name="L1967"></a><tt class="py-lineno">1967</tt>  <tt class="py-line">                        <tt class="py-name">row</tt> <tt class="py-op">+=</tt> <tt class="py-string">"%-15s"</tt> <tt class="py-op">%</tt> <tt id="link-692" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-692', 'intent', 'link-174');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1968"></a><tt class="py-lineno">1968</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-693" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-693', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">row</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1969"></a><tt class="py-lineno">1969</tt>  <tt class="py-line">        <tt class="py-comment"># End table view</tt> </tt>
+<a name="L1970"></a><tt class="py-lineno">1970</tt>  <tt class="py-line"> </tt>
+<a name="L1971"></a><tt class="py-lineno">1971</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1972"></a><tt class="py-lineno">1972</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1973"></a><tt class="py-lineno">1973</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentIntents</tt><tt class="py-op">,</tt> </tt>
+<a name="L1974"></a><tt class="py-lineno">1974</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents are consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1975"></a><tt class="py-lineno">1975</tt>  <tt class="py-line">            <tt id="link-694" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-694', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1976"></a><tt class="py-lineno">1976</tt>  <tt class="py-line">        <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1977"></a><tt class="py-lineno">1977</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">:</tt>  <tt class="py-comment"># Iter through ONOS nodes</tt> </tt>
+<a name="L1978"></a><tt class="py-lineno">1978</tt>  <tt class="py-line">            <tt class="py-name">nodeStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1979"></a><tt class="py-lineno">1979</tt>  <tt class="py-line">            <tt class="py-comment"># Iter through intents of a node</tt> </tt>
+<a name="L1980"></a><tt class="py-lineno">1980</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1981"></a><tt class="py-lineno">1981</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-695" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-695', 'intent', 'link-174');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1982"></a><tt class="py-lineno">1982</tt>  <tt class="py-line">                    <tt class="py-name">nodeStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-696" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-696', 'intent', 'link-174');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1983"></a><tt class="py-lineno">1983</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1984"></a><tt class="py-lineno">1984</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-697" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-697', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error in parsing intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1985"></a><tt class="py-lineno">1985</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-698" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-698', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-699" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-699', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1986"></a><tt class="py-lineno">1986</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStates</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1987"></a><tt class="py-lineno">1987</tt>  <tt class="py-line">            <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">nodeStates</tt><tt class="py-op">.</tt><tt class="py-name">count</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStates</tt> <tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1988"></a><tt class="py-lineno">1988</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-700" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-700', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt> <tt class="py-name">out</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1989"></a><tt class="py-lineno">1989</tt>  <tt class="py-line"> </tt>
+<a name="L1990"></a><tt class="py-lineno">1990</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">intentsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">consistentIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1991"></a><tt class="py-lineno">1991</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1992"></a><tt class="py-lineno">1992</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-701" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-701', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1993"></a><tt class="py-lineno">1993</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-702" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-702', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> </tt>
+<a name="L1994"></a><tt class="py-lineno">1994</tt>  <tt class="py-line">                    <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1995"></a><tt class="py-lineno">1995</tt>  <tt class="py-line">                    <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1996"></a><tt class="py-lineno">1996</tt>  <tt class="py-line">                    <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1997"></a><tt class="py-lineno">1997</tt>  <tt class="py-line">                    <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1998"></a><tt class="py-lineno">1998</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">intentsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1999"></a><tt class="py-lineno">1999</tt>  <tt class="py-line">            <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2000"></a><tt class="py-lineno">2000</tt>  <tt class="py-line"> </tt>
+<a name="L2001"></a><tt class="py-lineno">2001</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: Store has no durability, so intents are lost across system</tt> </tt>
+<a name="L2002"></a><tt class="py-lineno">2002</tt>  <tt class="py-line">        <tt class="py-comment">#       restarts</tt> </tt>
+<a name="L2003"></a><tt class="py-lineno">2003</tt>  <tt class="py-line">        <tt class="py-string">"""</tt> </tt>
+<a name="L2004"></a><tt class="py-lineno">2004</tt>  <tt class="py-line"><tt class="py-string">        main.step( "Compare current intents with intents before the failure" )</tt> </tt>
+<a name="L2005"></a><tt class="py-lineno">2005</tt>  <tt class="py-line"><tt class="py-string">        # NOTE: this requires case 5 to pass for intentState to be set.</tt> </tt>
+<a name="L2006"></a><tt class="py-lineno">2006</tt>  <tt class="py-line"><tt class="py-string">        #      maybe we should stop the test if that fails?</tt> </tt>
+<a name="L2007"></a><tt class="py-lineno">2007</tt>  <tt class="py-line"><tt class="py-string">        sameIntents = main.FALSE</tt> </tt>
+<a name="L2008"></a><tt class="py-lineno">2008</tt>  <tt class="py-line"><tt class="py-string">        if intentState and intentState == ONOSIntents[ 0 ]:</tt> </tt>
+<a name="L2009"></a><tt class="py-lineno">2009</tt>  <tt class="py-line"><tt class="py-string">            sameIntents = main.TRUE</tt> </tt>
+<a name="L2010"></a><tt class="py-lineno">2010</tt>  <tt class="py-line"><tt class="py-string">            main.log.info( "Intents are consistent with before failure" )</tt> </tt>
+<a name="L2011"></a><tt class="py-lineno">2011</tt>  <tt class="py-line"><tt class="py-string">        # TODO: possibly the states have changed? we may need to figure out</tt> </tt>
+<a name="L2012"></a><tt class="py-lineno">2012</tt>  <tt class="py-line"><tt class="py-string">        #       what the acceptable states are</tt> </tt>
+<a name="L2013"></a><tt class="py-lineno">2013</tt>  <tt class="py-line"><tt class="py-string">        elif len( intentState ) == len( ONOSIntents[ 0 ] ):</tt> </tt>
+<a name="L2014"></a><tt class="py-lineno">2014</tt>  <tt class="py-line"><tt class="py-string">            sameIntents = main.TRUE</tt> </tt>
+<a name="L2015"></a><tt class="py-lineno">2015</tt>  <tt class="py-line"><tt class="py-string">            try:</tt> </tt>
+<a name="L2016"></a><tt class="py-lineno">2016</tt>  <tt class="py-line"><tt class="py-string">                before = json.loads( intentState )</tt> </tt>
+<a name="L2017"></a><tt class="py-lineno">2017</tt>  <tt class="py-line"><tt class="py-string">                after = json.loads( ONOSIntents[ 0 ] )</tt> </tt>
+<a name="L2018"></a><tt class="py-lineno">2018</tt>  <tt class="py-line"><tt class="py-string">                for intent in before:</tt> </tt>
+<a name="L2019"></a><tt class="py-lineno">2019</tt>  <tt class="py-line"><tt class="py-string">                    if intent not in after:</tt> </tt>
+<a name="L2020"></a><tt class="py-lineno">2020</tt>  <tt class="py-line"><tt class="py-string">                        sameIntents = main.FALSE</tt> </tt>
+<a name="L2021"></a><tt class="py-lineno">2021</tt>  <tt class="py-line"><tt class="py-string">                        main.log.debug( "Intent is not currently in ONOS " +</tt> </tt>
+<a name="L2022"></a><tt class="py-lineno">2022</tt>  <tt class="py-line"><tt class="py-string">                                        "(at least in the same form):" )</tt> </tt>
+<a name="L2023"></a><tt class="py-lineno">2023</tt>  <tt class="py-line"><tt class="py-string">                        main.log.debug( json.dumps( intent ) )</tt> </tt>
+<a name="L2024"></a><tt class="py-lineno">2024</tt>  <tt class="py-line"><tt class="py-string">            except ( ValueError, TypeError ):</tt> </tt>
+<a name="L2025"></a><tt class="py-lineno">2025</tt>  <tt class="py-line"><tt class="py-string">                main.log.exception( "Exception printing intents" )</tt> </tt>
+<a name="L2026"></a><tt class="py-lineno">2026</tt>  <tt class="py-line"><tt class="py-string">                main.log.debug( repr( ONOSIntents[0] ) )</tt> </tt>
+<a name="L2027"></a><tt class="py-lineno">2027</tt>  <tt class="py-line"><tt class="py-string">                main.log.debug( repr( intentState ) )</tt> </tt>
+<a name="L2028"></a><tt class="py-lineno">2028</tt>  <tt class="py-line"><tt class="py-string">        if sameIntents == main.FALSE:</tt> </tt>
+<a name="L2029"></a><tt class="py-lineno">2029</tt>  <tt class="py-line"><tt class="py-string">            try:</tt> </tt>
+<a name="L2030"></a><tt class="py-lineno">2030</tt>  <tt class="py-line"><tt class="py-string">                main.log.debug( "ONOS intents before: " )</tt> </tt>
+<a name="L2031"></a><tt class="py-lineno">2031</tt>  <tt class="py-line"><tt class="py-string">                main.log.debug( json.dumps( json.loads( intentState ),</tt> </tt>
+<a name="L2032"></a><tt class="py-lineno">2032</tt>  <tt class="py-line"><tt class="py-string">                                            sort_keys=True, indent=4,</tt> </tt>
+<a name="L2033"></a><tt class="py-lineno">2033</tt>  <tt class="py-line"><tt class="py-string">                                            separators=( ',', ': ' ) ) )</tt> </tt>
+<a name="L2034"></a><tt class="py-lineno">2034</tt>  <tt class="py-line"><tt class="py-string">                main.log.debug( "Current ONOS intents: " )</tt> </tt>
+<a name="L2035"></a><tt class="py-lineno">2035</tt>  <tt class="py-line"><tt class="py-string">                main.log.debug( json.dumps( json.loads( ONOSIntents[ 0 ] ),</tt> </tt>
+<a name="L2036"></a><tt class="py-lineno">2036</tt>  <tt class="py-line"><tt class="py-string">                                            sort_keys=True, indent=4,</tt> </tt>
+<a name="L2037"></a><tt class="py-lineno">2037</tt>  <tt class="py-line"><tt class="py-string">                                            separators=( ',', ': ' ) ) )</tt> </tt>
+<a name="L2038"></a><tt class="py-lineno">2038</tt>  <tt class="py-line"><tt class="py-string">            except ( ValueError, TypeError ):</tt> </tt>
+<a name="L2039"></a><tt class="py-lineno">2039</tt>  <tt class="py-line"><tt class="py-string">                main.log.exception( "Exception printing intents" )</tt> </tt>
+<a name="L2040"></a><tt class="py-lineno">2040</tt>  <tt class="py-line"><tt class="py-string">                main.log.debug( repr( ONOSIntents[0] ) )</tt> </tt>
+<a name="L2041"></a><tt class="py-lineno">2041</tt>  <tt class="py-line"><tt class="py-string">                main.log.debug( repr( intentState ) )</tt> </tt>
+<a name="L2042"></a><tt class="py-lineno">2042</tt>  <tt class="py-line"><tt class="py-string">        utilities.assert_equals(</tt> </tt>
+<a name="L2043"></a><tt class="py-lineno">2043</tt>  <tt class="py-line"><tt class="py-string">            expect=main.TRUE,</tt> </tt>
+<a name="L2044"></a><tt class="py-lineno">2044</tt>  <tt class="py-line"><tt class="py-string">            actual=sameIntents,</tt> </tt>
+<a name="L2045"></a><tt class="py-lineno">2045</tt>  <tt class="py-line"><tt class="py-string">            onpass="Intents are consistent with before failure",</tt> </tt>
+<a name="L2046"></a><tt class="py-lineno">2046</tt>  <tt class="py-line"><tt class="py-string">            onfail="The Intents changed during failure" )</tt> </tt>
+<a name="L2047"></a><tt class="py-lineno">2047</tt>  <tt class="py-line"><tt class="py-string">        intentCheck = intentCheck and sameIntents</tt> </tt>
+<a name="L2048"></a><tt class="py-lineno">2048</tt>  <tt class="py-line"><tt class="py-string">        """</tt> </tt>
+<a name="L2049"></a><tt class="py-lineno">2049</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-703" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-703', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the OF Table entries and compare to before "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2050"></a><tt class="py-lineno">2050</tt>  <tt class="py-line">                   <tt class="py-string">"component failure"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2051"></a><tt class="py-lineno">2051</tt>  <tt class="py-line">        <tt class="py-name">FlowTables</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2052"></a><tt class="py-lineno">2052</tt>  <tt class="py-line">        <tt class="py-name">flows2</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2053"></a><tt class="py-lineno">2053</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">28</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2054"></a><tt class="py-lineno">2054</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-704" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-704', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Checking flow table on s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2055"></a><tt class="py-lineno">2055</tt>  <tt class="py-line">            <tt class="py-name">tmpFlows</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-705" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getFlowTable" class="py-name" href="#" onclick="return doclink('link-705', 'getFlowTable', 'link-487');">getFlowTable</a></tt><tt class="py-op">(</tt> <tt class="py-number">1.3</tt><tt class="py-op">,</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2056"></a><tt class="py-lineno">2056</tt>  <tt class="py-line">            <tt class="py-name">flows2</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">tmpFlows</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2057"></a><tt class="py-lineno">2057</tt>  <tt class="py-line">            <tt class="py-name">tempResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-706" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.flowComp()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#flowComp"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.flowComp" class="py-name" href="#" onclick="return doclink('link-706', 'flowComp', 'link-706');">flowComp</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2058"></a><tt class="py-lineno">2058</tt>  <tt class="py-line">                <tt class="py-name">flow1</tt><tt class="py-op">=</tt><tt id="link-707" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-707', 'flows', 'link-409');">flows</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2059"></a><tt class="py-lineno">2059</tt>  <tt class="py-line">                <tt class="py-name">flow2</tt><tt class="py-op">=</tt><tt class="py-name">tmpFlows</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2060"></a><tt class="py-lineno">2060</tt>  <tt class="py-line">            <tt class="py-name">FlowTables</tt> <tt class="py-op">=</tt> <tt class="py-name">FlowTables</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tempResult</tt> </tt>
+<a name="L2061"></a><tt class="py-lineno">2061</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">FlowTables</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2062"></a><tt class="py-lineno">2062</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-708" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-708', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Differences in flow table for switch: s"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2063"></a><tt class="py-lineno">2063</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2064"></a><tt class="py-lineno">2064</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2065"></a><tt class="py-lineno">2065</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2066"></a><tt class="py-lineno">2066</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">FlowTables</tt><tt class="py-op">,</tt> </tt>
+<a name="L2067"></a><tt class="py-lineno">2067</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No changes were found in the flow tables"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2068"></a><tt class="py-lineno">2068</tt>  <tt class="py-line">            <tt id="link-709" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-709', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Changes were found in the flow tables"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2069"></a><tt class="py-lineno">2069</tt>  <tt class="py-line"> </tt>
+<a name="L2070"></a><tt class="py-lineno">2070</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-710" class="py-name" targets="Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLongKill()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingLongKill"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLongKill" class="py-name" href="#" onclick="return doclink('link-710', 'pingLongKill', 'link-710');">pingLongKill</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2071"></a><tt class="py-lineno">2071</tt>  <tt class="py-line">        <tt class="py-string">'''</tt> </tt>
+<a name="L2072"></a><tt class="py-lineno">2072</tt>  <tt class="py-line"><tt class="py-string">        # main.step( "Check the continuous pings to ensure that no packets " +</tt> </tt>
+<a name="L2073"></a><tt class="py-lineno">2073</tt>  <tt class="py-line"><tt class="py-string">        #            "were dropped during component failure" )</tt> </tt>
+<a name="L2074"></a><tt class="py-lineno">2074</tt>  <tt class="py-line"><tt class="py-string">        main.Mininet2.pingKill( main.params[ 'TESTONUSER' ],</tt> </tt>
+<a name="L2075"></a><tt class="py-lineno">2075</tt>  <tt class="py-line"><tt class="py-string">                                main.params[ 'TESTONIP' ] )</tt> </tt>
+<a name="L2076"></a><tt class="py-lineno">2076</tt>  <tt class="py-line"><tt class="py-string">        LossInPings = main.FALSE</tt> </tt>
+<a name="L2077"></a><tt class="py-lineno">2077</tt>  <tt class="py-line"><tt class="py-string">        # NOTE: checkForLoss returns main.FALSE with 0% packet loss</tt> </tt>
+<a name="L2078"></a><tt class="py-lineno">2078</tt>  <tt class="py-line"><tt class="py-string">        for i in range( 8, 18 ):</tt> </tt>
+<a name="L2079"></a><tt class="py-lineno">2079</tt>  <tt class="py-line"><tt class="py-string">            main.log.info(</tt> </tt>
+<a name="L2080"></a><tt class="py-lineno">2080</tt>  <tt class="py-line"><tt class="py-string">                "Checking for a loss in pings along flow from s" +</tt> </tt>
+<a name="L2081"></a><tt class="py-lineno">2081</tt>  <tt class="py-line"><tt class="py-string">                str( i ) )</tt> </tt>
+<a name="L2082"></a><tt class="py-lineno">2082</tt>  <tt class="py-line"><tt class="py-string">            LossInPings = main.Mininet2.checkForLoss(</tt> </tt>
+<a name="L2083"></a><tt class="py-lineno">2083</tt>  <tt class="py-line"><tt class="py-string">                "/tmp/ping.h" +</tt> </tt>
+<a name="L2084"></a><tt class="py-lineno">2084</tt>  <tt class="py-line"><tt class="py-string">                str( i ) ) or LossInPings</tt> </tt>
+<a name="L2085"></a><tt class="py-lineno">2085</tt>  <tt class="py-line"><tt class="py-string">        if LossInPings == main.TRUE:</tt> </tt>
+<a name="L2086"></a><tt class="py-lineno">2086</tt>  <tt class="py-line"><tt class="py-string">            main.log.info( "Loss in ping detected" )</tt> </tt>
+<a name="L2087"></a><tt class="py-lineno">2087</tt>  <tt class="py-line"><tt class="py-string">        elif LossInPings == main.ERROR:</tt> </tt>
+<a name="L2088"></a><tt class="py-lineno">2088</tt>  <tt class="py-line"><tt class="py-string">            main.log.info( "There are multiple mininet process running" )</tt> </tt>
+<a name="L2089"></a><tt class="py-lineno">2089</tt>  <tt class="py-line"><tt class="py-string">        elif LossInPings == main.FALSE:</tt> </tt>
+<a name="L2090"></a><tt class="py-lineno">2090</tt>  <tt class="py-line"><tt class="py-string">            main.log.info( "No Loss in the pings" )</tt> </tt>
+<a name="L2091"></a><tt class="py-lineno">2091</tt>  <tt class="py-line"><tt class="py-string">            main.log.info( "No loss of dataplane connectivity" )</tt> </tt>
+<a name="L2092"></a><tt class="py-lineno">2092</tt>  <tt class="py-line"><tt class="py-string">        # utilities.assert_equals(</tt> </tt>
+<a name="L2093"></a><tt class="py-lineno">2093</tt>  <tt class="py-line"><tt class="py-string">        #     expect=main.FALSE,</tt> </tt>
+<a name="L2094"></a><tt class="py-lineno">2094</tt>  <tt class="py-line"><tt class="py-string">        #     actual=LossInPings,</tt> </tt>
+<a name="L2095"></a><tt class="py-lineno">2095</tt>  <tt class="py-line"><tt class="py-string">        #     onpass="No Loss of connectivity",</tt> </tt>
+<a name="L2096"></a><tt class="py-lineno">2096</tt>  <tt class="py-line"><tt class="py-string">        #     onfail="Loss of dataplane connectivity detected" )</tt> </tt>
+<a name="L2097"></a><tt class="py-lineno">2097</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L2098"></a><tt class="py-lineno">2098</tt>  <tt class="py-line"><tt class="py-string">        # NOTE: Since intents are not persisted with IntnentStore,</tt> </tt>
+<a name="L2099"></a><tt class="py-lineno">2099</tt>  <tt class="py-line"><tt class="py-string">        #       we expect loss in dataplane connectivity</tt> </tt>
+<a name="L2100"></a><tt class="py-lineno">2100</tt>  <tt class="py-line"><tt class="py-string">        LossInPings = main.FALSE</tt> </tt>
+<a name="L2101"></a><tt class="py-lineno">2101</tt>  <tt class="py-line"><tt class="py-string">        '''</tt> </tt>
+<a name="L2102"></a><tt class="py-lineno">2102</tt>  <tt class="py-line"> </tt>
+<a name="L2103"></a><tt class="py-lineno">2103</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-711" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-711', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Leadership Election is still functional"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2104"></a><tt class="py-lineno">2104</tt>  <tt class="py-line">        <tt class="py-comment"># Test of LeadershipElection</tt> </tt>
+<a name="L2105"></a><tt class="py-lineno">2105</tt>  <tt class="py-line">        <tt class="py-name">leaderList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2106"></a><tt class="py-lineno">2106</tt>  <tt class="py-line">        <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2107"></a><tt class="py-lineno">2107</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-712" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-712', 'cli', 'link-227');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2108"></a><tt class="py-lineno">2108</tt>  <tt class="py-line">            <tt class="py-name">leaderN</tt> <tt class="py-op">=</tt> <tt id="link-713" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-713', 'cli', 'link-227');">cli</a></tt><tt class="py-op">.</tt><tt id="link-714" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestLeader"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-714', 'electionTestLeader', 'link-714');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2109"></a><tt class="py-lineno">2109</tt>  <tt class="py-line">            <tt class="py-name">leaderList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2110"></a><tt class="py-lineno">2110</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2111"></a><tt class="py-lineno">2111</tt>  <tt class="py-line">                <tt class="py-comment"># error in response</tt> </tt>
+<a name="L2112"></a><tt class="py-lineno">2112</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-715" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-715', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-716" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-716', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Something is wrong with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2113"></a><tt class="py-lineno">2113</tt>  <tt class="py-line">                                 <tt class="py-string">"electionTestLeader function, check the"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2114"></a><tt class="py-lineno">2114</tt>  <tt class="py-line">                                 <tt class="py-string">" error logs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2115"></a><tt class="py-lineno">2115</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2116"></a><tt class="py-lineno">2116</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">leaderN</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L2117"></a><tt class="py-lineno">2117</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-717" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-717', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-718" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-718', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt id="link-719" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-719', 'cli', 'link-227');">cli</a></tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2118"></a><tt class="py-lineno">2118</tt>  <tt class="py-line">                                 <tt class="py-string">" shows no leader for the election-app."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2119"></a><tt class="py-lineno">2119</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2120"></a><tt class="py-lineno">2120</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">leaderList</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2121"></a><tt class="py-lineno">2121</tt>  <tt class="py-line">            <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2122"></a><tt class="py-lineno">2122</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-720" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-720', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-721" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-721', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2123"></a><tt class="py-lineno">2123</tt>  <tt class="py-line">                <tt class="py-string">"Inconsistent view of leader for the election test app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2124"></a><tt class="py-lineno">2124</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: print the list</tt> </tt>
+<a name="L2125"></a><tt class="py-lineno">2125</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2126"></a><tt class="py-lineno">2126</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2127"></a><tt class="py-lineno">2127</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">leaderResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2128"></a><tt class="py-lineno">2128</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Leadership election passed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2129"></a><tt class="py-lineno">2129</tt>  <tt class="py-line">            <tt id="link-722" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-722', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something went wrong with Leadership election"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2130"></a><tt class="py-lineno">2130</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE8"></a><div id="HAclusterRestart.CASE8-def"><a name="L2131"></a><tt class="py-lineno">2131</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE8-toggle" onclick="return toggle('HAclusterRestart.CASE8');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE8">CASE8</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE8-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE8-expanded"><a name="L2132"></a><tt class="py-lineno">2132</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2133"></a><tt class="py-lineno">2133</tt>  <tt class="py-line"><tt class="py-docstring">        Compare topo</tt> </tt>
+<a name="L2134"></a><tt class="py-lineno">2134</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2135"></a><tt class="py-lineno">2135</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L2136"></a><tt class="py-lineno">2136</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2137"></a><tt class="py-lineno">2137</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2138"></a><tt class="py-lineno">2138</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2139"></a><tt class="py-lineno">2139</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2140"></a><tt class="py-lineno">2140</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2141"></a><tt class="py-lineno">2141</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-723" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-723', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2142"></a><tt class="py-lineno">2142</tt>  <tt class="py-line"> </tt>
+<a name="L2143"></a><tt class="py-lineno">2143</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-724" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-724', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Compare ONOS Topology view to Mininet topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2144"></a><tt class="py-lineno">2144</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Compare topology objects between Mininet"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2145"></a><tt class="py-lineno">2145</tt>  <tt class="py-line">                                <tt class="py-string">" and ONOS"</tt> </tt>
+<a name="L2146"></a><tt class="py-lineno">2146</tt>  <tt class="py-line"> </tt>
+<a name="L2147"></a><tt class="py-lineno">2147</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-725" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-725', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Comparing ONOS topology to MN"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2148"></a><tt class="py-lineno">2148</tt>  <tt class="py-line">        <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2149"></a><tt class="py-lineno">2149</tt>  <tt class="py-line">        <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2150"></a><tt class="py-lineno">2150</tt>  <tt class="py-line">        <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2151"></a><tt class="py-lineno">2151</tt>  <tt class="py-line">        <tt class="py-name">hostAttachmentResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2152"></a><tt class="py-lineno">2152</tt>  <tt class="py-line">        <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2153"></a><tt class="py-lineno">2153</tt>  <tt class="py-line">        <tt class="py-name">elapsed</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2154"></a><tt class="py-lineno">2154</tt>  <tt class="py-line">        <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2155"></a><tt class="py-lineno">2155</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-726" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-726', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Collecting topology information from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2156"></a><tt class="py-lineno">2156</tt>  <tt class="py-line">        <tt class="py-name">startTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2157"></a><tt class="py-lineno">2157</tt>  <tt class="py-line">        <tt class="py-comment"># Give time for Gossip to work</tt> </tt>
+<a name="L2158"></a><tt class="py-lineno">2158</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">topoResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> <tt class="py-keyword">and</tt> <tt class="py-name">elapsed</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">60</tt><tt class="py-op">:</tt> </tt>
+<a name="L2159"></a><tt class="py-lineno">2159</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2160"></a><tt class="py-lineno">2160</tt>  <tt class="py-line">            <tt class="py-name">cliStart</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2161"></a><tt class="py-lineno">2161</tt>  <tt class="py-line">            <tt id="link-727" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-727', 'devices', 'link-114');">devices</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2162"></a><tt class="py-lineno">2162</tt>  <tt class="py-line">            <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2163"></a><tt class="py-lineno">2163</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2164"></a><tt class="py-lineno">2164</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-728" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-728', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-729" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-729', 'devices', 'link-114');">devices</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2165"></a><tt class="py-lineno">2165</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"devices-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2166"></a><tt class="py-lineno">2166</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2167"></a><tt class="py-lineno">2167</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2168"></a><tt class="py-lineno">2168</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2169"></a><tt class="py-lineno">2169</tt>  <tt class="py-line"> </tt>
+<a name="L2170"></a><tt class="py-lineno">2170</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2171"></a><tt class="py-lineno">2171</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2172"></a><tt class="py-lineno">2172</tt>  <tt class="py-line">                <tt id="link-730" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-730', 'devices', 'link-114');">devices</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2173"></a><tt class="py-lineno">2173</tt>  <tt class="py-line">            <tt id="link-731" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-731', 'hosts', 'link-163');">hosts</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2174"></a><tt class="py-lineno">2174</tt>  <tt class="py-line">            <tt class="py-name">ipResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2175"></a><tt class="py-lineno">2175</tt>  <tt class="py-line">            <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2176"></a><tt class="py-lineno">2176</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2177"></a><tt class="py-lineno">2177</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-732" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-732', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-733" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-733', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2178"></a><tt class="py-lineno">2178</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"hosts-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2179"></a><tt class="py-lineno">2179</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2180"></a><tt class="py-lineno">2180</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2181"></a><tt class="py-lineno">2181</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2182"></a><tt class="py-lineno">2182</tt>  <tt class="py-line"> </tt>
+<a name="L2183"></a><tt class="py-lineno">2183</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2184"></a><tt class="py-lineno">2184</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2185"></a><tt class="py-lineno">2185</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2186"></a><tt class="py-lineno">2186</tt>  <tt class="py-line">                    <tt id="link-734" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-734', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2187"></a><tt class="py-lineno">2187</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2188"></a><tt class="py-lineno">2188</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-735" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-735', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing hosts results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2189"></a><tt class="py-lineno">2189</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-736" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-736', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-737" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-737', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2190"></a><tt class="py-lineno">2190</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-738" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-738', 'controller', 'link-525');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-739" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-739', 'hosts', 'link-163');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2191"></a><tt class="py-lineno">2191</tt>  <tt class="py-line">                <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-740" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-740', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2192"></a><tt class="py-lineno">2192</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">host</tt> <tt class="py-keyword">in</tt> <tt id="link-741" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-741', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-742" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-742', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2193"></a><tt class="py-lineno">2193</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">host</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">host</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'ipAddresses'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2194"></a><tt class="py-lineno">2194</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-743" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-743', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-744" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-744', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2195"></a><tt class="py-lineno">2195</tt>  <tt class="py-line">                            <tt class="py-string">"DEBUG:Error with host ipAddresses on controller"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2196"></a><tt class="py-lineno">2196</tt>  <tt class="py-line">                            <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2197"></a><tt class="py-lineno">2197</tt>  <tt class="py-line">                        <tt class="py-name">ipResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2198"></a><tt class="py-lineno">2198</tt>  <tt class="py-line">            <tt id="link-745" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-745', 'ports', 'link-512');">ports</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2199"></a><tt class="py-lineno">2199</tt>  <tt class="py-line">            <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2200"></a><tt class="py-lineno">2200</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2201"></a><tt class="py-lineno">2201</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-746" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-746', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-747" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-747', 'ports', 'link-512');">ports</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2202"></a><tt class="py-lineno">2202</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"ports-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2203"></a><tt class="py-lineno">2203</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2204"></a><tt class="py-lineno">2204</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2205"></a><tt class="py-lineno">2205</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2206"></a><tt class="py-lineno">2206</tt>  <tt class="py-line"> </tt>
+<a name="L2207"></a><tt class="py-lineno">2207</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2208"></a><tt class="py-lineno">2208</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2209"></a><tt class="py-lineno">2209</tt>  <tt class="py-line">                <tt id="link-748" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-748', 'ports', 'link-512');">ports</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2210"></a><tt class="py-lineno">2210</tt>  <tt class="py-line">            <tt id="link-749" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-749', 'links', 'link-516');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2211"></a><tt class="py-lineno">2211</tt>  <tt class="py-line">            <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2212"></a><tt class="py-lineno">2212</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2213"></a><tt class="py-lineno">2213</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-750" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-750', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-751" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-751', 'links', 'link-516');">links</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2214"></a><tt class="py-lineno">2214</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"links-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2215"></a><tt class="py-lineno">2215</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2216"></a><tt class="py-lineno">2216</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2217"></a><tt class="py-lineno">2217</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2218"></a><tt class="py-lineno">2218</tt>  <tt class="py-line"> </tt>
+<a name="L2219"></a><tt class="py-lineno">2219</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2220"></a><tt class="py-lineno">2220</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2221"></a><tt class="py-lineno">2221</tt>  <tt class="py-line">                <tt id="link-752" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-752', 'links', 'link-516');">links</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2222"></a><tt class="py-lineno">2222</tt>  <tt class="py-line">            <tt id="link-753" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-753', 'clusters', 'link-520');">clusters</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2223"></a><tt class="py-lineno">2223</tt>  <tt class="py-line">            <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2224"></a><tt class="py-lineno">2224</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2225"></a><tt class="py-lineno">2225</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-754" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-754', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-755" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-755', 'clusters', 'link-520');">clusters</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2226"></a><tt class="py-lineno">2226</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"clusters-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2227"></a><tt class="py-lineno">2227</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2228"></a><tt class="py-lineno">2228</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2229"></a><tt class="py-lineno">2229</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2230"></a><tt class="py-lineno">2230</tt>  <tt class="py-line"> </tt>
+<a name="L2231"></a><tt class="py-lineno">2231</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2232"></a><tt class="py-lineno">2232</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2233"></a><tt class="py-lineno">2233</tt>  <tt class="py-line">                <tt id="link-756" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-756', 'clusters', 'link-520');">clusters</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2234"></a><tt class="py-lineno">2234</tt>  <tt class="py-line"> </tt>
+<a name="L2235"></a><tt class="py-lineno">2235</tt>  <tt class="py-line">            <tt class="py-name">elapsed</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">startTime</tt> </tt>
+<a name="L2236"></a><tt class="py-lineno">2236</tt>  <tt class="py-line">            <tt class="py-name">cliTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">cliStart</tt> </tt>
+<a name="L2237"></a><tt class="py-lineno">2237</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Elapsed time: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">elapsed</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2238"></a><tt class="py-lineno">2238</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"CLI time: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">cliTime</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2239"></a><tt class="py-lineno">2239</tt>  <tt class="py-line"> </tt>
+<a name="L2240"></a><tt class="py-lineno">2240</tt>  <tt class="py-line">            <tt class="py-name">mnSwitches</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-757" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitches" class="py-name" href="#" onclick="return doclink('link-757', 'getSwitches', 'link-576');">getSwitches</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2241"></a><tt class="py-lineno">2241</tt>  <tt class="py-line">            <tt class="py-name">mnLinks</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-758" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getLinks" class="py-name" href="#" onclick="return doclink('link-758', 'getLinks', 'link-577');">getLinks</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2242"></a><tt class="py-lineno">2242</tt>  <tt class="py-line">            <tt class="py-name">mnHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-759" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHosts" class="py-name" href="#" onclick="return doclink('link-759', 'getHosts', 'link-578');">getHosts</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2243"></a><tt class="py-lineno">2243</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-760" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-760', 'controller', 'link-525');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2244"></a><tt class="py-lineno">2244</tt>  <tt class="py-line">                <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-761" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-761', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2245"></a><tt class="py-lineno">2245</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-762" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-762', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-763" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-763', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt id="link-764" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-764', 'ports', 'link-512');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-765" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-765', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L2246"></a><tt class="py-lineno">2246</tt>  <tt class="py-line">                    <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-766" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-766', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-767" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-767', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L2247"></a><tt class="py-lineno">2247</tt>  <tt class="py-line">                    <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-768" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-768', 'ports', 'link-512');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-769" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-769', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2248"></a><tt class="py-lineno">2248</tt>  <tt class="py-line"> </tt>
+<a name="L2249"></a><tt class="py-lineno">2249</tt>  <tt class="py-line">                    <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-770" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareSwitches" class="py-name" href="#" onclick="return doclink('link-770', 'compareSwitches', 'link-589');">compareSwitches</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2250"></a><tt class="py-lineno">2250</tt>  <tt class="py-line">                            <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> </tt>
+<a name="L2251"></a><tt class="py-lineno">2251</tt>  <tt class="py-line">                            <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-771" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-771', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-772" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-772', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2252"></a><tt class="py-lineno">2252</tt>  <tt class="py-line">                            <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-773" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-773', 'ports', 'link-512');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-774" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-774', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2253"></a><tt class="py-lineno">2253</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2254"></a><tt class="py-lineno">2254</tt>  <tt class="py-line">                    <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2255"></a><tt class="py-lineno">2255</tt>  <tt class="py-line">                <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2256"></a><tt class="py-lineno">2256</tt>  <tt class="py-line">                                         <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentDevicesResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2257"></a><tt class="py-lineno">2257</tt>  <tt class="py-line">                                         <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2258"></a><tt class="py-lineno">2258</tt>  <tt class="py-line">                                         <tt class="py-string">" Switches view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2259"></a><tt class="py-lineno">2259</tt>  <tt class="py-line">                                         <tt id="link-775" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-775', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2260"></a><tt class="py-lineno">2260</tt>  <tt class="py-line">                                         <tt class="py-string">" Switches view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2261"></a><tt class="py-lineno">2261</tt>  <tt class="py-line"> </tt>
+<a name="L2262"></a><tt class="py-lineno">2262</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-776" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-776', 'links', 'link-516');">links</a></tt><tt class="py-op">[</tt> <tt id="link-777" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-777', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-778" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-778', 'links', 'link-516');">links</a></tt><tt class="py-op">[</tt> <tt id="link-779" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-779', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2263"></a><tt class="py-lineno">2263</tt>  <tt class="py-line">                    <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-780" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareLinks" class="py-name" href="#" onclick="return doclink('link-780', 'compareLinks', 'link-599');">compareLinks</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2264"></a><tt class="py-lineno">2264</tt>  <tt class="py-line">                            <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> <tt class="py-name">mnLinks</tt><tt class="py-op">,</tt> </tt>
+<a name="L2265"></a><tt class="py-lineno">2265</tt>  <tt class="py-line">                            <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-781" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-781', 'links', 'link-516');">links</a></tt><tt class="py-op">[</tt> <tt id="link-782" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-782', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2266"></a><tt class="py-lineno">2266</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2267"></a><tt class="py-lineno">2267</tt>  <tt class="py-line">                    <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2268"></a><tt class="py-lineno">2268</tt>  <tt class="py-line">                <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2269"></a><tt class="py-lineno">2269</tt>  <tt class="py-line">                                         <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentLinksResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2270"></a><tt class="py-lineno">2270</tt>  <tt class="py-line">                                         <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2271"></a><tt class="py-lineno">2271</tt>  <tt class="py-line">                                         <tt class="py-string">" links view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2272"></a><tt class="py-lineno">2272</tt>  <tt class="py-line">                                         <tt id="link-783" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-783', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2273"></a><tt class="py-lineno">2273</tt>  <tt class="py-line">                                         <tt class="py-string">" links view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2274"></a><tt class="py-lineno">2274</tt>  <tt class="py-line"> </tt>
+<a name="L2275"></a><tt class="py-lineno">2275</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-784" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-784', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-785" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-785', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-786" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-786', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-787" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-787', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2276"></a><tt class="py-lineno">2276</tt>  <tt class="py-line">                    <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-788" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareHosts" class="py-name" href="#" onclick="return doclink('link-788', 'compareHosts', 'link-607');">compareHosts</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2277"></a><tt class="py-lineno">2277</tt>  <tt class="py-line">                            <tt class="py-name">mnHosts</tt><tt class="py-op">,</tt> </tt>
+<a name="L2278"></a><tt class="py-lineno">2278</tt>  <tt class="py-line">                            <tt id="link-789" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-789', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-790" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-790', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2279"></a><tt class="py-lineno">2279</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2280"></a><tt class="py-lineno">2280</tt>  <tt class="py-line">                    <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2281"></a><tt class="py-lineno">2281</tt>  <tt class="py-line">                <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2282"></a><tt class="py-lineno">2282</tt>  <tt class="py-line">                                         <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentHostsResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2283"></a><tt class="py-lineno">2283</tt>  <tt class="py-line">                                         <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2284"></a><tt class="py-lineno">2284</tt>  <tt class="py-line">                                         <tt class="py-string">" hosts exist in Mininet"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2285"></a><tt class="py-lineno">2285</tt>  <tt class="py-line">                                         <tt id="link-791" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-791', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2286"></a><tt class="py-lineno">2286</tt>  <tt class="py-line">                                         <tt class="py-string">" hosts don't match Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2287"></a><tt class="py-lineno">2287</tt>  <tt class="py-line">                <tt class="py-comment"># CHECKING HOST ATTACHMENT POINTS</tt> </tt>
+<a name="L2288"></a><tt class="py-lineno">2288</tt>  <tt class="py-line">                <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2289"></a><tt class="py-lineno">2289</tt>  <tt class="py-line">                <tt class="py-name">noHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2290"></a><tt class="py-lineno">2290</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: topo-HA/obelisk specific mappings:</tt> </tt>
+<a name="L2291"></a><tt class="py-lineno">2291</tt>  <tt class="py-line">                <tt class="py-comment"># key is mac and value is dpid</tt> </tt>
+<a name="L2292"></a><tt class="py-lineno">2292</tt>  <tt class="py-line">                <tt class="py-name">mappings</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L2293"></a><tt class="py-lineno">2293</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># hosts 1 through 28</tt> </tt>
+<a name="L2294"></a><tt class="py-lineno">2294</tt>  <tt class="py-line">                    <tt class="py-comment"># set up correct variables:</tt> </tt>
+<a name="L2295"></a><tt class="py-lineno">2295</tt>  <tt class="py-line">                    <tt class="py-name">macId</tt> <tt class="py-op">=</tt> <tt class="py-string">"00:"</tt> <tt class="py-op">*</tt> <tt class="py-number">5</tt> <tt class="py-op">+</tt> <tt class="py-name">hex</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"0x"</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L2296"></a><tt class="py-lineno">2296</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2297"></a><tt class="py-lineno">2297</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"1000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2298"></a><tt class="py-lineno">2298</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L2299"></a><tt class="py-lineno">2299</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"2000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2300"></a><tt class="py-lineno">2300</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L2301"></a><tt class="py-lineno">2301</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"3000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2302"></a><tt class="py-lineno">2302</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L2303"></a><tt class="py-lineno">2303</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"3004"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2304"></a><tt class="py-lineno">2304</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">5</tt><tt class="py-op">:</tt> </tt>
+<a name="L2305"></a><tt class="py-lineno">2305</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"5000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2306"></a><tt class="py-lineno">2306</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">6</tt><tt class="py-op">:</tt> </tt>
+<a name="L2307"></a><tt class="py-lineno">2307</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"6000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2308"></a><tt class="py-lineno">2308</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">7</tt><tt class="py-op">:</tt> </tt>
+<a name="L2309"></a><tt class="py-lineno">2309</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"6007"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2310"></a><tt class="py-lineno">2310</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">8</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">17</tt><tt class="py-op">:</tt> </tt>
+<a name="L2311"></a><tt class="py-lineno">2311</tt>  <tt class="py-line">                        <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'3'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2312"></a><tt class="py-lineno">2312</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">dpid</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2313"></a><tt class="py-lineno">2313</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">18</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">27</tt><tt class="py-op">:</tt> </tt>
+<a name="L2314"></a><tt class="py-lineno">2314</tt>  <tt class="py-line">                        <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'6'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2315"></a><tt class="py-lineno">2315</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">dpid</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2316"></a><tt class="py-lineno">2316</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">28</tt><tt class="py-op">:</tt> </tt>
+<a name="L2317"></a><tt class="py-lineno">2317</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"2800"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2318"></a><tt class="py-lineno">2318</tt>  <tt class="py-line">                    <tt class="py-name">mappings</tt><tt class="py-op">[</tt> <tt class="py-name">macId</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceId</tt> </tt>
+<a name="L2319"></a><tt class="py-lineno">2319</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-792" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-792', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-793" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-793', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-794" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-794', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-795" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-795', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2320"></a><tt class="py-lineno">2320</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt id="link-796" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-796', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-797" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-797', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2321"></a><tt class="py-lineno">2321</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-798" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-798', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"There are no hosts discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2322"></a><tt class="py-lineno">2322</tt>  <tt class="py-line">                        <tt class="py-name">noHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2323"></a><tt class="py-lineno">2323</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2324"></a><tt class="py-lineno">2324</tt>  <tt class="py-line">                        <tt class="py-keyword">for</tt> <tt class="py-name">host</tt> <tt class="py-keyword">in</tt> <tt id="link-799" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-799', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-800" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-800', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2325"></a><tt class="py-lineno">2325</tt>  <tt class="py-line">                            <tt class="py-name">mac</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2326"></a><tt class="py-lineno">2326</tt>  <tt class="py-line">                            <tt id="link-801" class="py-name" targets="Variable TestON.bin.cli.location=TestON.bin.cli-module.html#location,Variable TestON.core.teston.location=TestON.core.teston-module.html#location"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-801', 'location', 'link-801');">location</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2327"></a><tt class="py-lineno">2327</tt>  <tt class="py-line">                            <tt class="py-name">device</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2328"></a><tt class="py-lineno">2328</tt>  <tt class="py-line">                            <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2329"></a><tt class="py-lineno">2329</tt>  <tt class="py-line">                            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2330"></a><tt class="py-lineno">2330</tt>  <tt class="py-line">                                <tt class="py-name">mac</tt> <tt class="py-op">=</tt> <tt class="py-name">host</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'mac'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2331"></a><tt class="py-lineno">2331</tt>  <tt class="py-line">                                <tt class="py-keyword">assert</tt> <tt class="py-name">mac</tt><tt class="py-op">,</tt> <tt class="py-string">"mac field could not be found for this host object"</tt> </tt>
+<a name="L2332"></a><tt class="py-lineno">2332</tt>  <tt class="py-line"> </tt>
+<a name="L2333"></a><tt class="py-lineno">2333</tt>  <tt class="py-line">                                <tt id="link-802" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-802', 'location', 'link-801');">location</a></tt> <tt class="py-op">=</tt> <tt class="py-name">host</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'location'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2334"></a><tt class="py-lineno">2334</tt>  <tt class="py-line">                                <tt class="py-keyword">assert</tt> <tt id="link-803" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-803', 'location', 'link-801');">location</a></tt><tt class="py-op">,</tt> <tt class="py-string">"location field could not be found for this host object"</tt> </tt>
+<a name="L2335"></a><tt class="py-lineno">2335</tt>  <tt class="py-line"> </tt>
+<a name="L2336"></a><tt class="py-lineno">2336</tt>  <tt class="py-line">                                <tt class="py-comment"># Trim the protocol identifier off deviceId</tt> </tt>
+<a name="L2337"></a><tt class="py-lineno">2337</tt>  <tt class="py-line">                                <tt class="py-name">device</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-804" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-804', 'location', 'link-801');">location</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'elementId'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">':'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L2338"></a><tt class="py-lineno">2338</tt>  <tt class="py-line">                                <tt class="py-keyword">assert</tt> <tt class="py-name">device</tt><tt class="py-op">,</tt> <tt class="py-string">"elementId field could not be found for this host location object"</tt> </tt>
+<a name="L2339"></a><tt class="py-lineno">2339</tt>  <tt class="py-line"> </tt>
+<a name="L2340"></a><tt class="py-lineno">2340</tt>  <tt class="py-line">                                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt id="link-805" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-805', 'location', 'link-801');">location</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'port'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2341"></a><tt class="py-lineno">2341</tt>  <tt class="py-line">                                <tt class="py-keyword">assert</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-string">"port field could not be found for this host location object"</tt> </tt>
+<a name="L2342"></a><tt class="py-lineno">2342</tt>  <tt class="py-line"> </tt>
+<a name="L2343"></a><tt class="py-lineno">2343</tt>  <tt class="py-line">                                <tt class="py-comment"># Now check if this matches where they should be</tt> </tt>
+<a name="L2344"></a><tt class="py-lineno">2344</tt>  <tt class="py-line">                                <tt class="py-keyword">if</tt> <tt class="py-name">mac</tt> <tt class="py-keyword">and</tt> <tt class="py-name">device</tt> <tt class="py-keyword">and</tt> <tt class="py-name">port</tt><tt class="py-op">:</tt> </tt>
+<a name="L2345"></a><tt class="py-lineno">2345</tt>  <tt class="py-line">                                    <tt class="py-keyword">if</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-string">"1"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2346"></a><tt class="py-lineno">2346</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-806" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-806', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-807" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-807', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"The attachment port is incorrect for "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2347"></a><tt class="py-lineno">2347</tt>  <tt class="py-line">                                                        <tt class="py-string">"host "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2348"></a><tt class="py-lineno">2348</tt>  <tt class="py-line">                                                        <tt class="py-string">". Expected: 1 Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2349"></a><tt class="py-lineno">2349</tt>  <tt class="py-line">                                        <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2350"></a><tt class="py-lineno">2350</tt>  <tt class="py-line">                                    <tt class="py-keyword">if</tt> <tt class="py-name">device</tt> <tt class="py-op">!=</tt> <tt class="py-name">mappings</tt><tt class="py-op">[</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2351"></a><tt class="py-lineno">2351</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-808" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-808', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-809" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-809', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"The attachment device is incorrect for "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2352"></a><tt class="py-lineno">2352</tt>  <tt class="py-line">                                                        <tt class="py-string">"host "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2353"></a><tt class="py-lineno">2353</tt>  <tt class="py-line">                                                        <tt class="py-string">". Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">mappings</tt><tt class="py-op">[</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2354"></a><tt class="py-lineno">2354</tt>  <tt class="py-line">                                                        <tt class="py-string">" Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">device</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2355"></a><tt class="py-lineno">2355</tt>  <tt class="py-line">                                        <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2356"></a><tt class="py-lineno">2356</tt>  <tt class="py-line">                                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2357"></a><tt class="py-lineno">2357</tt>  <tt class="py-line">                                    <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2358"></a><tt class="py-lineno">2358</tt>  <tt class="py-line">                            <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2359"></a><tt class="py-lineno">2359</tt>  <tt class="py-line">                                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-810" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-810', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Json object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2360"></a><tt class="py-lineno">2360</tt>  <tt class="py-line">                                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-811" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-811', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-812" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-812', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2361"></a><tt class="py-lineno">2361</tt>  <tt class="py-line">                                <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2362"></a><tt class="py-lineno">2362</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2363"></a><tt class="py-lineno">2363</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-813" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-813', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-814" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-814', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"No hosts json output or \"Error\""</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2364"></a><tt class="py-lineno">2364</tt>  <tt class="py-line">                                    <tt class="py-string">" in output. hosts = "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2365"></a><tt class="py-lineno">2365</tt>  <tt class="py-line">                                    <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-815" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-815', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-816" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-816', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2366"></a><tt class="py-lineno">2366</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">noHosts</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L2367"></a><tt class="py-lineno">2367</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO: Find a way to know if there should be hosts in a</tt> </tt>
+<a name="L2368"></a><tt class="py-lineno">2368</tt>  <tt class="py-line">                    <tt class="py-comment">#       given point of the test</tt> </tt>
+<a name="L2369"></a><tt class="py-lineno">2369</tt>  <tt class="py-line">                    <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2370"></a><tt class="py-lineno">2370</tt>  <tt class="py-line"> </tt>
+<a name="L2371"></a><tt class="py-lineno">2371</tt>  <tt class="py-line">                <tt class="py-comment"># END CHECKING HOST ATTACHMENT POINTS</tt> </tt>
+<a name="L2372"></a><tt class="py-lineno">2372</tt>  <tt class="py-line">                <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">devicesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentDevicesResult</tt> </tt>
+<a name="L2373"></a><tt class="py-lineno">2373</tt>  <tt class="py-line">                <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">linksResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentLinksResult</tt> </tt>
+<a name="L2374"></a><tt class="py-lineno">2374</tt>  <tt class="py-line">                <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentHostsResult</tt> </tt>
+<a name="L2375"></a><tt class="py-lineno">2375</tt>  <tt class="py-line">                <tt class="py-name">hostAttachmentResults</tt> <tt class="py-op">=</tt> <tt class="py-name">hostAttachmentResults</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L2376"></a><tt class="py-lineno">2376</tt>  <tt class="py-line">                                        <tt class="py-name">hostAttachment</tt> </tt>
+<a name="L2377"></a><tt class="py-lineno">2377</tt>  <tt class="py-line">                <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">devicesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">linksResults</tt> </tt>
+<a name="L2378"></a><tt class="py-lineno">2378</tt>  <tt class="py-line">                               <tt class="py-keyword">and</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ipResult</tt> <tt class="py-keyword">and</tt> </tt>
+<a name="L2379"></a><tt class="py-lineno">2379</tt>  <tt class="py-line">                               <tt class="py-name">hostAttachmentResults</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2380"></a><tt class="py-lineno">2380</tt>  <tt class="py-line"> </tt>
+<a name="L2381"></a><tt class="py-lineno">2381</tt>  <tt class="py-line">        <tt class="py-comment"># Compare json objects for hosts and dataplane clusters</tt> </tt>
+<a name="L2382"></a><tt class="py-lineno">2382</tt>  <tt class="py-line"> </tt>
+<a name="L2383"></a><tt class="py-lineno">2383</tt>  <tt class="py-line">        <tt class="py-comment"># hosts</tt> </tt>
+<a name="L2384"></a><tt class="py-lineno">2384</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-817" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-817', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Hosts view is consistent across all ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2385"></a><tt class="py-lineno">2385</tt>  <tt class="py-line">        <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2386"></a><tt class="py-lineno">2386</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-818" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-818', 'controller', 'link-525');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-819" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-819', 'hosts', 'link-163');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2387"></a><tt class="py-lineno">2387</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-820" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-820', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2388"></a><tt class="py-lineno">2388</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-821" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-821', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-822" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-822', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2389"></a><tt class="py-lineno">2389</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-823" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-823', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-824" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-824', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-825" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-825', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2390"></a><tt class="py-lineno">2390</tt>  <tt class="py-line">                    <tt class="py-keyword">continue</tt> </tt>
+<a name="L2391"></a><tt class="py-lineno">2391</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># hosts not consistent</tt> </tt>
+<a name="L2392"></a><tt class="py-lineno">2392</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-826" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-826', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-827" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-827', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"hosts from ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2393"></a><tt class="py-lineno">2393</tt>  <tt class="py-line">                                     <tt class="py-string">" is inconsistent with ONOS1"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2394"></a><tt class="py-lineno">2394</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-828" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-828', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-829" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-829', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-830" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-830', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2395"></a><tt class="py-lineno">2395</tt>  <tt class="py-line">                    <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2396"></a><tt class="py-lineno">2396</tt>  <tt class="py-line"> </tt>
+<a name="L2397"></a><tt class="py-lineno">2397</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2398"></a><tt class="py-lineno">2398</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-831" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-831', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-832" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-832', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS hosts from ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2399"></a><tt class="py-lineno">2399</tt>  <tt class="py-line">                                 <tt class="py-name">controllerStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2400"></a><tt class="py-lineno">2400</tt>  <tt class="py-line">                <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2401"></a><tt class="py-lineno">2401</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-833" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-833', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2402"></a><tt class="py-lineno">2402</tt>  <tt class="py-line">                               <tt class="py-string">" hosts response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2403"></a><tt class="py-lineno">2403</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-834" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-834', 'hosts', 'link-163');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-835" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-835', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2404"></a><tt class="py-lineno">2404</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2405"></a><tt class="py-lineno">2405</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2406"></a><tt class="py-lineno">2406</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentHostsResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2407"></a><tt class="py-lineno">2407</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Hosts view is consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2408"></a><tt class="py-lineno">2408</tt>  <tt class="py-line">            <tt id="link-836" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-836', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2409"></a><tt class="py-lineno">2409</tt>  <tt class="py-line"> </tt>
+<a name="L2410"></a><tt class="py-lineno">2410</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-837" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-837', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Hosts information is correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2411"></a><tt class="py-lineno">2411</tt>  <tt class="py-line">        <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ipResult</tt> </tt>
+<a name="L2412"></a><tt class="py-lineno">2412</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2413"></a><tt class="py-lineno">2413</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2414"></a><tt class="py-lineno">2414</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">hostsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2415"></a><tt class="py-lineno">2415</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host information is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2416"></a><tt class="py-lineno">2416</tt>  <tt class="py-line">            <tt id="link-838" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-838', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host information is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2417"></a><tt class="py-lineno">2417</tt>  <tt class="py-line"> </tt>
+<a name="L2418"></a><tt class="py-lineno">2418</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-839" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-839', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Host attachment points to the network"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2419"></a><tt class="py-lineno">2419</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2420"></a><tt class="py-lineno">2420</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2421"></a><tt class="py-lineno">2421</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">hostAttachmentResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2422"></a><tt class="py-lineno">2422</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Hosts are correctly attached to the network"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2423"></a><tt class="py-lineno">2423</tt>  <tt class="py-line">            <tt id="link-840" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-840', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS did not correctly attach hosts to the network"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2424"></a><tt class="py-lineno">2424</tt>  <tt class="py-line"> </tt>
+<a name="L2425"></a><tt class="py-lineno">2425</tt>  <tt class="py-line">        <tt class="py-comment"># Strongly connected clusters of devices</tt> </tt>
+<a name="L2426"></a><tt class="py-lineno">2426</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-841" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-841', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Clusters view is consistent across all ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2427"></a><tt class="py-lineno">2427</tt>  <tt class="py-line">        <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2428"></a><tt class="py-lineno">2428</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-842" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-842', 'controller', 'link-525');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-843" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-843', 'clusters', 'link-520');">clusters</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2429"></a><tt class="py-lineno">2429</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-844" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-844', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2430"></a><tt class="py-lineno">2430</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-845" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-845', 'clusters', 'link-520');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-846" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-846', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2431"></a><tt class="py-lineno">2431</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-847" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-847', 'clusters', 'link-520');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-848" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-848', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-849" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-849', 'clusters', 'link-520');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2432"></a><tt class="py-lineno">2432</tt>  <tt class="py-line">                    <tt class="py-keyword">continue</tt> </tt>
+<a name="L2433"></a><tt class="py-lineno">2433</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># clusters not consistent</tt> </tt>
+<a name="L2434"></a><tt class="py-lineno">2434</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-850" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-850', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-851" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-851', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"clusters from ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2435"></a><tt class="py-lineno">2435</tt>  <tt class="py-line">                                     <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2436"></a><tt class="py-lineno">2436</tt>  <tt class="py-line">                                     <tt class="py-string">" is inconsistent with ONOS1"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2437"></a><tt class="py-lineno">2437</tt>  <tt class="py-line">                    <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2438"></a><tt class="py-lineno">2438</tt>  <tt class="py-line"> </tt>
+<a name="L2439"></a><tt class="py-lineno">2439</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2440"></a><tt class="py-lineno">2440</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-852" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-852', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-853" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-853', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting dataplane clusters "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2441"></a><tt class="py-lineno">2441</tt>  <tt class="py-line">                                 <tt class="py-string">"from ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2442"></a><tt class="py-lineno">2442</tt>  <tt class="py-line">                <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2443"></a><tt class="py-lineno">2443</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-854" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-854', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2444"></a><tt class="py-lineno">2444</tt>  <tt class="py-line">                               <tt class="py-string">" clusters response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2445"></a><tt class="py-lineno">2445</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-855" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-855', 'clusters', 'link-520');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-856" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-856', 'controller', 'link-525');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2446"></a><tt class="py-lineno">2446</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2447"></a><tt class="py-lineno">2447</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2448"></a><tt class="py-lineno">2448</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentClustersResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2449"></a><tt class="py-lineno">2449</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Clusters view is consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2450"></a><tt class="py-lineno">2450</tt>  <tt class="py-line">            <tt id="link-857" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-857', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of clusters"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2451"></a><tt class="py-lineno">2451</tt>  <tt class="py-line"> </tt>
+<a name="L2452"></a><tt class="py-lineno">2452</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-858" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-858', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"There is only one SCC"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2453"></a><tt class="py-lineno">2453</tt>  <tt class="py-line">        <tt class="py-comment"># there should always only be one cluster</tt> </tt>
+<a name="L2454"></a><tt class="py-lineno">2454</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2455"></a><tt class="py-lineno">2455</tt>  <tt class="py-line">            <tt class="py-name">numClusters</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-859" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-859', 'clusters', 'link-520');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2456"></a><tt class="py-lineno">2456</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2457"></a><tt class="py-lineno">2457</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-860" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-860', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing clusters[0]: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2458"></a><tt class="py-lineno">2458</tt>  <tt class="py-line">                                <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-861" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-861', 'clusters', 'link-520');">clusters</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2459"></a><tt class="py-lineno">2459</tt>  <tt class="py-line">        <tt class="py-name">clusterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2460"></a><tt class="py-lineno">2460</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">numClusters</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2461"></a><tt class="py-lineno">2461</tt>  <tt class="py-line">            <tt class="py-name">clusterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2462"></a><tt class="py-lineno">2462</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2463"></a><tt class="py-lineno">2463</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L2464"></a><tt class="py-lineno">2464</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">numClusters</tt><tt class="py-op">,</tt> </tt>
+<a name="L2465"></a><tt class="py-lineno">2465</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS shows 1 SCC"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2466"></a><tt class="py-lineno">2466</tt>  <tt class="py-line">            <tt id="link-862" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-862', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS shows "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">numClusters</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" SCCs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2467"></a><tt class="py-lineno">2467</tt>  <tt class="py-line"> </tt>
+<a name="L2468"></a><tt class="py-lineno">2468</tt>  <tt class="py-line">        <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">devicesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">linksResults</tt> </tt>
+<a name="L2469"></a><tt class="py-lineno">2469</tt>  <tt class="py-line">                       <tt class="py-keyword">and</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentHostsResult</tt> </tt>
+<a name="L2470"></a><tt class="py-lineno">2470</tt>  <tt class="py-line">                       <tt class="py-keyword">and</tt> <tt class="py-name">consistentClustersResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">clusterResults</tt> </tt>
+<a name="L2471"></a><tt class="py-lineno">2471</tt>  <tt class="py-line">                       <tt class="py-keyword">and</tt> <tt class="py-name">ipResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hostAttachmentResults</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2472"></a><tt class="py-lineno">2472</tt>  <tt class="py-line"> </tt>
+<a name="L2473"></a><tt class="py-lineno">2473</tt>  <tt class="py-line">        <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-name">topoResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2474"></a><tt class="py-lineno">2474</tt>  <tt class="py-line">        <tt class="py-name">note</tt> <tt class="py-op">=</tt> <tt class="py-string">"note it takes about "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">cliTime</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L2475"></a><tt class="py-lineno">2475</tt>  <tt class="py-line">            <tt class="py-string">" seconds for the test to make all the cli calls to fetch "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2476"></a><tt class="py-lineno">2476</tt>  <tt class="py-line">            <tt class="py-string">"the topology from each ONOS instance"</tt> </tt>
+<a name="L2477"></a><tt class="py-lineno">2477</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-863" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-863', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L2478"></a><tt class="py-lineno">2478</tt>  <tt class="py-line">            <tt class="py-string">"Very crass estimate for topology discovery/convergence( "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2479"></a><tt class="py-lineno">2479</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">note</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ): "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">elapsed</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" seconds, "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2480"></a><tt class="py-lineno">2480</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" tries"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2481"></a><tt class="py-lineno">2481</tt>  <tt class="py-line"> </tt>
+<a name="L2482"></a><tt class="py-lineno">2482</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-864" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-864', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Device information is correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2483"></a><tt class="py-lineno">2483</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2484"></a><tt class="py-lineno">2484</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2485"></a><tt class="py-lineno">2485</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">devicesResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2486"></a><tt class="py-lineno">2486</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Device information is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2487"></a><tt class="py-lineno">2487</tt>  <tt class="py-line">            <tt id="link-865" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-865', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Device information is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2488"></a><tt class="py-lineno">2488</tt>  <tt class="py-line"> </tt>
+<a name="L2489"></a><tt class="py-lineno">2489</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-866" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-866', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Links are correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2490"></a><tt class="py-lineno">2490</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2491"></a><tt class="py-lineno">2491</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2492"></a><tt class="py-lineno">2492</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">linksResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2493"></a><tt class="py-lineno">2493</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2494"></a><tt class="py-lineno">2494</tt>  <tt class="py-line">            <tt id="link-867" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-867', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Links are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2495"></a><tt class="py-lineno">2495</tt>  <tt class="py-line"> </tt>
+<a name="L2496"></a><tt class="py-lineno">2496</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: move this to an ONOS state case</tt> </tt>
+<a name="L2497"></a><tt class="py-lineno">2497</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-868" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-868', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Checking ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2498"></a><tt class="py-lineno">2498</tt>  <tt class="py-line">        <tt class="py-name">nodesOutput</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2499"></a><tt class="py-lineno">2499</tt>  <tt class="py-line">        <tt class="py-name">nodeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2500"></a><tt class="py-lineno">2500</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2501"></a><tt class="py-lineno">2501</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2502"></a><tt class="py-lineno">2502</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-869" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-869', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-870" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-870', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2503"></a><tt class="py-lineno">2503</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"nodes-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2504"></a><tt class="py-lineno">2504</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2505"></a><tt class="py-lineno">2505</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2506"></a><tt class="py-lineno">2506</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2507"></a><tt class="py-lineno">2507</tt>  <tt class="py-line"> </tt>
+<a name="L2508"></a><tt class="py-lineno">2508</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2509"></a><tt class="py-lineno">2509</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2510"></a><tt class="py-lineno">2510</tt>  <tt class="py-line">            <tt class="py-name">nodesOutput</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2511"></a><tt class="py-lineno">2511</tt>  <tt class="py-line">        <tt class="py-name">ips</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-871" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-871', 'nodes', 'link-9');">nodes</a></tt> <tt class="py-op">]</tt> </tt>
+<a name="L2512"></a><tt class="py-lineno">2512</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">nodesOutput</tt><tt class="py-op">:</tt> </tt>
+<a name="L2513"></a><tt class="py-lineno">2513</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2514"></a><tt class="py-lineno">2514</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2515"></a><tt class="py-lineno">2515</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L2516"></a><tt class="py-lineno">2516</tt>  <tt class="py-line">                    <tt class="py-name">currentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2517"></a><tt class="py-lineno">2517</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">node</tt><tt class="py-op">[</tt><tt class="py-string">'ip'</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ips</tt><tt class="py-op">:</tt>  <tt class="py-comment"># node in nodes() output is in cell</tt> </tt>
+<a name="L2518"></a><tt class="py-lineno">2518</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">node</tt><tt class="py-op">[</tt><tt class="py-string">'state'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'ACTIVE'</tt><tt class="py-op">:</tt> </tt>
+<a name="L2519"></a><tt class="py-lineno">2519</tt>  <tt class="py-line">                            <tt class="py-name">currentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2520"></a><tt class="py-lineno">2520</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2521"></a><tt class="py-lineno">2521</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-872" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-872', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-873" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-873', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in ONOS node availability"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2522"></a><tt class="py-lineno">2522</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-874" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-874', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-875" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-875', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2523"></a><tt class="py-lineno">2523</tt>  <tt class="py-line">                                    <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt><tt class="py-op">,</tt> </tt>
+<a name="L2524"></a><tt class="py-lineno">2524</tt>  <tt class="py-line">                                                <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2525"></a><tt class="py-lineno">2525</tt>  <tt class="py-line">                                                <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L2526"></a><tt class="py-lineno">2526</tt>  <tt class="py-line">                                                <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2527"></a><tt class="py-lineno">2527</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
+<a name="L2528"></a><tt class="py-lineno">2528</tt>  <tt class="py-line">                    <tt class="py-name">nodeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">nodeResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentResult</tt> </tt>
+<a name="L2529"></a><tt class="py-lineno">2529</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2530"></a><tt class="py-lineno">2530</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-876" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-876', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-877" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-877', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing nodes output"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2531"></a><tt class="py-lineno">2531</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-878" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-878', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2532"></a><tt class="py-lineno">2532</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">nodeResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2533"></a><tt class="py-lineno">2533</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Nodes check successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2534"></a><tt class="py-lineno">2534</tt>  <tt class="py-line">                                 <tt id="link-879" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-879', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Nodes check NOT successful"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2535"></a><tt class="py-lineno">2535</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE9"></a><div id="HAclusterRestart.CASE9-def"><a name="L2536"></a><tt class="py-lineno">2536</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE9-toggle" onclick="return toggle('HAclusterRestart.CASE9');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE9">CASE9</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE9-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE9-expanded"><a name="L2537"></a><tt class="py-lineno">2537</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2538"></a><tt class="py-lineno">2538</tt>  <tt class="py-line"><tt class="py-docstring">        Link s3-s28 down</tt> </tt>
+<a name="L2539"></a><tt class="py-lineno">2539</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2540"></a><tt class="py-lineno">2540</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2541"></a><tt class="py-lineno">2541</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2542"></a><tt class="py-lineno">2542</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2543"></a><tt class="py-lineno">2543</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2544"></a><tt class="py-lineno">2544</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2545"></a><tt class="py-lineno">2545</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-880" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-880', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2546"></a><tt class="py-lineno">2546</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: You should probably run a topology check after this</tt> </tt>
+<a name="L2547"></a><tt class="py-lineno">2547</tt>  <tt class="py-line"> </tt>
+<a name="L2548"></a><tt class="py-lineno">2548</tt>  <tt class="py-line">        <tt class="py-name">linkSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2549"></a><tt class="py-lineno">2549</tt>  <tt class="py-line"> </tt>
+<a name="L2550"></a><tt class="py-lineno">2550</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Turn off a link to ensure that Link Discovery "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2551"></a><tt class="py-lineno">2551</tt>  <tt class="py-line">                      <tt class="py-string">"is working properly"</tt> </tt>
+<a name="L2552"></a><tt class="py-lineno">2552</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-881" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-881', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2553"></a><tt class="py-lineno">2553</tt>  <tt class="py-line"> </tt>
+<a name="L2554"></a><tt class="py-lineno">2554</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-882" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-882', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Kill Link between s3 and s28"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2555"></a><tt class="py-lineno">2555</tt>  <tt class="py-line">        <tt class="py-name">LinkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-883" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#link"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-883', 'link', 'link-883');">link</a></tt><tt class="py-op">(</tt> <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-string">"s3"</tt><tt class="py-op">,</tt> <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-string">"s28"</tt><tt class="py-op">,</tt> <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"down"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2556"></a><tt class="py-lineno">2556</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-884" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-884', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">linkSleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2557"></a><tt class="py-lineno">2557</tt>  <tt class="py-line">                       <tt class="py-string">" seconds for link down to be discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2558"></a><tt class="py-lineno">2558</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">linkSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2559"></a><tt class="py-lineno">2559</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">LinkDown</tt><tt class="py-op">,</tt> </tt>
+<a name="L2560"></a><tt class="py-lineno">2560</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link down successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2561"></a><tt class="py-lineno">2561</tt>  <tt class="py-line">                                 <tt id="link-885" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-885', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to bring link down"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2562"></a><tt class="py-lineno">2562</tt>  <tt class="py-line">        <tt class="py-comment"># TODO do some sort of check here</tt> </tt>
+<a name="L2563"></a><tt class="py-lineno">2563</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE10"></a><div id="HAclusterRestart.CASE10-def"><a name="L2564"></a><tt class="py-lineno">2564</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE10-toggle" onclick="return toggle('HAclusterRestart.CASE10');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE10">CASE10</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE10-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE10-expanded"><a name="L2565"></a><tt class="py-lineno">2565</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2566"></a><tt class="py-lineno">2566</tt>  <tt class="py-line"><tt class="py-docstring">        Link s3-s28 up</tt> </tt>
+<a name="L2567"></a><tt class="py-lineno">2567</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2568"></a><tt class="py-lineno">2568</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2569"></a><tt class="py-lineno">2569</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2570"></a><tt class="py-lineno">2570</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2571"></a><tt class="py-lineno">2571</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2572"></a><tt class="py-lineno">2572</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2573"></a><tt class="py-lineno">2573</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-886" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-886', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2574"></a><tt class="py-lineno">2574</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: You should probably run a topology check after this</tt> </tt>
+<a name="L2575"></a><tt class="py-lineno">2575</tt>  <tt class="py-line"> </tt>
+<a name="L2576"></a><tt class="py-lineno">2576</tt>  <tt class="py-line">        <tt class="py-name">linkSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2577"></a><tt class="py-lineno">2577</tt>  <tt class="py-line"> </tt>
+<a name="L2578"></a><tt class="py-lineno">2578</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Restore a link to ensure that Link Discovery is "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L2579"></a><tt class="py-lineno">2579</tt>  <tt class="py-line">                      <tt class="py-string">"working properly"</tt> </tt>
+<a name="L2580"></a><tt class="py-lineno">2580</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-887" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-887', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2581"></a><tt class="py-lineno">2581</tt>  <tt class="py-line"> </tt>
+<a name="L2582"></a><tt class="py-lineno">2582</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-888" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-888', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Bring link between s3 and s28 back up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2583"></a><tt class="py-lineno">2583</tt>  <tt class="py-line">        <tt class="py-name">LinkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-889" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-889', 'link', 'link-883');">link</a></tt><tt class="py-op">(</tt> <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-string">"s3"</tt><tt class="py-op">,</tt> <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-string">"s28"</tt><tt class="py-op">,</tt> <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2584"></a><tt class="py-lineno">2584</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-890" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-890', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">linkSleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2585"></a><tt class="py-lineno">2585</tt>  <tt class="py-line">                       <tt class="py-string">" seconds for link up to be discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2586"></a><tt class="py-lineno">2586</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">linkSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2587"></a><tt class="py-lineno">2587</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">LinkUp</tt><tt class="py-op">,</tt> </tt>
+<a name="L2588"></a><tt class="py-lineno">2588</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link up successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2589"></a><tt class="py-lineno">2589</tt>  <tt class="py-line">                                 <tt id="link-891" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-891', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to bring link up"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2590"></a><tt class="py-lineno">2590</tt>  <tt class="py-line">        <tt class="py-comment"># TODO do some sort of check here</tt> </tt>
+<a name="L2591"></a><tt class="py-lineno">2591</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE11"></a><div id="HAclusterRestart.CASE11-def"><a name="L2592"></a><tt class="py-lineno">2592</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE11-toggle" onclick="return toggle('HAclusterRestart.CASE11');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE11">CASE11</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE11-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE11-expanded"><a name="L2593"></a><tt class="py-lineno">2593</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2594"></a><tt class="py-lineno">2594</tt>  <tt class="py-line"><tt class="py-docstring">        Switch Down</tt> </tt>
+<a name="L2595"></a><tt class="py-lineno">2595</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2596"></a><tt class="py-lineno">2596</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: You should probably run a topology check after this</tt> </tt>
+<a name="L2597"></a><tt class="py-lineno">2597</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2598"></a><tt class="py-lineno">2598</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2599"></a><tt class="py-lineno">2599</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2600"></a><tt class="py-lineno">2600</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2601"></a><tt class="py-lineno">2601</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2602"></a><tt class="py-lineno">2602</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-892" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-892', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2603"></a><tt class="py-lineno">2603</tt>  <tt class="py-line"> </tt>
+<a name="L2604"></a><tt class="py-lineno">2604</tt>  <tt class="py-line">        <tt class="py-name">switchSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'SwitchDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2605"></a><tt class="py-lineno">2605</tt>  <tt class="py-line"> </tt>
+<a name="L2606"></a><tt class="py-lineno">2606</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Killing a switch to ensure it is discovered correctly"</tt> </tt>
+<a name="L2607"></a><tt class="py-lineno">2607</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-893" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-893', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2608"></a><tt class="py-lineno">2608</tt>  <tt class="py-line">        <tt class="py-name">switch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'switch'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2609"></a><tt class="py-lineno">2609</tt>  <tt class="py-line">        <tt class="py-name">switchDPID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'dpid'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2610"></a><tt class="py-lineno">2610</tt>  <tt class="py-line"> </tt>
+<a name="L2611"></a><tt class="py-lineno">2611</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Make this switch parameterizable</tt> </tt>
+<a name="L2612"></a><tt class="py-lineno">2612</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-894" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-894', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Kill "</tt> <tt class="py-op">+</tt> <tt class="py-name">switch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2613"></a><tt class="py-lineno">2613</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-895" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-895', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Deleting "</tt> <tt class="py-op">+</tt> <tt class="py-name">switch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2614"></a><tt class="py-lineno">2614</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-896" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.delSwitch()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delSwitch"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.delSwitch" class="py-name" href="#" onclick="return doclink('link-896', 'delSwitch', 'link-896');">delSwitch</a></tt><tt class="py-op">(</tt> <tt class="py-name">switch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2615"></a><tt class="py-lineno">2615</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-897" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-897', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">switchSleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2616"></a><tt class="py-lineno">2616</tt>  <tt class="py-line">                       <tt class="py-string">" seconds for switch down to be discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2617"></a><tt class="py-lineno">2617</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">switchSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2618"></a><tt class="py-lineno">2618</tt>  <tt class="py-line">        <tt class="py-name">device</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-898" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-898', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-name">switchDPID</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2619"></a><tt class="py-lineno">2619</tt>  <tt class="py-line">        <tt class="py-comment"># Peek at the deleted switch</tt> </tt>
+<a name="L2620"></a><tt class="py-lineno">2620</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-899" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-899', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">device</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2621"></a><tt class="py-lineno">2621</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2622"></a><tt class="py-lineno">2622</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">device</tt> <tt class="py-keyword">and</tt> <tt class="py-name">device</tt><tt class="py-op">[</tt> <tt class="py-string">'available'</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L2623"></a><tt class="py-lineno">2623</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2624"></a><tt class="py-lineno">2624</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt> </tt>
+<a name="L2625"></a><tt class="py-lineno">2625</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Kill switch successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2626"></a><tt class="py-lineno">2626</tt>  <tt class="py-line">                                 <tt id="link-900" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-900', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to kill switch?"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2627"></a><tt class="py-lineno">2627</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE12"></a><div id="HAclusterRestart.CASE12-def"><a name="L2628"></a><tt class="py-lineno">2628</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE12-toggle" onclick="return toggle('HAclusterRestart.CASE12');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE12">CASE12</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE12-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE12-expanded"><a name="L2629"></a><tt class="py-lineno">2629</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2630"></a><tt class="py-lineno">2630</tt>  <tt class="py-line"><tt class="py-docstring">        Switch Up</tt> </tt>
+<a name="L2631"></a><tt class="py-lineno">2631</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2632"></a><tt class="py-lineno">2632</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: You should probably run a topology check after this</tt> </tt>
+<a name="L2633"></a><tt class="py-lineno">2633</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2634"></a><tt class="py-lineno">2634</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2635"></a><tt class="py-lineno">2635</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2636"></a><tt class="py-lineno">2636</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2637"></a><tt class="py-lineno">2637</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2638"></a><tt class="py-lineno">2638</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-901" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-901', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2639"></a><tt class="py-lineno">2639</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS1Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS1Port not defined"</tt> </tt>
+<a name="L2640"></a><tt class="py-lineno">2640</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS2Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS2Port not defined"</tt> </tt>
+<a name="L2641"></a><tt class="py-lineno">2641</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS3Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS3Port not defined"</tt> </tt>
+<a name="L2642"></a><tt class="py-lineno">2642</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS4Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS4Port not defined"</tt> </tt>
+<a name="L2643"></a><tt class="py-lineno">2643</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS5Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS5Port not defined"</tt> </tt>
+<a name="L2644"></a><tt class="py-lineno">2644</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS6Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS6Port not defined"</tt> </tt>
+<a name="L2645"></a><tt class="py-lineno">2645</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS7Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS7Port not defined"</tt> </tt>
+<a name="L2646"></a><tt class="py-lineno">2646</tt>  <tt class="py-line"> </tt>
+<a name="L2647"></a><tt class="py-lineno">2647</tt>  <tt class="py-line">        <tt class="py-name">switchSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'SwitchDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2648"></a><tt class="py-lineno">2648</tt>  <tt class="py-line">        <tt class="py-name">switch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'switch'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2649"></a><tt class="py-lineno">2649</tt>  <tt class="py-line">        <tt class="py-name">switchDPID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'dpid'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2650"></a><tt class="py-lineno">2650</tt>  <tt class="py-line">        <tt id="link-902" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-902', 'links', 'link-516');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'links'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2651"></a><tt class="py-lineno">2651</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Adding a switch to ensure it is discovered correctly"</tt> </tt>
+<a name="L2652"></a><tt class="py-lineno">2652</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-903" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-903', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2653"></a><tt class="py-lineno">2653</tt>  <tt class="py-line"> </tt>
+<a name="L2654"></a><tt class="py-lineno">2654</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-904" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-904', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add back "</tt> <tt class="py-op">+</tt> <tt class="py-name">switch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2655"></a><tt class="py-lineno">2655</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-905" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addSwitch"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-905', 'addSwitch', 'link-905');">addSwitch</a></tt><tt class="py-op">(</tt> <tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-name">switchDPID</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2656"></a><tt class="py-lineno">2656</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">peer</tt> <tt class="py-keyword">in</tt> <tt id="link-906" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-906', 'links', 'link-516');">links</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2657"></a><tt class="py-lineno">2657</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-907" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addLink"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-907', 'addLink', 'link-907');">addLink</a></tt><tt class="py-op">(</tt> <tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">peer</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2658"></a><tt class="py-lineno">2658</tt>  <tt class="py-line">        <tt class="py-name">ipList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2659"></a><tt class="py-lineno">2659</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2660"></a><tt class="py-lineno">2660</tt>  <tt class="py-line">            <tt class="py-name">ipList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-908" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-908', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2661"></a><tt class="py-lineno">2661</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-909" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController" class="py-name" href="#" onclick="return doclink('link-909', 'assignSwController', 'link-78');">assignSwController</a></tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt><tt class="py-op">=</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">ipList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2662"></a><tt class="py-lineno">2662</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-910" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-910', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">switchSleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2663"></a><tt class="py-lineno">2663</tt>  <tt class="py-line">                       <tt class="py-string">" seconds for switch up to be discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2664"></a><tt class="py-lineno">2664</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">switchSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2665"></a><tt class="py-lineno">2665</tt>  <tt class="py-line">        <tt class="py-name">device</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-911" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-911', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-name">switchDPID</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2666"></a><tt class="py-lineno">2666</tt>  <tt class="py-line">        <tt class="py-comment"># Peek at the deleted switch</tt> </tt>
+<a name="L2667"></a><tt class="py-lineno">2667</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-912" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-912', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">device</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2668"></a><tt class="py-lineno">2668</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2669"></a><tt class="py-lineno">2669</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">device</tt> <tt class="py-keyword">and</tt> <tt class="py-name">device</tt><tt class="py-op">[</tt> <tt class="py-string">'available'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2670"></a><tt class="py-lineno">2670</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2671"></a><tt class="py-lineno">2671</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt> </tt>
+<a name="L2672"></a><tt class="py-lineno">2672</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"add switch successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2673"></a><tt class="py-lineno">2673</tt>  <tt class="py-line">                                 <tt id="link-913" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-913', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to add switch?"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2674"></a><tt class="py-lineno">2674</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE13"></a><div id="HAclusterRestart.CASE13-def"><a name="L2675"></a><tt class="py-lineno">2675</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE13-toggle" onclick="return toggle('HAclusterRestart.CASE13');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE13">CASE13</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE13-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE13-expanded"><a name="L2676"></a><tt class="py-lineno">2676</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2677"></a><tt class="py-lineno">2677</tt>  <tt class="py-line"><tt class="py-docstring">        Clean up</tt> </tt>
+<a name="L2678"></a><tt class="py-lineno">2678</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2679"></a><tt class="py-lineno">2679</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L2680"></a><tt class="py-lineno">2680</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2681"></a><tt class="py-lineno">2681</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2682"></a><tt class="py-lineno">2682</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2683"></a><tt class="py-lineno">2683</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2684"></a><tt class="py-lineno">2684</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2685"></a><tt class="py-lineno">2685</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-914" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-914', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2686"></a><tt class="py-lineno">2686</tt>  <tt class="py-line"> </tt>
+<a name="L2687"></a><tt class="py-lineno">2687</tt>  <tt class="py-line">        <tt class="py-comment"># printing colors to terminal</tt> </tt>
+<a name="L2688"></a><tt class="py-lineno">2688</tt>  <tt class="py-line">        <tt class="py-name">colors</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">'cyan'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[96m'</tt><tt class="py-op">,</tt> <tt class="py-string">'purple'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[95m'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2689"></a><tt class="py-lineno">2689</tt>  <tt class="py-line">                   <tt class="py-string">'blue'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[94m'</tt><tt class="py-op">,</tt> <tt class="py-string">'green'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[92m'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2690"></a><tt class="py-lineno">2690</tt>  <tt class="py-line">                   <tt class="py-string">'yellow'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[93m'</tt><tt class="py-op">,</tt> <tt class="py-string">'red'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[91m'</tt><tt class="py-op">,</tt> <tt class="py-string">'end'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[0m'</tt> <tt class="py-op">}</tt> </tt>
+<a name="L2691"></a><tt class="py-lineno">2691</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-915" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-915', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Test Cleanup"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2692"></a><tt class="py-lineno">2692</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-916" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-916', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Killing tcpdumps"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2693"></a><tt class="py-lineno">2693</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-917" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopTcpdump()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopTcpdump,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.stopTcpdump()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#stopTcpdump"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopTcpdump
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.stopTcpdump" class="py-name" href="#" onclick="return doclink('link-917', 'stopTcpdump', 'link-917');">stopTcpdump</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2694"></a><tt class="py-lineno">2694</tt>  <tt class="py-line"> </tt>
+<a name="L2695"></a><tt class="py-lineno">2695</tt>  <tt class="py-line">        <tt class="py-name">testname</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> </tt>
+<a name="L2696"></a><tt class="py-lineno">2696</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BACKUP'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"True"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2697"></a><tt class="py-lineno">2697</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-918" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-918', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Copying MN pcap and ONOS log files to test station"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2698"></a><tt class="py-lineno">2698</tt>  <tt class="py-line">            <tt class="py-name">teststationUser</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BACKUP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'TESTONUSER'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2699"></a><tt class="py-lineno">2699</tt>  <tt class="py-line">            <tt class="py-name">teststationIP</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BACKUP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'TESTONIP'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2700"></a><tt class="py-lineno">2700</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: MN Pcap file is being saved to ~/packet_captures</tt> </tt>
+<a name="L2701"></a><tt class="py-lineno">2701</tt>  <tt class="py-line">            <tt class="py-comment">#       scp this file as MN and TestON aren't necessarily the same vm</tt> </tt>
+<a name="L2702"></a><tt class="py-lineno">2702</tt>  <tt class="py-line">            <tt class="py-comment"># FIXME: scp</tt> </tt>
+<a name="L2703"></a><tt class="py-lineno">2703</tt>  <tt class="py-line">            <tt class="py-comment"># mn files</tt> </tt>
+<a name="L2704"></a><tt class="py-lineno">2704</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: Load these from params</tt> </tt>
+<a name="L2705"></a><tt class="py-lineno">2705</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: must end in /</tt> </tt>
+<a name="L2706"></a><tt class="py-lineno">2706</tt>  <tt class="py-line">            <tt class="py-name">logFolder</tt> <tt class="py-op">=</tt> <tt class="py-string">"/opt/onos/log/"</tt> </tt>
+<a name="L2707"></a><tt class="py-lineno">2707</tt>  <tt class="py-line">            <tt class="py-name">logFiles</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">"karaf.log"</tt><tt class="py-op">,</tt> <tt class="py-string">"karaf.log.1"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2708"></a><tt class="py-lineno">2708</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: must end in /</tt> </tt>
+<a name="L2709"></a><tt class="py-lineno">2709</tt>  <tt class="py-line">            <tt class="py-name">dstDir</tt> <tt class="py-op">=</tt> <tt class="py-string">"~/packet_captures/"</tt> </tt>
+<a name="L2710"></a><tt class="py-lineno">2710</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">logFiles</tt><tt class="py-op">:</tt> </tt>
+<a name="L2711"></a><tt class="py-lineno">2711</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-919" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-919', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2712"></a><tt class="py-lineno">2712</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-920" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-920', 'sendline', 'link-920');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"scp sdn@"</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2713"></a><tt class="py-lineno">2713</tt>  <tt class="py-line">                                                    <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">logFolder</tt> <tt class="py-op">+</tt> <tt class="py-name">f</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2714"></a><tt class="py-lineno">2714</tt>  <tt class="py-line">                                                    <tt class="py-name">teststationUser</tt> <tt class="py-op">+</tt> <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2715"></a><tt class="py-lineno">2715</tt>  <tt class="py-line">                                                    <tt class="py-name">teststationIP</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2716"></a><tt class="py-lineno">2716</tt>  <tt class="py-line">                                                    <tt class="py-name">dstDir</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">testname</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2717"></a><tt class="py-lineno">2717</tt>  <tt class="py-line">                                                    <tt class="py-string">"-"</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">"-"</tt> <tt class="py-op">+</tt> <tt class="py-name">f</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2718"></a><tt class="py-lineno">2718</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2719"></a><tt class="py-lineno">2719</tt>  <tt class="py-line"> </tt>
+<a name="L2720"></a><tt class="py-lineno">2720</tt>  <tt class="py-line">            <tt class="py-comment"># std*.log's</tt> </tt>
+<a name="L2721"></a><tt class="py-lineno">2721</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: must end in /</tt> </tt>
+<a name="L2722"></a><tt class="py-lineno">2722</tt>  <tt class="py-line">            <tt class="py-name">logFolder</tt> <tt class="py-op">=</tt> <tt class="py-string">"/opt/onos/var/"</tt> </tt>
+<a name="L2723"></a><tt class="py-lineno">2723</tt>  <tt class="py-line">            <tt class="py-name">logFiles</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">"stderr.log"</tt><tt class="py-op">,</tt> <tt class="py-string">"stdout.log"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2724"></a><tt class="py-lineno">2724</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: must end in /</tt> </tt>
+<a name="L2725"></a><tt class="py-lineno">2725</tt>  <tt class="py-line">            <tt class="py-name">dstDir</tt> <tt class="py-op">=</tt> <tt class="py-string">"~/packet_captures/"</tt> </tt>
+<a name="L2726"></a><tt class="py-lineno">2726</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">logFiles</tt><tt class="py-op">:</tt> </tt>
+<a name="L2727"></a><tt class="py-lineno">2727</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-921" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-921', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2728"></a><tt class="py-lineno">2728</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-922" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-922', 'sendline', 'link-920');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"scp sdn@"</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2729"></a><tt class="py-lineno">2729</tt>  <tt class="py-line">                                                    <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">logFolder</tt> <tt class="py-op">+</tt> <tt class="py-name">f</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2730"></a><tt class="py-lineno">2730</tt>  <tt class="py-line">                                                    <tt class="py-name">teststationUser</tt> <tt class="py-op">+</tt> <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2731"></a><tt class="py-lineno">2731</tt>  <tt class="py-line">                                                    <tt class="py-name">teststationIP</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2732"></a><tt class="py-lineno">2732</tt>  <tt class="py-line">                                                    <tt class="py-name">dstDir</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">testname</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2733"></a><tt class="py-lineno">2733</tt>  <tt class="py-line">                                                    <tt class="py-string">"-"</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">"-"</tt> <tt class="py-op">+</tt> <tt class="py-name">f</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2734"></a><tt class="py-lineno">2734</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2735"></a><tt class="py-lineno">2735</tt>  <tt class="py-line">            <tt class="py-comment"># sleep so scp can finish</tt> </tt>
+<a name="L2736"></a><tt class="py-lineno">2736</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2737"></a><tt class="py-lineno">2737</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-923" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-923', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Packing and rotating pcap archives"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2738"></a><tt class="py-lineno">2738</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">system</tt><tt class="py-op">(</tt> <tt class="py-string">"~/TestON/dependencies/rotate.sh "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">testname</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2739"></a><tt class="py-lineno">2739</tt>  <tt class="py-line"> </tt>
+<a name="L2740"></a><tt class="py-lineno">2740</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-924" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-924', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Stopping Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2741"></a><tt class="py-lineno">2741</tt>  <tt class="py-line">        <tt class="py-name">mnResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-925" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet" class="py-name" href="#" onclick="return doclink('link-925', 'stopNet', 'link-925');">stopNet</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2742"></a><tt class="py-lineno">2742</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">mnResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2743"></a><tt class="py-lineno">2743</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Mininet stopped"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2744"></a><tt class="py-lineno">2744</tt>  <tt class="py-line">                                 <tt id="link-926" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-926', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"MN cleanup NOT successful"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2745"></a><tt class="py-lineno">2745</tt>  <tt class="py-line"> </tt>
+<a name="L2746"></a><tt class="py-lineno">2746</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-927" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-927', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Checking ONOS Logs for errors"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2747"></a><tt class="py-lineno">2747</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-928" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-928', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2748"></a><tt class="py-lineno">2748</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt> <tt class="py-string">'purple'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"Checking logs for errors on "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L2749"></a><tt class="py-lineno">2749</tt>  <tt class="py-line">                <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt> <tt class="py-string">'end'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2750"></a><tt class="py-lineno">2750</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-929" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.checkLogs()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#checkLogs"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.checkLogs" class="py-name" href="#" onclick="return doclink('link-929', 'checkLogs', 'link-929');">checkLogs</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-name">restart</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2751"></a><tt class="py-lineno">2751</tt>  <tt class="py-line"> </tt>
+<a name="L2752"></a><tt class="py-lineno">2752</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2753"></a><tt class="py-lineno">2753</tt>  <tt class="py-line">            <tt class="py-name">timerLog</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">+</tt> <tt class="py-string">"/Timers.csv"</tt><tt class="py-op">,</tt> <tt class="py-string">'w'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2754"></a><tt class="py-lineno">2754</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-930" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-930', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-931" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-931', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">", "</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt> <tt class="py-name">labels</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">", "</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt> <tt class="py-name">data</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2755"></a><tt class="py-lineno">2755</tt>  <tt class="py-line">            <tt class="py-name">timerLog</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt> <tt class="py-string">", "</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt> <tt class="py-name">labels</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-string">", "</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt> <tt class="py-name">data</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2756"></a><tt class="py-lineno">2756</tt>  <tt class="py-line">            <tt class="py-name">timerLog</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2757"></a><tt class="py-lineno">2757</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L2758"></a><tt class="py-lineno">2758</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-932" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-932', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2759"></a><tt class="py-lineno">2759</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE14"></a><div id="HAclusterRestart.CASE14-def"><a name="L2760"></a><tt class="py-lineno">2760</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE14-toggle" onclick="return toggle('HAclusterRestart.CASE14');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE14">CASE14</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE14-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE14-expanded"><a name="L2761"></a><tt class="py-lineno">2761</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2762"></a><tt class="py-lineno">2762</tt>  <tt class="py-line"><tt class="py-docstring">        start election app on all onos nodes</tt> </tt>
+<a name="L2763"></a><tt class="py-lineno">2763</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2764"></a><tt class="py-lineno">2764</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2765"></a><tt class="py-lineno">2765</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2766"></a><tt class="py-lineno">2766</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2767"></a><tt class="py-lineno">2767</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2768"></a><tt class="py-lineno">2768</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-933" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-933', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2769"></a><tt class="py-lineno">2769</tt>  <tt class="py-line"> </tt>
+<a name="L2770"></a><tt class="py-lineno">2770</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-934" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-934', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Start Leadership Election app"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2771"></a><tt class="py-lineno">2771</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-935" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-935', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install leadership election app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2772"></a><tt class="py-lineno">2772</tt>  <tt class="py-line">        <tt class="py-name">appResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-936" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp" class="py-name" href="#" onclick="return doclink('link-936', 'activateApp', 'link-128');">activateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2773"></a><tt class="py-lineno">2773</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2774"></a><tt class="py-lineno">2774</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2775"></a><tt class="py-lineno">2775</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2776"></a><tt class="py-lineno">2776</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Election app installed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2777"></a><tt class="py-lineno">2777</tt>  <tt class="py-line">            <tt id="link-937" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-937', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something went wrong with installing Leadership election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2778"></a><tt class="py-lineno">2778</tt>  <tt class="py-line"> </tt>
+<a name="L2779"></a><tt class="py-lineno">2779</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-938" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-938', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Run for election on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2780"></a><tt class="py-lineno">2780</tt>  <tt class="py-line">        <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2781"></a><tt class="py-lineno">2781</tt>  <tt class="py-line">        <tt id="link-939" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-939', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2782"></a><tt class="py-lineno">2782</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-940" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-940', 'cli', 'link-227');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2783"></a><tt class="py-lineno">2783</tt>  <tt class="py-line">            <tt id="link-941" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-941', 'cli', 'link-227');">cli</a></tt><tt class="py-op">.</tt><tt id="link-942" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestRun" class="py-name" href="#" onclick="return doclink('link-942', 'electionTestRun', 'link-644');">electionTestRun</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2784"></a><tt class="py-lineno">2784</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-943" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-943', 'cli', 'link-227');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2785"></a><tt class="py-lineno">2785</tt>  <tt class="py-line">            <tt class="py-name">leader</tt> <tt class="py-op">=</tt> <tt id="link-944" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-944', 'cli', 'link-227');">cli</a></tt><tt class="py-op">.</tt><tt id="link-945" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-945', 'electionTestLeader', 'link-714');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2786"></a><tt class="py-lineno">2786</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">leader</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">leader</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2787"></a><tt class="py-lineno">2787</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-946" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-946', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-947" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-947', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt id="link-948" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-948', 'cli', 'link-227');">cli</a></tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Leader for the election app "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2788"></a><tt class="py-lineno">2788</tt>  <tt class="py-line">                                 <tt class="py-string">"should be an ONOS node, instead got '"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2789"></a><tt class="py-lineno">2789</tt>  <tt class="py-line">                                 <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"'"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2790"></a><tt class="py-lineno">2790</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2791"></a><tt class="py-lineno">2791</tt>  <tt class="py-line">            <tt id="link-949" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-949', 'leaders', 'link-185');">leaders</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2792"></a><tt class="py-lineno">2792</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2793"></a><tt class="py-lineno">2793</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2794"></a><tt class="py-lineno">2794</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">leaderResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2795"></a><tt class="py-lineno">2795</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully ran for leadership"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2796"></a><tt class="py-lineno">2796</tt>  <tt class="py-line">            <tt id="link-950" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-950', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to run for leadership"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2797"></a><tt class="py-lineno">2797</tt>  <tt class="py-line"> </tt>
+<a name="L2798"></a><tt class="py-lineno">2798</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-951" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-951', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check that each node shows the same leader"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2799"></a><tt class="py-lineno">2799</tt>  <tt class="py-line">        <tt class="py-name">sameLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2800"></a><tt class="py-lineno">2800</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt id="link-952" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-952', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2801"></a><tt class="py-lineno">2801</tt>  <tt class="py-line">            <tt class="py-name">sameLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2802"></a><tt class="py-lineno">2802</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-953" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-953', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-954" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-954', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Results of electionTestLeader is order of CLIs:"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2803"></a><tt class="py-lineno">2803</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-955" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-955', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2804"></a><tt class="py-lineno">2804</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2805"></a><tt class="py-lineno">2805</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2806"></a><tt class="py-lineno">2806</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">sameLeader</tt><tt class="py-op">,</tt> </tt>
+<a name="L2807"></a><tt class="py-lineno">2807</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Leadership is consistent for the election topic"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2808"></a><tt class="py-lineno">2808</tt>  <tt class="py-line">            <tt id="link-956" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-956', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Nodes have different leaders"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2809"></a><tt class="py-lineno">2809</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE15"></a><div id="HAclusterRestart.CASE15-def"><a name="L2810"></a><tt class="py-lineno">2810</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE15-toggle" onclick="return toggle('HAclusterRestart.CASE15');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE15">CASE15</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE15-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE15-expanded"><a name="L2811"></a><tt class="py-lineno">2811</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2812"></a><tt class="py-lineno">2812</tt>  <tt class="py-line"><tt class="py-docstring">        Check that Leadership Election is still functional</tt> </tt>
+<a name="L2813"></a><tt class="py-lineno">2813</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2814"></a><tt class="py-lineno">2814</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2815"></a><tt class="py-lineno">2815</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2816"></a><tt class="py-lineno">2816</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2817"></a><tt class="py-lineno">2817</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2818"></a><tt class="py-lineno">2818</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2819"></a><tt class="py-lineno">2819</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-957" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-957', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2820"></a><tt class="py-lineno">2820</tt>  <tt class="py-line"> </tt>
+<a name="L2821"></a><tt class="py-lineno">2821</tt>  <tt class="py-line">        <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2822"></a><tt class="py-lineno">2822</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Check that Leadership Election is still functional"</tt> </tt>
+<a name="L2823"></a><tt class="py-lineno">2823</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-958" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-958', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2824"></a><tt class="py-lineno">2824</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: Need to re-run since being a canidate is not persistant</tt> </tt>
+<a name="L2825"></a><tt class="py-lineno">2825</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-959" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-959', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Run for election on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2826"></a><tt class="py-lineno">2826</tt>  <tt class="py-line">        <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2827"></a><tt class="py-lineno">2827</tt>  <tt class="py-line">        <tt id="link-960" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-960', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2828"></a><tt class="py-lineno">2828</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-961" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-961', 'cli', 'link-227');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2829"></a><tt class="py-lineno">2829</tt>  <tt class="py-line">            <tt id="link-962" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-962', 'cli', 'link-227');">cli</a></tt><tt class="py-op">.</tt><tt id="link-963" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestRun" class="py-name" href="#" onclick="return doclink('link-963', 'electionTestRun', 'link-644');">electionTestRun</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2830"></a><tt class="py-lineno">2830</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-964" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-964', 'cli', 'link-227');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2831"></a><tt class="py-lineno">2831</tt>  <tt class="py-line">            <tt class="py-name">leader</tt> <tt class="py-op">=</tt> <tt id="link-965" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-965', 'cli', 'link-227');">cli</a></tt><tt class="py-op">.</tt><tt id="link-966" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-966', 'electionTestLeader', 'link-714');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2832"></a><tt class="py-lineno">2832</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">leader</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">leader</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2833"></a><tt class="py-lineno">2833</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-967" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-967', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-968" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-968', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt id="link-969" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-969', 'cli', 'link-227');">cli</a></tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Leader for the election app "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2834"></a><tt class="py-lineno">2834</tt>  <tt class="py-line">                                 <tt class="py-string">"should be an ONOS node, instead got '"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2835"></a><tt class="py-lineno">2835</tt>  <tt class="py-line">                                 <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"'"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2836"></a><tt class="py-lineno">2836</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2837"></a><tt class="py-lineno">2837</tt>  <tt class="py-line">            <tt id="link-970" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-970', 'leaders', 'link-185');">leaders</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2838"></a><tt class="py-lineno">2838</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2839"></a><tt class="py-lineno">2839</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2840"></a><tt class="py-lineno">2840</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">leaderResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2841"></a><tt class="py-lineno">2841</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully ran for leadership"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2842"></a><tt class="py-lineno">2842</tt>  <tt class="py-line">            <tt id="link-971" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-971', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to run for leadership"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2843"></a><tt class="py-lineno">2843</tt>  <tt class="py-line"> </tt>
+<a name="L2844"></a><tt class="py-lineno">2844</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-972" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-972', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check that each node shows the same leader"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2845"></a><tt class="py-lineno">2845</tt>  <tt class="py-line">        <tt class="py-name">sameLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2846"></a><tt class="py-lineno">2846</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt id="link-973" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-973', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2847"></a><tt class="py-lineno">2847</tt>  <tt class="py-line">            <tt class="py-name">sameLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2848"></a><tt class="py-lineno">2848</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-974" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-974', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-975" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-975', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Results of electionTestLeader is order of main.CLIs:"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2849"></a><tt class="py-lineno">2849</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-976" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-976', 'leaders', 'link-185');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2850"></a><tt class="py-lineno">2850</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2851"></a><tt class="py-lineno">2851</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2852"></a><tt class="py-lineno">2852</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">sameLeader</tt><tt class="py-op">,</tt> </tt>
+<a name="L2853"></a><tt class="py-lineno">2853</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Leadership is consistent for the election topic"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2854"></a><tt class="py-lineno">2854</tt>  <tt class="py-line">            <tt id="link-977" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-977', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Nodes have different leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2855"></a><tt class="py-lineno">2855</tt>  <tt class="py-line"> </tt>
+<a name="L2856"></a><tt class="py-lineno">2856</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-978" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-978', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Find current leader and withdraw"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2857"></a><tt class="py-lineno">2857</tt>  <tt class="py-line">        <tt class="py-name">leader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-979" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-979', 'electionTestLeader', 'link-714');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2858"></a><tt class="py-lineno">2858</tt>  <tt class="py-line">        <tt class="py-comment"># do some sanity checking on leader before using it</tt> </tt>
+<a name="L2859"></a><tt class="py-lineno">2859</tt>  <tt class="py-line">        <tt class="py-name">withdrawResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2860"></a><tt class="py-lineno">2860</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">leader</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">leader</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2861"></a><tt class="py-lineno">2861</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-980" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-980', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-981" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-981', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2862"></a><tt class="py-lineno">2862</tt>  <tt class="py-line">                <tt class="py-string">"Leader for the election app should be an ONOS node,"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2863"></a><tt class="py-lineno">2863</tt>  <tt class="py-line">                <tt class="py-string">"instead got '"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"'"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2864"></a><tt class="py-lineno">2864</tt>  <tt class="py-line">            <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2865"></a><tt class="py-lineno">2865</tt>  <tt class="py-line">            <tt class="py-name">oldLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2866"></a><tt class="py-lineno">2866</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2867"></a><tt class="py-lineno">2867</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">leader</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-982" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-982', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">:</tt> </tt>
+<a name="L2868"></a><tt class="py-lineno">2868</tt>  <tt class="py-line">                <tt class="py-name">oldLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2869"></a><tt class="py-lineno">2869</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L2870"></a><tt class="py-lineno">2870</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># FOR/ELSE statement</tt> </tt>
+<a name="L2871"></a><tt class="py-lineno">2871</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-983" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-983', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-984" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-984', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Leader election, could not find current leader"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2872"></a><tt class="py-lineno">2872</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">oldLeader</tt><tt class="py-op">:</tt> </tt>
+<a name="L2873"></a><tt class="py-lineno">2873</tt>  <tt class="py-line">            <tt class="py-name">withdrawResult</tt> <tt class="py-op">=</tt> <tt class="py-name">oldLeader</tt><tt class="py-op">.</tt><tt id="link-985" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestWithdraw()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestWithdraw"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestWithdraw" class="py-name" href="#" onclick="return doclink('link-985', 'electionTestWithdraw', 'link-985');">electionTestWithdraw</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2874"></a><tt class="py-lineno">2874</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2875"></a><tt class="py-lineno">2875</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2876"></a><tt class="py-lineno">2876</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">withdrawResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2877"></a><tt class="py-lineno">2877</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Node was withdrawn from election"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2878"></a><tt class="py-lineno">2878</tt>  <tt class="py-line">            <tt id="link-986" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-986', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Node was not withdrawn from election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2879"></a><tt class="py-lineno">2879</tt>  <tt class="py-line"> </tt>
+<a name="L2880"></a><tt class="py-lineno">2880</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-987" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-987', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Make sure new leader is elected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2881"></a><tt class="py-lineno">2881</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: use threads</tt> </tt>
+<a name="L2882"></a><tt class="py-lineno">2882</tt>  <tt class="py-line">        <tt class="py-name">leaderList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2883"></a><tt class="py-lineno">2883</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-988" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-988', 'cli', 'link-227');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2884"></a><tt class="py-lineno">2884</tt>  <tt class="py-line">            <tt class="py-name">leaderN</tt> <tt class="py-op">=</tt> <tt id="link-989" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-989', 'cli', 'link-227');">cli</a></tt><tt class="py-op">.</tt><tt id="link-990" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-990', 'electionTestLeader', 'link-714');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2885"></a><tt class="py-lineno">2885</tt>  <tt class="py-line">            <tt class="py-name">leaderList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2886"></a><tt class="py-lineno">2886</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">==</tt> <tt class="py-name">leader</tt><tt class="py-op">:</tt> </tt>
+<a name="L2887"></a><tt class="py-lineno">2887</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-991" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-991', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-992" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-992', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt>  <tt id="link-993" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-993', 'cli', 'link-227');">cli</a></tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" still sees "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2888"></a><tt class="py-lineno">2888</tt>  <tt class="py-line">                                  <tt class="py-string">" as leader after they withdrew"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2889"></a><tt class="py-lineno">2889</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2890"></a><tt class="py-lineno">2890</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2891"></a><tt class="py-lineno">2891</tt>  <tt class="py-line">                <tt class="py-comment"># error in  response</tt> </tt>
+<a name="L2892"></a><tt class="py-lineno">2892</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: add check for "Command not found:" in the driver, this</tt> </tt>
+<a name="L2893"></a><tt class="py-lineno">2893</tt>  <tt class="py-line">                <tt class="py-comment">#       means the app isn't loaded</tt> </tt>
+<a name="L2894"></a><tt class="py-lineno">2894</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-994" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-994', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-995" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-995', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Something is wrong with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2895"></a><tt class="py-lineno">2895</tt>  <tt class="py-line">                                 <tt class="py-string">"electionTestLeader function, "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2896"></a><tt class="py-lineno">2896</tt>  <tt class="py-line">                                 <tt class="py-string">"check the error logs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2897"></a><tt class="py-lineno">2897</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2898"></a><tt class="py-lineno">2898</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">leaderN</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L2899"></a><tt class="py-lineno">2899</tt>  <tt class="py-line">                <tt class="py-comment"># node may not have recieved the event yet</tt> </tt>
+<a name="L2900"></a><tt class="py-lineno">2900</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">7</tt><tt class="py-op">)</tt> </tt>
+<a name="L2901"></a><tt class="py-lineno">2901</tt>  <tt class="py-line">                <tt class="py-name">leaderN</tt> <tt class="py-op">=</tt> <tt id="link-996" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-996', 'cli', 'link-227');">cli</a></tt><tt class="py-op">.</tt><tt id="link-997" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-997', 'electionTestLeader', 'link-714');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2902"></a><tt class="py-lineno">2902</tt>  <tt class="py-line">                <tt class="py-name">leaderList</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2903"></a><tt class="py-lineno">2903</tt>  <tt class="py-line">                <tt class="py-name">leaderList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2904"></a><tt class="py-lineno">2904</tt>  <tt class="py-line">        <tt class="py-name">consistentLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2905"></a><tt class="py-lineno">2905</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">leaderList</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2906"></a><tt class="py-lineno">2906</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-998" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-998', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Each Election-app sees '"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2907"></a><tt class="py-lineno">2907</tt>  <tt class="py-line">                           <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leaderList</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2908"></a><tt class="py-lineno">2908</tt>  <tt class="py-line">                           <tt class="py-string">"' as the leader"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2909"></a><tt class="py-lineno">2909</tt>  <tt class="py-line">            <tt class="py-name">consistentLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2910"></a><tt class="py-lineno">2910</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2911"></a><tt class="py-lineno">2911</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-999" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-999', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1000" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1000', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2912"></a><tt class="py-lineno">2912</tt>  <tt class="py-line">                <tt class="py-string">"Inconsistent responses for leader of Election-app:"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2913"></a><tt class="py-lineno">2913</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">leaderList</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2914"></a><tt class="py-lineno">2914</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1001" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1001', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1002" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1002', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2915"></a><tt class="py-lineno">2915</tt>  <tt class="py-line">                                 <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leaderList</tt><tt class="py-op">[</tt> <tt class="py-name">n</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2916"></a><tt class="py-lineno">2916</tt>  <tt class="py-line">        <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">leaderResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentLeader</tt> </tt>
+<a name="L2917"></a><tt class="py-lineno">2917</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2918"></a><tt class="py-lineno">2918</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2919"></a><tt class="py-lineno">2919</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">leaderResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2920"></a><tt class="py-lineno">2920</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Leadership election passed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2921"></a><tt class="py-lineno">2921</tt>  <tt class="py-line">            <tt id="link-1003" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1003', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something went wrong with Leadership election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2922"></a><tt class="py-lineno">2922</tt>  <tt class="py-line"> </tt>
+<a name="L2923"></a><tt class="py-lineno">2923</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1004" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1004', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Run for election on old leader( just so everyone "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2924"></a><tt class="py-lineno">2924</tt>  <tt class="py-line">                   <tt class="py-string">"is in the hat )"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2925"></a><tt class="py-lineno">2925</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">oldLeader</tt><tt class="py-op">:</tt> </tt>
+<a name="L2926"></a><tt class="py-lineno">2926</tt>  <tt class="py-line">            <tt class="py-name">runResult</tt> <tt class="py-op">=</tt> <tt class="py-name">oldLeader</tt><tt class="py-op">.</tt><tt id="link-1005" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestRun" class="py-name" href="#" onclick="return doclink('link-1005', 'electionTestRun', 'link-644');">electionTestRun</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2927"></a><tt class="py-lineno">2927</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2928"></a><tt class="py-lineno">2928</tt>  <tt class="py-line">            <tt class="py-name">runResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2929"></a><tt class="py-lineno">2929</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2930"></a><tt class="py-lineno">2930</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2931"></a><tt class="py-lineno">2931</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">runResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2932"></a><tt class="py-lineno">2932</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App re-ran for election"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2933"></a><tt class="py-lineno">2933</tt>  <tt class="py-line">            <tt id="link-1006" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1006', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"App failed to run for election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2934"></a><tt class="py-lineno">2934</tt>  <tt class="py-line"> </tt>
+<a name="L2935"></a><tt class="py-lineno">2935</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1007" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1007', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Leader did not change when old leader re-ran"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2936"></a><tt class="py-lineno">2936</tt>  <tt class="py-line">        <tt class="py-name">afterRun</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-1008" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-1008', 'electionTestLeader', 'link-714');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2937"></a><tt class="py-lineno">2937</tt>  <tt class="py-line">        <tt class="py-comment"># verify leader didn't just change</tt> </tt>
+<a name="L2938"></a><tt class="py-lineno">2938</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">afterRun</tt> <tt class="py-op">==</tt> <tt class="py-name">leaderList</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2939"></a><tt class="py-lineno">2939</tt>  <tt class="py-line">            <tt class="py-name">afterResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2940"></a><tt class="py-lineno">2940</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2941"></a><tt class="py-lineno">2941</tt>  <tt class="py-line">            <tt class="py-name">afterResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2942"></a><tt class="py-lineno">2942</tt>  <tt class="py-line"> </tt>
+<a name="L2943"></a><tt class="py-lineno">2943</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2944"></a><tt class="py-lineno">2944</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2945"></a><tt class="py-lineno">2945</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">afterResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2946"></a><tt class="py-lineno">2946</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Old leader successfully re-ran for election"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2947"></a><tt class="py-lineno">2947</tt>  <tt class="py-line">            <tt id="link-1009" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1009', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something went wrong with Leadership election after "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2948"></a><tt class="py-lineno">2948</tt>  <tt class="py-line">                   <tt class="py-string">"the old leader re-ran for election"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2949"></a><tt class="py-lineno">2949</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE16"></a><div id="HAclusterRestart.CASE16-def"><a name="L2950"></a><tt class="py-lineno">2950</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE16-toggle" onclick="return toggle('HAclusterRestart.CASE16');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE16">CASE16</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE16-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE16-expanded"><a name="L2951"></a><tt class="py-lineno">2951</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2952"></a><tt class="py-lineno">2952</tt>  <tt class="py-line"><tt class="py-docstring">        Install Distributed Primitives app</tt> </tt>
+<a name="L2953"></a><tt class="py-lineno">2953</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2954"></a><tt class="py-lineno">2954</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2955"></a><tt class="py-lineno">2955</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2956"></a><tt class="py-lineno">2956</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2957"></a><tt class="py-lineno">2957</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2958"></a><tt class="py-lineno">2958</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2959"></a><tt class="py-lineno">2959</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1010" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-1010', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2960"></a><tt class="py-lineno">2960</tt>  <tt class="py-line"> </tt>
+<a name="L2961"></a><tt class="py-lineno">2961</tt>  <tt class="py-line">        <tt class="py-comment"># Variables for the distributed primitives tests</tt> </tt>
+<a name="L2962"></a><tt class="py-lineno">2962</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">pCounterName</tt> </tt>
+<a name="L2963"></a><tt class="py-lineno">2963</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">iCounterName</tt> </tt>
+<a name="L2964"></a><tt class="py-lineno">2964</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">pCounterValue</tt> </tt>
+<a name="L2965"></a><tt class="py-lineno">2965</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">iCounterValue</tt> </tt>
+<a name="L2966"></a><tt class="py-lineno">2966</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">onosSet</tt> </tt>
+<a name="L2967"></a><tt class="py-lineno">2967</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">onosSetName</tt> </tt>
+<a name="L2968"></a><tt class="py-lineno">2968</tt>  <tt class="py-line">        <tt class="py-name">pCounterName</tt> <tt class="py-op">=</tt> <tt class="py-string">"TestON-Partitions"</tt> </tt>
+<a name="L2969"></a><tt class="py-lineno">2969</tt>  <tt class="py-line">        <tt class="py-name">iCounterName</tt> <tt class="py-op">=</tt> <tt class="py-string">"TestON-inMemory"</tt> </tt>
+<a name="L2970"></a><tt class="py-lineno">2970</tt>  <tt class="py-line">        <tt class="py-name">pCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2971"></a><tt class="py-lineno">2971</tt>  <tt class="py-line">        <tt class="py-name">iCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2972"></a><tt class="py-lineno">2972</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2973"></a><tt class="py-lineno">2973</tt>  <tt class="py-line">        <tt class="py-name">onosSetName</tt> <tt class="py-op">=</tt> <tt class="py-string">"TestON-set"</tt> </tt>
+<a name="L2974"></a><tt class="py-lineno">2974</tt>  <tt class="py-line"> </tt>
+<a name="L2975"></a><tt class="py-lineno">2975</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Install Primitives app"</tt> </tt>
+<a name="L2976"></a><tt class="py-lineno">2976</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1011" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1011', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2977"></a><tt class="py-lineno">2977</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1012" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1012', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install Primitives app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2978"></a><tt class="py-lineno">2978</tt>  <tt class="py-line">        <tt class="py-name">appName</tt> <tt class="py-op">=</tt> <tt class="py-string">"org.onosproject.distributedprimitives"</tt> </tt>
+<a name="L2979"></a><tt class="py-lineno">2979</tt>  <tt class="py-line">        <tt class="py-name">appResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1013" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp" class="py-name" href="#" onclick="return doclink('link-1013', 'activateApp', 'link-128');">activateApp</a></tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2980"></a><tt class="py-lineno">2980</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2981"></a><tt class="py-lineno">2981</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2982"></a><tt class="py-lineno">2982</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Primitives app activated"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2983"></a><tt class="py-lineno">2983</tt>  <tt class="py-line">                                 <tt id="link-1014" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1014', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Primitives app not activated"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2984"></a><tt class="py-lineno">2984</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">5</tt> <tt class="py-op">)</tt>  <tt class="py-comment"># To allow all nodes to activate</tt> </tt>
+</div><a name="L2985"></a><tt class="py-lineno">2985</tt>  <tt class="py-line"> </tt>
+<a name="HAclusterRestart.CASE17"></a><div id="HAclusterRestart.CASE17-def"><a name="L2986"></a><tt class="py-lineno">2986</tt> <a class="py-toggle" href="#" id="HAclusterRestart.CASE17-toggle" onclick="return toggle('HAclusterRestart.CASE17');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE17">CASE17</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAclusterRestart.CASE17-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAclusterRestart.CASE17-expanded"><a name="L2987"></a><tt class="py-lineno">2987</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2988"></a><tt class="py-lineno">2988</tt>  <tt class="py-line"><tt class="py-docstring">        Check for basic functionality with distributed primitives</tt> </tt>
+<a name="L2989"></a><tt class="py-lineno">2989</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2990"></a><tt class="py-lineno">2990</tt>  <tt class="py-line">        <tt class="py-comment"># Make sure variables are defined/set</tt> </tt>
+<a name="L2991"></a><tt class="py-lineno">2991</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2992"></a><tt class="py-lineno">2992</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2993"></a><tt class="py-lineno">2993</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2994"></a><tt class="py-lineno">2994</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2995"></a><tt class="py-lineno">2995</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1015" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-1015', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2996"></a><tt class="py-lineno">2996</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">pCounterName</tt><tt class="py-op">,</tt> <tt class="py-string">"pCounterName not defined"</tt> </tt>
+<a name="L2997"></a><tt class="py-lineno">2997</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-string">"iCounterName not defined"</tt> </tt>
+<a name="L2998"></a><tt class="py-lineno">2998</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-string">"onosSetName not defined"</tt> </tt>
+<a name="L2999"></a><tt class="py-lineno">2999</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: assert fails if value is 0/None/Empty/False</tt> </tt>
+<a name="L3000"></a><tt class="py-lineno">3000</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3001"></a><tt class="py-lineno">3001</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> </tt>
+<a name="L3002"></a><tt class="py-lineno">3002</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3003"></a><tt class="py-lineno">3003</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1016" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1016', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1017" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1017', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pCounterValue not defined, setting to 0"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3004"></a><tt class="py-lineno">3004</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L3005"></a><tt class="py-lineno">3005</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3006"></a><tt class="py-lineno">3006</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> </tt>
+<a name="L3007"></a><tt class="py-lineno">3007</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3008"></a><tt class="py-lineno">3008</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1018" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1018', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1019" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1019', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"iCounterValue not defined, setting to 0"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3009"></a><tt class="py-lineno">3009</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L3010"></a><tt class="py-lineno">3010</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3011"></a><tt class="py-lineno">3011</tt>  <tt class="py-line">            <tt class="py-name">onosSet</tt> </tt>
+<a name="L3012"></a><tt class="py-lineno">3012</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3013"></a><tt class="py-lineno">3013</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1020" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1020', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1021" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1021', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onosSet not defined, setting to empty Set"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3014"></a><tt class="py-lineno">3014</tt>  <tt class="py-line">            <tt class="py-name">onosSet</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L3015"></a><tt class="py-lineno">3015</tt>  <tt class="py-line">        <tt class="py-comment"># Variables for the distributed primitives tests. These are local only</tt> </tt>
+<a name="L3016"></a><tt class="py-lineno">3016</tt>  <tt class="py-line">        <tt class="py-name">addValue</tt> <tt class="py-op">=</tt> <tt class="py-string">"a"</tt> </tt>
+<a name="L3017"></a><tt class="py-lineno">3017</tt>  <tt class="py-line">        <tt class="py-name">addAllValue</tt> <tt class="py-op">=</tt> <tt class="py-string">"a b c d e f"</tt> </tt>
+<a name="L3018"></a><tt class="py-lineno">3018</tt>  <tt class="py-line">        <tt class="py-name">retainValue</tt> <tt class="py-op">=</tt> <tt class="py-string">"c d e f"</tt> </tt>
+<a name="L3019"></a><tt class="py-lineno">3019</tt>  <tt class="py-line"> </tt>
+<a name="L3020"></a><tt class="py-lineno">3020</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Check for basic functionality with distributed "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L3021"></a><tt class="py-lineno">3021</tt>  <tt class="py-line">                      <tt class="py-string">"primitives"</tt> </tt>
+<a name="L3022"></a><tt class="py-lineno">3022</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1022" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1022', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3023"></a><tt class="py-lineno">3023</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Test the methods of the distributed "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L3024"></a><tt class="py-lineno">3024</tt>  <tt class="py-line">                                <tt class="py-string">"primitives (counters and sets) throught the cli"</tt> </tt>
+<a name="L3025"></a><tt class="py-lineno">3025</tt>  <tt class="py-line">        <tt class="py-comment"># DISTRIBUTED ATOMIC COUNTERS</tt> </tt>
+<a name="L3026"></a><tt class="py-lineno">3026</tt>  <tt class="py-line">        <tt class="py-comment"># Partitioned counters</tt> </tt>
+<a name="L3027"></a><tt class="py-lineno">3027</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1023" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1023', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Increment then get a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3028"></a><tt class="py-lineno">3028</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3029"></a><tt class="py-lineno">3029</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3030"></a><tt class="py-lineno">3030</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3031"></a><tt class="py-lineno">3031</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3032"></a><tt class="py-lineno">3032</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1024" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1024', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1025" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counterTestAddAndGet"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1025', 'counterTestAddAndGet', 'link-1025');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3033"></a><tt class="py-lineno">3033</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterAddAndGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3034"></a><tt class="py-lineno">3034</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3035"></a><tt class="py-lineno">3035</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L3036"></a><tt class="py-lineno">3036</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3037"></a><tt class="py-lineno">3037</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3038"></a><tt class="py-lineno">3038</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3039"></a><tt class="py-lineno">3039</tt>  <tt class="py-line"> </tt>
+<a name="L3040"></a><tt class="py-lineno">3040</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3041"></a><tt class="py-lineno">3041</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3042"></a><tt class="py-lineno">3042</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3043"></a><tt class="py-lineno">3043</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3044"></a><tt class="py-lineno">3044</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3045"></a><tt class="py-lineno">3045</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3046"></a><tt class="py-lineno">3046</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L3047"></a><tt class="py-lineno">3047</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3048"></a><tt class="py-lineno">3048</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3049"></a><tt class="py-lineno">3049</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1026" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1026', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1027" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1027', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L3050"></a><tt class="py-lineno">3050</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3051"></a><tt class="py-lineno">3051</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3052"></a><tt class="py-lineno">3052</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3053"></a><tt class="py-lineno">3053</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3054"></a><tt class="py-lineno">3054</tt>  <tt class="py-line">                                 <tt id="link-1028" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1028', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3055"></a><tt class="py-lineno">3055</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3056"></a><tt class="py-lineno">3056</tt>  <tt class="py-line"> </tt>
+<a name="L3057"></a><tt class="py-lineno">3057</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1029" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1029', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get then Increment a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3058"></a><tt class="py-lineno">3058</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3059"></a><tt class="py-lineno">3059</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3060"></a><tt class="py-lineno">3060</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3061"></a><tt class="py-lineno">3061</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3062"></a><tt class="py-lineno">3062</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1030" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1030', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1031" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counterTestGetAndAdd"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd" class="py-name" href="#" onclick="return doclink('link-1031', 'counterTestGetAndAdd', 'link-1031');">counterTestGetAndAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3063"></a><tt class="py-lineno">3063</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterGetAndAdd-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3064"></a><tt class="py-lineno">3064</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3065"></a><tt class="py-lineno">3065</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3066"></a><tt class="py-lineno">3066</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L3067"></a><tt class="py-lineno">3067</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3068"></a><tt class="py-lineno">3068</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3069"></a><tt class="py-lineno">3069</tt>  <tt class="py-line"> </tt>
+<a name="L3070"></a><tt class="py-lineno">3070</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3071"></a><tt class="py-lineno">3071</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3072"></a><tt class="py-lineno">3072</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3073"></a><tt class="py-lineno">3073</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3074"></a><tt class="py-lineno">3074</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3075"></a><tt class="py-lineno">3075</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3076"></a><tt class="py-lineno">3076</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L3077"></a><tt class="py-lineno">3077</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3078"></a><tt class="py-lineno">3078</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3079"></a><tt class="py-lineno">3079</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1032" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1032', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1033" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1033', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L3080"></a><tt class="py-lineno">3080</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3081"></a><tt class="py-lineno">3081</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3082"></a><tt class="py-lineno">3082</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3083"></a><tt class="py-lineno">3083</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3084"></a><tt class="py-lineno">3084</tt>  <tt class="py-line">                                 <tt id="link-1034" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1034', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3085"></a><tt class="py-lineno">3085</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3086"></a><tt class="py-lineno">3086</tt>  <tt class="py-line"> </tt>
+<a name="L3087"></a><tt class="py-lineno">3087</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1035" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1035', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3088"></a><tt class="py-lineno">3088</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1036" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1036', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1037" class="py-name" targets="Function TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#counterCheck,Function TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#counterCheck,Function TestON.tests.HAsanity.dependencies.Counters.counterCheck()=TestON.tests.HAsanity.dependencies.Counters-module.html#counterCheck,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#counterCheck"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1037', 'counterCheck', 'link-1037');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">pCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3089"></a><tt class="py-lineno">3089</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3090"></a><tt class="py-lineno">3090</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L3091"></a><tt class="py-lineno">3091</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3092"></a><tt class="py-lineno">3092</tt>  <tt class="py-line">                                 <tt id="link-1038" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1038', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3093"></a><tt class="py-lineno">3093</tt>  <tt class="py-line"> </tt>
+<a name="L3094"></a><tt class="py-lineno">3094</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1039" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1039', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add -8 to then get a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3095"></a><tt class="py-lineno">3095</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3096"></a><tt class="py-lineno">3096</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3097"></a><tt class="py-lineno">3097</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3098"></a><tt class="py-lineno">3098</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3099"></a><tt class="py-lineno">3099</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1040" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1040', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1041" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1041', 'counterTestAddAndGet', 'link-1025');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3100"></a><tt class="py-lineno">3100</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3101"></a><tt class="py-lineno">3101</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3102"></a><tt class="py-lineno">3102</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-op">-</tt><tt class="py-number">8</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3103"></a><tt class="py-lineno">3103</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-op">-</tt><tt class="py-number">8</tt> </tt>
+<a name="L3104"></a><tt class="py-lineno">3104</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3105"></a><tt class="py-lineno">3105</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3106"></a><tt class="py-lineno">3106</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3107"></a><tt class="py-lineno">3107</tt>  <tt class="py-line"> </tt>
+<a name="L3108"></a><tt class="py-lineno">3108</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3109"></a><tt class="py-lineno">3109</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3110"></a><tt class="py-lineno">3110</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3111"></a><tt class="py-lineno">3111</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3112"></a><tt class="py-lineno">3112</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3113"></a><tt class="py-lineno">3113</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3114"></a><tt class="py-lineno">3114</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L3115"></a><tt class="py-lineno">3115</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3116"></a><tt class="py-lineno">3116</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3117"></a><tt class="py-lineno">3117</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1042" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1042', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1043" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1043', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L3118"></a><tt class="py-lineno">3118</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3119"></a><tt class="py-lineno">3119</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3120"></a><tt class="py-lineno">3120</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3121"></a><tt class="py-lineno">3121</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3122"></a><tt class="py-lineno">3122</tt>  <tt class="py-line">                                 <tt id="link-1044" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1044', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3123"></a><tt class="py-lineno">3123</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3124"></a><tt class="py-lineno">3124</tt>  <tt class="py-line"> </tt>
+<a name="L3125"></a><tt class="py-lineno">3125</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1045" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1045', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add 5 to then get a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3126"></a><tt class="py-lineno">3126</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3127"></a><tt class="py-lineno">3127</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3128"></a><tt class="py-lineno">3128</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3129"></a><tt class="py-lineno">3129</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3130"></a><tt class="py-lineno">3130</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1046" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1046', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1047" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1047', 'counterTestAddAndGet', 'link-1025');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3131"></a><tt class="py-lineno">3131</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3132"></a><tt class="py-lineno">3132</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3133"></a><tt class="py-lineno">3133</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-number">5</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3134"></a><tt class="py-lineno">3134</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L3135"></a><tt class="py-lineno">3135</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3136"></a><tt class="py-lineno">3136</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3137"></a><tt class="py-lineno">3137</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3138"></a><tt class="py-lineno">3138</tt>  <tt class="py-line"> </tt>
+<a name="L3139"></a><tt class="py-lineno">3139</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3140"></a><tt class="py-lineno">3140</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3141"></a><tt class="py-lineno">3141</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3142"></a><tt class="py-lineno">3142</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3143"></a><tt class="py-lineno">3143</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3144"></a><tt class="py-lineno">3144</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3145"></a><tt class="py-lineno">3145</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L3146"></a><tt class="py-lineno">3146</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3147"></a><tt class="py-lineno">3147</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3148"></a><tt class="py-lineno">3148</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1048" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1048', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1049" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1049', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L3149"></a><tt class="py-lineno">3149</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3150"></a><tt class="py-lineno">3150</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3151"></a><tt class="py-lineno">3151</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3152"></a><tt class="py-lineno">3152</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3153"></a><tt class="py-lineno">3153</tt>  <tt class="py-line">                                 <tt id="link-1050" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1050', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3154"></a><tt class="py-lineno">3154</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3155"></a><tt class="py-lineno">3155</tt>  <tt class="py-line"> </tt>
+<a name="L3156"></a><tt class="py-lineno">3156</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1051" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1051', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get then add 5 to a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3157"></a><tt class="py-lineno">3157</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3158"></a><tt class="py-lineno">3158</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3159"></a><tt class="py-lineno">3159</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3160"></a><tt class="py-lineno">3160</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3161"></a><tt class="py-lineno">3161</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1052" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1052', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1053" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd" class="py-name" href="#" onclick="return doclink('link-1053', 'counterTestGetAndAdd', 'link-1031');">counterTestGetAndAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3162"></a><tt class="py-lineno">3162</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3163"></a><tt class="py-lineno">3163</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3164"></a><tt class="py-lineno">3164</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-number">5</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3165"></a><tt class="py-lineno">3165</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3166"></a><tt class="py-lineno">3166</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L3167"></a><tt class="py-lineno">3167</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3168"></a><tt class="py-lineno">3168</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3169"></a><tt class="py-lineno">3169</tt>  <tt class="py-line"> </tt>
+<a name="L3170"></a><tt class="py-lineno">3170</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3171"></a><tt class="py-lineno">3171</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3172"></a><tt class="py-lineno">3172</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3173"></a><tt class="py-lineno">3173</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3174"></a><tt class="py-lineno">3174</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3175"></a><tt class="py-lineno">3175</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3176"></a><tt class="py-lineno">3176</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L3177"></a><tt class="py-lineno">3177</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3178"></a><tt class="py-lineno">3178</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3179"></a><tt class="py-lineno">3179</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1054" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1054', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1055" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1055', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L3180"></a><tt class="py-lineno">3180</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3181"></a><tt class="py-lineno">3181</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3182"></a><tt class="py-lineno">3182</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3183"></a><tt class="py-lineno">3183</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3184"></a><tt class="py-lineno">3184</tt>  <tt class="py-line">                                 <tt id="link-1056" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1056', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3185"></a><tt class="py-lineno">3185</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3186"></a><tt class="py-lineno">3186</tt>  <tt class="py-line"> </tt>
+<a name="L3187"></a><tt class="py-lineno">3187</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1057" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1057', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3188"></a><tt class="py-lineno">3188</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1058" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1058', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1059" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1059', 'counterCheck', 'link-1037');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">pCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3189"></a><tt class="py-lineno">3189</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3190"></a><tt class="py-lineno">3190</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L3191"></a><tt class="py-lineno">3191</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3192"></a><tt class="py-lineno">3192</tt>  <tt class="py-line">                                 <tt id="link-1060" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1060', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3193"></a><tt class="py-lineno">3193</tt>  <tt class="py-line"> </tt>
+<a name="L3194"></a><tt class="py-lineno">3194</tt>  <tt class="py-line">        <tt class="py-comment"># In-Memory counters</tt> </tt>
+<a name="L3195"></a><tt class="py-lineno">3195</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1061" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1061', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Increment and get an in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3196"></a><tt class="py-lineno">3196</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3197"></a><tt class="py-lineno">3197</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3198"></a><tt class="py-lineno">3198</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3199"></a><tt class="py-lineno">3199</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3200"></a><tt class="py-lineno">3200</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1062" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1062', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1063" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1063', 'counterTestAddAndGet', 'link-1025');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3201"></a><tt class="py-lineno">3201</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"icounterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3202"></a><tt class="py-lineno">3202</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3203"></a><tt class="py-lineno">3203</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3204"></a><tt class="py-lineno">3204</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L3205"></a><tt class="py-lineno">3205</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3206"></a><tt class="py-lineno">3206</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3207"></a><tt class="py-lineno">3207</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3208"></a><tt class="py-lineno">3208</tt>  <tt class="py-line"> </tt>
+<a name="L3209"></a><tt class="py-lineno">3209</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3210"></a><tt class="py-lineno">3210</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3211"></a><tt class="py-lineno">3211</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3212"></a><tt class="py-lineno">3212</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3213"></a><tt class="py-lineno">3213</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3214"></a><tt class="py-lineno">3214</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3215"></a><tt class="py-lineno">3215</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L3216"></a><tt class="py-lineno">3216</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3217"></a><tt class="py-lineno">3217</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3218"></a><tt class="py-lineno">3218</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1064" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1064', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1065" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1065', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in the in-memory "</tt> </tt>
+<a name="L3219"></a><tt class="py-lineno">3219</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3220"></a><tt class="py-lineno">3220</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3221"></a><tt class="py-lineno">3221</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">iCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3222"></a><tt class="py-lineno">3222</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3223"></a><tt class="py-lineno">3223</tt>  <tt class="py-line">                                 <tt id="link-1066" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1066', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3224"></a><tt class="py-lineno">3224</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3225"></a><tt class="py-lineno">3225</tt>  <tt class="py-line"> </tt>
+<a name="L3226"></a><tt class="py-lineno">3226</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1067" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1067', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get then Increment a in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3227"></a><tt class="py-lineno">3227</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3228"></a><tt class="py-lineno">3228</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3229"></a><tt class="py-lineno">3229</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3230"></a><tt class="py-lineno">3230</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3231"></a><tt class="py-lineno">3231</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1068" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1068', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1069" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd" class="py-name" href="#" onclick="return doclink('link-1069', 'counterTestGetAndAdd', 'link-1031');">counterTestGetAndAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3232"></a><tt class="py-lineno">3232</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterGetAndAdd-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3233"></a><tt class="py-lineno">3233</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3234"></a><tt class="py-lineno">3234</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3235"></a><tt class="py-lineno">3235</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3236"></a><tt class="py-lineno">3236</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L3237"></a><tt class="py-lineno">3237</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3238"></a><tt class="py-lineno">3238</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3239"></a><tt class="py-lineno">3239</tt>  <tt class="py-line"> </tt>
+<a name="L3240"></a><tt class="py-lineno">3240</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3241"></a><tt class="py-lineno">3241</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3242"></a><tt class="py-lineno">3242</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3243"></a><tt class="py-lineno">3243</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3244"></a><tt class="py-lineno">3244</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3245"></a><tt class="py-lineno">3245</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3246"></a><tt class="py-lineno">3246</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L3247"></a><tt class="py-lineno">3247</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3248"></a><tt class="py-lineno">3248</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3249"></a><tt class="py-lineno">3249</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1070" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1070', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1071" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1071', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in in-memory "</tt> </tt>
+<a name="L3250"></a><tt class="py-lineno">3250</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3251"></a><tt class="py-lineno">3251</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3252"></a><tt class="py-lineno">3252</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">iCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3253"></a><tt class="py-lineno">3253</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3254"></a><tt class="py-lineno">3254</tt>  <tt class="py-line">                                 <tt id="link-1072" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1072', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3255"></a><tt class="py-lineno">3255</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3256"></a><tt class="py-lineno">3256</tt>  <tt class="py-line"> </tt>
+<a name="L3257"></a><tt class="py-lineno">3257</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1073" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1073', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3258"></a><tt class="py-lineno">3258</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1074" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1074', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1075" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1075', 'counterCheck', 'link-1037');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3259"></a><tt class="py-lineno">3259</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3260"></a><tt class="py-lineno">3260</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L3261"></a><tt class="py-lineno">3261</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3262"></a><tt class="py-lineno">3262</tt>  <tt class="py-line">                                 <tt id="link-1076" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1076', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3263"></a><tt class="py-lineno">3263</tt>  <tt class="py-line"> </tt>
+<a name="L3264"></a><tt class="py-lineno">3264</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1077" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1077', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add -8 to then get a in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3265"></a><tt class="py-lineno">3265</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3266"></a><tt class="py-lineno">3266</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3267"></a><tt class="py-lineno">3267</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3268"></a><tt class="py-lineno">3268</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3269"></a><tt class="py-lineno">3269</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1078" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1078', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1079" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1079', 'counterTestAddAndGet', 'link-1025');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3270"></a><tt class="py-lineno">3270</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3271"></a><tt class="py-lineno">3271</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3272"></a><tt class="py-lineno">3272</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-op">-</tt><tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt>  <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3273"></a><tt class="py-lineno">3273</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-op">-</tt><tt class="py-number">8</tt> </tt>
+<a name="L3274"></a><tt class="py-lineno">3274</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3275"></a><tt class="py-lineno">3275</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3276"></a><tt class="py-lineno">3276</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3277"></a><tt class="py-lineno">3277</tt>  <tt class="py-line"> </tt>
+<a name="L3278"></a><tt class="py-lineno">3278</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3279"></a><tt class="py-lineno">3279</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3280"></a><tt class="py-lineno">3280</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3281"></a><tt class="py-lineno">3281</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3282"></a><tt class="py-lineno">3282</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3283"></a><tt class="py-lineno">3283</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3284"></a><tt class="py-lineno">3284</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L3285"></a><tt class="py-lineno">3285</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3286"></a><tt class="py-lineno">3286</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3287"></a><tt class="py-lineno">3287</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1080" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1080', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1081" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1081', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in in-memory "</tt> </tt>
+<a name="L3288"></a><tt class="py-lineno">3288</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3289"></a><tt class="py-lineno">3289</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3290"></a><tt class="py-lineno">3290</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3291"></a><tt class="py-lineno">3291</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3292"></a><tt class="py-lineno">3292</tt>  <tt class="py-line">                                 <tt id="link-1082" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1082', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3293"></a><tt class="py-lineno">3293</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3294"></a><tt class="py-lineno">3294</tt>  <tt class="py-line"> </tt>
+<a name="L3295"></a><tt class="py-lineno">3295</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1083" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1083', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add 5 to then get a in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3296"></a><tt class="py-lineno">3296</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3297"></a><tt class="py-lineno">3297</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3298"></a><tt class="py-lineno">3298</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3299"></a><tt class="py-lineno">3299</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3300"></a><tt class="py-lineno">3300</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1084" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1084', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1085" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1085', 'counterTestAddAndGet', 'link-1025');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3301"></a><tt class="py-lineno">3301</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3302"></a><tt class="py-lineno">3302</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3303"></a><tt class="py-lineno">3303</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt>  <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3304"></a><tt class="py-lineno">3304</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L3305"></a><tt class="py-lineno">3305</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3306"></a><tt class="py-lineno">3306</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3307"></a><tt class="py-lineno">3307</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3308"></a><tt class="py-lineno">3308</tt>  <tt class="py-line"> </tt>
+<a name="L3309"></a><tt class="py-lineno">3309</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3310"></a><tt class="py-lineno">3310</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3311"></a><tt class="py-lineno">3311</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3312"></a><tt class="py-lineno">3312</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3313"></a><tt class="py-lineno">3313</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3314"></a><tt class="py-lineno">3314</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3315"></a><tt class="py-lineno">3315</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L3316"></a><tt class="py-lineno">3316</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3317"></a><tt class="py-lineno">3317</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3318"></a><tt class="py-lineno">3318</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1086" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1086', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1087" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1087', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in in-memory "</tt> </tt>
+<a name="L3319"></a><tt class="py-lineno">3319</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3320"></a><tt class="py-lineno">3320</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3321"></a><tt class="py-lineno">3321</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3322"></a><tt class="py-lineno">3322</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3323"></a><tt class="py-lineno">3323</tt>  <tt class="py-line">                                 <tt id="link-1088" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1088', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3324"></a><tt class="py-lineno">3324</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3325"></a><tt class="py-lineno">3325</tt>  <tt class="py-line"> </tt>
+<a name="L3326"></a><tt class="py-lineno">3326</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1089" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1089', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get then add 5 to a in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3327"></a><tt class="py-lineno">3327</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3328"></a><tt class="py-lineno">3328</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3329"></a><tt class="py-lineno">3329</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3330"></a><tt class="py-lineno">3330</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3331"></a><tt class="py-lineno">3331</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1090" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1090', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1091" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd" class="py-name" href="#" onclick="return doclink('link-1091', 'counterTestGetAndAdd', 'link-1031');">counterTestGetAndAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3332"></a><tt class="py-lineno">3332</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3333"></a><tt class="py-lineno">3333</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3334"></a><tt class="py-lineno">3334</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt>  <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3335"></a><tt class="py-lineno">3335</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3336"></a><tt class="py-lineno">3336</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L3337"></a><tt class="py-lineno">3337</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3338"></a><tt class="py-lineno">3338</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3339"></a><tt class="py-lineno">3339</tt>  <tt class="py-line"> </tt>
+<a name="L3340"></a><tt class="py-lineno">3340</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3341"></a><tt class="py-lineno">3341</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3342"></a><tt class="py-lineno">3342</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3343"></a><tt class="py-lineno">3343</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3344"></a><tt class="py-lineno">3344</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3345"></a><tt class="py-lineno">3345</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3346"></a><tt class="py-lineno">3346</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L3347"></a><tt class="py-lineno">3347</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3348"></a><tt class="py-lineno">3348</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3349"></a><tt class="py-lineno">3349</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1092" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1092', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1093" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1093', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in in-memory "</tt> </tt>
+<a name="L3350"></a><tt class="py-lineno">3350</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3351"></a><tt class="py-lineno">3351</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3352"></a><tt class="py-lineno">3352</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">iCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3353"></a><tt class="py-lineno">3353</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3354"></a><tt class="py-lineno">3354</tt>  <tt class="py-line">                                 <tt id="link-1094" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1094', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3355"></a><tt class="py-lineno">3355</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3356"></a><tt class="py-lineno">3356</tt>  <tt class="py-line"> </tt>
+<a name="L3357"></a><tt class="py-lineno">3357</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1095" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1095', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3358"></a><tt class="py-lineno">3358</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1096" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1096', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1097" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1097', 'counterCheck', 'link-1037');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3359"></a><tt class="py-lineno">3359</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3360"></a><tt class="py-lineno">3360</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L3361"></a><tt class="py-lineno">3361</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3362"></a><tt class="py-lineno">3362</tt>  <tt class="py-line">                                 <tt id="link-1098" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1098', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3363"></a><tt class="py-lineno">3363</tt>  <tt class="py-line"> </tt>
+<a name="L3364"></a><tt class="py-lineno">3364</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1099" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1099', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check counters are consistant across nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3365"></a><tt class="py-lineno">3365</tt>  <tt class="py-line">        <tt class="py-name">onosCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3366"></a><tt class="py-lineno">3366</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3367"></a><tt class="py-lineno">3367</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3368"></a><tt class="py-lineno">3368</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1100" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1100', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1101" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counters"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters" class="py-name" href="#" onclick="return doclink('link-1101', 'counters', 'link-1101');">counters</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3369"></a><tt class="py-lineno">3369</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counters-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3370"></a><tt class="py-lineno">3370</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3371"></a><tt class="py-lineno">3371</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3372"></a><tt class="py-lineno">3372</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3373"></a><tt class="py-lineno">3373</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3374"></a><tt class="py-lineno">3374</tt>  <tt class="py-line">            <tt class="py-name">onosCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3375"></a><tt class="py-lineno">3375</tt>  <tt class="py-line">        <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosCounters</tt> <tt class="py-op">]</tt> </tt>
+<a name="L3376"></a><tt class="py-lineno">3376</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt> <tt class="py-name">tmp</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3377"></a><tt class="py-lineno">3377</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1102" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1102', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Counters are consistent across all nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3378"></a><tt class="py-lineno">3378</tt>  <tt class="py-line">            <tt class="py-name">consistentCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3379"></a><tt class="py-lineno">3379</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3380"></a><tt class="py-lineno">3380</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1103" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1103', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1104" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1104', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters are not consistent across all nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3381"></a><tt class="py-lineno">3381</tt>  <tt class="py-line">            <tt class="py-name">consistentCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3382"></a><tt class="py-lineno">3382</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3383"></a><tt class="py-lineno">3383</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3384"></a><tt class="py-lineno">3384</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS counters are consistent "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3385"></a><tt class="py-lineno">3385</tt>  <tt class="py-line">                                        <tt class="py-string">"across nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3386"></a><tt class="py-lineno">3386</tt>  <tt class="py-line">                                 <tt id="link-1105" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1105', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS Counters are inconsistent "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3387"></a><tt class="py-lineno">3387</tt>  <tt class="py-line">                                        <tt class="py-string">"across nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3388"></a><tt class="py-lineno">3388</tt>  <tt class="py-line"> </tt>
+<a name="L3389"></a><tt class="py-lineno">3389</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1106" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1106', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3390"></a><tt class="py-lineno">3390</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1107" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1107', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1108" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1108', 'counterCheck', 'link-1037');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3391"></a><tt class="py-lineno">3391</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">incrementCheck</tt> <tt class="py-keyword">and</tt> \ </tt>
+<a name="L3392"></a><tt class="py-lineno">3392</tt>  <tt class="py-line">                         <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1109" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1109', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1110" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1110', 'counterCheck', 'link-1037');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3393"></a><tt class="py-lineno">3393</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3394"></a><tt class="py-lineno">3394</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L3395"></a><tt class="py-lineno">3395</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3396"></a><tt class="py-lineno">3396</tt>  <tt class="py-line">                                 <tt id="link-1111" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1111', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3397"></a><tt class="py-lineno">3397</tt>  <tt class="py-line"> </tt>
+<a name="L3398"></a><tt class="py-lineno">3398</tt>  <tt class="py-line">        <tt class="py-comment"># DISTRIBUTED SETS</tt> </tt>
+<a name="L3399"></a><tt class="py-lineno">3399</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1112" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1112', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set get"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3400"></a><tt class="py-lineno">3400</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3401"></a><tt class="py-lineno">3401</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3402"></a><tt class="py-lineno">3402</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3403"></a><tt class="py-lineno">3403</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3404"></a><tt class="py-lineno">3404</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1113" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1113', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1114" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestGet"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1114', 'setTestGet', 'link-1114');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3405"></a><tt class="py-lineno">3405</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3406"></a><tt class="py-lineno">3406</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3407"></a><tt class="py-lineno">3407</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3408"></a><tt class="py-lineno">3408</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3409"></a><tt class="py-lineno">3409</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3410"></a><tt class="py-lineno">3410</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3411"></a><tt class="py-lineno">3411</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3412"></a><tt class="py-lineno">3412</tt>  <tt class="py-line"> </tt>
+<a name="L3413"></a><tt class="py-lineno">3413</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3414"></a><tt class="py-lineno">3414</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3415"></a><tt class="py-lineno">3415</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3416"></a><tt class="py-lineno">3416</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3417"></a><tt class="py-lineno">3417</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3418"></a><tt class="py-lineno">3418</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3419"></a><tt class="py-lineno">3419</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3420"></a><tt class="py-lineno">3420</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1115" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1115', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1116" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1116', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3421"></a><tt class="py-lineno">3421</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3422"></a><tt class="py-lineno">3422</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3423"></a><tt class="py-lineno">3423</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3424"></a><tt class="py-lineno">3424</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1117" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1117', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3425"></a><tt class="py-lineno">3425</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1118" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1118', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3426"></a><tt class="py-lineno">3426</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3427"></a><tt class="py-lineno">3427</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3428"></a><tt class="py-lineno">3428</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3429"></a><tt class="py-lineno">3429</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1119" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1119', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1120" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1120', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3430"></a><tt class="py-lineno">3430</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3431"></a><tt class="py-lineno">3431</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3432"></a><tt class="py-lineno">3432</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3433"></a><tt class="py-lineno">3433</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3434"></a><tt class="py-lineno">3434</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3435"></a><tt class="py-lineno">3435</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3436"></a><tt class="py-lineno">3436</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3437"></a><tt class="py-lineno">3437</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">getResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3438"></a><tt class="py-lineno">3438</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set elements are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3439"></a><tt class="py-lineno">3439</tt>  <tt class="py-line">                                 <tt id="link-1121" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1121', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set elements are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3440"></a><tt class="py-lineno">3440</tt>  <tt class="py-line"> </tt>
+<a name="L3441"></a><tt class="py-lineno">3441</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1122" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1122', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set size"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3442"></a><tt class="py-lineno">3442</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3443"></a><tt class="py-lineno">3443</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3444"></a><tt class="py-lineno">3444</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3445"></a><tt class="py-lineno">3445</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1123" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1123', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1124" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestSize"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1124', 'setTestSize', 'link-1124');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3446"></a><tt class="py-lineno">3446</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3447"></a><tt class="py-lineno">3447</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3448"></a><tt class="py-lineno">3448</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3449"></a><tt class="py-lineno">3449</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3450"></a><tt class="py-lineno">3450</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3451"></a><tt class="py-lineno">3451</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3452"></a><tt class="py-lineno">3452</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3453"></a><tt class="py-lineno">3453</tt>  <tt class="py-line"> </tt>
+<a name="L3454"></a><tt class="py-lineno">3454</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3455"></a><tt class="py-lineno">3455</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3456"></a><tt class="py-lineno">3456</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3457"></a><tt class="py-lineno">3457</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3458"></a><tt class="py-lineno">3458</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1125" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1125', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1126" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1126', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3459"></a><tt class="py-lineno">3459</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3460"></a><tt class="py-lineno">3460</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3461"></a><tt class="py-lineno">3461</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3462"></a><tt class="py-lineno">3462</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3463"></a><tt class="py-lineno">3463</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">sizeResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3464"></a><tt class="py-lineno">3464</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set sizes are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3465"></a><tt class="py-lineno">3465</tt>  <tt class="py-line">                                 <tt id="link-1127" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1127', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set sizes are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3466"></a><tt class="py-lineno">3466</tt>  <tt class="py-line"> </tt>
+<a name="L3467"></a><tt class="py-lineno">3467</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1128" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1128', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set add()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3468"></a><tt class="py-lineno">3468</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">add</tt><tt class="py-op">(</tt> <tt class="py-name">addValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3469"></a><tt class="py-lineno">3469</tt>  <tt class="py-line">        <tt class="py-name">addResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3470"></a><tt class="py-lineno">3470</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3471"></a><tt class="py-lineno">3471</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3472"></a><tt class="py-lineno">3472</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1129" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1129', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1130" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestAdd"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd" class="py-name" href="#" onclick="return doclink('link-1130', 'setTestAdd', 'link-1130');">setTestAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3473"></a><tt class="py-lineno">3473</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestAdd-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3474"></a><tt class="py-lineno">3474</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3475"></a><tt class="py-lineno">3475</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3476"></a><tt class="py-lineno">3476</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3477"></a><tt class="py-lineno">3477</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3478"></a><tt class="py-lineno">3478</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3479"></a><tt class="py-lineno">3479</tt>  <tt class="py-line">            <tt class="py-name">addResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3480"></a><tt class="py-lineno">3480</tt>  <tt class="py-line"> </tt>
+<a name="L3481"></a><tt class="py-lineno">3481</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3482"></a><tt class="py-lineno">3482</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3483"></a><tt class="py-lineno">3483</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3484"></a><tt class="py-lineno">3484</tt>  <tt class="py-line">        <tt class="py-name">addResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3485"></a><tt class="py-lineno">3485</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3486"></a><tt class="py-lineno">3486</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3487"></a><tt class="py-lineno">3487</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3488"></a><tt class="py-lineno">3488</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3489"></a><tt class="py-lineno">3489</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3490"></a><tt class="py-lineno">3490</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L3491"></a><tt class="py-lineno">3491</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3492"></a><tt class="py-lineno">3492</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3493"></a><tt class="py-lineno">3493</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3494"></a><tt class="py-lineno">3494</tt>  <tt class="py-line">                <tt class="py-name">addResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3495"></a><tt class="py-lineno">3495</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3496"></a><tt class="py-lineno">3496</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3497"></a><tt class="py-lineno">3497</tt>  <tt class="py-line">                <tt class="py-name">addResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3498"></a><tt class="py-lineno">3498</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">addResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3499"></a><tt class="py-lineno">3499</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1131" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1131', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1132" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1132', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set add"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3500"></a><tt class="py-lineno">3500</tt>  <tt class="py-line"> </tt>
+<a name="L3501"></a><tt class="py-lineno">3501</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3502"></a><tt class="py-lineno">3502</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3503"></a><tt class="py-lineno">3503</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3504"></a><tt class="py-lineno">3504</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3505"></a><tt class="py-lineno">3505</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3506"></a><tt class="py-lineno">3506</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1133" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1133', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1134" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1134', 'setTestGet', 'link-1114');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3507"></a><tt class="py-lineno">3507</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3508"></a><tt class="py-lineno">3508</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3509"></a><tt class="py-lineno">3509</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3510"></a><tt class="py-lineno">3510</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3511"></a><tt class="py-lineno">3511</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3512"></a><tt class="py-lineno">3512</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3513"></a><tt class="py-lineno">3513</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3514"></a><tt class="py-lineno">3514</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3515"></a><tt class="py-lineno">3515</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3516"></a><tt class="py-lineno">3516</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3517"></a><tt class="py-lineno">3517</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3518"></a><tt class="py-lineno">3518</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3519"></a><tt class="py-lineno">3519</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3520"></a><tt class="py-lineno">3520</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3521"></a><tt class="py-lineno">3521</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1135" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1135', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1136" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1136', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3522"></a><tt class="py-lineno">3522</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3523"></a><tt class="py-lineno">3523</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3524"></a><tt class="py-lineno">3524</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3525"></a><tt class="py-lineno">3525</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1137" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1137', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3526"></a><tt class="py-lineno">3526</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1138" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1138', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3527"></a><tt class="py-lineno">3527</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3528"></a><tt class="py-lineno">3528</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3529"></a><tt class="py-lineno">3529</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3530"></a><tt class="py-lineno">3530</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1139" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1139', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1140" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1140', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3531"></a><tt class="py-lineno">3531</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3532"></a><tt class="py-lineno">3532</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3533"></a><tt class="py-lineno">3533</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3534"></a><tt class="py-lineno">3534</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3535"></a><tt class="py-lineno">3535</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3536"></a><tt class="py-lineno">3536</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3537"></a><tt class="py-lineno">3537</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3538"></a><tt class="py-lineno">3538</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3539"></a><tt class="py-lineno">3539</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3540"></a><tt class="py-lineno">3540</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1141" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1141', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1142" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1142', 'setTestSize', 'link-1124');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3541"></a><tt class="py-lineno">3541</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3542"></a><tt class="py-lineno">3542</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3543"></a><tt class="py-lineno">3543</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3544"></a><tt class="py-lineno">3544</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3545"></a><tt class="py-lineno">3545</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3546"></a><tt class="py-lineno">3546</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3547"></a><tt class="py-lineno">3547</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3548"></a><tt class="py-lineno">3548</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3549"></a><tt class="py-lineno">3549</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3550"></a><tt class="py-lineno">3550</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3551"></a><tt class="py-lineno">3551</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3552"></a><tt class="py-lineno">3552</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1143" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1143', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1144" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1144', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3553"></a><tt class="py-lineno">3553</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3554"></a><tt class="py-lineno">3554</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3555"></a><tt class="py-lineno">3555</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3556"></a><tt class="py-lineno">3556</tt>  <tt class="py-line">        <tt class="py-name">addResults</tt> <tt class="py-op">=</tt> <tt class="py-name">addResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3557"></a><tt class="py-lineno">3557</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3558"></a><tt class="py-lineno">3558</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">addResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3559"></a><tt class="py-lineno">3559</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set add correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3560"></a><tt class="py-lineno">3560</tt>  <tt class="py-line">                                 <tt id="link-1145" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1145', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set add was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3561"></a><tt class="py-lineno">3561</tt>  <tt class="py-line"> </tt>
+<a name="L3562"></a><tt class="py-lineno">3562</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1146" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1146', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set addAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3563"></a><tt class="py-lineno">3563</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt id="link-1147" class="py-name" targets="Method TestON.core.dicttoobject.DictToObject.update()=TestON.core.dicttoobject.DictToObject-class.html#update,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#update"><a title="TestON.core.dicttoobject.DictToObject.update
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update" class="py-name" href="#" onclick="return doclink('link-1147', 'update', 'link-1147');">update</a></tt><tt class="py-op">(</tt> <tt class="py-name">addAllValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3564"></a><tt class="py-lineno">3564</tt>  <tt class="py-line">        <tt class="py-name">addResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3565"></a><tt class="py-lineno">3565</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3566"></a><tt class="py-lineno">3566</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3567"></a><tt class="py-lineno">3567</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1148" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1148', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1149" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd" class="py-name" href="#" onclick="return doclink('link-1149', 'setTestAdd', 'link-1130');">setTestAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3568"></a><tt class="py-lineno">3568</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestAddAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3569"></a><tt class="py-lineno">3569</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3570"></a><tt class="py-lineno">3570</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3571"></a><tt class="py-lineno">3571</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3572"></a><tt class="py-lineno">3572</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3573"></a><tt class="py-lineno">3573</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3574"></a><tt class="py-lineno">3574</tt>  <tt class="py-line">            <tt class="py-name">addResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3575"></a><tt class="py-lineno">3575</tt>  <tt class="py-line"> </tt>
+<a name="L3576"></a><tt class="py-lineno">3576</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3577"></a><tt class="py-lineno">3577</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3578"></a><tt class="py-lineno">3578</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3579"></a><tt class="py-lineno">3579</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3580"></a><tt class="py-lineno">3580</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3581"></a><tt class="py-lineno">3581</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3582"></a><tt class="py-lineno">3582</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3583"></a><tt class="py-lineno">3583</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3584"></a><tt class="py-lineno">3584</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3585"></a><tt class="py-lineno">3585</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L3586"></a><tt class="py-lineno">3586</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3587"></a><tt class="py-lineno">3587</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3588"></a><tt class="py-lineno">3588</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3589"></a><tt class="py-lineno">3589</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3590"></a><tt class="py-lineno">3590</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3591"></a><tt class="py-lineno">3591</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3592"></a><tt class="py-lineno">3592</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3593"></a><tt class="py-lineno">3593</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">addAllResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3594"></a><tt class="py-lineno">3594</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1150" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1150', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1151" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1151', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set addAll"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3595"></a><tt class="py-lineno">3595</tt>  <tt class="py-line"> </tt>
+<a name="L3596"></a><tt class="py-lineno">3596</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3597"></a><tt class="py-lineno">3597</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3598"></a><tt class="py-lineno">3598</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3599"></a><tt class="py-lineno">3599</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3600"></a><tt class="py-lineno">3600</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3601"></a><tt class="py-lineno">3601</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1152" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1152', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1153" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1153', 'setTestGet', 'link-1114');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3602"></a><tt class="py-lineno">3602</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3603"></a><tt class="py-lineno">3603</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3604"></a><tt class="py-lineno">3604</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3605"></a><tt class="py-lineno">3605</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3606"></a><tt class="py-lineno">3606</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3607"></a><tt class="py-lineno">3607</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3608"></a><tt class="py-lineno">3608</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3609"></a><tt class="py-lineno">3609</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3610"></a><tt class="py-lineno">3610</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3611"></a><tt class="py-lineno">3611</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3612"></a><tt class="py-lineno">3612</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3613"></a><tt class="py-lineno">3613</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3614"></a><tt class="py-lineno">3614</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3615"></a><tt class="py-lineno">3615</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3616"></a><tt class="py-lineno">3616</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1154" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1154', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1155" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1155', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3617"></a><tt class="py-lineno">3617</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3618"></a><tt class="py-lineno">3618</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3619"></a><tt class="py-lineno">3619</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3620"></a><tt class="py-lineno">3620</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1156" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1156', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3621"></a><tt class="py-lineno">3621</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1157" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1157', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3622"></a><tt class="py-lineno">3622</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3623"></a><tt class="py-lineno">3623</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3624"></a><tt class="py-lineno">3624</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3625"></a><tt class="py-lineno">3625</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1158" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1158', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1159" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1159', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3626"></a><tt class="py-lineno">3626</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3627"></a><tt class="py-lineno">3627</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3628"></a><tt class="py-lineno">3628</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3629"></a><tt class="py-lineno">3629</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3630"></a><tt class="py-lineno">3630</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3631"></a><tt class="py-lineno">3631</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3632"></a><tt class="py-lineno">3632</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3633"></a><tt class="py-lineno">3633</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3634"></a><tt class="py-lineno">3634</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3635"></a><tt class="py-lineno">3635</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1160" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1160', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1161" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1161', 'setTestSize', 'link-1124');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3636"></a><tt class="py-lineno">3636</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3637"></a><tt class="py-lineno">3637</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3638"></a><tt class="py-lineno">3638</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3639"></a><tt class="py-lineno">3639</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3640"></a><tt class="py-lineno">3640</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3641"></a><tt class="py-lineno">3641</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3642"></a><tt class="py-lineno">3642</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3643"></a><tt class="py-lineno">3643</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3644"></a><tt class="py-lineno">3644</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3645"></a><tt class="py-lineno">3645</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3646"></a><tt class="py-lineno">3646</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3647"></a><tt class="py-lineno">3647</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1162" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1162', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1163" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1163', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3648"></a><tt class="py-lineno">3648</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3649"></a><tt class="py-lineno">3649</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3650"></a><tt class="py-lineno">3650</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3651"></a><tt class="py-lineno">3651</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">addAllResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3652"></a><tt class="py-lineno">3652</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3653"></a><tt class="py-lineno">3653</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">addAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3654"></a><tt class="py-lineno">3654</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3655"></a><tt class="py-lineno">3655</tt>  <tt class="py-line">                                 <tt id="link-1164" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1164', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3656"></a><tt class="py-lineno">3656</tt>  <tt class="py-line"> </tt>
+<a name="L3657"></a><tt class="py-lineno">3657</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1165" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1165', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set contains()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3658"></a><tt class="py-lineno">3658</tt>  <tt class="py-line">        <tt class="py-name">containsResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3659"></a><tt class="py-lineno">3659</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3660"></a><tt class="py-lineno">3660</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3661"></a><tt class="py-lineno">3661</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1166" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1166', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1167" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1167', 'setTestGet', 'link-1114');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3662"></a><tt class="py-lineno">3662</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setContains-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3663"></a><tt class="py-lineno">3663</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3664"></a><tt class="py-lineno">3664</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"values"</tt><tt class="py-op">:</tt> <tt class="py-name">addValue</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3665"></a><tt class="py-lineno">3665</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3666"></a><tt class="py-lineno">3666</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3667"></a><tt class="py-lineno">3667</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3668"></a><tt class="py-lineno">3668</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3669"></a><tt class="py-lineno">3669</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: This is the tuple</tt> </tt>
+<a name="L3670"></a><tt class="py-lineno">3670</tt>  <tt class="py-line">            <tt class="py-name">containsResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3671"></a><tt class="py-lineno">3671</tt>  <tt class="py-line"> </tt>
+<a name="L3672"></a><tt class="py-lineno">3672</tt>  <tt class="py-line">        <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3673"></a><tt class="py-lineno">3673</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3674"></a><tt class="py-lineno">3674</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">containsResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3675"></a><tt class="py-lineno">3675</tt>  <tt class="py-line">                <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3676"></a><tt class="py-lineno">3676</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3677"></a><tt class="py-lineno">3677</tt>  <tt class="py-line">                <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">containsResults</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L3678"></a><tt class="py-lineno">3678</tt>  <tt class="py-line">                                  <tt class="py-name">containsResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L3679"></a><tt class="py-lineno">3679</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3680"></a><tt class="py-lineno">3680</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">containsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3681"></a><tt class="py-lineno">3681</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set contains is functional"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3682"></a><tt class="py-lineno">3682</tt>  <tt class="py-line">                                 <tt id="link-1168" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1168', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set contains failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3683"></a><tt class="py-lineno">3683</tt>  <tt class="py-line"> </tt>
+<a name="L3684"></a><tt class="py-lineno">3684</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1169" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1169', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set containsAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3685"></a><tt class="py-lineno">3685</tt>  <tt class="py-line">        <tt class="py-name">containsAllResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3686"></a><tt class="py-lineno">3686</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3687"></a><tt class="py-lineno">3687</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3688"></a><tt class="py-lineno">3688</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1170" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1170', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1171" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1171', 'setTestGet', 'link-1114');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3689"></a><tt class="py-lineno">3689</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setContainsAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3690"></a><tt class="py-lineno">3690</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3691"></a><tt class="py-lineno">3691</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"values"</tt><tt class="py-op">:</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3692"></a><tt class="py-lineno">3692</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3693"></a><tt class="py-lineno">3693</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3694"></a><tt class="py-lineno">3694</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3695"></a><tt class="py-lineno">3695</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3696"></a><tt class="py-lineno">3696</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: This is the tuple</tt> </tt>
+<a name="L3697"></a><tt class="py-lineno">3697</tt>  <tt class="py-line">            <tt class="py-name">containsAllResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3698"></a><tt class="py-lineno">3698</tt>  <tt class="py-line"> </tt>
+<a name="L3699"></a><tt class="py-lineno">3699</tt>  <tt class="py-line">        <tt class="py-name">containsAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3700"></a><tt class="py-lineno">3700</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3701"></a><tt class="py-lineno">3701</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">containsResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3702"></a><tt class="py-lineno">3702</tt>  <tt class="py-line">                <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3703"></a><tt class="py-lineno">3703</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3704"></a><tt class="py-lineno">3704</tt>  <tt class="py-line">                <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">containsResults</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L3705"></a><tt class="py-lineno">3705</tt>  <tt class="py-line">                                  <tt class="py-name">containsResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L3706"></a><tt class="py-lineno">3706</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3707"></a><tt class="py-lineno">3707</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">containsAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3708"></a><tt class="py-lineno">3708</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set containsAll is functional"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3709"></a><tt class="py-lineno">3709</tt>  <tt class="py-line">                                 <tt id="link-1172" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1172', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set containsAll failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3710"></a><tt class="py-lineno">3710</tt>  <tt class="py-line"> </tt>
+<a name="L3711"></a><tt class="py-lineno">3711</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1173" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1173', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set remove()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3712"></a><tt class="py-lineno">3712</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt> <tt class="py-name">addValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3713"></a><tt class="py-lineno">3713</tt>  <tt class="py-line">        <tt class="py-name">removeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3714"></a><tt class="py-lineno">3714</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3715"></a><tt class="py-lineno">3715</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3716"></a><tt class="py-lineno">3716</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1174" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1174', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1175" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestRemove"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove" class="py-name" href="#" onclick="return doclink('link-1175', 'setTestRemove', 'link-1175');">setTestRemove</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3717"></a><tt class="py-lineno">3717</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestRemove-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3718"></a><tt class="py-lineno">3718</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3719"></a><tt class="py-lineno">3719</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3720"></a><tt class="py-lineno">3720</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3721"></a><tt class="py-lineno">3721</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3722"></a><tt class="py-lineno">3722</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3723"></a><tt class="py-lineno">3723</tt>  <tt class="py-line">            <tt class="py-name">removeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3724"></a><tt class="py-lineno">3724</tt>  <tt class="py-line"> </tt>
+<a name="L3725"></a><tt class="py-lineno">3725</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3726"></a><tt class="py-lineno">3726</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3727"></a><tt class="py-lineno">3727</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3728"></a><tt class="py-lineno">3728</tt>  <tt class="py-line">        <tt class="py-name">removeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3729"></a><tt class="py-lineno">3729</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3730"></a><tt class="py-lineno">3730</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">removeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3731"></a><tt class="py-lineno">3731</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3732"></a><tt class="py-lineno">3732</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3733"></a><tt class="py-lineno">3733</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">removeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3734"></a><tt class="py-lineno">3734</tt>  <tt class="py-line">                <tt class="py-comment"># not in set, probably fine</tt> </tt>
+<a name="L3735"></a><tt class="py-lineno">3735</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3736"></a><tt class="py-lineno">3736</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">removeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3737"></a><tt class="py-lineno">3737</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3738"></a><tt class="py-lineno">3738</tt>  <tt class="py-line">                <tt class="py-name">removeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3739"></a><tt class="py-lineno">3739</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3740"></a><tt class="py-lineno">3740</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3741"></a><tt class="py-lineno">3741</tt>  <tt class="py-line">                <tt class="py-name">removeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3742"></a><tt class="py-lineno">3742</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">removeResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3743"></a><tt class="py-lineno">3743</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1176" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1176', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1177" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1177', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set remove"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3744"></a><tt class="py-lineno">3744</tt>  <tt class="py-line"> </tt>
+<a name="L3745"></a><tt class="py-lineno">3745</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3746"></a><tt class="py-lineno">3746</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3747"></a><tt class="py-lineno">3747</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3748"></a><tt class="py-lineno">3748</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3749"></a><tt class="py-lineno">3749</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3750"></a><tt class="py-lineno">3750</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1178" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1178', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1179" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1179', 'setTestGet', 'link-1114');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3751"></a><tt class="py-lineno">3751</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3752"></a><tt class="py-lineno">3752</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3753"></a><tt class="py-lineno">3753</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3754"></a><tt class="py-lineno">3754</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3755"></a><tt class="py-lineno">3755</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3756"></a><tt class="py-lineno">3756</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3757"></a><tt class="py-lineno">3757</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3758"></a><tt class="py-lineno">3758</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3759"></a><tt class="py-lineno">3759</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3760"></a><tt class="py-lineno">3760</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3761"></a><tt class="py-lineno">3761</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3762"></a><tt class="py-lineno">3762</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3763"></a><tt class="py-lineno">3763</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3764"></a><tt class="py-lineno">3764</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3765"></a><tt class="py-lineno">3765</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1180" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1180', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1181" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1181', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3766"></a><tt class="py-lineno">3766</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3767"></a><tt class="py-lineno">3767</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3768"></a><tt class="py-lineno">3768</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3769"></a><tt class="py-lineno">3769</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1182" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1182', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3770"></a><tt class="py-lineno">3770</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1183" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1183', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3771"></a><tt class="py-lineno">3771</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3772"></a><tt class="py-lineno">3772</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3773"></a><tt class="py-lineno">3773</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3774"></a><tt class="py-lineno">3774</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1184" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1184', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1185" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1185', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3775"></a><tt class="py-lineno">3775</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3776"></a><tt class="py-lineno">3776</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3777"></a><tt class="py-lineno">3777</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3778"></a><tt class="py-lineno">3778</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3779"></a><tt class="py-lineno">3779</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3780"></a><tt class="py-lineno">3780</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3781"></a><tt class="py-lineno">3781</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3782"></a><tt class="py-lineno">3782</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3783"></a><tt class="py-lineno">3783</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3784"></a><tt class="py-lineno">3784</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1186" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1186', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1187" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1187', 'setTestSize', 'link-1124');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3785"></a><tt class="py-lineno">3785</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3786"></a><tt class="py-lineno">3786</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3787"></a><tt class="py-lineno">3787</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3788"></a><tt class="py-lineno">3788</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3789"></a><tt class="py-lineno">3789</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3790"></a><tt class="py-lineno">3790</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3791"></a><tt class="py-lineno">3791</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3792"></a><tt class="py-lineno">3792</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3793"></a><tt class="py-lineno">3793</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3794"></a><tt class="py-lineno">3794</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3795"></a><tt class="py-lineno">3795</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3796"></a><tt class="py-lineno">3796</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1188" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1188', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1189" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1189', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3797"></a><tt class="py-lineno">3797</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3798"></a><tt class="py-lineno">3798</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3799"></a><tt class="py-lineno">3799</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3800"></a><tt class="py-lineno">3800</tt>  <tt class="py-line">        <tt class="py-name">removeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">removeResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3801"></a><tt class="py-lineno">3801</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3802"></a><tt class="py-lineno">3802</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">removeResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3803"></a><tt class="py-lineno">3803</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set remove correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3804"></a><tt class="py-lineno">3804</tt>  <tt class="py-line">                                 <tt id="link-1190" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1190', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set remove was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3805"></a><tt class="py-lineno">3805</tt>  <tt class="py-line"> </tt>
+<a name="L3806"></a><tt class="py-lineno">3806</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1191" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1191', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set removeAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3807"></a><tt class="py-lineno">3807</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">difference_update</tt><tt class="py-op">(</tt> <tt class="py-name">addAllValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3808"></a><tt class="py-lineno">3808</tt>  <tt class="py-line">        <tt class="py-name">removeAllResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3809"></a><tt class="py-lineno">3809</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3810"></a><tt class="py-lineno">3810</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3811"></a><tt class="py-lineno">3811</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3812"></a><tt class="py-lineno">3812</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1192" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1192', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1193" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove" class="py-name" href="#" onclick="return doclink('link-1193', 'setTestRemove', 'link-1175');">setTestRemove</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3813"></a><tt class="py-lineno">3813</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestRemoveAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3814"></a><tt class="py-lineno">3814</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3815"></a><tt class="py-lineno">3815</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3816"></a><tt class="py-lineno">3816</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3817"></a><tt class="py-lineno">3817</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3818"></a><tt class="py-lineno">3818</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3819"></a><tt class="py-lineno">3819</tt>  <tt class="py-line">                <tt class="py-name">removeAllResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3820"></a><tt class="py-lineno">3820</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L3821"></a><tt class="py-lineno">3821</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1194" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1194', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
+<a name="L3822"></a><tt class="py-lineno">3822</tt>  <tt class="py-line"> </tt>
+<a name="L3823"></a><tt class="py-lineno">3823</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3824"></a><tt class="py-lineno">3824</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3825"></a><tt class="py-lineno">3825</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3826"></a><tt class="py-lineno">3826</tt>  <tt class="py-line">        <tt class="py-name">removeAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3827"></a><tt class="py-lineno">3827</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3828"></a><tt class="py-lineno">3828</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">removeAllResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3829"></a><tt class="py-lineno">3829</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3830"></a><tt class="py-lineno">3830</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3831"></a><tt class="py-lineno">3831</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">removeAllResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3832"></a><tt class="py-lineno">3832</tt>  <tt class="py-line">                <tt class="py-comment"># not in set, probably fine</tt> </tt>
+<a name="L3833"></a><tt class="py-lineno">3833</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3834"></a><tt class="py-lineno">3834</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">removeAllResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3835"></a><tt class="py-lineno">3835</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3836"></a><tt class="py-lineno">3836</tt>  <tt class="py-line">                <tt class="py-name">removeAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3837"></a><tt class="py-lineno">3837</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3838"></a><tt class="py-lineno">3838</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3839"></a><tt class="py-lineno">3839</tt>  <tt class="py-line">                <tt class="py-name">removeAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3840"></a><tt class="py-lineno">3840</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">removeAllResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3841"></a><tt class="py-lineno">3841</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1195" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1195', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1196" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1196', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set removeAll"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3842"></a><tt class="py-lineno">3842</tt>  <tt class="py-line"> </tt>
+<a name="L3843"></a><tt class="py-lineno">3843</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3844"></a><tt class="py-lineno">3844</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3845"></a><tt class="py-lineno">3845</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3846"></a><tt class="py-lineno">3846</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3847"></a><tt class="py-lineno">3847</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3848"></a><tt class="py-lineno">3848</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1197" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1197', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1198" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1198', 'setTestGet', 'link-1114');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3849"></a><tt class="py-lineno">3849</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3850"></a><tt class="py-lineno">3850</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3851"></a><tt class="py-lineno">3851</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3852"></a><tt class="py-lineno">3852</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3853"></a><tt class="py-lineno">3853</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3854"></a><tt class="py-lineno">3854</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3855"></a><tt class="py-lineno">3855</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3856"></a><tt class="py-lineno">3856</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3857"></a><tt class="py-lineno">3857</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3858"></a><tt class="py-lineno">3858</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3859"></a><tt class="py-lineno">3859</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3860"></a><tt class="py-lineno">3860</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3861"></a><tt class="py-lineno">3861</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3862"></a><tt class="py-lineno">3862</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3863"></a><tt class="py-lineno">3863</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1199" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1199', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1200" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1200', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3864"></a><tt class="py-lineno">3864</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3865"></a><tt class="py-lineno">3865</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3866"></a><tt class="py-lineno">3866</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3867"></a><tt class="py-lineno">3867</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1201" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1201', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3868"></a><tt class="py-lineno">3868</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1202" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1202', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3869"></a><tt class="py-lineno">3869</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3870"></a><tt class="py-lineno">3870</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3871"></a><tt class="py-lineno">3871</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3872"></a><tt class="py-lineno">3872</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1203" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1203', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1204" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1204', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3873"></a><tt class="py-lineno">3873</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3874"></a><tt class="py-lineno">3874</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3875"></a><tt class="py-lineno">3875</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3876"></a><tt class="py-lineno">3876</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3877"></a><tt class="py-lineno">3877</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3878"></a><tt class="py-lineno">3878</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3879"></a><tt class="py-lineno">3879</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3880"></a><tt class="py-lineno">3880</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3881"></a><tt class="py-lineno">3881</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3882"></a><tt class="py-lineno">3882</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1205" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1205', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1206" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1206', 'setTestSize', 'link-1124');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3883"></a><tt class="py-lineno">3883</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3884"></a><tt class="py-lineno">3884</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3885"></a><tt class="py-lineno">3885</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3886"></a><tt class="py-lineno">3886</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3887"></a><tt class="py-lineno">3887</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3888"></a><tt class="py-lineno">3888</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3889"></a><tt class="py-lineno">3889</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3890"></a><tt class="py-lineno">3890</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3891"></a><tt class="py-lineno">3891</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3892"></a><tt class="py-lineno">3892</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3893"></a><tt class="py-lineno">3893</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3894"></a><tt class="py-lineno">3894</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1207" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1207', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1208" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1208', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3895"></a><tt class="py-lineno">3895</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3896"></a><tt class="py-lineno">3896</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3897"></a><tt class="py-lineno">3897</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3898"></a><tt class="py-lineno">3898</tt>  <tt class="py-line">        <tt class="py-name">removeAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">removeAllResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3899"></a><tt class="py-lineno">3899</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3900"></a><tt class="py-lineno">3900</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">removeAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3901"></a><tt class="py-lineno">3901</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set removeAll correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3902"></a><tt class="py-lineno">3902</tt>  <tt class="py-line">                                 <tt id="link-1209" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1209', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set removeAll was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3903"></a><tt class="py-lineno">3903</tt>  <tt class="py-line"> </tt>
+<a name="L3904"></a><tt class="py-lineno">3904</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1210" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1210', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set addAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3905"></a><tt class="py-lineno">3905</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt id="link-1211" class="py-name"><a title="TestON.core.dicttoobject.DictToObject.update
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update" class="py-name" href="#" onclick="return doclink('link-1211', 'update', 'link-1147');">update</a></tt><tt class="py-op">(</tt> <tt class="py-name">addAllValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3906"></a><tt class="py-lineno">3906</tt>  <tt class="py-line">        <tt class="py-name">addResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3907"></a><tt class="py-lineno">3907</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3908"></a><tt class="py-lineno">3908</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3909"></a><tt class="py-lineno">3909</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1212" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1212', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1213" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd" class="py-name" href="#" onclick="return doclink('link-1213', 'setTestAdd', 'link-1130');">setTestAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3910"></a><tt class="py-lineno">3910</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestAddAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3911"></a><tt class="py-lineno">3911</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3912"></a><tt class="py-lineno">3912</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3913"></a><tt class="py-lineno">3913</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3914"></a><tt class="py-lineno">3914</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3915"></a><tt class="py-lineno">3915</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3916"></a><tt class="py-lineno">3916</tt>  <tt class="py-line">            <tt class="py-name">addResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3917"></a><tt class="py-lineno">3917</tt>  <tt class="py-line"> </tt>
+<a name="L3918"></a><tt class="py-lineno">3918</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3919"></a><tt class="py-lineno">3919</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3920"></a><tt class="py-lineno">3920</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3921"></a><tt class="py-lineno">3921</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3922"></a><tt class="py-lineno">3922</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3923"></a><tt class="py-lineno">3923</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3924"></a><tt class="py-lineno">3924</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3925"></a><tt class="py-lineno">3925</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3926"></a><tt class="py-lineno">3926</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3927"></a><tt class="py-lineno">3927</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L3928"></a><tt class="py-lineno">3928</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3929"></a><tt class="py-lineno">3929</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3930"></a><tt class="py-lineno">3930</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3931"></a><tt class="py-lineno">3931</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3932"></a><tt class="py-lineno">3932</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3933"></a><tt class="py-lineno">3933</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3934"></a><tt class="py-lineno">3934</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3935"></a><tt class="py-lineno">3935</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">addAllResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3936"></a><tt class="py-lineno">3936</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1214" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1214', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1215" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1215', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set addAll"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3937"></a><tt class="py-lineno">3937</tt>  <tt class="py-line"> </tt>
+<a name="L3938"></a><tt class="py-lineno">3938</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3939"></a><tt class="py-lineno">3939</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3940"></a><tt class="py-lineno">3940</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3941"></a><tt class="py-lineno">3941</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3942"></a><tt class="py-lineno">3942</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3943"></a><tt class="py-lineno">3943</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1216" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1216', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1217" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1217', 'setTestGet', 'link-1114');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3944"></a><tt class="py-lineno">3944</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3945"></a><tt class="py-lineno">3945</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3946"></a><tt class="py-lineno">3946</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3947"></a><tt class="py-lineno">3947</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3948"></a><tt class="py-lineno">3948</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3949"></a><tt class="py-lineno">3949</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3950"></a><tt class="py-lineno">3950</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3951"></a><tt class="py-lineno">3951</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3952"></a><tt class="py-lineno">3952</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3953"></a><tt class="py-lineno">3953</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3954"></a><tt class="py-lineno">3954</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3955"></a><tt class="py-lineno">3955</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3956"></a><tt class="py-lineno">3956</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3957"></a><tt class="py-lineno">3957</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3958"></a><tt class="py-lineno">3958</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1218" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1218', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1219" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1219', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3959"></a><tt class="py-lineno">3959</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3960"></a><tt class="py-lineno">3960</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3961"></a><tt class="py-lineno">3961</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3962"></a><tt class="py-lineno">3962</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1220" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1220', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3963"></a><tt class="py-lineno">3963</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1221" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1221', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3964"></a><tt class="py-lineno">3964</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3965"></a><tt class="py-lineno">3965</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3966"></a><tt class="py-lineno">3966</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3967"></a><tt class="py-lineno">3967</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1222" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1222', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1223" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1223', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3968"></a><tt class="py-lineno">3968</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3969"></a><tt class="py-lineno">3969</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3970"></a><tt class="py-lineno">3970</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3971"></a><tt class="py-lineno">3971</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3972"></a><tt class="py-lineno">3972</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3973"></a><tt class="py-lineno">3973</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3974"></a><tt class="py-lineno">3974</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3975"></a><tt class="py-lineno">3975</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3976"></a><tt class="py-lineno">3976</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3977"></a><tt class="py-lineno">3977</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1224" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1224', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1225" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1225', 'setTestSize', 'link-1124');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3978"></a><tt class="py-lineno">3978</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3979"></a><tt class="py-lineno">3979</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3980"></a><tt class="py-lineno">3980</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3981"></a><tt class="py-lineno">3981</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3982"></a><tt class="py-lineno">3982</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3983"></a><tt class="py-lineno">3983</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3984"></a><tt class="py-lineno">3984</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3985"></a><tt class="py-lineno">3985</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3986"></a><tt class="py-lineno">3986</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3987"></a><tt class="py-lineno">3987</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3988"></a><tt class="py-lineno">3988</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3989"></a><tt class="py-lineno">3989</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1226" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1226', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1227" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1227', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3990"></a><tt class="py-lineno">3990</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3991"></a><tt class="py-lineno">3991</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3992"></a><tt class="py-lineno">3992</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3993"></a><tt class="py-lineno">3993</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">addAllResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3994"></a><tt class="py-lineno">3994</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3995"></a><tt class="py-lineno">3995</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">addAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3996"></a><tt class="py-lineno">3996</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3997"></a><tt class="py-lineno">3997</tt>  <tt class="py-line">                                 <tt id="link-1228" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1228', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3998"></a><tt class="py-lineno">3998</tt>  <tt class="py-line"> </tt>
+<a name="L3999"></a><tt class="py-lineno">3999</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1229" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1229', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set clear()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4000"></a><tt class="py-lineno">4000</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">clear</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4001"></a><tt class="py-lineno">4001</tt>  <tt class="py-line">        <tt class="py-name">clearResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4002"></a><tt class="py-lineno">4002</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4003"></a><tt class="py-lineno">4003</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4004"></a><tt class="py-lineno">4004</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1230" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1230', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1231" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove" class="py-name" href="#" onclick="return doclink('link-1231', 'setTestRemove', 'link-1175');">setTestRemove</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4005"></a><tt class="py-lineno">4005</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestClear-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4006"></a><tt class="py-lineno">4006</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-string">" "</tt><tt class="py-op">]</tt><tt class="py-op">,</tt>  <tt class="py-comment"># Values doesn't matter</tt> </tt>
+<a name="L4007"></a><tt class="py-lineno">4007</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"clear"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4008"></a><tt class="py-lineno">4008</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4009"></a><tt class="py-lineno">4009</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4010"></a><tt class="py-lineno">4010</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4011"></a><tt class="py-lineno">4011</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4012"></a><tt class="py-lineno">4012</tt>  <tt class="py-line">            <tt class="py-name">clearResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4013"></a><tt class="py-lineno">4013</tt>  <tt class="py-line"> </tt>
+<a name="L4014"></a><tt class="py-lineno">4014</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L4015"></a><tt class="py-lineno">4015</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L4016"></a><tt class="py-lineno">4016</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L4017"></a><tt class="py-lineno">4017</tt>  <tt class="py-line">        <tt class="py-name">clearResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4018"></a><tt class="py-lineno">4018</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4019"></a><tt class="py-lineno">4019</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">clearResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4020"></a><tt class="py-lineno">4020</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L4021"></a><tt class="py-lineno">4021</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L4022"></a><tt class="py-lineno">4022</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">clearResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4023"></a><tt class="py-lineno">4023</tt>  <tt class="py-line">                <tt class="py-comment"># Nothing set, probably fine</tt> </tt>
+<a name="L4024"></a><tt class="py-lineno">4024</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L4025"></a><tt class="py-lineno">4025</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">clearResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L4026"></a><tt class="py-lineno">4026</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L4027"></a><tt class="py-lineno">4027</tt>  <tt class="py-line">                <tt class="py-name">clearResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4028"></a><tt class="py-lineno">4028</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L4029"></a><tt class="py-lineno">4029</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L4030"></a><tt class="py-lineno">4030</tt>  <tt class="py-line">                <tt class="py-name">clearResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4031"></a><tt class="py-lineno">4031</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">clearResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4032"></a><tt class="py-lineno">4032</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1232" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1232', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1233" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1233', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set clear"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4033"></a><tt class="py-lineno">4033</tt>  <tt class="py-line"> </tt>
+<a name="L4034"></a><tt class="py-lineno">4034</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L4035"></a><tt class="py-lineno">4035</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4036"></a><tt class="py-lineno">4036</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4037"></a><tt class="py-lineno">4037</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4038"></a><tt class="py-lineno">4038</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4039"></a><tt class="py-lineno">4039</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1234" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1234', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1235" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1235', 'setTestGet', 'link-1114');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4040"></a><tt class="py-lineno">4040</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4041"></a><tt class="py-lineno">4041</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4042"></a><tt class="py-lineno">4042</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4043"></a><tt class="py-lineno">4043</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4044"></a><tt class="py-lineno">4044</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4045"></a><tt class="py-lineno">4045</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4046"></a><tt class="py-lineno">4046</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4047"></a><tt class="py-lineno">4047</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4048"></a><tt class="py-lineno">4048</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4049"></a><tt class="py-lineno">4049</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4050"></a><tt class="py-lineno">4050</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4051"></a><tt class="py-lineno">4051</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4052"></a><tt class="py-lineno">4052</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L4053"></a><tt class="py-lineno">4053</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L4054"></a><tt class="py-lineno">4054</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1236" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1236', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1237" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1237', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4055"></a><tt class="py-lineno">4055</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4056"></a><tt class="py-lineno">4056</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4057"></a><tt class="py-lineno">4057</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4058"></a><tt class="py-lineno">4058</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1238" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1238', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4059"></a><tt class="py-lineno">4059</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1239" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1239', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4060"></a><tt class="py-lineno">4060</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4061"></a><tt class="py-lineno">4061</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L4062"></a><tt class="py-lineno">4062</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L4063"></a><tt class="py-lineno">4063</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1240" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1240', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1241" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1241', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4064"></a><tt class="py-lineno">4064</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4065"></a><tt class="py-lineno">4065</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4066"></a><tt class="py-lineno">4066</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4067"></a><tt class="py-lineno">4067</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4068"></a><tt class="py-lineno">4068</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L4069"></a><tt class="py-lineno">4069</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4070"></a><tt class="py-lineno">4070</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4071"></a><tt class="py-lineno">4071</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4072"></a><tt class="py-lineno">4072</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4073"></a><tt class="py-lineno">4073</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1242" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1242', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1243" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1243', 'setTestSize', 'link-1124');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4074"></a><tt class="py-lineno">4074</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4075"></a><tt class="py-lineno">4075</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4076"></a><tt class="py-lineno">4076</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4077"></a><tt class="py-lineno">4077</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4078"></a><tt class="py-lineno">4078</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4079"></a><tt class="py-lineno">4079</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4080"></a><tt class="py-lineno">4080</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4081"></a><tt class="py-lineno">4081</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4082"></a><tt class="py-lineno">4082</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4083"></a><tt class="py-lineno">4083</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L4084"></a><tt class="py-lineno">4084</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4085"></a><tt class="py-lineno">4085</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1244" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1244', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1245" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1245', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4086"></a><tt class="py-lineno">4086</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4087"></a><tt class="py-lineno">4087</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4088"></a><tt class="py-lineno">4088</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4089"></a><tt class="py-lineno">4089</tt>  <tt class="py-line">        <tt class="py-name">clearResults</tt> <tt class="py-op">=</tt> <tt class="py-name">clearResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L4090"></a><tt class="py-lineno">4090</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L4091"></a><tt class="py-lineno">4091</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">clearResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L4092"></a><tt class="py-lineno">4092</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set clear correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L4093"></a><tt class="py-lineno">4093</tt>  <tt class="py-line">                                 <tt id="link-1246" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1246', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set clear was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4094"></a><tt class="py-lineno">4094</tt>  <tt class="py-line"> </tt>
+<a name="L4095"></a><tt class="py-lineno">4095</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1247" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1247', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set addAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4096"></a><tt class="py-lineno">4096</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt id="link-1248" class="py-name"><a title="TestON.core.dicttoobject.DictToObject.update
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update" class="py-name" href="#" onclick="return doclink('link-1248', 'update', 'link-1147');">update</a></tt><tt class="py-op">(</tt> <tt class="py-name">addAllValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4097"></a><tt class="py-lineno">4097</tt>  <tt class="py-line">        <tt class="py-name">addResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4098"></a><tt class="py-lineno">4098</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4099"></a><tt class="py-lineno">4099</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4100"></a><tt class="py-lineno">4100</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1249" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1249', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1250" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd" class="py-name" href="#" onclick="return doclink('link-1250', 'setTestAdd', 'link-1130');">setTestAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4101"></a><tt class="py-lineno">4101</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestAddAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4102"></a><tt class="py-lineno">4102</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4103"></a><tt class="py-lineno">4103</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4104"></a><tt class="py-lineno">4104</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4105"></a><tt class="py-lineno">4105</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4106"></a><tt class="py-lineno">4106</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4107"></a><tt class="py-lineno">4107</tt>  <tt class="py-line">            <tt class="py-name">addResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4108"></a><tt class="py-lineno">4108</tt>  <tt class="py-line"> </tt>
+<a name="L4109"></a><tt class="py-lineno">4109</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L4110"></a><tt class="py-lineno">4110</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L4111"></a><tt class="py-lineno">4111</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L4112"></a><tt class="py-lineno">4112</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4113"></a><tt class="py-lineno">4113</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4114"></a><tt class="py-lineno">4114</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4115"></a><tt class="py-lineno">4115</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L4116"></a><tt class="py-lineno">4116</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L4117"></a><tt class="py-lineno">4117</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4118"></a><tt class="py-lineno">4118</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L4119"></a><tt class="py-lineno">4119</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L4120"></a><tt class="py-lineno">4120</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L4121"></a><tt class="py-lineno">4121</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L4122"></a><tt class="py-lineno">4122</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4123"></a><tt class="py-lineno">4123</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L4124"></a><tt class="py-lineno">4124</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L4125"></a><tt class="py-lineno">4125</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4126"></a><tt class="py-lineno">4126</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">addAllResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4127"></a><tt class="py-lineno">4127</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1251" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1251', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1252" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1252', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set addAll"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4128"></a><tt class="py-lineno">4128</tt>  <tt class="py-line"> </tt>
+<a name="L4129"></a><tt class="py-lineno">4129</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L4130"></a><tt class="py-lineno">4130</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4131"></a><tt class="py-lineno">4131</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4132"></a><tt class="py-lineno">4132</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4133"></a><tt class="py-lineno">4133</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4134"></a><tt class="py-lineno">4134</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1253" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1253', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1254" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1254', 'setTestGet', 'link-1114');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4135"></a><tt class="py-lineno">4135</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4136"></a><tt class="py-lineno">4136</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4137"></a><tt class="py-lineno">4137</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4138"></a><tt class="py-lineno">4138</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4139"></a><tt class="py-lineno">4139</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4140"></a><tt class="py-lineno">4140</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4141"></a><tt class="py-lineno">4141</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4142"></a><tt class="py-lineno">4142</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4143"></a><tt class="py-lineno">4143</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4144"></a><tt class="py-lineno">4144</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4145"></a><tt class="py-lineno">4145</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4146"></a><tt class="py-lineno">4146</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4147"></a><tt class="py-lineno">4147</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L4148"></a><tt class="py-lineno">4148</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L4149"></a><tt class="py-lineno">4149</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1255" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1255', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1256" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1256', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4150"></a><tt class="py-lineno">4150</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4151"></a><tt class="py-lineno">4151</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4152"></a><tt class="py-lineno">4152</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4153"></a><tt class="py-lineno">4153</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1257" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1257', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4154"></a><tt class="py-lineno">4154</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1258" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1258', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4155"></a><tt class="py-lineno">4155</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4156"></a><tt class="py-lineno">4156</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L4157"></a><tt class="py-lineno">4157</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L4158"></a><tt class="py-lineno">4158</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1259" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1259', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1260" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1260', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4159"></a><tt class="py-lineno">4159</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4160"></a><tt class="py-lineno">4160</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4161"></a><tt class="py-lineno">4161</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4162"></a><tt class="py-lineno">4162</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4163"></a><tt class="py-lineno">4163</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L4164"></a><tt class="py-lineno">4164</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4165"></a><tt class="py-lineno">4165</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4166"></a><tt class="py-lineno">4166</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4167"></a><tt class="py-lineno">4167</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4168"></a><tt class="py-lineno">4168</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1261" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1261', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1262" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1262', 'setTestSize', 'link-1124');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4169"></a><tt class="py-lineno">4169</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4170"></a><tt class="py-lineno">4170</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4171"></a><tt class="py-lineno">4171</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4172"></a><tt class="py-lineno">4172</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4173"></a><tt class="py-lineno">4173</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4174"></a><tt class="py-lineno">4174</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4175"></a><tt class="py-lineno">4175</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4176"></a><tt class="py-lineno">4176</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4177"></a><tt class="py-lineno">4177</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4178"></a><tt class="py-lineno">4178</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L4179"></a><tt class="py-lineno">4179</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4180"></a><tt class="py-lineno">4180</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1263" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1263', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1264" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1264', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4181"></a><tt class="py-lineno">4181</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4182"></a><tt class="py-lineno">4182</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4183"></a><tt class="py-lineno">4183</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4184"></a><tt class="py-lineno">4184</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">addAllResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L4185"></a><tt class="py-lineno">4185</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L4186"></a><tt class="py-lineno">4186</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">addAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L4187"></a><tt class="py-lineno">4187</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L4188"></a><tt class="py-lineno">4188</tt>  <tt class="py-line">                                 <tt id="link-1265" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1265', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4189"></a><tt class="py-lineno">4189</tt>  <tt class="py-line"> </tt>
+<a name="L4190"></a><tt class="py-lineno">4190</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1266" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1266', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set retain()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4191"></a><tt class="py-lineno">4191</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">intersection_update</tt><tt class="py-op">(</tt> <tt class="py-name">retainValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4192"></a><tt class="py-lineno">4192</tt>  <tt class="py-line">        <tt class="py-name">retainResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4193"></a><tt class="py-lineno">4193</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4194"></a><tt class="py-lineno">4194</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4195"></a><tt class="py-lineno">4195</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1267" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1267', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1268" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove" class="py-name" href="#" onclick="return doclink('link-1268', 'setTestRemove', 'link-1175');">setTestRemove</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4196"></a><tt class="py-lineno">4196</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestRetain-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4197"></a><tt class="py-lineno">4197</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">retainValue</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L4198"></a><tt class="py-lineno">4198</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"retain"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4199"></a><tt class="py-lineno">4199</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4200"></a><tt class="py-lineno">4200</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4201"></a><tt class="py-lineno">4201</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4202"></a><tt class="py-lineno">4202</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4203"></a><tt class="py-lineno">4203</tt>  <tt class="py-line">            <tt class="py-name">retainResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4204"></a><tt class="py-lineno">4204</tt>  <tt class="py-line"> </tt>
+<a name="L4205"></a><tt class="py-lineno">4205</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L4206"></a><tt class="py-lineno">4206</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L4207"></a><tt class="py-lineno">4207</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L4208"></a><tt class="py-lineno">4208</tt>  <tt class="py-line">        <tt class="py-name">retainResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4209"></a><tt class="py-lineno">4209</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4210"></a><tt class="py-lineno">4210</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">retainResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4211"></a><tt class="py-lineno">4211</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L4212"></a><tt class="py-lineno">4212</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L4213"></a><tt class="py-lineno">4213</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">retainResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4214"></a><tt class="py-lineno">4214</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L4215"></a><tt class="py-lineno">4215</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L4216"></a><tt class="py-lineno">4216</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">retainResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L4217"></a><tt class="py-lineno">4217</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L4218"></a><tt class="py-lineno">4218</tt>  <tt class="py-line">                <tt class="py-name">retainResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4219"></a><tt class="py-lineno">4219</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L4220"></a><tt class="py-lineno">4220</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L4221"></a><tt class="py-lineno">4221</tt>  <tt class="py-line">                <tt class="py-name">retainResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4222"></a><tt class="py-lineno">4222</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">retainResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4223"></a><tt class="py-lineno">4223</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1269" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1269', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1270" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1270', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set retain"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4224"></a><tt class="py-lineno">4224</tt>  <tt class="py-line"> </tt>
+<a name="L4225"></a><tt class="py-lineno">4225</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L4226"></a><tt class="py-lineno">4226</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4227"></a><tt class="py-lineno">4227</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4228"></a><tt class="py-lineno">4228</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4229"></a><tt class="py-lineno">4229</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4230"></a><tt class="py-lineno">4230</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1271" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1271', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1272" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1272', 'setTestGet', 'link-1114');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4231"></a><tt class="py-lineno">4231</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4232"></a><tt class="py-lineno">4232</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4233"></a><tt class="py-lineno">4233</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4234"></a><tt class="py-lineno">4234</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4235"></a><tt class="py-lineno">4235</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4236"></a><tt class="py-lineno">4236</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4237"></a><tt class="py-lineno">4237</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4238"></a><tt class="py-lineno">4238</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4239"></a><tt class="py-lineno">4239</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4240"></a><tt class="py-lineno">4240</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4241"></a><tt class="py-lineno">4241</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4242"></a><tt class="py-lineno">4242</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4243"></a><tt class="py-lineno">4243</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L4244"></a><tt class="py-lineno">4244</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L4245"></a><tt class="py-lineno">4245</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1273" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1273', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1274" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1274', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4246"></a><tt class="py-lineno">4246</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4247"></a><tt class="py-lineno">4247</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4248"></a><tt class="py-lineno">4248</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4249"></a><tt class="py-lineno">4249</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1275" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1275', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4250"></a><tt class="py-lineno">4250</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1276" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1276', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4251"></a><tt class="py-lineno">4251</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4252"></a><tt class="py-lineno">4252</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L4253"></a><tt class="py-lineno">4253</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L4254"></a><tt class="py-lineno">4254</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1277" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1277', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1278" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1278', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4255"></a><tt class="py-lineno">4255</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4256"></a><tt class="py-lineno">4256</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4257"></a><tt class="py-lineno">4257</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4258"></a><tt class="py-lineno">4258</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4259"></a><tt class="py-lineno">4259</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L4260"></a><tt class="py-lineno">4260</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4261"></a><tt class="py-lineno">4261</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4262"></a><tt class="py-lineno">4262</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4263"></a><tt class="py-lineno">4263</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4264"></a><tt class="py-lineno">4264</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1279" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1279', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1280" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1280', 'setTestSize', 'link-1124');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4265"></a><tt class="py-lineno">4265</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4266"></a><tt class="py-lineno">4266</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4267"></a><tt class="py-lineno">4267</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4268"></a><tt class="py-lineno">4268</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4269"></a><tt class="py-lineno">4269</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4270"></a><tt class="py-lineno">4270</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4271"></a><tt class="py-lineno">4271</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4272"></a><tt class="py-lineno">4272</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4273"></a><tt class="py-lineno">4273</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4274"></a><tt class="py-lineno">4274</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L4275"></a><tt class="py-lineno">4275</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4276"></a><tt class="py-lineno">4276</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1281" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1281', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1282" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1282', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4277"></a><tt class="py-lineno">4277</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4278"></a><tt class="py-lineno">4278</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4279"></a><tt class="py-lineno">4279</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4280"></a><tt class="py-lineno">4280</tt>  <tt class="py-line">        <tt class="py-name">retainResults</tt> <tt class="py-op">=</tt> <tt class="py-name">retainResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L4281"></a><tt class="py-lineno">4281</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L4282"></a><tt class="py-lineno">4282</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">retainResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L4283"></a><tt class="py-lineno">4283</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set retain correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L4284"></a><tt class="py-lineno">4284</tt>  <tt class="py-line">                                 <tt id="link-1283" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1283', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set retain was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+</div></div><a name="L4285"></a><tt class="py-lineno">4285</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html
new file mode 100644
index 0000000..02c488d
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html
@@ -0,0 +1,518 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAclusterRestart-module.html">Package&nbsp;HAclusterRestart</a> ::
+        <a href="TestON.tests.HAclusterRestart.HAclusterRestart-module.html">Module&nbsp;HAclusterRestart</a> ::
+        Class&nbsp;HAclusterRestart
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class HAclusterRestart</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart">source&nbsp;code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE1" class="summary-sig-name">CASE1</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      CASE1 is to compile ONOS and push it to the test machines</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE1">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE2"></a><span class="summary-sig-name">CASE2</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Assign devices to controllers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE2">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE21"></a><span class="summary-sig-name">CASE21</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Assign mastership to controllers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE21">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE3"></a><span class="summary-sig-name">CASE3</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Assign intents</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE3">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE4"></a><span class="summary-sig-name">CASE4</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Ping across added host intents</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE4">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE5"></a><span class="summary-sig-name">CASE5</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Reading state of ONOS</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE5">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE6"></a><span class="summary-sig-name">CASE6</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      The Failure case.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE6">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE7"></a><span class="summary-sig-name">CASE7</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Check state after ONOS failure</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE7">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE8"></a><span class="summary-sig-name">CASE8</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Compare topo</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE8">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE9"></a><span class="summary-sig-name">CASE9</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Link s3-s28 down</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE9">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE10"></a><span class="summary-sig-name">CASE10</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Link s3-s28 up</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE10">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE11"></a><span class="summary-sig-name">CASE11</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Switch Down</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE11">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE12"></a><span class="summary-sig-name">CASE12</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Switch Up</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE12">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE13"></a><span class="summary-sig-name">CASE13</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Clean up</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE13">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE14"></a><span class="summary-sig-name">CASE14</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      start election app on all onos nodes</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE14">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE15"></a><span class="summary-sig-name">CASE15</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Check that Leadership Election is still functional</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE15">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE16"></a><span class="summary-sig-name">CASE16</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Install Distributed Primitives app</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE16">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE17"></a><span class="summary-sig-name">CASE17</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Check for basic functionality with distributed primitives</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE17">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="CASE1"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">CASE1</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">main</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-pysrc.html#HAclusterRestart.CASE1">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>CASE1 is to compile ONOS and push it to the test machines</p>
+  <p>Startup sequence: cell &lt;name&gt; onos-verify-cell NOTE: temporary -
+  onos-remove-raft-logs onos-uninstall start mininet git pull mvn clean 
+  install onos-package onos-install -f onos-wait-for-start start cli 
+  sessions start tcpdump</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies-module.html
similarity index 63%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies-module.html
index 186f4ef..07f76b2 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.HAclusterRestart.dependencies</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        <a href="TestON.tests.HAclusterRestart-module.html">Package&nbsp;HAclusterRestart</a> ::
+        Package&nbsp;dependencies
       </span>
     </td>
     <td>
@@ -49,14 +55,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Package dependencies</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAclusterRestart.dependencies-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== SUBMODULES ==================== -->
 <a name="section-Submodules"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -76,11 +82,38 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.PoxTest.PoxTest-module.html">TestON.tests.PoxTest.PoxTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html">TestON.tests.HAclusterRestart.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html">TestON.tests.HAclusterRestart.dependencies.obelisk</a></strong>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +134,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies-pysrc.html
similarity index 77%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies-pysrc.html
index ab359bb..b8143eb 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.HAclusterRestart.dependencies</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        <a href="TestON.tests.HAclusterRestart-module.html">Package&nbsp;HAclusterRestart</a> ::
+        Package&nbsp;dependencies
       </span>
     </td>
     <td>
@@ -49,13 +55,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAclusterRestart.dependencies-module.html">Package TestON.tests.HAclusterRestart.dependencies</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +91,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest.MininetTest-class.html b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies.Counters-module.html
similarity index 62%
rename from TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest.MininetTest-class.html
rename to TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies.Counters-module.html
index f271fbb..0db610c 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest.MininetTest-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies.Counters-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.MininetTest.MininetTest.MininetTest</title>
+  <title>TestON.tests.HAclusterRestart.dependencies.Counters</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,9 +44,9 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.MininetTest-module.html">Package&nbsp;MininetTest</a> ::
-        <a href="TestON.tests.MininetTest.MininetTest-module.html">Module&nbsp;MininetTest</a> ::
-        Class&nbsp;MininetTest
+        <a href="TestON.tests.HAclusterRestart-module.html">Package&nbsp;HAclusterRestart</a> ::
+        <a href="TestON.tests.HAclusterRestart.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        Module&nbsp;Counters
       </span>
     </td>
     <td>
@@ -51,27 +56,25 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class MininetTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest">source&nbsp;code</a></span></p>
-<p>Testing of the some basic Mininet functions included here</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module Counters</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAclusterRestart.dependencies.Counters-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
 <tr bgcolor="#70b0f0" class="table-header">
   <td colspan="2" class="table-header">
     <table border="0" cellpadding="0" cellspacing="0" width="100%">
       <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="left"><span class="table-header">Functions</span></td>
         <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
+         ><span class="options">[<a href="#section-Functions"
          class="privatelink" onclick="toggle_private();"
          >hide private</a>]</span></td>
       </tr>
@@ -86,7 +89,7 @@
         <tr>
           <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest.__init__">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.dependencies.Counters-pysrc.html#__init__">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -100,12 +103,11 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">main</span>)</span><br />
-      Testing the configuration of the host by using checkIP functionof 
-      Mininet driver</td>
+          <td><span class="summary-sig"><a name="counterCheck"></a><span class="summary-sig-name">counterCheck</span>(<span class="summary-sig-arg">counterName</span>,
+        <span class="summary-sig-arg">counterValue</span>)</span><br />
+      Add Text here</td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest.CASE1">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.dependencies.Counters-pysrc.html#counterCheck">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -113,23 +115,30 @@
       
     </td>
   </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
 <tr>
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="CASE2"></a><span class="summary-sig-name">CASE2</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">main</span>)</span><br />
-      Testing of the reachability of the hosts by using pingall of Mininet 
-      driver</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest.CASE2">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
     </td>
   </tr>
 </table>
@@ -153,13 +162,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies.Counters-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies.Counters-pysrc.html
new file mode 100644
index 0000000..4787c9d
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies.Counters-pysrc.html
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAclusterRestart.dependencies.Counters</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAclusterRestart-module.html">Package&nbsp;HAclusterRestart</a> ::
+        <a href="TestON.tests.HAclusterRestart.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        Module&nbsp;Counters
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies.Counters-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html">Module TestON.tests.HAclusterRestart.dependencies.Counters</a></h1>
+<pre class="py-src">
+<a name="__init__"></a><div id="__init__-def"><a name="L1"></a><tt class="py-lineno"> 1</tt> <a class="py-toggle" href="#" id="__init__-toggle" onclick="return toggle('__init__');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="__init__-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="__init__-expanded"><a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"> </tt>
+<a name="counterCheck"></a><div id="counterCheck-def"><a name="L4"></a><tt class="py-lineno"> 4</tt> <a class="py-toggle" href="#" id="counterCheck-toggle" onclick="return toggle('counterCheck');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html#counterCheck">counterCheck</a><tt class="py-op">(</tt> <tt class="py-param">counterName</tt><tt class="py-op">,</tt> <tt class="py-param">counterValue</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="counterCheck-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="counterCheck-expanded"><a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">    Add Text here</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">    <tt class="py-name">correctResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">    <tt class="py-comment"># Get onos counters results</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">    <tt class="py-name">onosCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">    <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">        <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module TestON.core.Thread=TestON.core.Thread-module.html,Class TestON.core.Thread.Thread=TestON.core.Thread.Thread-class.html"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1', 'Thread', 'link-1');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counters"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters" class="py-name" href="#" onclick="return doclink('link-2', 'counters', 'link-2');">counters</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">                         <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counters-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">        <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">        <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">        <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-name">onosCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">    <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosCounters</tt> <tt class="py-op">]</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt> <tt class="py-name">tmp</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-name">consistent</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-name">consistent</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-3', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-4', 'error', 'link-4');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS nodes have different values for counters"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">:</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-5', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt> <tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">    <tt class="py-comment"># Check for correct values</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">            <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-6', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-7', 'error', 'link-4');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Could not parse counters response from ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-8', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt class="py-name">onosValue</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">database</tt> <tt class="py-keyword">in</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">                <tt class="py-name">database</tt> <tt class="py-op">=</tt> <tt class="py-name">database</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">counter</tt> <tt class="py-keyword">in</tt> <tt class="py-name">database</tt><tt class="py-op">:</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">counter</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'name'</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">counterName</tt><tt class="py-op">:</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">                        <tt class="py-name">onosValue</tt> <tt class="py-op">=</tt> <tt class="py-name">counter</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'value'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-10', 'error', 'link-4');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" counters result "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">                            <tt class="py-string">"is not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">            <tt class="py-name">correctResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">onosValue</tt> <tt class="py-op">==</tt> <tt class="py-name">counterValue</tt><tt class="py-op">:</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-11', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">counterName</tt> <tt class="py-op">+</tt> <tt class="py-string">" counter value is correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-12', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-13', 'error', 'link-4');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">counterName</tt> <tt class="py-op">+</tt> <tt class="py-string">" counter value is incorrect,"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">                            <tt class="py-string">" expected value: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">counterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">                            <tt class="py-op">+</tt> <tt class="py-string">" current value: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosValue</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">            <tt class="py-name">correctResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">consistent</tt> <tt class="py-keyword">and</tt> <tt class="py-name">correctResults</tt> </tt>
+</div><a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies.obelisk-module.html b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies.obelisk-module.html
new file mode 100644
index 0000000..eb68f8d
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies.obelisk-module.html
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAclusterRestart.dependencies.obelisk</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAclusterRestart-module.html">Package&nbsp;HAclusterRestart</a> ::
+        <a href="TestON.tests.HAclusterRestart.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        Module&nbsp;obelisk
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module obelisk</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html" class="summary-name">ObeliskTopo</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="run"></a><span class="summary-sig-name">run</span>()</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk-pysrc.html#run">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="topos"></a><span class="summary-name">topos</span> = <code title="{'obelisk':(lambda: ObeliskTopo())}">{'obelisk':(lambda: ObeliskTopo())}</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.tests.HAclusterRestart.dependencies'"><code class="variable-quote">'</code><code class="variable-string">TestON.tests.HAclusterRestart.dependencies</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies.obelisk-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies.obelisk-pysrc.html
new file mode 100644
index 0000000..6ff8f43
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies.obelisk-pysrc.html
@@ -0,0 +1,273 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAclusterRestart.dependencies.obelisk</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAclusterRestart-module.html">Package&nbsp;HAclusterRestart</a> ::
+        <a href="TestON.tests.HAclusterRestart.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        Module&nbsp;obelisk
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies.obelisk-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html">Module TestON.tests.HAclusterRestart.dependencies.obelisk</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">mininet</tt><tt class="py-op">.</tt><tt class="py-name">topo</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Topo</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"> </tt>
+<a name="ObeliskTopo"></a><div id="ObeliskTopo-def"><a name="L5"></a><tt class="py-lineno"> 5</tt> <a class="py-toggle" href="#" id="ObeliskTopo-toggle" onclick="return toggle('ObeliskTopo');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html">ObeliskTopo</a><tt class="py-op">(</tt> <tt class="py-base-class">Topo</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObeliskTopo-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="ObeliskTopo-expanded"><a name="ObeliskTopo.__init__"></a><div id="ObeliskTopo.__init__-def"><a name="L6"></a><tt class="py-lineno"> 6</tt> <a class="py-toggle" href="#" id="ObeliskTopo.__init__-toggle" onclick="return toggle('ObeliskTopo.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObeliskTopo.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ObeliskTopo.__init__-expanded"><a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line">        <tt class="py-name">Topo</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-0', '__init__', 'link-0');">__init__</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line">        <tt class="py-name">topSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addSwitch"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-1', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s1'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'1000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">        <tt class="py-name">leftTopSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-2', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s2'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'2000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">        <tt class="py-name">rightTopSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-3', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s5'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'5000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">        <tt class="py-name">leftBotSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-4', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s3'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'3000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">        <tt class="py-name">rightBotSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-5', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s6'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'6000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">        <tt class="py-name">midBotSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-6', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s28'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'2800'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">        <tt class="py-name">topHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addHost"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-7', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt> <tt class="py-string">'h1'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">        <tt class="py-name">leftTopHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-8', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h2'</tt><tt class="py-op">)</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">        <tt class="py-name">rightTopHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-9', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h5'</tt><tt class="py-op">)</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">        <tt class="py-name">leftBotHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-10', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h3'</tt><tt class="py-op">)</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">        <tt class="py-name">rightBotHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-11', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h6'</tt><tt class="py-op">)</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-name">midBotHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-12', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h28'</tt><tt class="py-op">)</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addLink"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-13', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">topSwitch</tt><tt class="py-op">,</tt><tt class="py-name">topHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-14', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">leftTopHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-15', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">rightTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightTopHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-16', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">leftBotHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-17', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">rightBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightBotHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-18', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">midBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">midBotHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-19', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightTopSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-20', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">topSwitch</tt><tt class="py-op">,</tt><tt class="py-name">leftTopSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-21', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">topSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightTopSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-22', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">leftBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-23', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">rightTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-24', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">midBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-25', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">midBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">        <tt class="py-name">agg1Switch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-26', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s4'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'3004'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">        <tt class="py-name">agg2Switch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-27', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s7'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'6007'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-name">agg1Host</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-28', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h4'</tt><tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt class="py-name">agg2Host</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-29', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h7'</tt><tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-30', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">agg1Switch</tt><tt class="py-op">,</tt><tt class="py-name">agg1Host</tt><tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-31', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">agg2Switch</tt><tt class="py-op">,</tt><tt class="py-name">agg2Host</tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-32', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">agg1Switch</tt><tt class="py-op">,</tt> <tt class="py-name">leftBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-33', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">agg2Switch</tt><tt class="py-op">,</tt> <tt class="py-name">rightBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">            <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">8</tt><tt class="py-op">)</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">            <tt class="py-name">switch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-34', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'30'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">            <tt class="py-name">host</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-35', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-36', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">host</tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-37', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">agg1Switch</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">            <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">18</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">            <tt class="py-name">switch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-38', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'60'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">            <tt class="py-name">host</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-39', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-40', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">host</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-41', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">agg2Switch</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line"> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line"><tt id="link-42" class="py-name" targets="Variable TestON.tests.HAclusterRestart.dependencies.obelisk.topos=TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#topos,Variable TestON.tests.HAminorityRestart.dependencies.obelisk.topos=TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#topos,Variable TestON.tests.HAsanity.dependencies.obelisk.topos=TestON.tests.HAsanity.dependencies.obelisk-module.html#topos,Variable TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.topos=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#topos"><a title="TestON.tests.HAclusterRestart.dependencies.obelisk.topos
+TestON.tests.HAminorityRestart.dependencies.obelisk.topos
+TestON.tests.HAsanity.dependencies.obelisk.topos
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.topos" class="py-name" href="#" onclick="return doclink('link-42', 'topos', 'link-42');">topos</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">'obelisk'</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt class="py-keyword">lambda</tt><tt class="py-op">:</tt> <tt id="link-43" class="py-name" targets="Class TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html,Class TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html,Class TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html,Class TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html"><a title="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo" class="py-name" href="#" onclick="return doclink('link-43', 'ObeliskTopo', 'link-43');">ObeliskTopo</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line"> </tt>
+<a name="run"></a><div id="run-def"><a name="L60"></a><tt class="py-lineno">60</tt> <a class="py-toggle" href="#" id="run-toggle" onclick="return toggle('run');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#run">run</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="run-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="run-expanded"><a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">    <tt class="py-name">topo</tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo" class="py-name" href="#" onclick="return doclink('link-44', 'ObeliskTopo', 'link-43');">ObeliskTopo</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">    <tt id="link-45" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#net"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-45', 'net', 'link-45');">net</a></tt> <tt class="py-op">=</tt> <tt class="py-name">Mininet</tt><tt class="py-op">(</tt> <tt class="py-name">topo</tt><tt class="py-op">=</tt><tt class="py-name">topo</tt><tt class="py-op">,</tt> <tt id="link-46" class="py-name" targets="Package TestON.drivers.common.api.controller=TestON.drivers.common.api.controller-module.html"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-46', 'controller', 'link-46');">controller</a></tt><tt class="py-op">=</tt><tt class="py-name">RemoteController</tt><tt class="py-op">,</tt> <tt class="py-name">autoSetMacs</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">    <tt id="link-47" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-47', 'net', 'link-45');">net</a></tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">    <tt id="link-48" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-48', 'CLI', 'link-48');">CLI</a></tt><tt class="py-op">(</tt> <tt id="link-49" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-49', 'net', 'link-45');">net</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">    <tt id="link-50" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-50', 'net', 'link-45');">net</a></tt><tt class="py-op">.</tt><tt id="link-51" class="py-name" targets="Method TestON.bin.cli.TestThread.stop()=TestON.bin.cli.TestThread-class.html#stop"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-51', 'stop', 'link-51');">stop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line"> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line">    <tt class="py-name">setLogLevel</tt><tt class="py-op">(</tt> <tt class="py-string">'info'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line">    <tt id="link-52" class="py-name" targets="Method TestON.bin.cli.TestThread.run()=TestON.bin.cli.TestThread-class.html#run,Method TestON.core.Thread.Thread.run()=TestON.core.Thread.Thread-class.html#run,Method TestON.core.teston.TestON.run()=TestON.core.teston.TestON-class.html#run,Function TestON.tests.HAclusterRestart.dependencies.obelisk.run()=TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#run,Function TestON.tests.HAminorityRestart.dependencies.obelisk.run()=TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#run,Function TestON.tests.HAsanity.dependencies.obelisk.run()=TestON.tests.HAsanity.dependencies.obelisk-module.html#run,Function TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#run"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-52', 'run', 'link-52');">run</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html
new file mode 100644
index 0000000..8f4ffcd
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html
@@ -0,0 +1,298 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAclusterRestart-module.html">Package&nbsp;HAclusterRestart</a> ::
+        <a href="TestON.tests.HAclusterRestart.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        <a href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html">Module&nbsp;obelisk</a> ::
+        Class&nbsp;ObeliskTopo
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class ObeliskTopo</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk-pysrc.html#ObeliskTopo">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_obelisktop" name="class_hierarchy_for_obelisktop">
+<area shape="rect" id="node1" href="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html" title="ObeliskTopo" alt="" coords="21,62,115,87"/>
+<area shape="rect" id="node2" href="javascript:void(0);" title="mininet.topo.Topo" alt="" coords="5,6,131,31"/>
+</map>
+  <img src="class_hierarchy_for_obelisktop.gif" alt='' usemap="#class_hierarchy_for_obelisktop" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Topo object.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk-pysrc.html#ObeliskTopo.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>mininet.topo.Topo</code></b>:
+      <code>addHost</code>,
+      <code>addLink</code>,
+      <code>addNode</code>,
+      <code>addPort</code>,
+      <code>addSwitch</code>,
+      <code>build</code>,
+      <code>convertTo</code>,
+      <code>hosts</code>,
+      <code>isSwitch</code>,
+      <code>iterLinks</code>,
+      <code>linkInfo</code>,
+      <code>links</code>,
+      <code>nodeInfo</code>,
+      <code>nodes</code>,
+      <code>port</code>,
+      <code>setNodeInfo</code>,
+      <code>setlinkInfo</code>,
+      <code>switches</code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>mininet.topo.Topo</code></b> (private):
+      <code>_linkEntry</code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>mininet.topo.Topo</code></b>:
+      <code>sorted</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk-pysrc.html#ObeliskTopo.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Topo object. Optional named parameters: hinfo: default host options 
+  sopts: default switch options lopts: default link options calls 
+  build()</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart-module.html b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart-module.html
new file mode 100644
index 0000000..053dd59
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart-module.html
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAminorityRestart</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        Package&nbsp;HAminorityRestart
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAminorityRestart-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PACKAGE DESCRIPTION ==================== -->
+<h1 class="epydoc">Package HAminorityRestart</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAminorityRestart-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== SUBMODULES ==================== -->
+<a name="section-Submodules"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Submodules</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Submodules"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr><td class="summary">
+  <ul class="nomargin">
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-module.html">TestON.tests.HAminorityRestart.HAminorityRestart</a></strong>: <em class="summary">Description: This test is to determine if ONOS can handle
+    a minority of it's nodes restarting</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.dependencies-module.html">TestON.tests.HAminorityRestart.dependencies</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html">TestON.tests.HAminorityRestart.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html">TestON.tests.HAminorityRestart.dependencies.obelisk</a></strong>    </li>
+    </ul>
+    </li>
+  </ul></td></tr>
+</table>
+
+<br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart-pysrc.html
similarity index 80%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart-pysrc.html
index ab359bb..3a08161 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.HAminorityRestart</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;HAminorityRestart
       </span>
     </td>
     <td>
@@ -49,13 +54,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAminorityRestart-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAminorityRestart-module.html">Package TestON.tests.HAminorityRestart</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.HAminorityRestart-module.html b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.HAminorityRestart-module.html
new file mode 100644
index 0000000..94a2ac9
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.HAminorityRestart-module.html
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAminorityRestart.HAminorityRestart</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAminorityRestart-module.html">Package&nbsp;HAminorityRestart</a> ::
+        Module&nbsp;HAminorityRestart
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module HAminorityRestart</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
+
+Description: This test is to determine if ONOS can handle
+    a minority of it's nodes restarting
+
+List of test cases:
+CASE1: Compile ONOS and push it to the test machines
+CASE2: Assign devices to controllers
+CASE21: Assign mastership to controllers
+CASE3: Assign intents
+CASE4: Ping across added host intents
+CASE5: Reading state of ONOS
+CASE6: The Failure case.
+CASE7: Check state after control plane failure
+CASE8: Compare topo
+CASE9: Link s3-s28 down
+CASE10: Link s3-s28 up
+CASE11: Switch down
+CASE12: Switch up
+CASE13: Clean up
+CASE14: start election app on all onos nodes
+CASE15: Check that Leadership Election is still functional
+CASE16: Install Distributed Primitives app
+CASE17: Check for basic functionality with distributed primitives
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html" class="summary-name">HAminorityRestart</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html
new file mode 100644
index 0000000..4fe36e4
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html
@@ -0,0 +1,4722 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAminorityRestart.HAminorityRestart</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAminorityRestart-module.html">Package&nbsp;HAminorityRestart</a> ::
+        Module&nbsp;HAminorityRestart
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAminorityRestart.HAminorityRestart-module.html">Module TestON.tests.HAminorityRestart.HAminorityRestart</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"><tt class="py-docstring">Description: This test is to determine if ONOS can handle</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">   3</tt>  <tt class="py-line"><tt class="py-docstring">    a minority of it's nodes restarting</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno">   5</tt>  <tt class="py-line"><tt class="py-docstring">List of test cases:</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line"><tt class="py-docstring">CASE1: Compile ONOS and push it to the test machines</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"><tt class="py-docstring">CASE2: Assign devices to controllers</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">   8</tt>  <tt class="py-line"><tt class="py-docstring">CASE21: Assign mastership to controllers</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">   9</tt>  <tt class="py-line"><tt class="py-docstring">CASE3: Assign intents</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line"><tt class="py-docstring">CASE4: Ping across added host intents</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">  11</tt>  <tt class="py-line"><tt class="py-docstring">CASE5: Reading state of ONOS</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line"><tt class="py-docstring">CASE6: The Failure case.</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"><tt class="py-docstring">CASE7: Check state after control plane failure</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line"><tt class="py-docstring">CASE8: Compare topo</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line"><tt class="py-docstring">CASE9: Link s3-s28 down</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt class="py-docstring">CASE10: Link s3-s28 up</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt class="py-docstring">CASE11: Switch down</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-docstring">CASE12: Switch up</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"><tt class="py-docstring">CASE13: Clean up</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"><tt class="py-docstring">CASE14: start election app on all onos nodes</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"><tt class="py-docstring">CASE15: Check that Leadership Election is still functional</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">  22</tt>  <tt class="py-line"><tt class="py-docstring">CASE16: Install Distributed Primitives app</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line"><tt class="py-docstring">CASE17: Check for basic functionality with distributed primitives</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">  26</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart"></a><div id="HAminorityRestart-def"><a name="L27"></a><tt class="py-lineno">  27</tt> <a class="py-toggle" href="#" id="HAminorityRestart-toggle" onclick="return toggle('HAminorityRestart');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HAminorityRestart-expanded"><a name="L28"></a><tt class="py-lineno">  28</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.__init__"></a><div id="HAminorityRestart.__init__-def"><a name="L29"></a><tt class="py-lineno">  29</tt> <a class="py-toggle" href="#" id="HAminorityRestart.__init__-toggle" onclick="return toggle('HAminorityRestart.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.__init__-expanded"><a name="L30"></a><tt class="py-lineno">  30</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE1"></a><div id="HAminorityRestart.CASE1-def"><a name="L32"></a><tt class="py-lineno">  32</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE1-toggle" onclick="return toggle('HAminorityRestart.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE1">CASE1</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE1-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE1-expanded"><a name="L33"></a><tt class="py-lineno">  33</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line"><tt class="py-docstring">        CASE1 is to compile ONOS and push it to the test machines</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L36"></a><tt class="py-lineno">  36</tt>  <tt class="py-line"><tt class="py-docstring">        Startup sequence:</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line"><tt class="py-docstring">        cell &lt;name&gt;</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">  38</tt>  <tt class="py-line"><tt class="py-docstring">        onos-verify-cell</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">  39</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: temporary - onos-remove-raft-logs</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line"><tt class="py-docstring">        onos-uninstall</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line"><tt class="py-docstring">        start mininet</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line"><tt class="py-docstring">        git pull</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">  43</tt>  <tt class="py-line"><tt class="py-docstring">        mvn clean install</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line"><tt class="py-docstring">        onos-package</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line"><tt class="py-docstring">        onos-install -f</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line"><tt class="py-docstring">        onos-wait-for-start</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">  47</tt>  <tt class="py-line"><tt class="py-docstring">        start cli sessions</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">  48</tt>  <tt class="py-line"><tt class="py-docstring">        start tcpdump</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">imp</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">  51</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS HA test: Restart minority of ONOS nodes - "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">  52</tt>  <tt class="py-line">                         <tt class="py-string">"initialization"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-2', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Setting up test environment"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Setup the test environment including "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L55"></a><tt class="py-lineno">  55</tt>  <tt class="py-line">                                <tt class="py-string">"installing ONOS, starting Mininet and ONOS"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L56"></a><tt class="py-lineno">  56</tt>  <tt class="py-line">                                <tt class="py-string">"cli sessions."</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: save all the timers and output them for plotting</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">  58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line">        <tt class="py-comment"># load some variables from the params file</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">  60</tt>  <tt class="py-line">        <tt class="py-name">PULLCODE</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">  61</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'Git'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'True'</tt><tt class="py-op">:</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">  62</tt>  <tt class="py-line">            <tt class="py-name">PULLCODE</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">  63</tt>  <tt class="py-line">        <tt class="py-name">gitBranch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'branch'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line"> </tt>
+<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'num_controllers'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">  70</tt>  <tt class="py-line">        <tt class="py-comment"># set global variables</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS1Port</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS2Port</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS3Port</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">  74</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS4Port</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS5Port</tt> </tt>
+<a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS6Port</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS7Port</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">  78</tt>  <tt class="py-line"> </tt>
+<a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: just get controller port from params?</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: do we really need all these?</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">  81</tt>  <tt class="py-line">        <tt class="py-name">ONOS1Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L82"></a><tt class="py-lineno">  82</tt>  <tt class="py-line">        <tt class="py-name">ONOS2Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port2'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L83"></a><tt class="py-lineno">  83</tt>  <tt class="py-line">        <tt class="py-name">ONOS3Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port3'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line">        <tt class="py-name">ONOS4Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port4'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line">        <tt class="py-name">ONOS5Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port5'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L86"></a><tt class="py-lineno">  86</tt>  <tt class="py-line">        <tt class="py-name">ONOS6Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port6'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L87"></a><tt class="py-lineno">  87</tt>  <tt class="py-line">        <tt class="py-name">ONOS7Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port7'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line"> </tt>
+<a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L90"></a><tt class="py-lineno">  90</tt>  <tt class="py-line">            <tt class="py-name">fileName</tt> <tt class="py-op">=</tt> <tt class="py-string">"Counters"</tt> </tt>
+<a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: Maybe make a library folder somewhere?</tt> </tt>
+<a name="L92"></a><tt class="py-lineno">  92</tt>  <tt class="py-line">            <tt id="link-3" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-3', 'path', 'link-3');">path</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'imports'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'path'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module TestON.tests.HAclusterRestart.dependencies.Counters=TestON.tests.HAclusterRestart.dependencies.Counters-module.html,Module TestON.tests.HAminorityRestart.dependencies.Counters=TestON.tests.HAminorityRestart.dependencies.Counters-module.html,Module TestON.tests.HAsanity.dependencies.Counters=TestON.tests.HAsanity.dependencies.Counters-module.html,Module TestON.tests.HAsingleInstanceRestart.dependencies.Counters=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-4', 'Counters', 'link-4');">Counters</a></tt> <tt class="py-op">=</tt> <tt class="py-name">imp</tt><tt class="py-op">.</tt><tt class="py-name">load_source</tt><tt class="py-op">(</tt> <tt class="py-name">fileName</tt><tt class="py-op">,</tt> </tt>
+<a name="L94"></a><tt class="py-lineno">  94</tt>  <tt class="py-line">                                             <tt id="link-5" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-5', 'path', 'link-3');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno">  95</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-6', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-7', 'cleanup', 'link-7');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno">  98</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-8', 'exit', 'link-8');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line"> </tt>
+<a name="L100"></a><tt class="py-lineno"> 100</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#nodes,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#nodes"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-9', 'nodes', 'link-9');">nodes</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L102"></a><tt class="py-lineno"> 102</tt>  <tt class="py-line">        <tt class="py-name">ipList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L103"></a><tt class="py-lineno"> 103</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">'ONOScli'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno"> 106</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-10', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">'ONOS'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno"> 107</tt>  <tt class="py-line">                <tt class="py-name">ipList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-11', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno"> 109</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line"> </tt>
+<a name="L111"></a><tt class="py-lineno"> 111</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-12', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Create cell file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno"> 112</tt>  <tt class="py-line">        <tt class="py-name">cellAppString</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'appString'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L113"></a><tt class="py-lineno"> 113</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile" class="py-name" href="#" onclick="return doclink('link-13', 'createCellFile', 'link-13');">createCellFile</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-name">cellName</tt><tt class="py-op">,</tt> </tt>
+<a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line">                                       <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L115"></a><tt class="py-lineno"> 115</tt>  <tt class="py-line">                                       <tt class="py-name">cellAppString</tt><tt class="py-op">,</tt> <tt class="py-name">ipList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-14', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Applying cell variable to environment"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno"> 117</tt>  <tt class="py-line">        <tt class="py-name">cellResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell,Method TestON.drivers.common.cli.onosdriver.OnosDriver.setCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.setCell" class="py-name" href="#" onclick="return doclink('link-15', 'setCell', 'link-15');">setCell</a></tt><tt class="py-op">(</tt> <tt class="py-name">cellName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno"> 118</tt>  <tt class="py-line">        <tt class="py-name">verifyResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifyCell"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell" class="py-name" href="#" onclick="return doclink('link-16', 'verifyCell', 'link-16');">verifyCell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line"> </tt>
+<a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME:this is short term fix</tt> </tt>
+<a name="L121"></a><tt class="py-lineno"> 121</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-17', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Removing raft logs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno"> 122</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosRemoveRaftLogs()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosRemoveRaftLogs"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosRemoveRaftLogs" class="py-name" href="#" onclick="return doclink('link-18', 'onosRemoveRaftLogs', 'link-18');">onosRemoveRaftLogs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line"> </tt>
+<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-19', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Uninstalling ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno"> 125</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-20', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosUninstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall" class="py-name" href="#" onclick="return doclink('link-21', 'onosUninstall', 'link-21');">onosUninstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno"> 127</tt>  <tt class="py-line"> </tt>
+<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line">        <tt class="py-comment"># Make sure ONOS is DEAD</tt> </tt>
+<a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-22', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Killing any ONOS processes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L130"></a><tt class="py-lineno"> 130</tt>  <tt class="py-line">        <tt class="py-name">killResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-23', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line">            <tt class="py-name">killed</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosKill()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosKill"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosKill" class="py-name" href="#" onclick="return doclink('link-24', 'onosKill', 'link-24');">onosKill</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line">            <tt class="py-name">killResults</tt> <tt class="py-op">=</tt> <tt class="py-name">killResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">killed</tt> </tt>
+<a name="L134"></a><tt class="py-lineno"> 134</tt>  <tt class="py-line"> </tt>
+<a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line">        <tt class="py-name">cleanInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line">        <tt class="py-name">gitPullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line"> </tt>
+<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-25', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line">        <tt class="py-comment"># scp topo file to mininet</tt> </tt>
+<a name="L140"></a><tt class="py-lineno"> 140</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: move to params?</tt> </tt>
+<a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line">        <tt class="py-name">topoName</tt> <tt class="py-op">=</tt> <tt class="py-string">"obelisk.py"</tt> </tt>
+<a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line">        <tt class="py-name">filePath</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> <tt class="py-string">"/tools/test/topos/"</tt> </tt>
+<a name="L143"></a><tt class="py-lineno"> 143</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.copyMininetFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#copyMininetFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.copyMininetFile" class="py-name" href="#" onclick="return doclink('link-26', 'copyMininetFile', 'link-26');">copyMininetFile</a></tt><tt class="py-op">(</tt> <tt class="py-name">topoName</tt><tt class="py-op">,</tt> <tt class="py-name">filePath</tt><tt class="py-op">,</tt> </tt>
+<a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno"> 146</tt>  <tt class="py-line">        <tt class="py-name">mnResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet" class="py-name" href="#" onclick="return doclink('link-27', 'startNet', 'link-27');">startNet</a></tt><tt class="py-op">(</tt> <tt class="py-op">)</tt> </tt>
+<a name="L147"></a><tt class="py-lineno"> 147</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">mnResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L148"></a><tt class="py-lineno"> 148</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Mininet Started"</tt><tt class="py-op">,</tt> </tt>
+<a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line">                                 <tt id="link-28" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-28', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error starting Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line"> </tt>
+<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-29', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Git checkout and pull "</tt> <tt class="py-op">+</tt> <tt class="py-name">gitBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">PULLCODE</tt><tt class="py-op">:</tt> </tt>
+<a name="L153"></a><tt class="py-lineno"> 153</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitCheckout"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout" class="py-name" href="#" onclick="return doclink('link-30', 'gitCheckout', 'link-30');">gitCheckout</a></tt><tt class="py-op">(</tt> <tt class="py-name">gitBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line">            <tt class="py-name">gitPullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-31', 'gitPull', 'link-31');">gitPull</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line">            <tt class="py-comment"># values of 1 or 3 are good</tt> </tt>
+<a name="L156"></a><tt class="py-lineno"> 156</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_lesser</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">gitPullResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line">                                      <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Git pull successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line">                                      <tt id="link-32" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-32', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Git pull failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getVersion,Method TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getVersion"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion
+TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion" class="py-name" href="#" onclick="return doclink('link-33', 'getVersion', 'link-33');">getVersion</a></tt><tt class="py-op">(</tt> <tt class="py-name">report</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line"> </tt>
+<a name="L161"></a><tt class="py-lineno"> 161</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-34', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Using mvn clean install"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno"> 162</tt>  <tt class="py-line">        <tt class="py-name">cleanInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">PULLCODE</tt> <tt class="py-keyword">and</tt> <tt class="py-name">gitPullResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L164"></a><tt class="py-lineno"> 164</tt>  <tt class="py-line">            <tt class="py-name">cleanInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cleanInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall" class="py-name" href="#" onclick="return doclink('link-35', 'cleanInstall', 'link-35');">cleanInstall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L165"></a><tt class="py-lineno"> 165</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-36', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Did not pull new code so skipping mvn "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line">                           <tt class="py-string">"clean install"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L169"></a><tt class="py-lineno"> 169</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">cleanInstallResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"MCI successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line">                                 <tt id="link-37" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-37', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"MCI failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno"> 172</tt>  <tt class="py-line">        <tt class="py-comment"># GRAPHS</tt> </tt>
+<a name="L173"></a><tt class="py-lineno"> 173</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: important params here:</tt> </tt>
+<a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line">        <tt class="py-comment">#       job = name of Jenkins job</tt> </tt>
+<a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line">        <tt class="py-comment">#       Plot Name = Plot-HA, only can be used if multiple plots</tt> </tt>
+<a name="L176"></a><tt class="py-lineno"> 176</tt>  <tt class="py-line">        <tt class="py-comment">#       index = The number of the graph under plot name</tt> </tt>
+<a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line">        <tt class="py-name">job</tt> <tt class="py-op">=</tt> <tt class="py-string">"HAminorityRestart"</tt> </tt>
+<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line">        <tt class="py-name">plotName</tt> <tt class="py-op">=</tt> <tt class="py-string">"Plot-HA"</tt> </tt>
+<a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">=</tt> <tt class="py-string">'&lt;ac:structured-macro ac:name="html"&gt;\n'</tt> </tt>
+<a name="L180"></a><tt class="py-lineno"> 180</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">+=</tt> <tt class="py-string">'&lt;ac:plain-text-body&gt;&lt;![CDATA[\n'</tt> </tt>
+<a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">+=</tt> <tt class="py-string">'&lt;iframe src="https://onos-jenkins.onlab.us/job/'</tt> <tt class="py-op">+</tt> <tt class="py-name">job</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line">                  <tt class="py-string">'/plot/'</tt> <tt class="py-op">+</tt> <tt class="py-name">plotName</tt> <tt class="py-op">+</tt> <tt class="py-string">'/getPlot?index=0'</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line">                  <tt class="py-string">'&amp;width=500&amp;height=300"'</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line">                  <tt class="py-string">'noborder="0" width="500" height="300" scrolling="yes" '</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L185"></a><tt class="py-lineno"> 185</tt>  <tt class="py-line">                  <tt class="py-string">'seamless="seamless"&gt;&lt;/iframe&gt;\n'</tt> </tt>
+<a name="L186"></a><tt class="py-lineno"> 186</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">+=</tt> <tt class="py-string">']]&gt;&lt;/ac:plain-text-body&gt;\n'</tt> </tt>
+<a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">+=</tt> <tt class="py-string">'&lt;/ac:structured-macro&gt;\n'</tt> </tt>
+<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-38', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt><tt class="py-name">graphs</tt><tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line"> </tt>
+<a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-39', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Creating ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno"> 191</tt>  <tt class="py-line">        <tt class="py-name">packageResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage" class="py-name" href="#" onclick="return doclink('link-40', 'onosPackage', 'link-40');">onosPackage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">packageResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS package successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line">                                 <tt id="link-41" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-41', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS package failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno"> 195</tt>  <tt class="py-line"> </tt>
+<a name="L196"></a><tt class="py-lineno"> 196</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-42', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Installing ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno"> 197</tt>  <tt class="py-line">        <tt class="py-name">onosInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-43', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall" class="py-name" href="#" onclick="return doclink('link-44', 'onosInstall', 'link-44');">onosInstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">options</tt><tt class="py-op">=</tt><tt class="py-string">"-f"</tt><tt class="py-op">,</tt> </tt>
+<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line">                                                    <tt class="py-name">node</tt><tt class="py-op">=</tt><tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line">            <tt class="py-name">onosInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosInstallResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">onosInstallResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS install successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L204"></a><tt class="py-lineno"> 204</tt>  <tt class="py-line">                                 <tt id="link-45" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-45', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS install failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno"> 205</tt>  <tt class="py-line"> </tt>
+<a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-46', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Checking if ONOS is up yet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno"> 207</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line">            <tt class="py-name">onosIsupResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-47', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line">                <tt class="py-name">started</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.isup()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#isup"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-48', 'isup', 'link-48');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno"> 211</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">started</tt><tt class="py-op">:</tt> </tt>
+<a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-49', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-50', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" didn't start!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosStop()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStop"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosStop" class="py-name" href="#" onclick="return doclink('link-51', 'onosStop', 'link-51');">onosStop</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosStart()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStart"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosStart" class="py-name" href="#" onclick="return doclink('link-52', 'onosStart', 'link-52');">onosStart</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line">                <tt class="py-name">onosIsupResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosIsupResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">started</tt> </tt>
+<a name="L216"></a><tt class="py-lineno"> 216</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">onosIsupResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L217"></a><tt class="py-lineno"> 217</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L218"></a><tt class="py-lineno"> 218</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">onosIsupResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS startup successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line">                                 <tt id="link-53" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-53', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS startup failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line"> </tt>
+<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-54', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-55', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting ONOS CLI sessions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line">        <tt class="py-name">cliResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L226"></a><tt class="py-lineno"> 226</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Module TestON.core.Thread=TestON.core.Thread-module.html,Class TestON.core.Thread.Thread=TestON.core.Thread.Thread-class.html"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-56', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#startOnosCli"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli" class="py-name" href="#" onclick="return doclink('link-57', 'startOnosCli', 'link-57');">startOnosCli</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"startOnosCli-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L228"></a><tt class="py-lineno"> 228</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-58', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L229"></a><tt class="py-lineno"> 229</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line"> </tt>
+<a name="L232"></a><tt class="py-lineno"> 232</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L234"></a><tt class="py-lineno"> 234</tt>  <tt class="py-line">            <tt class="py-name">cliResults</tt> <tt class="py-op">=</tt> <tt class="py-name">cliResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">cliResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS cli startup successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line">                                 <tt id="link-59" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-59', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS cli startup failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line"> </tt>
+<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'tcpdump'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">"true"</tt><tt class="py-op">:</tt> </tt>
+<a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-60', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Start Packet Capture MN"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startTcpdump()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startTcpdump,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.startTcpdump()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#startTcpdump"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startTcpdump
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.startTcpdump" class="py-name" href="#" onclick="return doclink('link-61', 'startTcpdump', 'link-61');">startTcpdump</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MNtcpdump'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'folder'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">)</tt> </tt>
+<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line">                <tt class="py-op">+</tt> <tt class="py-string">"-MN.pcap"</tt><tt class="py-op">,</tt> </tt>
+<a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line">                <tt class="py-name">intf</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MNtcpdump'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'intf'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line">                <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MNtcpdump'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line"> </tt>
+<a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-62', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"App Ids check"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line">        <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-63', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appToIDCheck"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-64', 'appToIDCheck', 'link-64');">appToIDCheck</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"appToIDCheck-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line"> </tt>
+<a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line">            <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">appCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-65', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#apps,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#apps"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-66', 'apps', 'link-66');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-67', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appIDs"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-68', 'appIDs', 'link-68');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L265"></a><tt class="py-lineno"> 265</tt>  <tt class="py-line">                                 <tt id="link-69" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-69', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line"> </tt>
+<a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">cliResults</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-70', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-71', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to start ONOS, stopping test"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-72', 'cleanup', 'link-7');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-73', 'exit', 'link-8');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE2"></a><div id="HAminorityRestart.CASE2-def"><a name="L272"></a><tt class="py-lineno"> 272</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE2-toggle" onclick="return toggle('HAminorityRestart.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE2">CASE2</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE2-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE2-expanded"><a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L274"></a><tt class="py-lineno"> 274</tt>  <tt class="py-line"><tt class="py-docstring">        Assign devices to controllers</tt> </tt>
+<a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L276"></a><tt class="py-lineno"> 276</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L277"></a><tt class="py-lineno"> 277</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L280"></a><tt class="py-lineno"> 280</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-74', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS1Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS1Port not defined"</tt> </tt>
+<a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS2Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS2Port not defined"</tt> </tt>
+<a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS3Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS3Port not defined"</tt> </tt>
+<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS4Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS4Port not defined"</tt> </tt>
+<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS5Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS5Port not defined"</tt> </tt>
+<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS6Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS6Port not defined"</tt> </tt>
+<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS7Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS7Port not defined"</tt> </tt>
+<a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line"> </tt>
+<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-75', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assigning devices to controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Assign switches to ONOS using 'ovs-vsctl' "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line">                                <tt class="py-string">"and check that an ONOS node becomes the "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line">                                <tt class="py-string">"master of the device."</tt> </tt>
+<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-76', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assign switches to controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line"> </tt>
+<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line">        <tt class="py-name">ipList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line">            <tt class="py-name">ipList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-77', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line">        <tt class="py-name">swList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line">            <tt class="py-name">swList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignSwController"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController" class="py-name" href="#" onclick="return doclink('link-78', 'assignSwController', 'link-78');">assignSwController</a></tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt><tt class="py-op">=</tt><tt class="py-name">swList</tt><tt class="py-op">,</tt> <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">ipList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line"> </tt>
+<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line">        <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwController()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwController"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwController" class="py-name" href="#" onclick="return doclink('link-79', 'getSwController', 'link-79');">getSwController</a></tt><tt class="py-op">(</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-80', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L309"></a><tt class="py-lineno"> 309</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L310"></a><tt class="py-lineno"> 310</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-81', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-82', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line">                    <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">mastershipCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L314"></a><tt class="py-lineno"> 314</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L315"></a><tt class="py-lineno"> 315</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-83', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-84', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, node "</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> <tt class="py-string">" is "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line">                                    <tt class="py-string">"not in the list of controllers s"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L317"></a><tt class="py-lineno"> 317</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is connecting to."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L318"></a><tt class="py-lineno"> 318</tt>  <tt class="py-line">                    <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L319"></a><tt class="py-lineno"> 319</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L320"></a><tt class="py-lineno"> 320</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">mastershipCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L322"></a><tt class="py-lineno"> 322</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Switch mastership assigned correctly"</tt><tt class="py-op">,</tt> </tt>
+<a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line">            <tt id="link-85" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-85', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Switches not assigned correctly to controllers"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L324"></a><tt class="py-lineno"> 324</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE21"></a><div id="HAminorityRestart.CASE21-def"><a name="L325"></a><tt class="py-lineno"> 325</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE21-toggle" onclick="return toggle('HAminorityRestart.CASE21');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE21">CASE21</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE21-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE21-expanded"><a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L327"></a><tt class="py-lineno"> 327</tt>  <tt class="py-line"><tt class="py-docstring">        Assign mastership to controllers</tt> </tt>
+<a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L329"></a><tt class="py-lineno"> 329</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L330"></a><tt class="py-lineno"> 330</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L332"></a><tt class="py-lineno"> 332</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L333"></a><tt class="py-lineno"> 333</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-86', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS1Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS1Port not defined"</tt> </tt>
+<a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS2Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS2Port not defined"</tt> </tt>
+<a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS3Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS3Port not defined"</tt> </tt>
+<a name="L338"></a><tt class="py-lineno"> 338</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS4Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS4Port not defined"</tt> </tt>
+<a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS5Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS5Port not defined"</tt> </tt>
+<a name="L340"></a><tt class="py-lineno"> 340</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS6Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS6Port not defined"</tt> </tt>
+<a name="L341"></a><tt class="py-lineno"> 341</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS7Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS7Port not defined"</tt> </tt>
+<a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line"> </tt>
+<a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-87', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assigning Controller roles for switches"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Check that ONOS is connected to each "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L345"></a><tt class="py-lineno"> 345</tt>  <tt class="py-line">                                <tt class="py-string">"device. Then manually assign"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line">                                <tt class="py-string">" mastership to specific ONOS nodes using"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line">                                <tt class="py-string">" 'device-role'"</tt> </tt>
+<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-88', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assign mastership of switches to specific controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L349"></a><tt class="py-lineno"> 349</tt>  <tt class="py-line">        <tt class="py-comment"># Manually assign mastership to the controller we want</tt> </tt>
+<a name="L350"></a><tt class="py-lineno"> 350</tt>  <tt class="py-line">        <tt class="py-name">roleCall</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line"> </tt>
+<a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line">        <tt class="py-name">ipList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-op">]</tt> </tt>
+<a name="L353"></a><tt class="py-lineno"> 353</tt>  <tt class="py-line">        <tt class="py-name">deviceList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L355"></a><tt class="py-lineno"> 355</tt>  <tt class="py-line">            <tt class="py-comment"># Assign mastership to specific controllers. This assignment was</tt> </tt>
+<a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line">            <tt class="py-comment"># determined for a 7 node cluser, but will work with any sized</tt> </tt>
+<a name="L357"></a><tt class="py-lineno"> 357</tt>  <tt class="py-line">            <tt class="py-comment"># cluster</tt> </tt>
+<a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># switches 1 through 28</tt> </tt>
+<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line">                <tt class="py-comment"># set up correct variables:</tt> </tt>
+<a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L362"></a><tt class="py-lineno"> 362</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-89', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS1</tt> </tt>
+<a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getDevice"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-90', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"1000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L364"></a><tt class="py-lineno"> 364</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L365"></a><tt class="py-lineno"> 365</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-91', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS2</tt> </tt>
+<a name="L367"></a><tt class="py-lineno"> 367</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-92', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"2000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-93', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS2</tt> </tt>
+<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-94', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"3000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L372"></a><tt class="py-lineno"> 372</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L373"></a><tt class="py-lineno"> 373</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">3</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-95', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS4</tt> </tt>
+<a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-96', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"3004"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L376"></a><tt class="py-lineno"> 376</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">5</tt><tt class="py-op">:</tt> </tt>
+<a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-97', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS3</tt> </tt>
+<a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-98', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"5000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">6</tt><tt class="py-op">:</tt> </tt>
+<a name="L381"></a><tt class="py-lineno"> 381</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L382"></a><tt class="py-lineno"> 382</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-99', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS3</tt> </tt>
+<a name="L383"></a><tt class="py-lineno"> 383</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-100', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"6000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L384"></a><tt class="py-lineno"> 384</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">7</tt><tt class="py-op">:</tt> </tt>
+<a name="L385"></a><tt class="py-lineno"> 385</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">5</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L386"></a><tt class="py-lineno"> 386</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-101', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS6</tt> </tt>
+<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-102', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"6007"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">8</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">17</tt><tt class="py-op">:</tt> </tt>
+<a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">4</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-103', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS5</tt> </tt>
+<a name="L391"></a><tt class="py-lineno"> 391</tt>  <tt class="py-line">                    <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'3'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L392"></a><tt class="py-lineno"> 392</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-104', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">18</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">27</tt><tt class="py-op">:</tt> </tt>
+<a name="L394"></a><tt class="py-lineno"> 394</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">6</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L395"></a><tt class="py-lineno"> 395</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-105', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS7</tt> </tt>
+<a name="L396"></a><tt class="py-lineno"> 396</tt>  <tt class="py-line">                    <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'6'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-106', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L398"></a><tt class="py-lineno"> 398</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">28</tt><tt class="py-op">:</tt> </tt>
+<a name="L399"></a><tt class="py-lineno"> 399</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-107', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS1</tt> </tt>
+<a name="L401"></a><tt class="py-lineno"> 401</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-108', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"2800"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L402"></a><tt class="py-lineno"> 402</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-109', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-110', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"You didn't write an else statement for "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L404"></a><tt class="py-lineno"> 404</tt>  <tt class="py-line">                                    <tt class="py-string">"switch s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L405"></a><tt class="py-lineno"> 405</tt>  <tt class="py-line">                    <tt class="py-name">roleCall</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L406"></a><tt class="py-lineno"> 406</tt>  <tt class="py-line">                <tt class="py-comment"># Assign switch</tt> </tt>
+<a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line">                <tt class="py-keyword">assert</tt> <tt class="py-name">deviceId</tt><tt class="py-op">,</tt> <tt class="py-string">"No device id for s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" in ONOS"</tt> </tt>
+<a name="L408"></a><tt class="py-lineno"> 408</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: make this controller dynamic</tt> </tt>
+<a name="L409"></a><tt class="py-lineno"> 409</tt>  <tt class="py-line">                <tt class="py-name">roleCall</tt> <tt class="py-op">=</tt> <tt class="py-name">roleCall</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deviceRole()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deviceRole"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deviceRole" class="py-name" href="#" onclick="return doclink('link-111', 'deviceRole', 'link-111');">deviceRole</a></tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt><tt class="py-op">,</tt> </tt>
+<a name="L410"></a><tt class="py-lineno"> 410</tt>  <tt class="py-line">                                                                  <tt class="py-name">ip</tt> <tt class="py-op">)</tt> </tt>
+<a name="L411"></a><tt class="py-lineno"> 411</tt>  <tt class="py-line">                <tt class="py-name">ipList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt> <tt class="py-op">)</tt> </tt>
+<a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line">                <tt class="py-name">deviceList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt class="py-name">AssertionError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-112', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Something is wrong with ONOS device view"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-113', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#devices"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-114', 'devices', 'link-114');">devices</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L418"></a><tt class="py-lineno"> 418</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">roleCall</tt><tt class="py-op">,</tt> </tt>
+<a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Re-assigned switch mastership to designated controller"</tt><tt class="py-op">,</tt> </tt>
+<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line">            <tt id="link-115" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-115', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something wrong with deviceRole calls"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line"> </tt>
+<a name="L422"></a><tt class="py-lineno"> 422</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-116', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check mastership was correctly assigned"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line">        <tt class="py-name">roleCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: This is due to the fact that device mastership change is not</tt> </tt>
+<a name="L425"></a><tt class="py-lineno"> 425</tt>  <tt class="py-line">        <tt class="py-comment">#       atomic and is actually a multi step process</tt> </tt>
+<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">ipList</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L428"></a><tt class="py-lineno"> 428</tt>  <tt class="py-line">            <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">ipList</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line">            <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceList</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line">            <tt class="py-comment"># Check assignment</tt> </tt>
+<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line">            <tt class="py-name">master</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getRole()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getRole"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getRole" class="py-name" href="#" onclick="return doclink('link-117', 'getRole', 'link-117');">getRole</a></tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'master'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-keyword">in</tt> <tt class="py-name">master</tt><tt class="py-op">:</tt> </tt>
+<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line">                <tt class="py-name">roleCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">roleCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line">                <tt class="py-name">roleCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">roleCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L436"></a><tt class="py-lineno"> 436</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-118', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-119', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, controller "</tt> <tt class="py-op">+</tt> <tt class="py-name">ip</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line">                                <tt class="py-string">" master "</tt> <tt class="py-op">+</tt> <tt class="py-string">"of device "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L438"></a><tt class="py-lineno"> 438</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">". Master is "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L439"></a><tt class="py-lineno"> 439</tt>  <tt class="py-line">                                <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">master</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">roleCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Switches were successfully reassigned to designated "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L444"></a><tt class="py-lineno"> 444</tt>  <tt class="py-line">                   <tt class="py-string">"controller"</tt><tt class="py-op">,</tt> </tt>
+<a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line">            <tt id="link-120" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-120', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Switches were not successfully reassigned"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L446"></a><tt class="py-lineno"> 446</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE3"></a><div id="HAminorityRestart.CASE3-def"><a name="L447"></a><tt class="py-lineno"> 447</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE3-toggle" onclick="return toggle('HAminorityRestart.CASE3');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE3">CASE3</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE3-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE3-expanded"><a name="L448"></a><tt class="py-lineno"> 448</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line"><tt class="py-docstring">        Assign intents</tt> </tt>
+<a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L451"></a><tt class="py-lineno"> 451</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L452"></a><tt class="py-lineno"> 452</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L453"></a><tt class="py-lineno"> 453</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L456"></a><tt class="py-lineno"> 456</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-121', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-122', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Adding host Intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Discover hosts by using pingall then "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line">                                <tt class="py-string">"assign predetermined host-to-host intents."</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L461"></a><tt class="py-lineno"> 461</tt>  <tt class="py-line">                                <tt class="py-string">" After installation, check that the intent"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L462"></a><tt class="py-lineno"> 462</tt>  <tt class="py-line">                                <tt class="py-string">" is distributed to all nodes and the state"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L463"></a><tt class="py-lineno"> 463</tt>  <tt class="py-line">                                <tt class="py-string">" is INSTALLED"</tt> </tt>
+<a name="L464"></a><tt class="py-lineno"> 464</tt>  <tt class="py-line"> </tt>
+<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line">        <tt class="py-comment"># install onos-app-fwd</tt> </tt>
+<a name="L466"></a><tt class="py-lineno"> 466</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-123', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install reactive forwarding app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line">        <tt class="py-name">installResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#activateApp,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#activateApp"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp" class="py-name" href="#" onclick="return doclink('link-124', 'activateApp', 'link-124');">activateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.fwd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">installResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Install fwd successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line">                                 <tt id="link-125" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-125', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Install fwd failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L471"></a><tt class="py-lineno"> 471</tt>  <tt class="py-line"> </tt>
+<a name="L472"></a><tt class="py-lineno"> 472</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-126', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check app ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L473"></a><tt class="py-lineno"> 473</tt>  <tt class="py-line">        <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L476"></a><tt class="py-lineno"> 476</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-127', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-128', 'appToIDCheck', 'link-64');">appToIDCheck</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"appToIDCheck-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L478"></a><tt class="py-lineno"> 478</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L479"></a><tt class="py-lineno"> 479</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L481"></a><tt class="py-lineno"> 481</tt>  <tt class="py-line"> </tt>
+<a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L483"></a><tt class="py-lineno"> 483</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line">            <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">appCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L485"></a><tt class="py-lineno"> 485</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-129', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-130', 'apps', 'link-66');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-131', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-132', 'appIDs', 'link-68');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L490"></a><tt class="py-lineno"> 490</tt>  <tt class="py-line">                                 <tt id="link-133" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-133', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line"> </tt>
+<a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-134', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Discovering Hosts( Via pingall for now )"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: Once we have a host discovery mechanism, use that instead</tt> </tt>
+<a name="L494"></a><tt class="py-lineno"> 494</tt>  <tt class="py-line">        <tt class="py-comment"># REACTIVE FWD test</tt> </tt>
+<a name="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># Retry if pingall fails first time</tt> </tt>
+<a name="L497"></a><tt class="py-lineno"> 497</tt>  <tt class="py-line">            <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line">            <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingall"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-135', 'pingall', 'link-135');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line">                <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line">                    <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line">                    <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line">                    <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Reactive Pingall test passed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L504"></a><tt class="py-lineno"> 504</tt>  <tt class="py-line">                    <tt id="link-136" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-136', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Reactive Pingall failed, "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line">                           <tt class="py-string">"one or more ping pairs failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line">            <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-137', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Time for pingall: %2f seconds"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line">                           <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L509"></a><tt class="py-lineno"> 509</tt>  <tt class="py-line">        <tt class="py-comment"># timeout for fwd flows</tt> </tt>
+<a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">11</tt> <tt class="py-op">)</tt> </tt>
+<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line">        <tt class="py-comment"># uninstall onos-app-fwd</tt> </tt>
+<a name="L512"></a><tt class="py-lineno"> 512</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-138', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Uninstall reactive forwarding app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line">        <tt class="py-name">uninstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.deactivateApp()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#deactivateApp,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deactivateApp()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deactivateApp"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.deactivateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deactivateApp" class="py-name" href="#" onclick="return doclink('link-139', 'deactivateApp', 'link-139');">deactivateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.fwd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">uninstallResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Uninstall fwd successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line">                                 <tt id="link-140" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-140', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Uninstall fwd failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L517"></a><tt class="py-lineno"> 517</tt>  <tt class="py-line"> </tt>
+<a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-141', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check app ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L519"></a><tt class="py-lineno"> 519</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L520"></a><tt class="py-lineno"> 520</tt>  <tt class="py-line">        <tt class="py-name">appCheck2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L521"></a><tt class="py-lineno"> 521</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L522"></a><tt class="py-lineno"> 522</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-142', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-143', 'appToIDCheck', 'link-64');">appToIDCheck</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"appToIDCheck-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L527"></a><tt class="py-lineno"> 527</tt>  <tt class="py-line"> </tt>
+<a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L530"></a><tt class="py-lineno"> 530</tt>  <tt class="py-line">            <tt class="py-name">appCheck2</tt> <tt class="py-op">=</tt> <tt class="py-name">appCheck2</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck2</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L532"></a><tt class="py-lineno"> 532</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-144', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-145', 'apps', 'link-66');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-146', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-147', 'appIDs', 'link-68');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L534"></a><tt class="py-lineno"> 534</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck2</tt><tt class="py-op">,</tt> </tt>
+<a name="L535"></a><tt class="py-lineno"> 535</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line">                                 <tt id="link-148" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-148', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L537"></a><tt class="py-lineno"> 537</tt>  <tt class="py-line"> </tt>
+<a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-149', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add host intents via cli"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line">        <tt class="py-name">intentIds</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line">        <tt class="py-comment"># TODO:  move the host numbers to params</tt> </tt>
+<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line">        <tt class="py-comment">#        Maybe look at all the paths we ping?</tt> </tt>
+<a name="L542"></a><tt class="py-lineno"> 542</tt>  <tt class="py-line">        <tt class="py-name">intentAddResult</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line">        <tt class="py-name">hostResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-number">18</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-150', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Adding host intent between h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line">                           <tt class="py-string">" and h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line">            <tt class="py-name">host1</tt> <tt class="py-op">=</tt> <tt class="py-string">"00:00:00:00:00:"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hex</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line">            <tt class="py-name">host2</tt> <tt class="py-op">=</tt> <tt class="py-string">"00:00:00:00:00:"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hex</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: getHost can return None</tt> </tt>
+<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">            <tt class="py-name">host1Dict</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getHost()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getHost,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getHost()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getHost"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getHost
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getHost" class="py-name" href="#" onclick="return doclink('link-151', 'getHost', 'link-151');">getHost</a></tt><tt class="py-op">(</tt> <tt class="py-name">host1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line">            <tt class="py-name">host2Dict</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getHost
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getHost" class="py-name" href="#" onclick="return doclink('link-152', 'getHost', 'link-151');">getHost</a></tt><tt class="py-op">(</tt> <tt class="py-name">host2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">            <tt class="py-name">host1Id</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">            <tt class="py-name">host2Id</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">host1Dict</tt> <tt class="py-keyword">and</tt> <tt class="py-name">host2Dict</tt><tt class="py-op">:</tt> </tt>
+<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line">                <tt class="py-name">host1Id</tt> <tt class="py-op">=</tt> <tt class="py-name">host1Dict</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">                <tt class="py-name">host2Id</tt> <tt class="py-op">=</tt> <tt class="py-name">host2Dict</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">host1Id</tt> <tt class="py-keyword">and</tt> <tt class="py-name">host2Id</tt><tt class="py-op">:</tt> </tt>
+<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">                <tt class="py-name">nodeNum</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> </tt>
+<a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line">                <tt class="py-name">tmpId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt> <tt class="py-name">nodeNum</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addHostIntent()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addHostIntent,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addHostIntent()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addHostIntent"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addHostIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addHostIntent" class="py-name" href="#" onclick="return doclink('link-153', 'addHostIntent', 'link-153');">addHostIntent</a></tt><tt class="py-op">(</tt> <tt class="py-name">host1Id</tt><tt class="py-op">,</tt> <tt class="py-name">host2Id</tt> <tt class="py-op">)</tt> </tt>
+<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">tmpId</tt><tt class="py-op">:</tt> </tt>
+<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-154', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Added intent with id: "</tt> <tt class="py-op">+</tt> <tt class="py-name">tmpId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line">                    <tt class="py-name">intentIds</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">tmpId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-155', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-156', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"addHostIntent returned: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line">                                     <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">tmpId</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-157', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-158', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, getHost() failed for h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L570"></a><tt class="py-lineno"> 570</tt>  <tt class="py-line">                                <tt class="py-string">" and/or h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line">                <tt id="link-159" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#hosts,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#hosts"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-159', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-160', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-161', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Hosts output: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-162', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-163" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-163', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-164', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-165" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-165', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L580"></a><tt class="py-lineno"> 580</tt>  <tt class="py-line">                <tt class="py-name">hostResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">hostResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Found a host id for each host"</tt><tt class="py-op">,</tt> </tt>
+<a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line">                                 <tt id="link-166" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-166', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error looking up host ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line"> </tt>
+<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line">        <tt class="py-name">intentStart</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line">        <tt class="py-name">onosIds</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllIntentsId"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId" class="py-name" href="#" onclick="return doclink('link-167', 'getAllIntentsId', 'link-167');">getAllIntentsId</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-168', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Submitted intents: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">intentIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-169', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents in ONOS: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-170" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intent"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-170', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentIds</tt><tt class="py-op">:</tt> </tt>
+<a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-171" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-171', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosIds</tt><tt class="py-op">:</tt> </tt>
+<a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt>  <tt class="py-comment"># intent submitted is in onos</tt> </tt>
+<a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L593"></a><tt class="py-lineno"> 593</tt>  <tt class="py-line">                <tt class="py-name">intentAddResult</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">intentAddResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line">            <tt class="py-name">intentStop</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line">            <tt class="py-name">intentStop</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line">        <tt class="py-comment"># Print the intent states</tt> </tt>
+<a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line">        <tt id="link-172" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intents,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intents"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-172', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-173', 'intents', 'link-172');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L600"></a><tt class="py-lineno"> 600</tt>  <tt class="py-line">        <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line">        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-174', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> <tt class="py-string">'Count'</tt><tt class="py-op">,</tt> <tt class="py-string">'ID'</tt><tt class="py-op">,</tt> <tt class="py-string">'State'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line">        <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-175" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-175', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-176" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-176', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line">                <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-177" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-177', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-string">"INSTALLED"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state</tt><tt class="py-op">:</tt> </tt>
+<a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line">                    <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line">                <tt class="py-name">intentId</tt> <tt class="py-op">=</tt> <tt id="link-178" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-178', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L610"></a><tt class="py-lineno"> 610</tt>  <tt class="py-line">                <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L612"></a><tt class="py-lineno"> 612</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-179', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line">        <tt class="py-comment"># add submitted intents not in the store</tt> </tt>
+<a name="L614"></a><tt class="py-lineno"> 614</tt>  <tt class="py-line">        <tt class="py-name">tmplist</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt> <tt class="py-op">]</tt> </tt>
+<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line">        <tt class="py-name">missingIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L616"></a><tt class="py-lineno"> 616</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentIds</tt><tt class="py-op">:</tt> </tt>
+<a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tmplist</tt><tt class="py-op">:</tt> </tt>
+<a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">                <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-string">" - "</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line">                <tt class="py-name">missingIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line">        <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt><tt class="py-op">:</tt> </tt>
+<a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-180', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line">                           <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">s</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line">        <tt id="link-181" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#leaders"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-181', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-182', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L627"></a><tt class="py-lineno"> 627</tt>  <tt class="py-line">            <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-183" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-183', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line">                <tt class="py-name">parsedLeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-184" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-184', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-185', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedLeaders</tt><tt class="py-op">,</tt> </tt>
+<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L634"></a><tt class="py-lineno"> 634</tt>  <tt class="py-line">                <tt class="py-comment"># check for all intent partitions</tt> </tt>
+<a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line">                <tt class="py-name">topics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">14</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"intent-partition-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L638"></a><tt class="py-lineno"> 638</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-186', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">topics</tt> <tt class="py-op">)</tt> </tt>
+<a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line">                <tt class="py-name">ONOStopics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">j</tt><tt class="py-op">[</tt><tt class="py-string">'topic'</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsedLeaders</tt> <tt class="py-op">]</tt> </tt>
+<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">in</tt> <tt class="py-name">topics</tt><tt class="py-op">:</tt> </tt>
+<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOStopics</tt><tt class="py-op">:</tt> </tt>
+<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-187', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-188', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error: "</tt> <tt class="py-op">+</tt> <tt class="py-name">topic</tt> <tt class="py-op">+</tt> </tt>
+<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line">                                        <tt class="py-string">" not in leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line">                        <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-189', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-190', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"leaders() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-191', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-192', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-193', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-194" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-194', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line">        <tt class="py-comment"># Check all nodes</tt> </tt>
+<a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">missing</tt><tt class="py-op">:</tt> </tt>
+<a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L653"></a><tt class="py-lineno"> 653</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-195', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-196', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" leaders output: \n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line"> </tt>
+<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line">        <tt id="link-197" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#partitions"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-197', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-198', 'partitions', 'link-197');">partitions</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-199" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-199', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line">                <tt class="py-name">parsedPartitions</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-200" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-200', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-201', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPartitions</tt><tt class="py-op">,</tt> </tt>
+<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L663"></a><tt class="py-lineno"> 663</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check for a leader in all paritions</tt> </tt>
+<a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check for consistency among nodes</tt> </tt>
+<a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-202', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-203', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"partitions() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-204" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-204', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing partitions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-205" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-205', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-206', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-207" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-207', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line">        <tt id="link-208" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#pendingMap"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-208', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-209', 'pendingMap', 'link-208');">pendingMap</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-210" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-210', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line">                <tt class="py-name">parsedPending</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-211" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-211', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-212', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPending</tt><tt class="py-op">,</tt> </tt>
+<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L680"></a><tt class="py-lineno"> 680</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check something here?</tt> </tt>
+<a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-213', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-214', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pendingMap() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-215', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing pending map"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-216', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-217', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-218" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-218', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line"> </tt>
+<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line">        <tt class="py-name">intentAddResult</tt> <tt class="py-op">=</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt> <tt class="py-name">intentAddResult</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">missingIntents</tt> <tt class="py-keyword">and</tt> </tt>
+<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">                                <tt class="py-name">installedCheck</tt> <tt class="py-op">)</tt> </tt>
+<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">intentAddResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-219', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-220', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in pushing host intents to ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line"> </tt>
+<a name="L692"></a><tt class="py-lineno"> 692</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-221', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Intent Anti-Entropy dispersion"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">100</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line">            <tt class="py-name">correct</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-222', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Submitted intents: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">intentIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-223" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-223', 'cli', 'link-223');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line">                <tt class="py-name">onosIds</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line">                <tt class="py-name">ids</tt> <tt class="py-op">=</tt> <tt id="link-224" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-224', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt id="link-225" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId" class="py-name" href="#" onclick="return doclink('link-225', 'getAllIntentsId', 'link-167');">getAllIntentsId</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line">                <tt class="py-name">onosIds</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">ids</tt> <tt class="py-op">)</tt> </tt>
+<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-226', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents in "</tt> <tt class="py-op">+</tt> <tt id="link-227" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-227', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">onosIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">ids</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">intentIds</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-228', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Set of intent IDs doesn't match"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line">                    <tt class="py-name">correct</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line">                    <tt id="link-229" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-229', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-230" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-230', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt id="link-231" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-231', 'intents', 'link-172');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt id="link-232" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-232', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt id="link-233" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-233', 'intents', 'link-172');">intents</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt id="link-234" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-234', 'intent', 'link-170');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">"INSTALLED"</tt><tt class="py-op">:</tt> </tt>
+<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-235', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Intent "</tt> <tt class="py-op">+</tt> <tt id="link-236" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-236', 'intent', 'link-170');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> </tt>
+<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line">                                           <tt class="py-string">" is "</tt> <tt class="py-op">+</tt> <tt id="link-237" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-237', 'intent', 'link-170');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line">                            <tt class="py-name">correct</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
+<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">correct</tt><tt class="py-op">:</tt> </tt>
+<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">intentStop</tt><tt class="py-op">:</tt> </tt>
+<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line">            <tt class="py-name">intentStop</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">gossipTime</tt> </tt>
+<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line">        <tt class="py-name">gossipTime</tt> <tt class="py-op">=</tt> <tt class="py-name">intentStop</tt> <tt class="py-op">-</tt> <tt class="py-name">intentStart</tt> </tt>
+<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-238', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"It took about "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">gossipTime</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line">                        <tt class="py-string">" seconds for all intents to appear in each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: make this time configurable/calculate based off of number of</tt> </tt>
+<a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line">        <tt class="py-comment">#        nodes and gossip rounds</tt> </tt>
+<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_greater_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L727"></a><tt class="py-lineno"> 727</tt>  <tt class="py-line">                <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-number">40</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">gossipTime</tt><tt class="py-op">,</tt> </tt>
+<a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line">                <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ECM anti-entropy for intents worked within "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line">                       <tt class="py-string">"expected time"</tt><tt class="py-op">,</tt> </tt>
+<a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line">                <tt id="link-239" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-239', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intent ECM anti-entropy took too long"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">gossipTime</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">40</tt><tt class="py-op">:</tt> </tt>
+<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line">            <tt class="py-name">intentAddResult</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line"> </tt>
+<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">intentAddResult</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"key"</tt> <tt class="py-keyword">in</tt> <tt id="link-240" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-240', 'pendingMap', 'link-208');">pendingMap</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line">            <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">            <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-241" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-241', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Sleeping 60 seconds to see if intents are found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L739"></a><tt class="py-lineno"> 739</tt>  <tt class="py-line">            <tt class="py-name">onosIds</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId" class="py-name" href="#" onclick="return doclink('link-242', 'getAllIntentsId', 'link-167');">getAllIntentsId</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-243', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Submitted intents: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">intentIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-244', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents in ONOS: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line">            <tt class="py-comment"># Print the intent states</tt> </tt>
+<a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line">            <tt id="link-245" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-245', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-246" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-246', 'intents', 'link-172');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-247" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-247', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> <tt class="py-string">'Count'</tt><tt class="py-op">,</tt> <tt class="py-string">'ID'</tt><tt class="py-op">,</tt> <tt class="py-string">'State'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-248" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-248', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-249" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-249', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line">                    <tt class="py-comment"># Iter through intents of a node</tt> </tt>
+<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line">                    <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-250" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-250', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-string">"INSTALLED"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state</tt><tt class="py-op">:</tt> </tt>
+<a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line">                        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line">                    <tt class="py-name">intentId</tt> <tt class="py-op">=</tt> <tt id="link-251" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-251', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line">                    <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-252" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-252', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line">            <tt class="py-comment"># add submitted intents not in the store</tt> </tt>
+<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line">            <tt class="py-name">tmplist</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt> <tt class="py-op">]</tt> </tt>
+<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentIds</tt><tt class="py-op">:</tt> </tt>
+<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tmplist</tt><tt class="py-op">:</tt> </tt>
+<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line">                    <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-string">" - "</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt><tt class="py-op">:</tt> </tt>
+<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line">                <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-253" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-253', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line">                               <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">s</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line">            <tt id="link-254" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-254', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-255" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-255', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L769"></a><tt class="py-lineno"> 769</tt>  <tt class="py-line">                <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L770"></a><tt class="py-lineno"> 770</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-256" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-256', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line">                    <tt class="py-name">parsedLeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-257" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-257', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-258" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-258', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedLeaders</tt><tt class="py-op">,</tt> </tt>
+<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line">                    <tt class="py-comment"># check for all intent partitions</tt> </tt>
+<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line">                    <tt class="py-comment"># check for election</tt> </tt>
+<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">14</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line">                        <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"intent-partition-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L781"></a><tt class="py-lineno"> 781</tt>  <tt class="py-line">                    <tt class="py-comment"># FIXME: this should only be after we start the app</tt> </tt>
+<a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-259" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-259', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">topics</tt> <tt class="py-op">)</tt> </tt>
+<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line">                    <tt class="py-name">ONOStopics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">j</tt><tt class="py-op">[</tt><tt class="py-string">'topic'</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsedLeaders</tt> <tt class="py-op">]</tt> </tt>
+<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">in</tt> <tt class="py-name">topics</tt><tt class="py-op">:</tt> </tt>
+<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOStopics</tt><tt class="py-op">:</tt> </tt>
+<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-260" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-260', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-261" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-261', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error: "</tt> <tt class="py-op">+</tt> <tt class="py-name">topic</tt> <tt class="py-op">+</tt> </tt>
+<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line">                                            <tt class="py-string">" not in leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line">                            <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-262', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-263" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-263', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"leaders() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-264" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-264', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-265" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-265', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-266" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-266', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-267" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-267', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">            <tt class="py-comment"># Check all nodes</tt> </tt>
+<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">missing</tt><tt class="py-op">:</tt> </tt>
+<a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line">                    <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-268" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-268', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-269" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-269', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" leaders output: \n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line">                                   <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line"> </tt>
+<a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line">            <tt id="link-270" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-270', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-271" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-271', 'partitions', 'link-197');">partitions</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-272" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-272', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line">                    <tt class="py-name">parsedPartitions</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-273" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-273', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-274" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-274', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPartitions</tt><tt class="py-op">,</tt> </tt>
+<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check for a leader in all paritions</tt> </tt>
+<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check for consistency among nodes</tt> </tt>
+<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-275" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-275', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-276" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-276', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"partitions() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-277" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-277', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing partitions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-278" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-278', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-279" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-279', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-280" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-280', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line">            <tt id="link-281" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-281', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-282', 'pendingMap', 'link-208');">pendingMap</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-283" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-283', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">                    <tt class="py-name">parsedPending</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-284" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-284', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-285" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-285', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPending</tt><tt class="py-op">,</tt> </tt>
+<a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check something here?</tt> </tt>
+<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-286" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-286', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-287" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-287', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pendingMap() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L829"></a><tt class="py-lineno"> 829</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-288', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing pending map"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-289" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-289', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-290" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-290', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-291" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-291', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE4"></a><div id="HAminorityRestart.CASE4-def"><a name="L832"></a><tt class="py-lineno"> 832</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE4-toggle" onclick="return toggle('HAminorityRestart.CASE4');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE4">CASE4</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE4-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE4-expanded"><a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line"><tt class="py-docstring">        Ping across added host intents</tt> </tt>
+<a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-292', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-293" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-293', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify connectivity by sendind traffic across Intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Ping across added host intents to check "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line">                                <tt class="py-string">"functionality and check the state of "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line">                                <tt class="py-string">"the intent"</tt> </tt>
+<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-294" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-294', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Ping across added host intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line">        <tt class="py-name">PingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-number">18</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line">            <tt class="py-name">ping</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-295" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingHost,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingHost()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingHost"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingHost" class="py-name" href="#" onclick="return doclink('link-295', 'pingHost', 'link-295');">pingHost</a></tt><tt class="py-op">(</tt> <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-string">"h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line">                                           <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-string">"h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line">            <tt class="py-name">PingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">PingResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ping</tt> </tt>
+<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ping</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-296" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-296', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Ping failed between h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line">                               <tt class="py-string">" and h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L856"></a><tt class="py-lineno"> 856</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">ping</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-297" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-297', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Ping test passed!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line">                <tt class="py-comment"># Don't set PingResult or you'd override failures</tt> </tt>
+<a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">PingResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-298" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-298', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-299" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-299', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line">                <tt class="py-string">"Intents have not been installed correctly, pings failed."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: pretty print</tt> </tt>
+<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-300" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-300', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS1 intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line">                <tt class="py-name">tmpIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-301" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-301', 'intents', 'link-172');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-302" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-302', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">tmpIntents</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-303" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-303', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">tmpIntents</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L874"></a><tt class="py-lineno"> 874</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">PingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents have been installed correctly and pings work"</tt><tt class="py-op">,</tt> </tt>
+<a name="L876"></a><tt class="py-lineno"> 876</tt>  <tt class="py-line">            <tt id="link-304" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-304', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intents have not been installed correctly, pings failed."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line"> </tt>
+<a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-305" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-305', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check Intent state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line">        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line">        <tt class="py-name">loopCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">installedCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">loopCount</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">40</tt><tt class="py-op">:</tt> </tt>
+<a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line">            <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line">            <tt class="py-comment"># Print the intent states</tt> </tt>
+<a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line">            <tt id="link-306" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-306', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-307', 'intents', 'link-172');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-308" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-308', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> <tt class="py-string">'Count'</tt><tt class="py-op">,</tt> <tt class="py-string">'ID'</tt><tt class="py-op">,</tt> <tt class="py-string">'State'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line">            <tt class="py-comment"># Iter through intents of a node</tt> </tt>
+<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-309" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-309', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-310" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-310', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line">                    <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-311" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-311', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-string">"INSTALLED"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state</tt><tt class="py-op">:</tt> </tt>
+<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line">                        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line">                    <tt class="py-name">intentId</tt> <tt class="py-op">=</tt> <tt id="link-312" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-312', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line">                    <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-313" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-313', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing intents."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line">            <tt class="py-comment"># Print states</tt> </tt>
+<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt><tt class="py-op">:</tt> </tt>
+<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line">                <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-314" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-314', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line">                               <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">s</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">installedCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L906"></a><tt class="py-lineno"> 906</tt>  <tt class="py-line">                <tt class="py-name">loopCount</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">installedCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents are all INSTALLED"</tt><tt class="py-op">,</tt> </tt>
+<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">                                 <tt id="link-315" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-315', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intents are not all in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">                                        <tt class="py-string">"INSTALLED state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line"> </tt>
+<a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-316" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-316', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check leadership of topics"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line">        <tt id="link-317" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-317', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-318" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-318', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line">        <tt class="py-name">topicCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-319" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-319', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line">                <tt class="py-name">parsedLeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-320" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-320', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-321" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-321', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedLeaders</tt><tt class="py-op">,</tt> </tt>
+<a name="L919"></a><tt class="py-lineno"> 919</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line">                <tt class="py-comment"># check for all intent partitions</tt> </tt>
+<a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line">                <tt class="py-comment"># check for election</tt> </tt>
+<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: Look at Devices as topics now that it uses this system</tt> </tt>
+<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line">                <tt class="py-name">topics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">14</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"intent-partition-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: this should only be after we start the app</tt> </tt>
+<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: topics.append( "org.onosproject.election" )</tt> </tt>
+<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line">                <tt class="py-comment"># Print leaders output</tt> </tt>
+<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-322', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">topics</tt> <tt class="py-op">)</tt> </tt>
+<a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line">                <tt class="py-name">ONOStopics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">j</tt><tt class="py-op">[</tt><tt class="py-string">'topic'</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsedLeaders</tt> <tt class="py-op">]</tt> </tt>
+<a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">in</tt> <tt class="py-name">topics</tt><tt class="py-op">:</tt> </tt>
+<a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOStopics</tt><tt class="py-op">:</tt> </tt>
+<a name="L935"></a><tt class="py-lineno"> 935</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-323" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-323', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-324" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-324', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error: "</tt> <tt class="py-op">+</tt> <tt class="py-name">topic</tt> <tt class="py-op">+</tt> </tt>
+<a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line">                                        <tt class="py-string">" not in leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line">                        <tt class="py-name">topicCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-325" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-325', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-326" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-326', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"leaders() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line">                <tt class="py-name">topicCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line">            <tt class="py-name">topicCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-327" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-327', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-328" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-328', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-329" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-329', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-330" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-330', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: Check for a leader of these topics</tt> </tt>
+<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line">        <tt class="py-comment"># Check all nodes</tt> </tt>
+<a name="L947"></a><tt class="py-lineno"> 947</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">topicCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-331" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-331', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-332" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-332', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" leaders output: \n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line"> </tt>
+<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">topicCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"intent Partitions is in leaders"</tt><tt class="py-op">,</tt> </tt>
+<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line">                                 <tt id="link-333" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-333', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Some topics were lost "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line">        <tt class="py-comment"># Print partitions</tt> </tt>
+<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line">        <tt id="link-334" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-334', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-335" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-335', 'partitions', 'link-197');">partitions</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-336" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-336', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line">                <tt class="py-name">parsedPartitions</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-337" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-337', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-338" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-338', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPartitions</tt><tt class="py-op">,</tt> </tt>
+<a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L963"></a><tt class="py-lineno"> 963</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check for a leader in all paritions</tt> </tt>
+<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check for consistency among nodes</tt> </tt>
+<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-339" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-339', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-340" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-340', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"partitions() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L969"></a><tt class="py-lineno"> 969</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-341" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-341', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing partitions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-342" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-342', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-343" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-343', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-344" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-344', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line">        <tt class="py-comment"># Print Pending Map</tt> </tt>
+<a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line">        <tt id="link-345" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-345', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-346" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-346', 'pendingMap', 'link-208');">pendingMap</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-347" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-347', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line">                <tt class="py-name">parsedPending</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-348" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-348', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-349" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-349', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPending</tt><tt class="py-op">,</tt> </tt>
+<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check something here?</tt> </tt>
+<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-350" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-350', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-351" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-351', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pendingMap() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-352" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-352', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing pending map"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-353" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-353', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-354" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-354', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-355" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-355', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line"> </tt>
+<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">installedCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-356" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-356', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting 60 seconds to see if the state of "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line">                           <tt class="py-string">"intents change"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line">            <tt class="py-comment"># Print the intent states</tt> </tt>
+<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line">            <tt id="link-357" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-357', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-358" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-358', 'intents', 'link-172');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-359" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-359', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> <tt class="py-string">'Count'</tt><tt class="py-op">,</tt> <tt class="py-string">'ID'</tt><tt class="py-op">,</tt> <tt class="py-string">'State'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line">            <tt class="py-comment"># Iter through intents of a node</tt> </tt>
+<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-360" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-360', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-361" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-361', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line">                    <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-362" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-362', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-string">"INSTALLED"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state</tt><tt class="py-op">:</tt> </tt>
+<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">                        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line">                    <tt class="py-name">intentId</tt> <tt class="py-op">=</tt> <tt id="link-363" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-363', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line">                    <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-364" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-364', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing intents."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1008"></a><tt class="py-lineno">1008</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt><tt class="py-op">:</tt> </tt>
+<a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line">                <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-365" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-365', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line">                               <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">s</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line">            <tt id="link-366" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-366', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-367" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-367', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line">                <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-368" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-368', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line">                    <tt class="py-name">parsedLeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-369" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-369', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L1017"></a><tt class="py-lineno">1017</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-370" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-370', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedLeaders</tt><tt class="py-op">,</tt> </tt>
+<a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line">                    <tt class="py-comment"># check for all intent partitions</tt> </tt>
+<a name="L1022"></a><tt class="py-lineno">1022</tt>  <tt class="py-line">                    <tt class="py-comment"># check for election</tt> </tt>
+<a name="L1023"></a><tt class="py-lineno">1023</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1024"></a><tt class="py-lineno">1024</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">14</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line">                        <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"intent-partition-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line">                    <tt class="py-comment"># FIXME: this should only be after we start the app</tt> </tt>
+<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-371" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-371', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">topics</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line">                    <tt class="py-name">ONOStopics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">j</tt><tt class="py-op">[</tt><tt class="py-string">'topic'</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsedLeaders</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">in</tt> <tt class="py-name">topics</tt><tt class="py-op">:</tt> </tt>
+<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOStopics</tt><tt class="py-op">:</tt> </tt>
+<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-372" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-372', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-373" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-373', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error: "</tt> <tt class="py-op">+</tt> <tt class="py-name">topic</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line">                                            <tt class="py-string">" not in leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line">                            <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1035"></a><tt class="py-lineno">1035</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-374" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-374', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-375" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-375', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"leaders() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-376" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-376', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-377" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-377', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-378" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-378', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-379" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-379', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">missing</tt><tt class="py-op">:</tt> </tt>
+<a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line">                    <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-380" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-380', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-381" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-381', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" leaders output: \n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1044"></a><tt class="py-lineno">1044</tt>  <tt class="py-line">                                   <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1045"></a><tt class="py-lineno">1045</tt>  <tt class="py-line"> </tt>
+<a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line">            <tt id="link-382" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-382', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-383" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-383', 'partitions', 'link-197');">partitions</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-384" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-384', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line">                    <tt class="py-name">parsedPartitions</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-385" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-385', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-386" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-386', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPartitions</tt><tt class="py-op">,</tt> </tt>
+<a name="L1051"></a><tt class="py-lineno">1051</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1053"></a><tt class="py-lineno">1053</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check for a leader in all paritions</tt> </tt>
+<a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check for consistency among nodes</tt> </tt>
+<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-387" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-387', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-388" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-388', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"partitions() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-389" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-389', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing partitions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1060"></a><tt class="py-lineno">1060</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-390" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-390', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-391" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-391', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-392" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-392', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line">            <tt id="link-393" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-393', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-394" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-394', 'pendingMap', 'link-208');">pendingMap</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1062"></a><tt class="py-lineno">1062</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-395" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-395', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line">                    <tt class="py-name">parsedPending</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-396" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-396', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L1065"></a><tt class="py-lineno">1065</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-397" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-397', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPending</tt><tt class="py-op">,</tt> </tt>
+<a name="L1066"></a><tt class="py-lineno">1066</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1067"></a><tt class="py-lineno">1067</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1068"></a><tt class="py-lineno">1068</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1069"></a><tt class="py-lineno">1069</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check something here?</tt> </tt>
+<a name="L1070"></a><tt class="py-lineno">1070</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1071"></a><tt class="py-lineno">1071</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-398" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-398', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-399" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-399', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pendingMap() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1072"></a><tt class="py-lineno">1072</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1073"></a><tt class="py-lineno">1073</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-400" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-400', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing pending map"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1074"></a><tt class="py-lineno">1074</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-401" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-401', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-402" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-402', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-403" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-403', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line">        <tt class="py-comment"># Print flowrules</tt> </tt>
+<a name="L1076"></a><tt class="py-lineno">1076</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-404" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-404', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-405" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#flows,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#flows"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-405', 'flows', 'link-405');">flows</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1077"></a><tt class="py-lineno">1077</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-406" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-406', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Wait a minute then ping again"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line">        <tt class="py-comment"># the wait is above</tt> </tt>
+<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line">        <tt class="py-name">PingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-number">18</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1081"></a><tt class="py-lineno">1081</tt>  <tt class="py-line">            <tt class="py-name">ping</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-407" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingHost" class="py-name" href="#" onclick="return doclink('link-407', 'pingHost', 'link-295');">pingHost</a></tt><tt class="py-op">(</tt> <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-string">"h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line">                                           <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-string">"h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line">            <tt class="py-name">PingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">PingResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ping</tt> </tt>
+<a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ping</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-408" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-408', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Ping failed between h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line">                               <tt class="py-string">" and h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1087"></a><tt class="py-lineno">1087</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">ping</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-409" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-409', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Ping test passed!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line">                <tt class="py-comment"># Don't set PingResult or you'd override failures</tt> </tt>
+<a name="L1090"></a><tt class="py-lineno">1090</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">PingResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1091"></a><tt class="py-lineno">1091</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-410" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-410', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-411" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-411', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1092"></a><tt class="py-lineno">1092</tt>  <tt class="py-line">                <tt class="py-string">"Intents have not been installed correctly, pings failed."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1093"></a><tt class="py-lineno">1093</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: pretty print</tt> </tt>
+<a name="L1094"></a><tt class="py-lineno">1094</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-412" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-412', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS1 intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1095"></a><tt class="py-lineno">1095</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1096"></a><tt class="py-lineno">1096</tt>  <tt class="py-line">                <tt class="py-name">tmpIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-413" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-413', 'intents', 'link-172');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1097"></a><tt class="py-lineno">1097</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-414" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-414', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">tmpIntents</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1098"></a><tt class="py-lineno">1098</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1099"></a><tt class="py-lineno">1099</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1100"></a><tt class="py-lineno">1100</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1101"></a><tt class="py-lineno">1101</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1102"></a><tt class="py-lineno">1102</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-415" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-415', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">tmpIntents</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1103"></a><tt class="py-lineno">1103</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1104"></a><tt class="py-lineno">1104</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1105"></a><tt class="py-lineno">1105</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">PingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1106"></a><tt class="py-lineno">1106</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents have been installed correctly and pings work"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1107"></a><tt class="py-lineno">1107</tt>  <tt class="py-line">            <tt id="link-416" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-416', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intents have not been installed correctly, pings failed."</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1108"></a><tt class="py-lineno">1108</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE5"></a><div id="HAminorityRestart.CASE5-def"><a name="L1109"></a><tt class="py-lineno">1109</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE5-toggle" onclick="return toggle('HAminorityRestart.CASE5');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE5">CASE5</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE5-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE5-expanded"><a name="L1110"></a><tt class="py-lineno">1110</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1111"></a><tt class="py-lineno">1111</tt>  <tt class="py-line"><tt class="py-docstring">        Reading state of ONOS</tt> </tt>
+<a name="L1112"></a><tt class="py-lineno">1112</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1113"></a><tt class="py-lineno">1113</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L1114"></a><tt class="py-lineno">1114</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1115"></a><tt class="py-lineno">1115</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1116"></a><tt class="py-lineno">1116</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1117"></a><tt class="py-lineno">1117</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1118"></a><tt class="py-lineno">1118</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L1119"></a><tt class="py-lineno">1119</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-417" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-417', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L1120"></a><tt class="py-lineno">1120</tt>  <tt class="py-line"> </tt>
+<a name="L1121"></a><tt class="py-lineno">1121</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-418" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-418', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Setting up and gathering data for current state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1122"></a><tt class="py-lineno">1122</tt>  <tt class="py-line">        <tt class="py-comment"># The general idea for this test case is to pull the state of</tt> </tt>
+<a name="L1123"></a><tt class="py-lineno">1123</tt>  <tt class="py-line">        <tt class="py-comment"># ( intents,flows, topology,... ) from each ONOS node</tt> </tt>
+<a name="L1124"></a><tt class="py-lineno">1124</tt>  <tt class="py-line">        <tt class="py-comment"># We can then compare them with each other and also with past states</tt> </tt>
+<a name="L1125"></a><tt class="py-lineno">1125</tt>  <tt class="py-line"> </tt>
+<a name="L1126"></a><tt class="py-lineno">1126</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-419" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-419', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check that each switch has a master"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1127"></a><tt class="py-lineno">1127</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">mastershipState</tt> </tt>
+<a name="L1128"></a><tt class="py-lineno">1128</tt>  <tt class="py-line">        <tt class="py-name">mastershipState</tt> <tt class="py-op">=</tt> <tt class="py-string">'[]'</tt> </tt>
+<a name="L1129"></a><tt class="py-lineno">1129</tt>  <tt class="py-line"> </tt>
+<a name="L1130"></a><tt class="py-lineno">1130</tt>  <tt class="py-line">        <tt class="py-comment"># Assert that each device has a master</tt> </tt>
+<a name="L1131"></a><tt class="py-lineno">1131</tt>  <tt class="py-line">        <tt id="link-420" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#rolesNotNull"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-420', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1132"></a><tt class="py-lineno">1132</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1133"></a><tt class="py-lineno">1133</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1134"></a><tt class="py-lineno">1134</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-421" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-421', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-422" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-422', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1135"></a><tt class="py-lineno">1135</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"rolesNotNull-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1136"></a><tt class="py-lineno">1136</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1137"></a><tt class="py-lineno">1137</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1138"></a><tt class="py-lineno">1138</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1139"></a><tt class="py-lineno">1139</tt>  <tt class="py-line"> </tt>
+<a name="L1140"></a><tt class="py-lineno">1140</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1141"></a><tt class="py-lineno">1141</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1142"></a><tt class="py-lineno">1142</tt>  <tt class="py-line">            <tt id="link-423" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-423', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt> <tt class="py-op">=</tt> <tt id="link-424" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-424', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L1143"></a><tt class="py-lineno">1143</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1144"></a><tt class="py-lineno">1144</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1145"></a><tt class="py-lineno">1145</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt id="link-425" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-425', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1146"></a><tt class="py-lineno">1146</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Each device has a master"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1147"></a><tt class="py-lineno">1147</tt>  <tt class="py-line">            <tt id="link-426" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-426', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Some devices don't have a master assigned"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1148"></a><tt class="py-lineno">1148</tt>  <tt class="py-line"> </tt>
+<a name="L1149"></a><tt class="py-lineno">1149</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-427" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-427', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the Mastership of each switch from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1150"></a><tt class="py-lineno">1150</tt>  <tt class="py-line">        <tt class="py-name">ONOSMastership</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1151"></a><tt class="py-lineno">1151</tt>  <tt class="py-line">        <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1152"></a><tt class="py-lineno">1152</tt>  <tt class="py-line">        <tt class="py-name">consistentMastership</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1153"></a><tt class="py-lineno">1153</tt>  <tt class="py-line">        <tt class="py-name">rolesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1154"></a><tt class="py-lineno">1154</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1155"></a><tt class="py-lineno">1155</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1156"></a><tt class="py-lineno">1156</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-428" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-428', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-429" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.roles()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#roles"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.roles" class="py-name" href="#" onclick="return doclink('link-429', 'roles', 'link-429');">roles</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1157"></a><tt class="py-lineno">1157</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"roles-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1158"></a><tt class="py-lineno">1158</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1159"></a><tt class="py-lineno">1159</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1160"></a><tt class="py-lineno">1160</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1161"></a><tt class="py-lineno">1161</tt>  <tt class="py-line"> </tt>
+<a name="L1162"></a><tt class="py-lineno">1162</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1163"></a><tt class="py-lineno">1163</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1164"></a><tt class="py-lineno">1164</tt>  <tt class="py-line">            <tt class="py-name">ONOSMastership</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1165"></a><tt class="py-lineno">1165</tt>  <tt class="py-line"> </tt>
+<a name="L1166"></a><tt class="py-lineno">1166</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1167"></a><tt class="py-lineno">1167</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1168"></a><tt class="py-lineno">1168</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-430" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-430', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-431" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-431', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1169"></a><tt class="py-lineno">1169</tt>  <tt class="py-line">                                 <tt class="py-string">" roles"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1170"></a><tt class="py-lineno">1170</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-432" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-432', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1171"></a><tt class="py-lineno">1171</tt>  <tt class="py-line">                    <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" mastership response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1172"></a><tt class="py-lineno">1172</tt>  <tt class="py-line">                    <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1173"></a><tt class="py-lineno">1173</tt>  <tt class="py-line">                <tt class="py-name">rolesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1174"></a><tt class="py-lineno">1174</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1175"></a><tt class="py-lineno">1175</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1176"></a><tt class="py-lineno">1176</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">rolesResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1177"></a><tt class="py-lineno">1177</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No error in reading roles output"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1178"></a><tt class="py-lineno">1178</tt>  <tt class="py-line">            <tt id="link-433" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-433', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error in reading roles from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1179"></a><tt class="py-lineno">1179</tt>  <tt class="py-line"> </tt>
+<a name="L1180"></a><tt class="py-lineno">1180</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-434" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-434', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check for consistency in roles from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1181"></a><tt class="py-lineno">1181</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSMastership</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1182"></a><tt class="py-lineno">1182</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-435" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-435', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L1183"></a><tt class="py-lineno">1183</tt>  <tt class="py-line">                <tt class="py-string">"Switch roles are consistent across all ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1184"></a><tt class="py-lineno">1184</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1185"></a><tt class="py-lineno">1185</tt>  <tt class="py-line">            <tt class="py-name">consistentMastership</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1186"></a><tt class="py-lineno">1186</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1187"></a><tt class="py-lineno">1187</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1188"></a><tt class="py-lineno">1188</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentMastership</tt><tt class="py-op">,</tt> </tt>
+<a name="L1189"></a><tt class="py-lineno">1189</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Switch roles are consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1190"></a><tt class="py-lineno">1190</tt>  <tt class="py-line">            <tt id="link-436" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-436', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of switch roles"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1191"></a><tt class="py-lineno">1191</tt>  <tt class="py-line"> </tt>
+<a name="L1192"></a><tt class="py-lineno">1192</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">rolesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">consistentMastership</tt><tt class="py-op">:</tt> </tt>
+<a name="L1193"></a><tt class="py-lineno">1193</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1194"></a><tt class="py-lineno">1194</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1195"></a><tt class="py-lineno">1195</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-437" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-437', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1196"></a><tt class="py-lineno">1196</tt>  <tt class="py-line">                        <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" roles: "</tt><tt class="py-op">,</tt> </tt>
+<a name="L1197"></a><tt class="py-lineno">1197</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> </tt>
+<a name="L1198"></a><tt class="py-lineno">1198</tt>  <tt class="py-line">                            <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1199"></a><tt class="py-lineno">1199</tt>  <tt class="py-line">                            <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1200"></a><tt class="py-lineno">1200</tt>  <tt class="py-line">                            <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1201"></a><tt class="py-lineno">1201</tt>  <tt class="py-line">                            <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1202"></a><tt class="py-lineno">1202</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1203"></a><tt class="py-lineno">1203</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-438" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-438', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1204"></a><tt class="py-lineno">1204</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">rolesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentMastership</tt><tt class="py-op">:</tt> </tt>
+<a name="L1205"></a><tt class="py-lineno">1205</tt>  <tt class="py-line">            <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1206"></a><tt class="py-lineno">1206</tt>  <tt class="py-line">            <tt class="py-name">mastershipState</tt> <tt class="py-op">=</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1207"></a><tt class="py-lineno">1207</tt>  <tt class="py-line"> </tt>
+<a name="L1208"></a><tt class="py-lineno">1208</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-439" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-439', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the intents from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1209"></a><tt class="py-lineno">1209</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">intentState</tt> </tt>
+<a name="L1210"></a><tt class="py-lineno">1210</tt>  <tt class="py-line">        <tt class="py-name">intentState</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1211"></a><tt class="py-lineno">1211</tt>  <tt class="py-line">        <tt class="py-name">ONOSIntents</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1212"></a><tt class="py-lineno">1212</tt>  <tt class="py-line">        <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1213"></a><tt class="py-lineno">1213</tt>  <tt class="py-line">        <tt class="py-name">consistentIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1214"></a><tt class="py-lineno">1214</tt>  <tt class="py-line">        <tt class="py-name">intentsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1215"></a><tt class="py-lineno">1215</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1216"></a><tt class="py-lineno">1216</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1217"></a><tt class="py-lineno">1217</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-440" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-440', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-441" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-441', 'intents', 'link-172');">intents</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1218"></a><tt class="py-lineno">1218</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"intents-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1219"></a><tt class="py-lineno">1219</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1220"></a><tt class="py-lineno">1220</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">'jsonFormat'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1221"></a><tt class="py-lineno">1221</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1222"></a><tt class="py-lineno">1222</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1223"></a><tt class="py-lineno">1223</tt>  <tt class="py-line"> </tt>
+<a name="L1224"></a><tt class="py-lineno">1224</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1225"></a><tt class="py-lineno">1225</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1226"></a><tt class="py-lineno">1226</tt>  <tt class="py-line">            <tt class="py-name">ONOSIntents</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1227"></a><tt class="py-lineno">1227</tt>  <tt class="py-line"> </tt>
+<a name="L1228"></a><tt class="py-lineno">1228</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1229"></a><tt class="py-lineno">1229</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1230"></a><tt class="py-lineno">1230</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-442" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-442', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-443" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-443', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1231"></a><tt class="py-lineno">1231</tt>  <tt class="py-line">                                 <tt class="py-string">" intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1232"></a><tt class="py-lineno">1232</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-444" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-444', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1233"></a><tt class="py-lineno">1233</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1234"></a><tt class="py-lineno">1234</tt>  <tt class="py-line">                <tt class="py-name">intentsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1235"></a><tt class="py-lineno">1235</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1236"></a><tt class="py-lineno">1236</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1237"></a><tt class="py-lineno">1237</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">intentsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1238"></a><tt class="py-lineno">1238</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No error in reading intents output"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1239"></a><tt class="py-lineno">1239</tt>  <tt class="py-line">            <tt id="link-445" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-445', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error in reading intents from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1240"></a><tt class="py-lineno">1240</tt>  <tt class="py-line"> </tt>
+<a name="L1241"></a><tt class="py-lineno">1241</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-446" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-446', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check for consistency in Intents from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1242"></a><tt class="py-lineno">1242</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">[</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1243"></a><tt class="py-lineno">1243</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-447" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-447', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents are consistent across all ONOS "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1244"></a><tt class="py-lineno">1244</tt>  <tt class="py-line">                             <tt class="py-string">"nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1245"></a><tt class="py-lineno">1245</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1246"></a><tt class="py-lineno">1246</tt>  <tt class="py-line">            <tt class="py-name">consistentIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1247"></a><tt class="py-lineno">1247</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-448" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-448', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-449" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-449', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Intents not consistent"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1248"></a><tt class="py-lineno">1248</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1249"></a><tt class="py-lineno">1249</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1250"></a><tt class="py-lineno">1250</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentIntents</tt><tt class="py-op">,</tt> </tt>
+<a name="L1251"></a><tt class="py-lineno">1251</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents are consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1252"></a><tt class="py-lineno">1252</tt>  <tt class="py-line">            <tt id="link-450" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-450', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1253"></a><tt class="py-lineno">1253</tt>  <tt class="py-line"> </tt>
+<a name="L1254"></a><tt class="py-lineno">1254</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">intentsResults</tt><tt class="py-op">:</tt> </tt>
+<a name="L1255"></a><tt class="py-lineno">1255</tt>  <tt class="py-line">            <tt class="py-comment"># Try to make it easy to figure out what is happening</tt> </tt>
+<a name="L1256"></a><tt class="py-lineno">1256</tt>  <tt class="py-line">            <tt class="py-comment">#</tt> </tt>
+<a name="L1257"></a><tt class="py-lineno">1257</tt>  <tt class="py-line">            <tt class="py-comment"># Intent      ONOS1      ONOS2    ...</tt> </tt>
+<a name="L1258"></a><tt class="py-lineno">1258</tt>  <tt class="py-line">            <tt class="py-comment">#  0x01     INSTALLED  INSTALLING</tt> </tt>
+<a name="L1259"></a><tt class="py-lineno">1259</tt>  <tt class="py-line">            <tt class="py-comment">#  ...        ...         ...</tt> </tt>
+<a name="L1260"></a><tt class="py-lineno">1260</tt>  <tt class="py-line">            <tt class="py-comment">#  ...        ...         ...</tt> </tt>
+<a name="L1261"></a><tt class="py-lineno">1261</tt>  <tt class="py-line">            <tt class="py-name">title</tt> <tt class="py-op">=</tt> <tt class="py-string">"   Id"</tt> </tt>
+<a name="L1262"></a><tt class="py-lineno">1262</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1263"></a><tt class="py-lineno">1263</tt>  <tt class="py-line">                <tt class="py-name">title</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1264"></a><tt class="py-lineno">1264</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-451" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-451', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">title</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1265"></a><tt class="py-lineno">1265</tt>  <tt class="py-line">            <tt class="py-comment"># get all intent keys in the cluster</tt> </tt>
+<a name="L1266"></a><tt class="py-lineno">1266</tt>  <tt class="py-line">            <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1267"></a><tt class="py-lineno">1267</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">nodeStr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1268"></a><tt class="py-lineno">1268</tt>  <tt class="py-line">                <tt class="py-name">node</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1269"></a><tt class="py-lineno">1269</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-452" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-452', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">node</tt><tt class="py-op">:</tt> </tt>
+<a name="L1270"></a><tt class="py-lineno">1270</tt>  <tt class="py-line">                    <tt class="py-name">keys</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-453" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-453', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1271"></a><tt class="py-lineno">1271</tt>  <tt class="py-line">            <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">keys</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1272"></a><tt class="py-lineno">1272</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">keys</tt><tt class="py-op">:</tt> </tt>
+<a name="L1273"></a><tt class="py-lineno">1273</tt>  <tt class="py-line">                <tt class="py-name">row</tt> <tt class="py-op">=</tt> <tt class="py-string">"%-13s"</tt> <tt class="py-op">%</tt> <tt class="py-name">key</tt> </tt>
+<a name="L1274"></a><tt class="py-lineno">1274</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">nodeStr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1275"></a><tt class="py-lineno">1275</tt>  <tt class="py-line">                    <tt class="py-name">node</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1276"></a><tt class="py-lineno">1276</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt id="link-454" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-454', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">node</tt><tt class="py-op">:</tt> </tt>
+<a name="L1277"></a><tt class="py-lineno">1277</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt id="link-455" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-455', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-string">"Error"</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">key</tt><tt class="py-op">:</tt> </tt>
+<a name="L1278"></a><tt class="py-lineno">1278</tt>  <tt class="py-line">                            <tt class="py-name">row</tt> <tt class="py-op">+=</tt> <tt class="py-string">"%-15s"</tt> <tt class="py-op">%</tt> <tt id="link-456" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-456', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1279"></a><tt class="py-lineno">1279</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-457" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-457', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">row</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1280"></a><tt class="py-lineno">1280</tt>  <tt class="py-line">            <tt class="py-comment"># End table view</tt> </tt>
+<a name="L1281"></a><tt class="py-lineno">1281</tt>  <tt class="py-line"> </tt>
+<a name="L1282"></a><tt class="py-lineno">1282</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">intentsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">consistentIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1283"></a><tt class="py-lineno">1283</tt>  <tt class="py-line">            <tt class="py-comment"># print the json objects</tt> </tt>
+<a name="L1284"></a><tt class="py-lineno">1284</tt>  <tt class="py-line">            <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIntents</tt><tt class="py-op">)</tt> </tt>
+<a name="L1285"></a><tt class="py-lineno">1285</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-458" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-458', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1286"></a><tt class="py-lineno">1286</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-459" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-459', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1287"></a><tt class="py-lineno">1287</tt>  <tt class="py-line">                                        <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1288"></a><tt class="py-lineno">1288</tt>  <tt class="py-line">                                        <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1289"></a><tt class="py-lineno">1289</tt>  <tt class="py-line">                                        <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1290"></a><tt class="py-lineno">1290</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1291"></a><tt class="py-lineno">1291</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1292"></a><tt class="py-lineno">1292</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-460" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-460', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1293"></a><tt class="py-lineno">1293</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-461" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-461', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1294"></a><tt class="py-lineno">1294</tt>  <tt class="py-line">                                                <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1295"></a><tt class="py-lineno">1295</tt>  <tt class="py-line">                                                <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1296"></a><tt class="py-lineno">1296</tt>  <tt class="py-line">                                                <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1297"></a><tt class="py-lineno">1297</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1298"></a><tt class="py-lineno">1298</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-462" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-462', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-463" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-463', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents match ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1299"></a><tt class="py-lineno">1299</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1300"></a><tt class="py-lineno">1300</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">intentsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1301"></a><tt class="py-lineno">1301</tt>  <tt class="py-line">            <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1302"></a><tt class="py-lineno">1302</tt>  <tt class="py-line">            <tt class="py-name">intentState</tt> <tt class="py-op">=</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1303"></a><tt class="py-lineno">1303</tt>  <tt class="py-line"> </tt>
+<a name="L1304"></a><tt class="py-lineno">1304</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-464" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-464', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the flows from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1305"></a><tt class="py-lineno">1305</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">flowState</tt> </tt>
+<a name="L1306"></a><tt class="py-lineno">1306</tt>  <tt class="py-line">        <tt class="py-name">flowState</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1307"></a><tt class="py-lineno">1307</tt>  <tt class="py-line">        <tt class="py-name">ONOSFlows</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1308"></a><tt class="py-lineno">1308</tt>  <tt class="py-line">        <tt class="py-name">ONOSFlowsJson</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1309"></a><tt class="py-lineno">1309</tt>  <tt class="py-line">        <tt class="py-name">flowCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1310"></a><tt class="py-lineno">1310</tt>  <tt class="py-line">        <tt class="py-name">consistentFlows</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1311"></a><tt class="py-lineno">1311</tt>  <tt class="py-line">        <tt class="py-name">flowsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1312"></a><tt class="py-lineno">1312</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1313"></a><tt class="py-lineno">1313</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1314"></a><tt class="py-lineno">1314</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-465" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-465', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-466" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-466', 'flows', 'link-405');">flows</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1315"></a><tt class="py-lineno">1315</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"flows-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1316"></a><tt class="py-lineno">1316</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1317"></a><tt class="py-lineno">1317</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">'jsonFormat'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1318"></a><tt class="py-lineno">1318</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1319"></a><tt class="py-lineno">1319</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1320"></a><tt class="py-lineno">1320</tt>  <tt class="py-line"> </tt>
+<a name="L1321"></a><tt class="py-lineno">1321</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: Flows command can take some time to run</tt> </tt>
+<a name="L1322"></a><tt class="py-lineno">1322</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">30</tt><tt class="py-op">)</tt> </tt>
+<a name="L1323"></a><tt class="py-lineno">1323</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1324"></a><tt class="py-lineno">1324</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1325"></a><tt class="py-lineno">1325</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L1326"></a><tt class="py-lineno">1326</tt>  <tt class="py-line">            <tt class="py-name">ONOSFlows</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1327"></a><tt class="py-lineno">1327</tt>  <tt class="py-line"> </tt>
+<a name="L1328"></a><tt class="py-lineno">1328</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1329"></a><tt class="py-lineno">1329</tt>  <tt class="py-line">            <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1330"></a><tt class="py-lineno">1330</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1331"></a><tt class="py-lineno">1331</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-467" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-467', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-468" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-468', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">num</tt> <tt class="py-op">+</tt> <tt class="py-string">" flows"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1332"></a><tt class="py-lineno">1332</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-469" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-469', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">num</tt> <tt class="py-op">+</tt> <tt class="py-string">" flows response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1333"></a><tt class="py-lineno">1333</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1334"></a><tt class="py-lineno">1334</tt>  <tt class="py-line">                <tt class="py-name">flowsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1335"></a><tt class="py-lineno">1335</tt>  <tt class="py-line">                <tt class="py-name">ONOSFlowsJson</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1336"></a><tt class="py-lineno">1336</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1337"></a><tt class="py-lineno">1337</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1338"></a><tt class="py-lineno">1338</tt>  <tt class="py-line">                    <tt class="py-name">ONOSFlowsJson</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1339"></a><tt class="py-lineno">1339</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1340"></a><tt class="py-lineno">1340</tt>  <tt class="py-line">                    <tt class="py-comment"># FIXME: change this to log.error?</tt> </tt>
+<a name="L1341"></a><tt class="py-lineno">1341</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-470" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-470', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error in parsing ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">num</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1342"></a><tt class="py-lineno">1342</tt>  <tt class="py-line">                                        <tt class="py-string">" response as json."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1343"></a><tt class="py-lineno">1343</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-471" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-471', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-472" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-472', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1344"></a><tt class="py-lineno">1344</tt>  <tt class="py-line">                    <tt class="py-name">ONOSFlowsJson</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1345"></a><tt class="py-lineno">1345</tt>  <tt class="py-line">                    <tt class="py-name">flowsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1346"></a><tt class="py-lineno">1346</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1347"></a><tt class="py-lineno">1347</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1348"></a><tt class="py-lineno">1348</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">flowsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1349"></a><tt class="py-lineno">1349</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No error in reading flows output"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1350"></a><tt class="py-lineno">1350</tt>  <tt class="py-line">            <tt id="link-473" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-473', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error in reading flows from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1351"></a><tt class="py-lineno">1351</tt>  <tt class="py-line"> </tt>
+<a name="L1352"></a><tt class="py-lineno">1352</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-474" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-474', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check for consistency in Flows from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1353"></a><tt class="py-lineno">1353</tt>  <tt class="py-line">        <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlowsJson</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSFlowsJson</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1354"></a><tt class="py-lineno">1354</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt> <tt class="py-name">tmp</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1355"></a><tt class="py-lineno">1355</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-475" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-475', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Flow count is consistent across all ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1356"></a><tt class="py-lineno">1356</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1357"></a><tt class="py-lineno">1357</tt>  <tt class="py-line">            <tt class="py-name">consistentFlows</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1358"></a><tt class="py-lineno">1358</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1359"></a><tt class="py-lineno">1359</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1360"></a><tt class="py-lineno">1360</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentFlows</tt><tt class="py-op">,</tt> </tt>
+<a name="L1361"></a><tt class="py-lineno">1361</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"The flow count is consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1362"></a><tt class="py-lineno">1362</tt>  <tt class="py-line">            <tt id="link-476" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-476', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different flow counts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1363"></a><tt class="py-lineno">1363</tt>  <tt class="py-line"> </tt>
+<a name="L1364"></a><tt class="py-lineno">1364</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">flowsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">consistentFlows</tt><tt class="py-op">:</tt> </tt>
+<a name="L1365"></a><tt class="py-lineno">1365</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1366"></a><tt class="py-lineno">1366</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1367"></a><tt class="py-lineno">1367</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-477" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-477', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1368"></a><tt class="py-lineno">1368</tt>  <tt class="py-line">                        <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" flows: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1369"></a><tt class="py-lineno">1369</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1370"></a><tt class="py-lineno">1370</tt>  <tt class="py-line">                                    <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1371"></a><tt class="py-lineno">1371</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1372"></a><tt class="py-lineno">1372</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-478" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-478', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1373"></a><tt class="py-lineno">1373</tt>  <tt class="py-line">                        <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" flows: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1374"></a><tt class="py-lineno">1374</tt>  <tt class="py-line">                        <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1375"></a><tt class="py-lineno">1375</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">flowsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentFlows</tt><tt class="py-op">:</tt> </tt>
+<a name="L1376"></a><tt class="py-lineno">1376</tt>  <tt class="py-line">            <tt class="py-name">flowCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1377"></a><tt class="py-lineno">1377</tt>  <tt class="py-line">            <tt class="py-name">flowState</tt> <tt class="py-op">=</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1378"></a><tt class="py-lineno">1378</tt>  <tt class="py-line"> </tt>
+<a name="L1379"></a><tt class="py-lineno">1379</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-479" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-479', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the OF Table entries"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1380"></a><tt class="py-lineno">1380</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt id="link-480" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-480', 'flows', 'link-405');">flows</a></tt> </tt>
+<a name="L1381"></a><tt class="py-lineno">1381</tt>  <tt class="py-line">        <tt id="link-481" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-481', 'flows', 'link-405');">flows</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1382"></a><tt class="py-lineno">1382</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1383"></a><tt class="py-lineno">1383</tt>  <tt class="py-line">            <tt id="link-482" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-482', 'flows', 'link-405');">flows</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-483" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getFlowTable()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getFlowTable"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getFlowTable" class="py-name" href="#" onclick="return doclink('link-483', 'getFlowTable', 'link-483');">getFlowTable</a></tt><tt class="py-op">(</tt> <tt class="py-number">1.3</tt><tt class="py-op">,</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1384"></a><tt class="py-lineno">1384</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">flowCheck</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1385"></a><tt class="py-lineno">1385</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">table</tt> <tt class="py-keyword">in</tt> <tt id="link-484" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-484', 'flows', 'link-405');">flows</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L1386"></a><tt class="py-lineno">1386</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-485" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-485', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">table</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1387"></a><tt class="py-lineno">1387</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Compare switch flow tables with ONOS flow tables</tt> </tt>
+<a name="L1388"></a><tt class="py-lineno">1388</tt>  <tt class="py-line"> </tt>
+<a name="L1389"></a><tt class="py-lineno">1389</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-486" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-486', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Start continuous pings"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1390"></a><tt class="py-lineno">1390</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-487" class="py-name" targets="Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingLong"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-487', 'pingLong', 'link-487');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1391"></a><tt class="py-lineno">1391</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source1'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1392"></a><tt class="py-lineno">1392</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target1'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1393"></a><tt class="py-lineno">1393</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1394"></a><tt class="py-lineno">1394</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-488" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-488', 'pingLong', 'link-487');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1395"></a><tt class="py-lineno">1395</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source2'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1396"></a><tt class="py-lineno">1396</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target2'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1397"></a><tt class="py-lineno">1397</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1398"></a><tt class="py-lineno">1398</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-489" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-489', 'pingLong', 'link-487');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1399"></a><tt class="py-lineno">1399</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source3'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1400"></a><tt class="py-lineno">1400</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target3'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1401"></a><tt class="py-lineno">1401</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1402"></a><tt class="py-lineno">1402</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-490" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-490', 'pingLong', 'link-487');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1403"></a><tt class="py-lineno">1403</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source4'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1404"></a><tt class="py-lineno">1404</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target4'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1405"></a><tt class="py-lineno">1405</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1406"></a><tt class="py-lineno">1406</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-491" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-491', 'pingLong', 'link-487');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1407"></a><tt class="py-lineno">1407</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source5'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1408"></a><tt class="py-lineno">1408</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target5'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1409"></a><tt class="py-lineno">1409</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1410"></a><tt class="py-lineno">1410</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-492" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-492', 'pingLong', 'link-487');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1411"></a><tt class="py-lineno">1411</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source6'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1412"></a><tt class="py-lineno">1412</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target6'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1413"></a><tt class="py-lineno">1413</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1414"></a><tt class="py-lineno">1414</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-493" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-493', 'pingLong', 'link-487');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1415"></a><tt class="py-lineno">1415</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source7'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1416"></a><tt class="py-lineno">1416</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target7'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1417"></a><tt class="py-lineno">1417</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1418"></a><tt class="py-lineno">1418</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-494" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-494', 'pingLong', 'link-487');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1419"></a><tt class="py-lineno">1419</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source8'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1420"></a><tt class="py-lineno">1420</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target8'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1421"></a><tt class="py-lineno">1421</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1422"></a><tt class="py-lineno">1422</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-495" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-495', 'pingLong', 'link-487');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1423"></a><tt class="py-lineno">1423</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source9'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1424"></a><tt class="py-lineno">1424</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target9'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1425"></a><tt class="py-lineno">1425</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1426"></a><tt class="py-lineno">1426</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-496" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-496', 'pingLong', 'link-487');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1427"></a><tt class="py-lineno">1427</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source10'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1428"></a><tt class="py-lineno">1428</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target10'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1429"></a><tt class="py-lineno">1429</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1430"></a><tt class="py-lineno">1430</tt>  <tt class="py-line"> </tt>
+<a name="L1431"></a><tt class="py-lineno">1431</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-497" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-497', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Collecting topology information from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1432"></a><tt class="py-lineno">1432</tt>  <tt class="py-line">        <tt id="link-498" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-498', 'devices', 'link-114');">devices</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1433"></a><tt class="py-lineno">1433</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1434"></a><tt class="py-lineno">1434</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1435"></a><tt class="py-lineno">1435</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-499" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-499', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-500" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-500', 'devices', 'link-114');">devices</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1436"></a><tt class="py-lineno">1436</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"devices-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1437"></a><tt class="py-lineno">1437</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1438"></a><tt class="py-lineno">1438</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1439"></a><tt class="py-lineno">1439</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1440"></a><tt class="py-lineno">1440</tt>  <tt class="py-line"> </tt>
+<a name="L1441"></a><tt class="py-lineno">1441</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1442"></a><tt class="py-lineno">1442</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1443"></a><tt class="py-lineno">1443</tt>  <tt class="py-line">            <tt id="link-501" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-501', 'devices', 'link-114');">devices</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1444"></a><tt class="py-lineno">1444</tt>  <tt class="py-line">        <tt id="link-502" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-502', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1445"></a><tt class="py-lineno">1445</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1446"></a><tt class="py-lineno">1446</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1447"></a><tt class="py-lineno">1447</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-503" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-503', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-504" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-504', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1448"></a><tt class="py-lineno">1448</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"hosts-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1449"></a><tt class="py-lineno">1449</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1450"></a><tt class="py-lineno">1450</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1451"></a><tt class="py-lineno">1451</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1452"></a><tt class="py-lineno">1452</tt>  <tt class="py-line"> </tt>
+<a name="L1453"></a><tt class="py-lineno">1453</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1454"></a><tt class="py-lineno">1454</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1455"></a><tt class="py-lineno">1455</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1456"></a><tt class="py-lineno">1456</tt>  <tt class="py-line">                <tt id="link-505" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-505', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1457"></a><tt class="py-lineno">1457</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1458"></a><tt class="py-lineno">1458</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: better handling of this, print which node</tt> </tt>
+<a name="L1459"></a><tt class="py-lineno">1459</tt>  <tt class="py-line">                <tt class="py-comment">#        Maybe use thread name?</tt> </tt>
+<a name="L1460"></a><tt class="py-lineno">1460</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-506" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-506', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing json output of hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1461"></a><tt class="py-lineno">1461</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: should this be an empty json object instead?</tt> </tt>
+<a name="L1462"></a><tt class="py-lineno">1462</tt>  <tt class="py-line">                <tt id="link-507" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-507', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1463"></a><tt class="py-lineno">1463</tt>  <tt class="py-line"> </tt>
+<a name="L1464"></a><tt class="py-lineno">1464</tt>  <tt class="py-line">        <tt id="link-508" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#ports"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-508', 'ports', 'link-508');">ports</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1465"></a><tt class="py-lineno">1465</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1466"></a><tt class="py-lineno">1466</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1467"></a><tt class="py-lineno">1467</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-509" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-509', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-510" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-510', 'ports', 'link-508');">ports</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1468"></a><tt class="py-lineno">1468</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"ports-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1469"></a><tt class="py-lineno">1469</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1470"></a><tt class="py-lineno">1470</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1471"></a><tt class="py-lineno">1471</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1472"></a><tt class="py-lineno">1472</tt>  <tt class="py-line"> </tt>
+<a name="L1473"></a><tt class="py-lineno">1473</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1474"></a><tt class="py-lineno">1474</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1475"></a><tt class="py-lineno">1475</tt>  <tt class="py-line">            <tt id="link-511" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-511', 'ports', 'link-508');">ports</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1476"></a><tt class="py-lineno">1476</tt>  <tt class="py-line">        <tt id="link-512" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#links,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#links"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-512', 'links', 'link-512');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1477"></a><tt class="py-lineno">1477</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1478"></a><tt class="py-lineno">1478</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1479"></a><tt class="py-lineno">1479</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-513" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-513', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-514" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-514', 'links', 'link-512');">links</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1480"></a><tt class="py-lineno">1480</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"links-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1481"></a><tt class="py-lineno">1481</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1482"></a><tt class="py-lineno">1482</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1483"></a><tt class="py-lineno">1483</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1484"></a><tt class="py-lineno">1484</tt>  <tt class="py-line"> </tt>
+<a name="L1485"></a><tt class="py-lineno">1485</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1486"></a><tt class="py-lineno">1486</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1487"></a><tt class="py-lineno">1487</tt>  <tt class="py-line">            <tt id="link-515" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-515', 'links', 'link-512');">links</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1488"></a><tt class="py-lineno">1488</tt>  <tt class="py-line">        <tt id="link-516" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#clusters"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-516', 'clusters', 'link-516');">clusters</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1489"></a><tt class="py-lineno">1489</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1490"></a><tt class="py-lineno">1490</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1491"></a><tt class="py-lineno">1491</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-517" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-517', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-518" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-518', 'clusters', 'link-516');">clusters</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1492"></a><tt class="py-lineno">1492</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"clusters-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1493"></a><tt class="py-lineno">1493</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1494"></a><tt class="py-lineno">1494</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1495"></a><tt class="py-lineno">1495</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1496"></a><tt class="py-lineno">1496</tt>  <tt class="py-line"> </tt>
+<a name="L1497"></a><tt class="py-lineno">1497</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1498"></a><tt class="py-lineno">1498</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1499"></a><tt class="py-lineno">1499</tt>  <tt class="py-line">            <tt id="link-519" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-519', 'clusters', 'link-516');">clusters</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1500"></a><tt class="py-lineno">1500</tt>  <tt class="py-line">        <tt class="py-comment"># Compare json objects for hosts and dataplane clusters</tt> </tt>
+<a name="L1501"></a><tt class="py-lineno">1501</tt>  <tt class="py-line"> </tt>
+<a name="L1502"></a><tt class="py-lineno">1502</tt>  <tt class="py-line">        <tt class="py-comment"># hosts</tt> </tt>
+<a name="L1503"></a><tt class="py-lineno">1503</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-520" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-520', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Host view is consistent across ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1504"></a><tt class="py-lineno">1504</tt>  <tt class="py-line">        <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1505"></a><tt class="py-lineno">1505</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-521" class="py-name" targets="Package TestON.drivers.common.api.controller=TestON.drivers.common.api.controller-module.html"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-521', 'controller', 'link-521');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-522" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-522', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1506"></a><tt class="py-lineno">1506</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-523" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-523', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1507"></a><tt class="py-lineno">1507</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-524" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-524', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-525" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-525', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1508"></a><tt class="py-lineno">1508</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-526" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-526', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-527" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-527', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-528" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-528', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1509"></a><tt class="py-lineno">1509</tt>  <tt class="py-line">                    <tt class="py-keyword">continue</tt> </tt>
+<a name="L1510"></a><tt class="py-lineno">1510</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># hosts not consistent</tt> </tt>
+<a name="L1511"></a><tt class="py-lineno">1511</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-529" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-529', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-530" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-530', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"hosts from ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1512"></a><tt class="py-lineno">1512</tt>  <tt class="py-line">                                     <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1513"></a><tt class="py-lineno">1513</tt>  <tt class="py-line">                                     <tt class="py-string">" is inconsistent with ONOS1"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1514"></a><tt class="py-lineno">1514</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-531" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-531', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-532" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-532', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-533" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-533', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1515"></a><tt class="py-lineno">1515</tt>  <tt class="py-line">                    <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1516"></a><tt class="py-lineno">1516</tt>  <tt class="py-line"> </tt>
+<a name="L1517"></a><tt class="py-lineno">1517</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1518"></a><tt class="py-lineno">1518</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-534" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-534', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-535" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-535', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS hosts from ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1519"></a><tt class="py-lineno">1519</tt>  <tt class="py-line">                                 <tt class="py-name">controllerStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1520"></a><tt class="py-lineno">1520</tt>  <tt class="py-line">                <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1521"></a><tt class="py-lineno">1521</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-536" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-536', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1522"></a><tt class="py-lineno">1522</tt>  <tt class="py-line">                               <tt class="py-string">" hosts response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1523"></a><tt class="py-lineno">1523</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-537" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-537', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-538" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-538', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1524"></a><tt class="py-lineno">1524</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1525"></a><tt class="py-lineno">1525</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1526"></a><tt class="py-lineno">1526</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentHostsResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1527"></a><tt class="py-lineno">1527</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Hosts view is consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1528"></a><tt class="py-lineno">1528</tt>  <tt class="py-line">            <tt id="link-539" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-539', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1529"></a><tt class="py-lineno">1529</tt>  <tt class="py-line"> </tt>
+<a name="L1530"></a><tt class="py-lineno">1530</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-540" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-540', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Each host has an IP address"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1531"></a><tt class="py-lineno">1531</tt>  <tt class="py-line">        <tt class="py-name">ipResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1532"></a><tt class="py-lineno">1532</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-541" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-541', 'controller', 'link-521');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-542" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-542', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1533"></a><tt class="py-lineno">1533</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-543" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-543', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1534"></a><tt class="py-lineno">1534</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">host</tt> <tt class="py-keyword">in</tt> <tt id="link-544" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-544', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-545" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-545', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1535"></a><tt class="py-lineno">1535</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">host</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'ipAddresses'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1536"></a><tt class="py-lineno">1536</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-546" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-546', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-547" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-547', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"DEBUG:Error with host ips on controller"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1537"></a><tt class="py-lineno">1537</tt>  <tt class="py-line">                                    <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1538"></a><tt class="py-lineno">1538</tt>  <tt class="py-line">                    <tt class="py-name">ipResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1539"></a><tt class="py-lineno">1539</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1540"></a><tt class="py-lineno">1540</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1541"></a><tt class="py-lineno">1541</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">ipResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1542"></a><tt class="py-lineno">1542</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"The ips of the hosts aren't empty"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1543"></a><tt class="py-lineno">1543</tt>  <tt class="py-line">            <tt id="link-548" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-548', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"The ip of at least one host is missing"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1544"></a><tt class="py-lineno">1544</tt>  <tt class="py-line"> </tt>
+<a name="L1545"></a><tt class="py-lineno">1545</tt>  <tt class="py-line">        <tt class="py-comment"># Strongly connected clusters of devices</tt> </tt>
+<a name="L1546"></a><tt class="py-lineno">1546</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-549" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-549', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cluster view is consistent across ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1547"></a><tt class="py-lineno">1547</tt>  <tt class="py-line">        <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1548"></a><tt class="py-lineno">1548</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-550" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-550', 'controller', 'link-521');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-551" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-551', 'clusters', 'link-516');">clusters</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1549"></a><tt class="py-lineno">1549</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-552" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-552', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1550"></a><tt class="py-lineno">1550</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-553" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-553', 'clusters', 'link-516');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-554" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-554', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1551"></a><tt class="py-lineno">1551</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-555" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-555', 'clusters', 'link-516');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-556" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-556', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-557" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-557', 'clusters', 'link-516');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1552"></a><tt class="py-lineno">1552</tt>  <tt class="py-line">                    <tt class="py-keyword">continue</tt> </tt>
+<a name="L1553"></a><tt class="py-lineno">1553</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># clusters not consistent</tt> </tt>
+<a name="L1554"></a><tt class="py-lineno">1554</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-558" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-558', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-559" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-559', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"clusters from ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1555"></a><tt class="py-lineno">1555</tt>  <tt class="py-line">                                     <tt class="py-string">" is inconsistent with ONOS1"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1556"></a><tt class="py-lineno">1556</tt>  <tt class="py-line">                    <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1557"></a><tt class="py-lineno">1557</tt>  <tt class="py-line"> </tt>
+<a name="L1558"></a><tt class="py-lineno">1558</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1559"></a><tt class="py-lineno">1559</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-560" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-560', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-561" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-561', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting dataplane clusters "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1560"></a><tt class="py-lineno">1560</tt>  <tt class="py-line">                                 <tt class="py-string">"from ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1561"></a><tt class="py-lineno">1561</tt>  <tt class="py-line">                <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1562"></a><tt class="py-lineno">1562</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-562" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-562', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1563"></a><tt class="py-lineno">1563</tt>  <tt class="py-line">                               <tt class="py-string">" clusters response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1564"></a><tt class="py-lineno">1564</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-563" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-563', 'clusters', 'link-516');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-564" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-564', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1565"></a><tt class="py-lineno">1565</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1566"></a><tt class="py-lineno">1566</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1567"></a><tt class="py-lineno">1567</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentClustersResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1568"></a><tt class="py-lineno">1568</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Clusters view is consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1569"></a><tt class="py-lineno">1569</tt>  <tt class="py-line">            <tt id="link-565" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-565', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of clusters"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1570"></a><tt class="py-lineno">1570</tt>  <tt class="py-line">        <tt class="py-comment"># there should always only be one cluster</tt> </tt>
+<a name="L1571"></a><tt class="py-lineno">1571</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-566" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-566', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cluster view correct across ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1572"></a><tt class="py-lineno">1572</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1573"></a><tt class="py-lineno">1573</tt>  <tt class="py-line">            <tt class="py-name">numClusters</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-567" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-567', 'clusters', 'link-516');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1574"></a><tt class="py-lineno">1574</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1575"></a><tt class="py-lineno">1575</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-568" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-568', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing clusters[0]: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1576"></a><tt class="py-lineno">1576</tt>  <tt class="py-line">                                <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-569" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-569', 'clusters', 'link-516');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1577"></a><tt class="py-lineno">1577</tt>  <tt class="py-line">        <tt class="py-name">clusterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1578"></a><tt class="py-lineno">1578</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">numClusters</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1579"></a><tt class="py-lineno">1579</tt>  <tt class="py-line">            <tt class="py-name">clusterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1580"></a><tt class="py-lineno">1580</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1581"></a><tt class="py-lineno">1581</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1582"></a><tt class="py-lineno">1582</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">numClusters</tt><tt class="py-op">,</tt> </tt>
+<a name="L1583"></a><tt class="py-lineno">1583</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS shows 1 SCC"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1584"></a><tt class="py-lineno">1584</tt>  <tt class="py-line">            <tt id="link-570" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-570', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS shows "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">numClusters</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" SCCs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1585"></a><tt class="py-lineno">1585</tt>  <tt class="py-line"> </tt>
+<a name="L1586"></a><tt class="py-lineno">1586</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-571" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-571', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Comparing ONOS topology to MN"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1587"></a><tt class="py-lineno">1587</tt>  <tt class="py-line">        <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1588"></a><tt class="py-lineno">1588</tt>  <tt class="py-line">        <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1589"></a><tt class="py-lineno">1589</tt>  <tt class="py-line">        <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1590"></a><tt class="py-lineno">1590</tt>  <tt class="py-line">        <tt class="py-name">mnSwitches</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-572" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitches()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitches"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitches" class="py-name" href="#" onclick="return doclink('link-572', 'getSwitches', 'link-572');">getSwitches</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1591"></a><tt class="py-lineno">1591</tt>  <tt class="py-line">        <tt class="py-name">mnLinks</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-573" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getLinks()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getLinks"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getLinks" class="py-name" href="#" onclick="return doclink('link-573', 'getLinks', 'link-573');">getLinks</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1592"></a><tt class="py-lineno">1592</tt>  <tt class="py-line">        <tt class="py-name">mnHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-574" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHosts()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getHosts"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHosts" class="py-name" href="#" onclick="return doclink('link-574', 'getHosts', 'link-574');">getHosts</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1593"></a><tt class="py-lineno">1593</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-575" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-575', 'controller', 'link-521');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1594"></a><tt class="py-lineno">1594</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-576" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-576', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1595"></a><tt class="py-lineno">1595</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-577" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-577', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-578" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-578', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt id="link-579" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-579', 'ports', 'link-508');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-580" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-580', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L1596"></a><tt class="py-lineno">1596</tt>  <tt class="py-line">                <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-581" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-581', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-582" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-582', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L1597"></a><tt class="py-lineno">1597</tt>  <tt class="py-line">                <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-583" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-583', 'ports', 'link-508');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-584" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-584', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1598"></a><tt class="py-lineno">1598</tt>  <tt class="py-line"> </tt>
+<a name="L1599"></a><tt class="py-lineno">1599</tt>  <tt class="py-line">                <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-585" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareSwitches()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareSwitches"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareSwitches" class="py-name" href="#" onclick="return doclink('link-585', 'compareSwitches', 'link-585');">compareSwitches</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1600"></a><tt class="py-lineno">1600</tt>  <tt class="py-line">                        <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> </tt>
+<a name="L1601"></a><tt class="py-lineno">1601</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-586" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-586', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-587" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-587', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1602"></a><tt class="py-lineno">1602</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-588" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-588', 'ports', 'link-508');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-589" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-589', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1603"></a><tt class="py-lineno">1603</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1604"></a><tt class="py-lineno">1604</tt>  <tt class="py-line">                <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1605"></a><tt class="py-lineno">1605</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1606"></a><tt class="py-lineno">1606</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentDevicesResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1607"></a><tt class="py-lineno">1607</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1608"></a><tt class="py-lineno">1608</tt>  <tt class="py-line">                                     <tt class="py-string">" Switches view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1609"></a><tt class="py-lineno">1609</tt>  <tt class="py-line">                                     <tt id="link-590" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-590', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1610"></a><tt class="py-lineno">1610</tt>  <tt class="py-line">                                     <tt class="py-string">" Switches view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1611"></a><tt class="py-lineno">1611</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-591" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-591', 'links', 'link-512');">links</a></tt><tt class="py-op">[</tt> <tt id="link-592" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-592', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-593" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-593', 'links', 'link-512');">links</a></tt><tt class="py-op">[</tt> <tt id="link-594" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-594', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1612"></a><tt class="py-lineno">1612</tt>  <tt class="py-line">                <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-595" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareLinks()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareLinks"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareLinks" class="py-name" href="#" onclick="return doclink('link-595', 'compareLinks', 'link-595');">compareLinks</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1613"></a><tt class="py-lineno">1613</tt>  <tt class="py-line">                        <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> <tt class="py-name">mnLinks</tt><tt class="py-op">,</tt> </tt>
+<a name="L1614"></a><tt class="py-lineno">1614</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-596" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-596', 'links', 'link-512');">links</a></tt><tt class="py-op">[</tt> <tt id="link-597" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-597', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1615"></a><tt class="py-lineno">1615</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1616"></a><tt class="py-lineno">1616</tt>  <tt class="py-line">                <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1617"></a><tt class="py-lineno">1617</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1618"></a><tt class="py-lineno">1618</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentLinksResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1619"></a><tt class="py-lineno">1619</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1620"></a><tt class="py-lineno">1620</tt>  <tt class="py-line">                                     <tt class="py-string">" links view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1621"></a><tt class="py-lineno">1621</tt>  <tt class="py-line">                                     <tt id="link-598" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-598', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1622"></a><tt class="py-lineno">1622</tt>  <tt class="py-line">                                     <tt class="py-string">" links view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1623"></a><tt class="py-lineno">1623</tt>  <tt class="py-line"> </tt>
+<a name="L1624"></a><tt class="py-lineno">1624</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-599" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-599', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-600" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-600', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-601" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-601', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-602" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-602', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1625"></a><tt class="py-lineno">1625</tt>  <tt class="py-line">                <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-603" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareHosts()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareHosts"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareHosts" class="py-name" href="#" onclick="return doclink('link-603', 'compareHosts', 'link-603');">compareHosts</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1626"></a><tt class="py-lineno">1626</tt>  <tt class="py-line">                        <tt class="py-name">mnHosts</tt><tt class="py-op">,</tt> </tt>
+<a name="L1627"></a><tt class="py-lineno">1627</tt>  <tt class="py-line">                        <tt id="link-604" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-604', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-605" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-605', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1628"></a><tt class="py-lineno">1628</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1629"></a><tt class="py-lineno">1629</tt>  <tt class="py-line">                <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1630"></a><tt class="py-lineno">1630</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1631"></a><tt class="py-lineno">1631</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentHostsResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1632"></a><tt class="py-lineno">1632</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1633"></a><tt class="py-lineno">1633</tt>  <tt class="py-line">                                     <tt class="py-string">" hosts exist in Mininet"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1634"></a><tt class="py-lineno">1634</tt>  <tt class="py-line">                                     <tt id="link-606" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-606', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1635"></a><tt class="py-lineno">1635</tt>  <tt class="py-line">                                     <tt class="py-string">" hosts don't match Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1636"></a><tt class="py-lineno">1636</tt>  <tt class="py-line"> </tt>
+<a name="L1637"></a><tt class="py-lineno">1637</tt>  <tt class="py-line">            <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">devicesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentDevicesResult</tt> </tt>
+<a name="L1638"></a><tt class="py-lineno">1638</tt>  <tt class="py-line">            <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">linksResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentLinksResult</tt> </tt>
+<a name="L1639"></a><tt class="py-lineno">1639</tt>  <tt class="py-line">            <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentHostsResult</tt> </tt>
+<a name="L1640"></a><tt class="py-lineno">1640</tt>  <tt class="py-line"> </tt>
+<a name="L1641"></a><tt class="py-lineno">1641</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-607" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-607', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Device information is correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1642"></a><tt class="py-lineno">1642</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1643"></a><tt class="py-lineno">1643</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1644"></a><tt class="py-lineno">1644</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">devicesResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1645"></a><tt class="py-lineno">1645</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Device information is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1646"></a><tt class="py-lineno">1646</tt>  <tt class="py-line">            <tt id="link-608" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-608', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Device information is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1647"></a><tt class="py-lineno">1647</tt>  <tt class="py-line"> </tt>
+<a name="L1648"></a><tt class="py-lineno">1648</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-609" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-609', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Links are correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1649"></a><tt class="py-lineno">1649</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1650"></a><tt class="py-lineno">1650</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1651"></a><tt class="py-lineno">1651</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">linksResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1652"></a><tt class="py-lineno">1652</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1653"></a><tt class="py-lineno">1653</tt>  <tt class="py-line">            <tt id="link-610" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-610', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Links are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1654"></a><tt class="py-lineno">1654</tt>  <tt class="py-line"> </tt>
+<a name="L1655"></a><tt class="py-lineno">1655</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-611" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-611', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Hosts are correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1656"></a><tt class="py-lineno">1656</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1657"></a><tt class="py-lineno">1657</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1658"></a><tt class="py-lineno">1658</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">hostsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1659"></a><tt class="py-lineno">1659</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Hosts are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1660"></a><tt class="py-lineno">1660</tt>  <tt class="py-line">            <tt id="link-612" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-612', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Hosts are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1661"></a><tt class="py-lineno">1661</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE6"></a><div id="HAminorityRestart.CASE6-def"><a name="L1662"></a><tt class="py-lineno">1662</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE6-toggle" onclick="return toggle('HAminorityRestart.CASE6');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE6">CASE6</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE6-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE6-expanded"><a name="L1663"></a><tt class="py-lineno">1663</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1664"></a><tt class="py-lineno">1664</tt>  <tt class="py-line"><tt class="py-docstring">        The Failure case.</tt> </tt>
+<a name="L1665"></a><tt class="py-lineno">1665</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1666"></a><tt class="py-lineno">1666</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1667"></a><tt class="py-lineno">1667</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1668"></a><tt class="py-lineno">1668</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1669"></a><tt class="py-lineno">1669</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1670"></a><tt class="py-lineno">1670</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L1671"></a><tt class="py-lineno">1671</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-613" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-613', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L1672"></a><tt class="py-lineno">1672</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-614" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-614', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Restart minority of ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1673"></a><tt class="py-lineno">1673</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-615" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-615', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Killing 3 ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1674"></a><tt class="py-lineno">1674</tt>  <tt class="py-line">        <tt class="py-name">killTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1675"></a><tt class="py-lineno">1675</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Randomize these nodes or base this on partitions</tt> </tt>
+<a name="L1676"></a><tt class="py-lineno">1676</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: use threads in this case</tt> </tt>
+<a name="L1677"></a><tt class="py-lineno">1677</tt>  <tt class="py-line">        <tt class="py-name">killResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-616" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosKill" class="py-name" href="#" onclick="return doclink('link-616', 'onosKill', 'link-24');">onosKill</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-617" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-617', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1678"></a><tt class="py-lineno">1678</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1679"></a><tt class="py-lineno">1679</tt>  <tt class="py-line">        <tt class="py-name">killResults</tt> <tt class="py-op">=</tt> <tt class="py-name">killResults</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L1680"></a><tt class="py-lineno">1680</tt>  <tt class="py-line">                      <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-618" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosKill" class="py-name" href="#" onclick="return doclink('link-618', 'onosKill', 'link-24');">onosKill</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-619" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-619', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1681"></a><tt class="py-lineno">1681</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1682"></a><tt class="py-lineno">1682</tt>  <tt class="py-line">        <tt class="py-name">killResults</tt> <tt class="py-op">=</tt> <tt class="py-name">killResults</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L1683"></a><tt class="py-lineno">1683</tt>  <tt class="py-line">                      <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-620" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosKill" class="py-name" href="#" onclick="return doclink('link-620', 'onosKill', 'link-24');">onosKill</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-621" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-621', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1684"></a><tt class="py-lineno">1684</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">killResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1685"></a><tt class="py-lineno">1685</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS Killed successfully"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1686"></a><tt class="py-lineno">1686</tt>  <tt class="py-line">                                 <tt id="link-622" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-622', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS kill NOT successful"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1687"></a><tt class="py-lineno">1687</tt>  <tt class="py-line"> </tt>
+<a name="L1688"></a><tt class="py-lineno">1688</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-623" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-623', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Checking if ONOS is up yet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1689"></a><tt class="py-lineno">1689</tt>  <tt class="py-line">        <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L1690"></a><tt class="py-lineno">1690</tt>  <tt class="py-line">        <tt class="py-name">onosIsupResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1691"></a><tt class="py-lineno">1691</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">onosIsupResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> <tt class="py-keyword">and</tt> <tt class="py-name">count</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">10</tt><tt class="py-op">:</tt> </tt>
+<a name="L1692"></a><tt class="py-lineno">1692</tt>  <tt class="py-line">            <tt class="py-name">onos1Isup</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-624" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-624', 'isup', 'link-48');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-625" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-625', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1693"></a><tt class="py-lineno">1693</tt>  <tt class="py-line">            <tt class="py-name">onos2Isup</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-626" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-626', 'isup', 'link-48');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-627" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-627', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1694"></a><tt class="py-lineno">1694</tt>  <tt class="py-line">            <tt class="py-name">onos3Isup</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-628" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-628', 'isup', 'link-48');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-629" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-629', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1695"></a><tt class="py-lineno">1695</tt>  <tt class="py-line">            <tt class="py-name">onosIsupResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onos1Isup</tt> <tt class="py-keyword">and</tt> <tt class="py-name">onos2Isup</tt> <tt class="py-keyword">and</tt> <tt class="py-name">onos3Isup</tt> </tt>
+<a name="L1696"></a><tt class="py-lineno">1696</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-name">count</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1697"></a><tt class="py-lineno">1697</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: if it becomes an issue, we can retry this step  a few times</tt> </tt>
+<a name="L1698"></a><tt class="py-lineno">1698</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">onosIsupResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1699"></a><tt class="py-lineno">1699</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS restarted successfully"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1700"></a><tt class="py-lineno">1700</tt>  <tt class="py-line">                                 <tt id="link-630" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-630', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS restart NOT successful"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1701"></a><tt class="py-lineno">1701</tt>  <tt class="py-line"> </tt>
+<a name="L1702"></a><tt class="py-lineno">1702</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-631" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-631', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Restarting ONOS main.CLIs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1703"></a><tt class="py-lineno">1703</tt>  <tt class="py-line">        <tt class="py-name">cliResult1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-632" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli" class="py-name" href="#" onclick="return doclink('link-632', 'startOnosCli', 'link-57');">startOnosCli</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-633" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-633', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1704"></a><tt class="py-lineno">1704</tt>  <tt class="py-line">        <tt class="py-name">cliResult2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli2</tt><tt class="py-op">.</tt><tt id="link-634" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli" class="py-name" href="#" onclick="return doclink('link-634', 'startOnosCli', 'link-57');">startOnosCli</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-635" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-635', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1705"></a><tt class="py-lineno">1705</tt>  <tt class="py-line">        <tt class="py-name">cliResult3</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli3</tt><tt class="py-op">.</tt><tt id="link-636" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli" class="py-name" href="#" onclick="return doclink('link-636', 'startOnosCli', 'link-57');">startOnosCli</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-637" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-637', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1706"></a><tt class="py-lineno">1706</tt>  <tt class="py-line">        <tt class="py-name">cliResults</tt> <tt class="py-op">=</tt> <tt class="py-name">cliResult1</tt> <tt class="py-keyword">and</tt> <tt class="py-name">cliResult2</tt> <tt class="py-keyword">and</tt> <tt class="py-name">cliResult3</tt> </tt>
+<a name="L1707"></a><tt class="py-lineno">1707</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">cliResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1708"></a><tt class="py-lineno">1708</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS cli restarted"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1709"></a><tt class="py-lineno">1709</tt>  <tt class="py-line">                                 <tt id="link-638" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-638', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS cli did not restart"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1710"></a><tt class="py-lineno">1710</tt>  <tt class="py-line"> </tt>
+<a name="L1711"></a><tt class="py-lineno">1711</tt>  <tt class="py-line">        <tt class="py-comment"># Grab the time of restart so we chan check how long the gossip</tt> </tt>
+<a name="L1712"></a><tt class="py-lineno">1712</tt>  <tt class="py-line">        <tt class="py-comment"># protocol has had time to work</tt> </tt>
+<a name="L1713"></a><tt class="py-lineno">1713</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">restartTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">killTime</tt> </tt>
+<a name="L1714"></a><tt class="py-lineno">1714</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-639" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-639', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Restart time: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">restartTime</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1715"></a><tt class="py-lineno">1715</tt>  <tt class="py-line">        <tt class="py-string">'''</tt> </tt>
+<a name="L1716"></a><tt class="py-lineno">1716</tt>  <tt class="py-line"><tt class="py-string">        # FIXME: revisit test plan for election with madan</tt> </tt>
+<a name="L1717"></a><tt class="py-lineno">1717</tt>  <tt class="py-line"><tt class="py-string">        # Rerun for election on restarted nodes</tt> </tt>
+<a name="L1718"></a><tt class="py-lineno">1718</tt>  <tt class="py-line"><tt class="py-string">        run1 = main.CLIs[0].electionTestRun()</tt> </tt>
+<a name="L1719"></a><tt class="py-lineno">1719</tt>  <tt class="py-line"><tt class="py-string">        run2 = main.CLIs[1].electionTestRun()</tt> </tt>
+<a name="L1720"></a><tt class="py-lineno">1720</tt>  <tt class="py-line"><tt class="py-string">        run3 = main.CLIs[2].electionTestRun()</tt> </tt>
+<a name="L1721"></a><tt class="py-lineno">1721</tt>  <tt class="py-line"><tt class="py-string">        runResults = run1 and run2 and run3</tt> </tt>
+<a name="L1722"></a><tt class="py-lineno">1722</tt>  <tt class="py-line"><tt class="py-string">        utilities.assert_equals( expect=main.TRUE, actual=runResults,</tt> </tt>
+<a name="L1723"></a><tt class="py-lineno">1723</tt>  <tt class="py-line"><tt class="py-string">                                 onpass="Reran for election",</tt> </tt>
+<a name="L1724"></a><tt class="py-lineno">1724</tt>  <tt class="py-line"><tt class="py-string">                                 onfail="Failed to rerun for election" )</tt> </tt>
+<a name="L1725"></a><tt class="py-lineno">1725</tt>  <tt class="py-line"><tt class="py-string">        '''</tt> </tt>
+<a name="L1726"></a><tt class="py-lineno">1726</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: MAke this configurable. Also, we are breaking the above timer</tt> </tt>
+<a name="L1727"></a><tt class="py-lineno">1727</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1728"></a><tt class="py-lineno">1728</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-640" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-640', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-641" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-641', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1729"></a><tt class="py-lineno">1729</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-642" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-642', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-643" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-643', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1730"></a><tt class="py-lineno">1730</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-644" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-644', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-645" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-645', 'partitions', 'link-197');">partitions</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1731"></a><tt class="py-lineno">1731</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE7"></a><div id="HAminorityRestart.CASE7-def"><a name="L1732"></a><tt class="py-lineno">1732</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE7-toggle" onclick="return toggle('HAminorityRestart.CASE7');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE7">CASE7</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE7-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE7-expanded"><a name="L1733"></a><tt class="py-lineno">1733</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1734"></a><tt class="py-lineno">1734</tt>  <tt class="py-line"><tt class="py-docstring">        Check state after ONOS failure</tt> </tt>
+<a name="L1735"></a><tt class="py-lineno">1735</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1736"></a><tt class="py-lineno">1736</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L1737"></a><tt class="py-lineno">1737</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1738"></a><tt class="py-lineno">1738</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1739"></a><tt class="py-lineno">1739</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1740"></a><tt class="py-lineno">1740</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L1741"></a><tt class="py-lineno">1741</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-646" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-646', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L1742"></a><tt class="py-lineno">1742</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-647" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-647', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Running ONOS Constant State Tests"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1743"></a><tt class="py-lineno">1743</tt>  <tt class="py-line"> </tt>
+<a name="L1744"></a><tt class="py-lineno">1744</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-648" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-648', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check that each switch has a master"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1745"></a><tt class="py-lineno">1745</tt>  <tt class="py-line">        <tt class="py-comment"># Assert that each device has a master</tt> </tt>
+<a name="L1746"></a><tt class="py-lineno">1746</tt>  <tt class="py-line">        <tt id="link-649" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-649', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1747"></a><tt class="py-lineno">1747</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1748"></a><tt class="py-lineno">1748</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1749"></a><tt class="py-lineno">1749</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-650" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-650', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-651" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-651', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1750"></a><tt class="py-lineno">1750</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"rolesNotNull-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1751"></a><tt class="py-lineno">1751</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1752"></a><tt class="py-lineno">1752</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1753"></a><tt class="py-lineno">1753</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1754"></a><tt class="py-lineno">1754</tt>  <tt class="py-line"> </tt>
+<a name="L1755"></a><tt class="py-lineno">1755</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1756"></a><tt class="py-lineno">1756</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1757"></a><tt class="py-lineno">1757</tt>  <tt class="py-line">            <tt id="link-652" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-652', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt> <tt class="py-op">=</tt> <tt id="link-653" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-653', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L1758"></a><tt class="py-lineno">1758</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1759"></a><tt class="py-lineno">1759</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1760"></a><tt class="py-lineno">1760</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt id="link-654" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-654', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1761"></a><tt class="py-lineno">1761</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Each device has a master"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1762"></a><tt class="py-lineno">1762</tt>  <tt class="py-line">            <tt id="link-655" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-655', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Some devices don't have a master assigned"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1763"></a><tt class="py-lineno">1763</tt>  <tt class="py-line"> </tt>
+<a name="L1764"></a><tt class="py-lineno">1764</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-656" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-656', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Read device roles from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1765"></a><tt class="py-lineno">1765</tt>  <tt class="py-line">        <tt class="py-name">ONOSMastership</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1766"></a><tt class="py-lineno">1766</tt>  <tt class="py-line">        <tt class="py-name">consistentMastership</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1767"></a><tt class="py-lineno">1767</tt>  <tt class="py-line">        <tt class="py-name">rolesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1768"></a><tt class="py-lineno">1768</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1769"></a><tt class="py-lineno">1769</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1770"></a><tt class="py-lineno">1770</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-657" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-657', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-658" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.roles" class="py-name" href="#" onclick="return doclink('link-658', 'roles', 'link-429');">roles</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1771"></a><tt class="py-lineno">1771</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"roles-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1772"></a><tt class="py-lineno">1772</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1773"></a><tt class="py-lineno">1773</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1774"></a><tt class="py-lineno">1774</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1775"></a><tt class="py-lineno">1775</tt>  <tt class="py-line"> </tt>
+<a name="L1776"></a><tt class="py-lineno">1776</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1777"></a><tt class="py-lineno">1777</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1778"></a><tt class="py-lineno">1778</tt>  <tt class="py-line">            <tt class="py-name">ONOSMastership</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1779"></a><tt class="py-lineno">1779</tt>  <tt class="py-line"> </tt>
+<a name="L1780"></a><tt class="py-lineno">1780</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1781"></a><tt class="py-lineno">1781</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1782"></a><tt class="py-lineno">1782</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-659" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-659', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-660" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-660', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1783"></a><tt class="py-lineno">1783</tt>  <tt class="py-line">                                 <tt class="py-string">" roles"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1784"></a><tt class="py-lineno">1784</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-661" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-661', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1785"></a><tt class="py-lineno">1785</tt>  <tt class="py-line">                    <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" mastership response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1786"></a><tt class="py-lineno">1786</tt>  <tt class="py-line">                    <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1787"></a><tt class="py-lineno">1787</tt>  <tt class="py-line">                <tt class="py-name">rolesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1788"></a><tt class="py-lineno">1788</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1789"></a><tt class="py-lineno">1789</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1790"></a><tt class="py-lineno">1790</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">rolesResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1791"></a><tt class="py-lineno">1791</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No error in reading roles output"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1792"></a><tt class="py-lineno">1792</tt>  <tt class="py-line">            <tt id="link-662" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-662', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error in reading roles from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1793"></a><tt class="py-lineno">1793</tt>  <tt class="py-line"> </tt>
+<a name="L1794"></a><tt class="py-lineno">1794</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-663" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-663', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check for consistency in roles from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1795"></a><tt class="py-lineno">1795</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSMastership</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1796"></a><tt class="py-lineno">1796</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-664" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-664', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L1797"></a><tt class="py-lineno">1797</tt>  <tt class="py-line">                <tt class="py-string">"Switch roles are consistent across all ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1798"></a><tt class="py-lineno">1798</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1799"></a><tt class="py-lineno">1799</tt>  <tt class="py-line">            <tt class="py-name">consistentMastership</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1800"></a><tt class="py-lineno">1800</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1801"></a><tt class="py-lineno">1801</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1802"></a><tt class="py-lineno">1802</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentMastership</tt><tt class="py-op">,</tt> </tt>
+<a name="L1803"></a><tt class="py-lineno">1803</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Switch roles are consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1804"></a><tt class="py-lineno">1804</tt>  <tt class="py-line">            <tt id="link-665" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-665', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of switch roles"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1805"></a><tt class="py-lineno">1805</tt>  <tt class="py-line"> </tt>
+<a name="L1806"></a><tt class="py-lineno">1806</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">rolesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">consistentMastership</tt><tt class="py-op">:</tt> </tt>
+<a name="L1807"></a><tt class="py-lineno">1807</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1808"></a><tt class="py-lineno">1808</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-666" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-666', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1809"></a><tt class="py-lineno">1809</tt>  <tt class="py-line">                    <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" roles: "</tt><tt class="py-op">,</tt> </tt>
+<a name="L1810"></a><tt class="py-lineno">1810</tt>  <tt class="py-line">                    <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> </tt>
+<a name="L1811"></a><tt class="py-lineno">1811</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1812"></a><tt class="py-lineno">1812</tt>  <tt class="py-line">                        <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1813"></a><tt class="py-lineno">1813</tt>  <tt class="py-line">                        <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1814"></a><tt class="py-lineno">1814</tt>  <tt class="py-line">                        <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1815"></a><tt class="py-lineno">1815</tt>  <tt class="py-line"> </tt>
+<a name="L1816"></a><tt class="py-lineno">1816</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: we expect mastership to change on controller failure</tt> </tt>
+<a name="L1817"></a><tt class="py-lineno">1817</tt>  <tt class="py-line">        <tt class="py-string">'''</tt> </tt>
+<a name="L1818"></a><tt class="py-lineno">1818</tt>  <tt class="py-line"><tt class="py-string">        description2 = "Compare switch roles from before failure"</tt> </tt>
+<a name="L1819"></a><tt class="py-lineno">1819</tt>  <tt class="py-line"><tt class="py-string">        main.step( description2 )</tt> </tt>
+<a name="L1820"></a><tt class="py-lineno">1820</tt>  <tt class="py-line"><tt class="py-string">        try:</tt> </tt>
+<a name="L1821"></a><tt class="py-lineno">1821</tt>  <tt class="py-line"><tt class="py-string">            currentJson = json.loads( ONOSMastership[0] )</tt> </tt>
+<a name="L1822"></a><tt class="py-lineno">1822</tt>  <tt class="py-line"><tt class="py-string">            oldJson = json.loads( mastershipState )</tt> </tt>
+<a name="L1823"></a><tt class="py-lineno">1823</tt>  <tt class="py-line"><tt class="py-string">        except ( ValueError, TypeError ):</tt> </tt>
+<a name="L1824"></a><tt class="py-lineno">1824</tt>  <tt class="py-line"><tt class="py-string">            main.log.exception( "Something is wrong with parsing " +</tt> </tt>
+<a name="L1825"></a><tt class="py-lineno">1825</tt>  <tt class="py-line"><tt class="py-string">                                "ONOSMastership[0] or mastershipState" )</tt> </tt>
+<a name="L1826"></a><tt class="py-lineno">1826</tt>  <tt class="py-line"><tt class="py-string">            main.log.error( "ONOSMastership[0]: " + repr( ONOSMastership[0] ) )</tt> </tt>
+<a name="L1827"></a><tt class="py-lineno">1827</tt>  <tt class="py-line"><tt class="py-string">            main.log.error( "mastershipState" + repr( mastershipState ) )</tt> </tt>
+<a name="L1828"></a><tt class="py-lineno">1828</tt>  <tt class="py-line"><tt class="py-string">            main.cleanup()</tt> </tt>
+<a name="L1829"></a><tt class="py-lineno">1829</tt>  <tt class="py-line"><tt class="py-string">            main.exit()</tt> </tt>
+<a name="L1830"></a><tt class="py-lineno">1830</tt>  <tt class="py-line"><tt class="py-string">        mastershipCheck = main.TRUE</tt> </tt>
+<a name="L1831"></a><tt class="py-lineno">1831</tt>  <tt class="py-line"><tt class="py-string">        for i in range( 1, 29 ):</tt> </tt>
+<a name="L1832"></a><tt class="py-lineno">1832</tt>  <tt class="py-line"><tt class="py-string">            switchDPID = str(</tt> </tt>
+<a name="L1833"></a><tt class="py-lineno">1833</tt>  <tt class="py-line"><tt class="py-string">                main.Mininet1.getSwitchDPID( switch="s" + str( i ) ) )</tt> </tt>
+<a name="L1834"></a><tt class="py-lineno">1834</tt>  <tt class="py-line"><tt class="py-string">            current = [ switch[ 'master' ] for switch in currentJson</tt> </tt>
+<a name="L1835"></a><tt class="py-lineno">1835</tt>  <tt class="py-line"><tt class="py-string">                        if switchDPID in switch[ 'id' ] ]</tt> </tt>
+<a name="L1836"></a><tt class="py-lineno">1836</tt>  <tt class="py-line"><tt class="py-string">            old = [ switch[ 'master' ] for switch in oldJson</tt> </tt>
+<a name="L1837"></a><tt class="py-lineno">1837</tt>  <tt class="py-line"><tt class="py-string">                    if switchDPID in switch[ 'id' ] ]</tt> </tt>
+<a name="L1838"></a><tt class="py-lineno">1838</tt>  <tt class="py-line"><tt class="py-string">            if current == old:</tt> </tt>
+<a name="L1839"></a><tt class="py-lineno">1839</tt>  <tt class="py-line"><tt class="py-string">                mastershipCheck = mastershipCheck and main.TRUE</tt> </tt>
+<a name="L1840"></a><tt class="py-lineno">1840</tt>  <tt class="py-line"><tt class="py-string">            else:</tt> </tt>
+<a name="L1841"></a><tt class="py-lineno">1841</tt>  <tt class="py-line"><tt class="py-string">                main.log.warn( "Mastership of switch %s changed" % switchDPID )</tt> </tt>
+<a name="L1842"></a><tt class="py-lineno">1842</tt>  <tt class="py-line"><tt class="py-string">                mastershipCheck = main.FALSE</tt> </tt>
+<a name="L1843"></a><tt class="py-lineno">1843</tt>  <tt class="py-line"><tt class="py-string">        utilities.assert_equals(</tt> </tt>
+<a name="L1844"></a><tt class="py-lineno">1844</tt>  <tt class="py-line"><tt class="py-string">            expect=main.TRUE,</tt> </tt>
+<a name="L1845"></a><tt class="py-lineno">1845</tt>  <tt class="py-line"><tt class="py-string">            actual=mastershipCheck,</tt> </tt>
+<a name="L1846"></a><tt class="py-lineno">1846</tt>  <tt class="py-line"><tt class="py-string">            onpass="Mastership of Switches was not changed",</tt> </tt>
+<a name="L1847"></a><tt class="py-lineno">1847</tt>  <tt class="py-line"><tt class="py-string">            onfail="Mastership of some switches changed" )</tt> </tt>
+<a name="L1848"></a><tt class="py-lineno">1848</tt>  <tt class="py-line"><tt class="py-string">        '''</tt> </tt>
+<a name="L1849"></a><tt class="py-lineno">1849</tt>  <tt class="py-line"> </tt>
+<a name="L1850"></a><tt class="py-lineno">1850</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-667" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-667', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the intents and compare across all nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1851"></a><tt class="py-lineno">1851</tt>  <tt class="py-line">        <tt class="py-name">ONOSIntents</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1852"></a><tt class="py-lineno">1852</tt>  <tt class="py-line">        <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1853"></a><tt class="py-lineno">1853</tt>  <tt class="py-line">        <tt class="py-name">consistentIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1854"></a><tt class="py-lineno">1854</tt>  <tt class="py-line">        <tt class="py-name">intentsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1855"></a><tt class="py-lineno">1855</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1856"></a><tt class="py-lineno">1856</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1857"></a><tt class="py-lineno">1857</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-668" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-668', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-669" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-669', 'intents', 'link-172');">intents</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1858"></a><tt class="py-lineno">1858</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"intents-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1859"></a><tt class="py-lineno">1859</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1860"></a><tt class="py-lineno">1860</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">'jsonFormat'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1861"></a><tt class="py-lineno">1861</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1862"></a><tt class="py-lineno">1862</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1863"></a><tt class="py-lineno">1863</tt>  <tt class="py-line"> </tt>
+<a name="L1864"></a><tt class="py-lineno">1864</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1865"></a><tt class="py-lineno">1865</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1866"></a><tt class="py-lineno">1866</tt>  <tt class="py-line">            <tt class="py-name">ONOSIntents</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1867"></a><tt class="py-lineno">1867</tt>  <tt class="py-line"> </tt>
+<a name="L1868"></a><tt class="py-lineno">1868</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1869"></a><tt class="py-lineno">1869</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1870"></a><tt class="py-lineno">1870</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-670" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-670', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-671" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-671', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1871"></a><tt class="py-lineno">1871</tt>  <tt class="py-line">                                 <tt class="py-string">" intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1872"></a><tt class="py-lineno">1872</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-672" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-672', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1873"></a><tt class="py-lineno">1873</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1874"></a><tt class="py-lineno">1874</tt>  <tt class="py-line">                <tt class="py-name">intentsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1875"></a><tt class="py-lineno">1875</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1876"></a><tt class="py-lineno">1876</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1877"></a><tt class="py-lineno">1877</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">intentsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1878"></a><tt class="py-lineno">1878</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No error in reading intents output"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1879"></a><tt class="py-lineno">1879</tt>  <tt class="py-line">            <tt id="link-673" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-673', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error in reading intents from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1880"></a><tt class="py-lineno">1880</tt>  <tt class="py-line"> </tt>
+<a name="L1881"></a><tt class="py-lineno">1881</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-674" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-674', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check for consistency in Intents from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1882"></a><tt class="py-lineno">1882</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">[</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1883"></a><tt class="py-lineno">1883</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-675" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-675', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents are consistent across all ONOS "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1884"></a><tt class="py-lineno">1884</tt>  <tt class="py-line">                             <tt class="py-string">"nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1885"></a><tt class="py-lineno">1885</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1886"></a><tt class="py-lineno">1886</tt>  <tt class="py-line">            <tt class="py-name">consistentIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1887"></a><tt class="py-lineno">1887</tt>  <tt class="py-line"> </tt>
+<a name="L1888"></a><tt class="py-lineno">1888</tt>  <tt class="py-line">        <tt class="py-comment"># Try to make it easy to figure out what is happening</tt> </tt>
+<a name="L1889"></a><tt class="py-lineno">1889</tt>  <tt class="py-line">        <tt class="py-comment">#</tt> </tt>
+<a name="L1890"></a><tt class="py-lineno">1890</tt>  <tt class="py-line">        <tt class="py-comment"># Intent      ONOS1      ONOS2    ...</tt> </tt>
+<a name="L1891"></a><tt class="py-lineno">1891</tt>  <tt class="py-line">        <tt class="py-comment">#  0x01     INSTALLED  INSTALLING</tt> </tt>
+<a name="L1892"></a><tt class="py-lineno">1892</tt>  <tt class="py-line">        <tt class="py-comment">#  ...        ...         ...</tt> </tt>
+<a name="L1893"></a><tt class="py-lineno">1893</tt>  <tt class="py-line">        <tt class="py-comment">#  ...        ...         ...</tt> </tt>
+<a name="L1894"></a><tt class="py-lineno">1894</tt>  <tt class="py-line">        <tt class="py-name">title</tt> <tt class="py-op">=</tt> <tt class="py-string">"   ID"</tt> </tt>
+<a name="L1895"></a><tt class="py-lineno">1895</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1896"></a><tt class="py-lineno">1896</tt>  <tt class="py-line">            <tt class="py-name">title</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1897"></a><tt class="py-lineno">1897</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-676" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-676', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">title</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1898"></a><tt class="py-lineno">1898</tt>  <tt class="py-line">        <tt class="py-comment"># get all intent keys in the cluster</tt> </tt>
+<a name="L1899"></a><tt class="py-lineno">1899</tt>  <tt class="py-line">        <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1900"></a><tt class="py-lineno">1900</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">nodeStr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1901"></a><tt class="py-lineno">1901</tt>  <tt class="py-line">            <tt class="py-name">node</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1902"></a><tt class="py-lineno">1902</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-677" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-677', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">node</tt><tt class="py-op">:</tt> </tt>
+<a name="L1903"></a><tt class="py-lineno">1903</tt>  <tt class="py-line">                <tt class="py-name">keys</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-678" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-678', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1904"></a><tt class="py-lineno">1904</tt>  <tt class="py-line">        <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">keys</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1905"></a><tt class="py-lineno">1905</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">keys</tt><tt class="py-op">:</tt> </tt>
+<a name="L1906"></a><tt class="py-lineno">1906</tt>  <tt class="py-line">            <tt class="py-name">row</tt> <tt class="py-op">=</tt> <tt class="py-string">"%-13s"</tt> <tt class="py-op">%</tt> <tt class="py-name">key</tt> </tt>
+<a name="L1907"></a><tt class="py-lineno">1907</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">nodeStr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1908"></a><tt class="py-lineno">1908</tt>  <tt class="py-line">                <tt class="py-name">node</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1909"></a><tt class="py-lineno">1909</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-679" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-679', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">node</tt><tt class="py-op">:</tt> </tt>
+<a name="L1910"></a><tt class="py-lineno">1910</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt id="link-680" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-680', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">key</tt><tt class="py-op">:</tt> </tt>
+<a name="L1911"></a><tt class="py-lineno">1911</tt>  <tt class="py-line">                        <tt class="py-name">row</tt> <tt class="py-op">+=</tt> <tt class="py-string">"%-15s"</tt> <tt class="py-op">%</tt> <tt id="link-681" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-681', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1912"></a><tt class="py-lineno">1912</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-682" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-682', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">row</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1913"></a><tt class="py-lineno">1913</tt>  <tt class="py-line">        <tt class="py-comment"># End table view</tt> </tt>
+<a name="L1914"></a><tt class="py-lineno">1914</tt>  <tt class="py-line"> </tt>
+<a name="L1915"></a><tt class="py-lineno">1915</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1916"></a><tt class="py-lineno">1916</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1917"></a><tt class="py-lineno">1917</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentIntents</tt><tt class="py-op">,</tt> </tt>
+<a name="L1918"></a><tt class="py-lineno">1918</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents are consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1919"></a><tt class="py-lineno">1919</tt>  <tt class="py-line">            <tt id="link-683" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-683', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1920"></a><tt class="py-lineno">1920</tt>  <tt class="py-line">        <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1921"></a><tt class="py-lineno">1921</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">:</tt>  <tt class="py-comment"># Iter through ONOS nodes</tt> </tt>
+<a name="L1922"></a><tt class="py-lineno">1922</tt>  <tt class="py-line">            <tt class="py-name">nodeStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1923"></a><tt class="py-lineno">1923</tt>  <tt class="py-line">            <tt class="py-comment"># Iter through intents of a node</tt> </tt>
+<a name="L1924"></a><tt class="py-lineno">1924</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1925"></a><tt class="py-lineno">1925</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-684" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-684', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1926"></a><tt class="py-lineno">1926</tt>  <tt class="py-line">                    <tt class="py-name">nodeStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-685" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-685', 'intent', 'link-170');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1927"></a><tt class="py-lineno">1927</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1928"></a><tt class="py-lineno">1928</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-686" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-686', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error in parsing intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1929"></a><tt class="py-lineno">1929</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-687" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-687', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-688" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-688', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1930"></a><tt class="py-lineno">1930</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStates</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1931"></a><tt class="py-lineno">1931</tt>  <tt class="py-line">            <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">nodeStates</tt><tt class="py-op">.</tt><tt class="py-name">count</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStates</tt> <tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1932"></a><tt class="py-lineno">1932</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-689" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-689', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt> <tt class="py-name">out</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1933"></a><tt class="py-lineno">1933</tt>  <tt class="py-line"> </tt>
+<a name="L1934"></a><tt class="py-lineno">1934</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">intentsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">consistentIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1935"></a><tt class="py-lineno">1935</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1936"></a><tt class="py-lineno">1936</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-690" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-690', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1937"></a><tt class="py-lineno">1937</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-691" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-691', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> </tt>
+<a name="L1938"></a><tt class="py-lineno">1938</tt>  <tt class="py-line">                    <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1939"></a><tt class="py-lineno">1939</tt>  <tt class="py-line">                    <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1940"></a><tt class="py-lineno">1940</tt>  <tt class="py-line">                    <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1941"></a><tt class="py-lineno">1941</tt>  <tt class="py-line">                    <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1942"></a><tt class="py-lineno">1942</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">intentsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1943"></a><tt class="py-lineno">1943</tt>  <tt class="py-line">            <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1944"></a><tt class="py-lineno">1944</tt>  <tt class="py-line"> </tt>
+<a name="L1945"></a><tt class="py-lineno">1945</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: Store has no durability, so intents are lost across system</tt> </tt>
+<a name="L1946"></a><tt class="py-lineno">1946</tt>  <tt class="py-line">        <tt class="py-comment">#       restarts</tt> </tt>
+<a name="L1947"></a><tt class="py-lineno">1947</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-692" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-692', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Compare current intents with intents before the failure"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1948"></a><tt class="py-lineno">1948</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: this requires case 5 to pass for intentState to be set.</tt> </tt>
+<a name="L1949"></a><tt class="py-lineno">1949</tt>  <tt class="py-line">        <tt class="py-comment">#      maybe we should stop the test if that fails?</tt> </tt>
+<a name="L1950"></a><tt class="py-lineno">1950</tt>  <tt class="py-line">        <tt class="py-name">sameIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1951"></a><tt class="py-lineno">1951</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">intentState</tt> <tt class="py-keyword">and</tt> <tt class="py-name">intentState</tt> <tt class="py-op">==</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1952"></a><tt class="py-lineno">1952</tt>  <tt class="py-line">            <tt class="py-name">sameIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1953"></a><tt class="py-lineno">1953</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-693" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-693', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents are consistent with before failure"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1954"></a><tt class="py-lineno">1954</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: possibly the states have changed? we may need to figure out</tt> </tt>
+<a name="L1955"></a><tt class="py-lineno">1955</tt>  <tt class="py-line">        <tt class="py-comment">#       what the acceptable states are</tt> </tt>
+<a name="L1956"></a><tt class="py-lineno">1956</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentState</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1957"></a><tt class="py-lineno">1957</tt>  <tt class="py-line">            <tt class="py-name">sameIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1958"></a><tt class="py-lineno">1958</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1959"></a><tt class="py-lineno">1959</tt>  <tt class="py-line">                <tt class="py-name">before</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">intentState</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1960"></a><tt class="py-lineno">1960</tt>  <tt class="py-line">                <tt class="py-name">after</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1961"></a><tt class="py-lineno">1961</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-694" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-694', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">before</tt><tt class="py-op">:</tt> </tt>
+<a name="L1962"></a><tt class="py-lineno">1962</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt id="link-695" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-695', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">after</tt><tt class="py-op">:</tt> </tt>
+<a name="L1963"></a><tt class="py-lineno">1963</tt>  <tt class="py-line">                        <tt class="py-name">sameIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1964"></a><tt class="py-lineno">1964</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-696" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-696', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Intent is not currently in ONOS "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1965"></a><tt class="py-lineno">1965</tt>  <tt class="py-line">                                        <tt class="py-string">"(at least in the same form):"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1966"></a><tt class="py-lineno">1966</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-697" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-697', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt id="link-698" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-698', 'intent', 'link-170');">intent</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1967"></a><tt class="py-lineno">1967</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1968"></a><tt class="py-lineno">1968</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-699" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-699', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Exception printing intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1969"></a><tt class="py-lineno">1969</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-700" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-700', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1970"></a><tt class="py-lineno">1970</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-701" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-701', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">intentState</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1971"></a><tt class="py-lineno">1971</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">sameIntents</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1972"></a><tt class="py-lineno">1972</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1973"></a><tt class="py-lineno">1973</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-702" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-702', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS intents before: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1974"></a><tt class="py-lineno">1974</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-703" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-703', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">intentState</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1975"></a><tt class="py-lineno">1975</tt>  <tt class="py-line">                                            <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1976"></a><tt class="py-lineno">1976</tt>  <tt class="py-line">                                            <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1977"></a><tt class="py-lineno">1977</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-704" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-704', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Current ONOS intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1978"></a><tt class="py-lineno">1978</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-705" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-705', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1979"></a><tt class="py-lineno">1979</tt>  <tt class="py-line">                                            <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1980"></a><tt class="py-lineno">1980</tt>  <tt class="py-line">                                            <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1981"></a><tt class="py-lineno">1981</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1982"></a><tt class="py-lineno">1982</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-706" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-706', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Exception printing intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1983"></a><tt class="py-lineno">1983</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-707" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-707', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1984"></a><tt class="py-lineno">1984</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-708" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-708', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">intentState</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1985"></a><tt class="py-lineno">1985</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1986"></a><tt class="py-lineno">1986</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1987"></a><tt class="py-lineno">1987</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">sameIntents</tt><tt class="py-op">,</tt> </tt>
+<a name="L1988"></a><tt class="py-lineno">1988</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents are consistent with before failure"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1989"></a><tt class="py-lineno">1989</tt>  <tt class="py-line">            <tt id="link-709" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-709', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"The Intents changed during failure"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1990"></a><tt class="py-lineno">1990</tt>  <tt class="py-line">        <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">intentCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sameIntents</tt> </tt>
+<a name="L1991"></a><tt class="py-lineno">1991</tt>  <tt class="py-line"> </tt>
+<a name="L1992"></a><tt class="py-lineno">1992</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-710" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-710', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the OF Table entries and compare to before "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1993"></a><tt class="py-lineno">1993</tt>  <tt class="py-line">                   <tt class="py-string">"component failure"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1994"></a><tt class="py-lineno">1994</tt>  <tt class="py-line">        <tt class="py-name">FlowTables</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1995"></a><tt class="py-lineno">1995</tt>  <tt class="py-line">        <tt class="py-name">flows2</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1996"></a><tt class="py-lineno">1996</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">28</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1997"></a><tt class="py-lineno">1997</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-711" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-711', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Checking flow table on s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1998"></a><tt class="py-lineno">1998</tt>  <tt class="py-line">            <tt class="py-name">tmpFlows</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-712" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getFlowTable" class="py-name" href="#" onclick="return doclink('link-712', 'getFlowTable', 'link-483');">getFlowTable</a></tt><tt class="py-op">(</tt> <tt class="py-number">1.3</tt><tt class="py-op">,</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1999"></a><tt class="py-lineno">1999</tt>  <tt class="py-line">            <tt class="py-name">flows2</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">tmpFlows</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2000"></a><tt class="py-lineno">2000</tt>  <tt class="py-line">            <tt class="py-name">tempResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-713" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.flowComp()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#flowComp"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.flowComp" class="py-name" href="#" onclick="return doclink('link-713', 'flowComp', 'link-713');">flowComp</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2001"></a><tt class="py-lineno">2001</tt>  <tt class="py-line">                <tt class="py-name">flow1</tt><tt class="py-op">=</tt><tt id="link-714" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-714', 'flows', 'link-405');">flows</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2002"></a><tt class="py-lineno">2002</tt>  <tt class="py-line">                <tt class="py-name">flow2</tt><tt class="py-op">=</tt><tt class="py-name">tmpFlows</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2003"></a><tt class="py-lineno">2003</tt>  <tt class="py-line">            <tt class="py-name">FlowTables</tt> <tt class="py-op">=</tt> <tt class="py-name">FlowTables</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tempResult</tt> </tt>
+<a name="L2004"></a><tt class="py-lineno">2004</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">FlowTables</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2005"></a><tt class="py-lineno">2005</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-715" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-715', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Differences in flow table for switch: s"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2006"></a><tt class="py-lineno">2006</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2007"></a><tt class="py-lineno">2007</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2008"></a><tt class="py-lineno">2008</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2009"></a><tt class="py-lineno">2009</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">FlowTables</tt><tt class="py-op">,</tt> </tt>
+<a name="L2010"></a><tt class="py-lineno">2010</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No changes were found in the flow tables"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2011"></a><tt class="py-lineno">2011</tt>  <tt class="py-line">            <tt id="link-716" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-716', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Changes were found in the flow tables"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2012"></a><tt class="py-lineno">2012</tt>  <tt class="py-line"> </tt>
+<a name="L2013"></a><tt class="py-lineno">2013</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-717" class="py-name" targets="Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLongKill()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingLongKill"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLongKill" class="py-name" href="#" onclick="return doclink('link-717', 'pingLongKill', 'link-717');">pingLongKill</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2014"></a><tt class="py-lineno">2014</tt>  <tt class="py-line">        <tt class="py-string">'''</tt> </tt>
+<a name="L2015"></a><tt class="py-lineno">2015</tt>  <tt class="py-line"><tt class="py-string">        main.step( "Check the continuous pings to ensure that no packets " +</tt> </tt>
+<a name="L2016"></a><tt class="py-lineno">2016</tt>  <tt class="py-line"><tt class="py-string">                   "were dropped during component failure" )</tt> </tt>
+<a name="L2017"></a><tt class="py-lineno">2017</tt>  <tt class="py-line"><tt class="py-string">        main.Mininet2.pingKill( main.params[ 'TESTONUSER' ],</tt> </tt>
+<a name="L2018"></a><tt class="py-lineno">2018</tt>  <tt class="py-line"><tt class="py-string">                                main.params[ 'TESTONIP' ] )</tt> </tt>
+<a name="L2019"></a><tt class="py-lineno">2019</tt>  <tt class="py-line"><tt class="py-string">        LossInPings = main.FALSE</tt> </tt>
+<a name="L2020"></a><tt class="py-lineno">2020</tt>  <tt class="py-line"><tt class="py-string">        # NOTE: checkForLoss returns main.FALSE with 0% packet loss</tt> </tt>
+<a name="L2021"></a><tt class="py-lineno">2021</tt>  <tt class="py-line"><tt class="py-string">        for i in range( 8, 18 ):</tt> </tt>
+<a name="L2022"></a><tt class="py-lineno">2022</tt>  <tt class="py-line"><tt class="py-string">            main.log.info(</tt> </tt>
+<a name="L2023"></a><tt class="py-lineno">2023</tt>  <tt class="py-line"><tt class="py-string">                "Checking for a loss in pings along flow from s" +</tt> </tt>
+<a name="L2024"></a><tt class="py-lineno">2024</tt>  <tt class="py-line"><tt class="py-string">                str( i ) )</tt> </tt>
+<a name="L2025"></a><tt class="py-lineno">2025</tt>  <tt class="py-line"><tt class="py-string">            LossInPings = main.Mininet2.checkForLoss(</tt> </tt>
+<a name="L2026"></a><tt class="py-lineno">2026</tt>  <tt class="py-line"><tt class="py-string">                "/tmp/ping.h" +</tt> </tt>
+<a name="L2027"></a><tt class="py-lineno">2027</tt>  <tt class="py-line"><tt class="py-string">                str( i ) ) or LossInPings</tt> </tt>
+<a name="L2028"></a><tt class="py-lineno">2028</tt>  <tt class="py-line"><tt class="py-string">        if LossInPings == main.TRUE:</tt> </tt>
+<a name="L2029"></a><tt class="py-lineno">2029</tt>  <tt class="py-line"><tt class="py-string">            main.log.info( "Loss in ping detected" )</tt> </tt>
+<a name="L2030"></a><tt class="py-lineno">2030</tt>  <tt class="py-line"><tt class="py-string">        elif LossInPings == main.ERROR:</tt> </tt>
+<a name="L2031"></a><tt class="py-lineno">2031</tt>  <tt class="py-line"><tt class="py-string">            main.log.info( "There are multiple mininet process running" )</tt> </tt>
+<a name="L2032"></a><tt class="py-lineno">2032</tt>  <tt class="py-line"><tt class="py-string">        elif LossInPings == main.FALSE:</tt> </tt>
+<a name="L2033"></a><tt class="py-lineno">2033</tt>  <tt class="py-line"><tt class="py-string">            main.log.info( "No Loss in the pings" )</tt> </tt>
+<a name="L2034"></a><tt class="py-lineno">2034</tt>  <tt class="py-line"><tt class="py-string">            main.log.info( "No loss of dataplane connectivity" )</tt> </tt>
+<a name="L2035"></a><tt class="py-lineno">2035</tt>  <tt class="py-line"><tt class="py-string">        utilities.assert_equals(</tt> </tt>
+<a name="L2036"></a><tt class="py-lineno">2036</tt>  <tt class="py-line"><tt class="py-string">            expect=main.FALSE,</tt> </tt>
+<a name="L2037"></a><tt class="py-lineno">2037</tt>  <tt class="py-line"><tt class="py-string">            actual=LossInPings,</tt> </tt>
+<a name="L2038"></a><tt class="py-lineno">2038</tt>  <tt class="py-line"><tt class="py-string">            onpass="No Loss of connectivity",</tt> </tt>
+<a name="L2039"></a><tt class="py-lineno">2039</tt>  <tt class="py-line"><tt class="py-string">            onfail="Loss of dataplane connectivity detected" )</tt> </tt>
+<a name="L2040"></a><tt class="py-lineno">2040</tt>  <tt class="py-line"><tt class="py-string">        '''</tt> </tt>
+<a name="L2041"></a><tt class="py-lineno">2041</tt>  <tt class="py-line"> </tt>
+<a name="L2042"></a><tt class="py-lineno">2042</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-718" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-718', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Leadership Election is still functional"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2043"></a><tt class="py-lineno">2043</tt>  <tt class="py-line">        <tt class="py-comment"># Test of LeadershipElection</tt> </tt>
+<a name="L2044"></a><tt class="py-lineno">2044</tt>  <tt class="py-line">        <tt class="py-name">leaderList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2045"></a><tt class="py-lineno">2045</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: make sure this matches nodes that were restarted</tt> </tt>
+<a name="L2046"></a><tt class="py-lineno">2046</tt>  <tt class="py-line">        <tt class="py-name">restarted</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-719" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-719', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-720" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-720', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L2047"></a><tt class="py-lineno">2047</tt>  <tt class="py-line">                      <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-721" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-721', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2048"></a><tt class="py-lineno">2048</tt>  <tt class="py-line"> </tt>
+<a name="L2049"></a><tt class="py-lineno">2049</tt>  <tt class="py-line">        <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2050"></a><tt class="py-lineno">2050</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-722" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-722', 'cli', 'link-223');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2051"></a><tt class="py-lineno">2051</tt>  <tt class="py-line">            <tt class="py-name">leaderN</tt> <tt class="py-op">=</tt> <tt id="link-723" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-723', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt id="link-724" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestLeader"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-724', 'electionTestLeader', 'link-724');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2052"></a><tt class="py-lineno">2052</tt>  <tt class="py-line">            <tt class="py-name">leaderList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2053"></a><tt class="py-lineno">2053</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2054"></a><tt class="py-lineno">2054</tt>  <tt class="py-line">                <tt class="py-comment"># error in response</tt> </tt>
+<a name="L2055"></a><tt class="py-lineno">2055</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-725" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-725', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-726" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-726', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Something is wrong with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2056"></a><tt class="py-lineno">2056</tt>  <tt class="py-line">                                 <tt class="py-string">"electionTestLeader function, check the"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2057"></a><tt class="py-lineno">2057</tt>  <tt class="py-line">                                 <tt class="py-string">" error logs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2058"></a><tt class="py-lineno">2058</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2059"></a><tt class="py-lineno">2059</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">leaderN</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L2060"></a><tt class="py-lineno">2060</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-727" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-727', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-728" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-728', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt id="link-729" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-729', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2061"></a><tt class="py-lineno">2061</tt>  <tt class="py-line">                                 <tt class="py-string">" shows no leader for the election-app was"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2062"></a><tt class="py-lineno">2062</tt>  <tt class="py-line">                                 <tt class="py-string">" elected after the old one died"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2063"></a><tt class="py-lineno">2063</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2064"></a><tt class="py-lineno">2064</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">leaderN</tt> <tt class="py-keyword">in</tt> <tt class="py-name">restarted</tt><tt class="py-op">:</tt> </tt>
+<a name="L2065"></a><tt class="py-lineno">2065</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-730" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-730', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-731" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-731', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt id="link-732" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-732', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" shows "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2066"></a><tt class="py-lineno">2066</tt>  <tt class="py-line">                                 <tt class="py-string">" as leader for the election-app, but it "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2067"></a><tt class="py-lineno">2067</tt>  <tt class="py-line">                                 <tt class="py-string">"was restarted"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2068"></a><tt class="py-lineno">2068</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2069"></a><tt class="py-lineno">2069</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">leaderList</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2070"></a><tt class="py-lineno">2070</tt>  <tt class="py-line">            <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2071"></a><tt class="py-lineno">2071</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-733" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-733', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-734" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-734', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2072"></a><tt class="py-lineno">2072</tt>  <tt class="py-line">                <tt class="py-string">"Inconsistent view of leader for the election test app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2073"></a><tt class="py-lineno">2073</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: print the list</tt> </tt>
+<a name="L2074"></a><tt class="py-lineno">2074</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2075"></a><tt class="py-lineno">2075</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2076"></a><tt class="py-lineno">2076</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">leaderResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2077"></a><tt class="py-lineno">2077</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Leadership election passed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2078"></a><tt class="py-lineno">2078</tt>  <tt class="py-line">            <tt id="link-735" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-735', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something went wrong with Leadership election"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2079"></a><tt class="py-lineno">2079</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE8"></a><div id="HAminorityRestart.CASE8-def"><a name="L2080"></a><tt class="py-lineno">2080</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE8-toggle" onclick="return toggle('HAminorityRestart.CASE8');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE8">CASE8</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE8-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE8-expanded"><a name="L2081"></a><tt class="py-lineno">2081</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2082"></a><tt class="py-lineno">2082</tt>  <tt class="py-line"><tt class="py-docstring">        Compare topo</tt> </tt>
+<a name="L2083"></a><tt class="py-lineno">2083</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2084"></a><tt class="py-lineno">2084</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L2085"></a><tt class="py-lineno">2085</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2086"></a><tt class="py-lineno">2086</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2087"></a><tt class="py-lineno">2087</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2088"></a><tt class="py-lineno">2088</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2089"></a><tt class="py-lineno">2089</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2090"></a><tt class="py-lineno">2090</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-736" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-736', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2091"></a><tt class="py-lineno">2091</tt>  <tt class="py-line"> </tt>
+<a name="L2092"></a><tt class="py-lineno">2092</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-737" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-737', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Compare ONOS Topology view to Mininet topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2093"></a><tt class="py-lineno">2093</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Compare topology objects between Mininet"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2094"></a><tt class="py-lineno">2094</tt>  <tt class="py-line">                                <tt class="py-string">" and ONOS"</tt> </tt>
+<a name="L2095"></a><tt class="py-lineno">2095</tt>  <tt class="py-line"> </tt>
+<a name="L2096"></a><tt class="py-lineno">2096</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-738" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-738', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Comparing ONOS topology to MN"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2097"></a><tt class="py-lineno">2097</tt>  <tt class="py-line">        <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2098"></a><tt class="py-lineno">2098</tt>  <tt class="py-line">        <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2099"></a><tt class="py-lineno">2099</tt>  <tt class="py-line">        <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2100"></a><tt class="py-lineno">2100</tt>  <tt class="py-line">        <tt class="py-name">hostAttachmentResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2101"></a><tt class="py-lineno">2101</tt>  <tt class="py-line">        <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2102"></a><tt class="py-lineno">2102</tt>  <tt class="py-line">        <tt class="py-name">elapsed</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2103"></a><tt class="py-lineno">2103</tt>  <tt class="py-line">        <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2104"></a><tt class="py-lineno">2104</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-739" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-739', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Collecting topology information from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2105"></a><tt class="py-lineno">2105</tt>  <tt class="py-line">        <tt class="py-name">startTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2106"></a><tt class="py-lineno">2106</tt>  <tt class="py-line">        <tt class="py-comment"># Give time for Gossip to work</tt> </tt>
+<a name="L2107"></a><tt class="py-lineno">2107</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">topoResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> <tt class="py-keyword">and</tt> <tt class="py-name">elapsed</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">60</tt><tt class="py-op">:</tt> </tt>
+<a name="L2108"></a><tt class="py-lineno">2108</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2109"></a><tt class="py-lineno">2109</tt>  <tt class="py-line">            <tt class="py-name">cliStart</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2110"></a><tt class="py-lineno">2110</tt>  <tt class="py-line">            <tt id="link-740" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-740', 'devices', 'link-114');">devices</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2111"></a><tt class="py-lineno">2111</tt>  <tt class="py-line">            <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2112"></a><tt class="py-lineno">2112</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2113"></a><tt class="py-lineno">2113</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-741" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-741', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-742" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-742', 'devices', 'link-114');">devices</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2114"></a><tt class="py-lineno">2114</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"devices-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2115"></a><tt class="py-lineno">2115</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2116"></a><tt class="py-lineno">2116</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2117"></a><tt class="py-lineno">2117</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2118"></a><tt class="py-lineno">2118</tt>  <tt class="py-line"> </tt>
+<a name="L2119"></a><tt class="py-lineno">2119</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2120"></a><tt class="py-lineno">2120</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2121"></a><tt class="py-lineno">2121</tt>  <tt class="py-line">                <tt id="link-743" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-743', 'devices', 'link-114');">devices</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2122"></a><tt class="py-lineno">2122</tt>  <tt class="py-line">            <tt id="link-744" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-744', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2123"></a><tt class="py-lineno">2123</tt>  <tt class="py-line">            <tt class="py-name">ipResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2124"></a><tt class="py-lineno">2124</tt>  <tt class="py-line">            <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2125"></a><tt class="py-lineno">2125</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2126"></a><tt class="py-lineno">2126</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-745" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-745', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-746" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-746', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2127"></a><tt class="py-lineno">2127</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"hosts-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2128"></a><tt class="py-lineno">2128</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2129"></a><tt class="py-lineno">2129</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2130"></a><tt class="py-lineno">2130</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2131"></a><tt class="py-lineno">2131</tt>  <tt class="py-line"> </tt>
+<a name="L2132"></a><tt class="py-lineno">2132</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2133"></a><tt class="py-lineno">2133</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2134"></a><tt class="py-lineno">2134</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2135"></a><tt class="py-lineno">2135</tt>  <tt class="py-line">                    <tt id="link-747" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-747', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2136"></a><tt class="py-lineno">2136</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2137"></a><tt class="py-lineno">2137</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-748" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-748', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing hosts results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2138"></a><tt class="py-lineno">2138</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-749" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-749', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-750" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-750', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2139"></a><tt class="py-lineno">2139</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-751" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-751', 'controller', 'link-521');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-752" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-752', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2140"></a><tt class="py-lineno">2140</tt>  <tt class="py-line">                <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-753" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-753', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2141"></a><tt class="py-lineno">2141</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">host</tt> <tt class="py-keyword">in</tt> <tt id="link-754" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-754', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-755" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-755', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2142"></a><tt class="py-lineno">2142</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">host</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">host</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'ipAddresses'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2143"></a><tt class="py-lineno">2143</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-756" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-756', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-757" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-757', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2144"></a><tt class="py-lineno">2144</tt>  <tt class="py-line">                            <tt class="py-string">"DEBUG:Error with host ipAddresses on controller"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2145"></a><tt class="py-lineno">2145</tt>  <tt class="py-line">                            <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2146"></a><tt class="py-lineno">2146</tt>  <tt class="py-line">                        <tt class="py-name">ipResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2147"></a><tt class="py-lineno">2147</tt>  <tt class="py-line">            <tt id="link-758" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-758', 'ports', 'link-508');">ports</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2148"></a><tt class="py-lineno">2148</tt>  <tt class="py-line">            <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2149"></a><tt class="py-lineno">2149</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2150"></a><tt class="py-lineno">2150</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-759" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-759', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-760" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-760', 'ports', 'link-508');">ports</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2151"></a><tt class="py-lineno">2151</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"ports-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2152"></a><tt class="py-lineno">2152</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2153"></a><tt class="py-lineno">2153</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2154"></a><tt class="py-lineno">2154</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2155"></a><tt class="py-lineno">2155</tt>  <tt class="py-line"> </tt>
+<a name="L2156"></a><tt class="py-lineno">2156</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2157"></a><tt class="py-lineno">2157</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2158"></a><tt class="py-lineno">2158</tt>  <tt class="py-line">                <tt id="link-761" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-761', 'ports', 'link-508');">ports</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2159"></a><tt class="py-lineno">2159</tt>  <tt class="py-line">            <tt id="link-762" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-762', 'links', 'link-512');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2160"></a><tt class="py-lineno">2160</tt>  <tt class="py-line">            <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2161"></a><tt class="py-lineno">2161</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2162"></a><tt class="py-lineno">2162</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-763" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-763', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-764" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-764', 'links', 'link-512');">links</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2163"></a><tt class="py-lineno">2163</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"links-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2164"></a><tt class="py-lineno">2164</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2165"></a><tt class="py-lineno">2165</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2166"></a><tt class="py-lineno">2166</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2167"></a><tt class="py-lineno">2167</tt>  <tt class="py-line"> </tt>
+<a name="L2168"></a><tt class="py-lineno">2168</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2169"></a><tt class="py-lineno">2169</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2170"></a><tt class="py-lineno">2170</tt>  <tt class="py-line">                <tt id="link-765" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-765', 'links', 'link-512');">links</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2171"></a><tt class="py-lineno">2171</tt>  <tt class="py-line">            <tt id="link-766" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-766', 'clusters', 'link-516');">clusters</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2172"></a><tt class="py-lineno">2172</tt>  <tt class="py-line">            <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2173"></a><tt class="py-lineno">2173</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2174"></a><tt class="py-lineno">2174</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-767" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-767', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-768" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-768', 'clusters', 'link-516');">clusters</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2175"></a><tt class="py-lineno">2175</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"clusters-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2176"></a><tt class="py-lineno">2176</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2177"></a><tt class="py-lineno">2177</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2178"></a><tt class="py-lineno">2178</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2179"></a><tt class="py-lineno">2179</tt>  <tt class="py-line"> </tt>
+<a name="L2180"></a><tt class="py-lineno">2180</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2181"></a><tt class="py-lineno">2181</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2182"></a><tt class="py-lineno">2182</tt>  <tt class="py-line">                <tt id="link-769" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-769', 'clusters', 'link-516');">clusters</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2183"></a><tt class="py-lineno">2183</tt>  <tt class="py-line"> </tt>
+<a name="L2184"></a><tt class="py-lineno">2184</tt>  <tt class="py-line">            <tt class="py-name">elapsed</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">startTime</tt> </tt>
+<a name="L2185"></a><tt class="py-lineno">2185</tt>  <tt class="py-line">            <tt class="py-name">cliTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">cliStart</tt> </tt>
+<a name="L2186"></a><tt class="py-lineno">2186</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Elapsed time: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">elapsed</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2187"></a><tt class="py-lineno">2187</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"CLI time: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">cliTime</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2188"></a><tt class="py-lineno">2188</tt>  <tt class="py-line"> </tt>
+<a name="L2189"></a><tt class="py-lineno">2189</tt>  <tt class="py-line">            <tt class="py-name">mnSwitches</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-770" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitches" class="py-name" href="#" onclick="return doclink('link-770', 'getSwitches', 'link-572');">getSwitches</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2190"></a><tt class="py-lineno">2190</tt>  <tt class="py-line">            <tt class="py-name">mnLinks</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-771" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getLinks" class="py-name" href="#" onclick="return doclink('link-771', 'getLinks', 'link-573');">getLinks</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2191"></a><tt class="py-lineno">2191</tt>  <tt class="py-line">            <tt class="py-name">mnHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-772" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHosts" class="py-name" href="#" onclick="return doclink('link-772', 'getHosts', 'link-574');">getHosts</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2192"></a><tt class="py-lineno">2192</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-773" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-773', 'controller', 'link-521');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2193"></a><tt class="py-lineno">2193</tt>  <tt class="py-line">                <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-774" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-774', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2194"></a><tt class="py-lineno">2194</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-775" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-775', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-776" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-776', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt id="link-777" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-777', 'ports', 'link-508');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-778" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-778', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L2195"></a><tt class="py-lineno">2195</tt>  <tt class="py-line">                    <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-779" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-779', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-780" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-780', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L2196"></a><tt class="py-lineno">2196</tt>  <tt class="py-line">                    <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-781" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-781', 'ports', 'link-508');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-782" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-782', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2197"></a><tt class="py-lineno">2197</tt>  <tt class="py-line"> </tt>
+<a name="L2198"></a><tt class="py-lineno">2198</tt>  <tt class="py-line">                    <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-783" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareSwitches" class="py-name" href="#" onclick="return doclink('link-783', 'compareSwitches', 'link-585');">compareSwitches</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2199"></a><tt class="py-lineno">2199</tt>  <tt class="py-line">                            <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> </tt>
+<a name="L2200"></a><tt class="py-lineno">2200</tt>  <tt class="py-line">                            <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-784" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-784', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-785" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-785', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2201"></a><tt class="py-lineno">2201</tt>  <tt class="py-line">                            <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-786" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-786', 'ports', 'link-508');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-787" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-787', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2202"></a><tt class="py-lineno">2202</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2203"></a><tt class="py-lineno">2203</tt>  <tt class="py-line">                    <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2204"></a><tt class="py-lineno">2204</tt>  <tt class="py-line">                <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2205"></a><tt class="py-lineno">2205</tt>  <tt class="py-line">                                         <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentDevicesResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2206"></a><tt class="py-lineno">2206</tt>  <tt class="py-line">                                         <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2207"></a><tt class="py-lineno">2207</tt>  <tt class="py-line">                                         <tt class="py-string">" Switches view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2208"></a><tt class="py-lineno">2208</tt>  <tt class="py-line">                                         <tt id="link-788" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-788', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2209"></a><tt class="py-lineno">2209</tt>  <tt class="py-line">                                         <tt class="py-string">" Switches view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2210"></a><tt class="py-lineno">2210</tt>  <tt class="py-line"> </tt>
+<a name="L2211"></a><tt class="py-lineno">2211</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-789" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-789', 'links', 'link-512');">links</a></tt><tt class="py-op">[</tt> <tt id="link-790" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-790', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-791" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-791', 'links', 'link-512');">links</a></tt><tt class="py-op">[</tt> <tt id="link-792" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-792', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2212"></a><tt class="py-lineno">2212</tt>  <tt class="py-line">                    <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-793" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareLinks" class="py-name" href="#" onclick="return doclink('link-793', 'compareLinks', 'link-595');">compareLinks</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2213"></a><tt class="py-lineno">2213</tt>  <tt class="py-line">                            <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> <tt class="py-name">mnLinks</tt><tt class="py-op">,</tt> </tt>
+<a name="L2214"></a><tt class="py-lineno">2214</tt>  <tt class="py-line">                            <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-794" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-794', 'links', 'link-512');">links</a></tt><tt class="py-op">[</tt> <tt id="link-795" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-795', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2215"></a><tt class="py-lineno">2215</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2216"></a><tt class="py-lineno">2216</tt>  <tt class="py-line">                    <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2217"></a><tt class="py-lineno">2217</tt>  <tt class="py-line">                <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2218"></a><tt class="py-lineno">2218</tt>  <tt class="py-line">                                         <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentLinksResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2219"></a><tt class="py-lineno">2219</tt>  <tt class="py-line">                                         <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2220"></a><tt class="py-lineno">2220</tt>  <tt class="py-line">                                         <tt class="py-string">" links view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2221"></a><tt class="py-lineno">2221</tt>  <tt class="py-line">                                         <tt id="link-796" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-796', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2222"></a><tt class="py-lineno">2222</tt>  <tt class="py-line">                                         <tt class="py-string">" links view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2223"></a><tt class="py-lineno">2223</tt>  <tt class="py-line"> </tt>
+<a name="L2224"></a><tt class="py-lineno">2224</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-797" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-797', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-798" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-798', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-799" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-799', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-800" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-800', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2225"></a><tt class="py-lineno">2225</tt>  <tt class="py-line">                    <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-801" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareHosts" class="py-name" href="#" onclick="return doclink('link-801', 'compareHosts', 'link-603');">compareHosts</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2226"></a><tt class="py-lineno">2226</tt>  <tt class="py-line">                            <tt class="py-name">mnHosts</tt><tt class="py-op">,</tt> </tt>
+<a name="L2227"></a><tt class="py-lineno">2227</tt>  <tt class="py-line">                            <tt id="link-802" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-802', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-803" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-803', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2228"></a><tt class="py-lineno">2228</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2229"></a><tt class="py-lineno">2229</tt>  <tt class="py-line">                    <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2230"></a><tt class="py-lineno">2230</tt>  <tt class="py-line">                <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2231"></a><tt class="py-lineno">2231</tt>  <tt class="py-line">                                         <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentHostsResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2232"></a><tt class="py-lineno">2232</tt>  <tt class="py-line">                                         <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2233"></a><tt class="py-lineno">2233</tt>  <tt class="py-line">                                         <tt class="py-string">" hosts exist in Mininet"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2234"></a><tt class="py-lineno">2234</tt>  <tt class="py-line">                                         <tt id="link-804" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-804', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2235"></a><tt class="py-lineno">2235</tt>  <tt class="py-line">                                         <tt class="py-string">" hosts don't match Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2236"></a><tt class="py-lineno">2236</tt>  <tt class="py-line">                <tt class="py-comment"># CHECKING HOST ATTACHMENT POINTS</tt> </tt>
+<a name="L2237"></a><tt class="py-lineno">2237</tt>  <tt class="py-line">                <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2238"></a><tt class="py-lineno">2238</tt>  <tt class="py-line">                <tt class="py-name">zeroHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2239"></a><tt class="py-lineno">2239</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: topo-HA/obelisk specific mappings:</tt> </tt>
+<a name="L2240"></a><tt class="py-lineno">2240</tt>  <tt class="py-line">                <tt class="py-comment"># key is mac and value is dpid</tt> </tt>
+<a name="L2241"></a><tt class="py-lineno">2241</tt>  <tt class="py-line">                <tt class="py-name">mappings</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L2242"></a><tt class="py-lineno">2242</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># hosts 1 through 28</tt> </tt>
+<a name="L2243"></a><tt class="py-lineno">2243</tt>  <tt class="py-line">                    <tt class="py-comment"># set up correct variables:</tt> </tt>
+<a name="L2244"></a><tt class="py-lineno">2244</tt>  <tt class="py-line">                    <tt class="py-name">macId</tt> <tt class="py-op">=</tt> <tt class="py-string">"00:"</tt> <tt class="py-op">*</tt> <tt class="py-number">5</tt> <tt class="py-op">+</tt> <tt class="py-name">hex</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"0x"</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L2245"></a><tt class="py-lineno">2245</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2246"></a><tt class="py-lineno">2246</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"1000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2247"></a><tt class="py-lineno">2247</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L2248"></a><tt class="py-lineno">2248</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"2000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2249"></a><tt class="py-lineno">2249</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L2250"></a><tt class="py-lineno">2250</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"3000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2251"></a><tt class="py-lineno">2251</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L2252"></a><tt class="py-lineno">2252</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"3004"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2253"></a><tt class="py-lineno">2253</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">5</tt><tt class="py-op">:</tt> </tt>
+<a name="L2254"></a><tt class="py-lineno">2254</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"5000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2255"></a><tt class="py-lineno">2255</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">6</tt><tt class="py-op">:</tt> </tt>
+<a name="L2256"></a><tt class="py-lineno">2256</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"6000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2257"></a><tt class="py-lineno">2257</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">7</tt><tt class="py-op">:</tt> </tt>
+<a name="L2258"></a><tt class="py-lineno">2258</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"6007"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2259"></a><tt class="py-lineno">2259</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">8</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">17</tt><tt class="py-op">:</tt> </tt>
+<a name="L2260"></a><tt class="py-lineno">2260</tt>  <tt class="py-line">                        <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'3'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2261"></a><tt class="py-lineno">2261</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">dpid</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2262"></a><tt class="py-lineno">2262</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">18</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">27</tt><tt class="py-op">:</tt> </tt>
+<a name="L2263"></a><tt class="py-lineno">2263</tt>  <tt class="py-line">                        <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'6'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2264"></a><tt class="py-lineno">2264</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">dpid</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2265"></a><tt class="py-lineno">2265</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">28</tt><tt class="py-op">:</tt> </tt>
+<a name="L2266"></a><tt class="py-lineno">2266</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"2800"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2267"></a><tt class="py-lineno">2267</tt>  <tt class="py-line">                    <tt class="py-name">mappings</tt><tt class="py-op">[</tt> <tt class="py-name">macId</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceId</tt> </tt>
+<a name="L2268"></a><tt class="py-lineno">2268</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-805" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-805', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-806" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-806', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-807" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-807', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-808" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-808', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2269"></a><tt class="py-lineno">2269</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt id="link-809" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-809', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-810" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-810', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2270"></a><tt class="py-lineno">2270</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-811" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-811', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"There are no hosts discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2271"></a><tt class="py-lineno">2271</tt>  <tt class="py-line">                        <tt class="py-name">zeroHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2272"></a><tt class="py-lineno">2272</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2273"></a><tt class="py-lineno">2273</tt>  <tt class="py-line">                        <tt class="py-keyword">for</tt> <tt class="py-name">host</tt> <tt class="py-keyword">in</tt> <tt id="link-812" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-812', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-813" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-813', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2274"></a><tt class="py-lineno">2274</tt>  <tt class="py-line">                            <tt class="py-name">mac</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2275"></a><tt class="py-lineno">2275</tt>  <tt class="py-line">                            <tt id="link-814" class="py-name" targets="Variable TestON.bin.cli.location=TestON.bin.cli-module.html#location,Variable TestON.core.teston.location=TestON.core.teston-module.html#location"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-814', 'location', 'link-814');">location</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2276"></a><tt class="py-lineno">2276</tt>  <tt class="py-line">                            <tt class="py-name">device</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2277"></a><tt class="py-lineno">2277</tt>  <tt class="py-line">                            <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2278"></a><tt class="py-lineno">2278</tt>  <tt class="py-line">                            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2279"></a><tt class="py-lineno">2279</tt>  <tt class="py-line">                                <tt class="py-name">mac</tt> <tt class="py-op">=</tt> <tt class="py-name">host</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'mac'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2280"></a><tt class="py-lineno">2280</tt>  <tt class="py-line">                                <tt class="py-keyword">assert</tt> <tt class="py-name">mac</tt><tt class="py-op">,</tt> <tt class="py-string">"mac field could not be found for this host object"</tt> </tt>
+<a name="L2281"></a><tt class="py-lineno">2281</tt>  <tt class="py-line"> </tt>
+<a name="L2282"></a><tt class="py-lineno">2282</tt>  <tt class="py-line">                                <tt id="link-815" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-815', 'location', 'link-814');">location</a></tt> <tt class="py-op">=</tt> <tt class="py-name">host</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'location'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2283"></a><tt class="py-lineno">2283</tt>  <tt class="py-line">                                <tt class="py-keyword">assert</tt> <tt id="link-816" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-816', 'location', 'link-814');">location</a></tt><tt class="py-op">,</tt> <tt class="py-string">"location field could not be found for this host object"</tt> </tt>
+<a name="L2284"></a><tt class="py-lineno">2284</tt>  <tt class="py-line"> </tt>
+<a name="L2285"></a><tt class="py-lineno">2285</tt>  <tt class="py-line">                                <tt class="py-comment"># Trim the protocol identifier off deviceId</tt> </tt>
+<a name="L2286"></a><tt class="py-lineno">2286</tt>  <tt class="py-line">                                <tt class="py-name">device</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-817" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-817', 'location', 'link-814');">location</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'elementId'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">':'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L2287"></a><tt class="py-lineno">2287</tt>  <tt class="py-line">                                <tt class="py-keyword">assert</tt> <tt class="py-name">device</tt><tt class="py-op">,</tt> <tt class="py-string">"elementId field could not be found for this host location object"</tt> </tt>
+<a name="L2288"></a><tt class="py-lineno">2288</tt>  <tt class="py-line"> </tt>
+<a name="L2289"></a><tt class="py-lineno">2289</tt>  <tt class="py-line">                                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt id="link-818" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-818', 'location', 'link-814');">location</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'port'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2290"></a><tt class="py-lineno">2290</tt>  <tt class="py-line">                                <tt class="py-keyword">assert</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-string">"port field could not be found for this host location object"</tt> </tt>
+<a name="L2291"></a><tt class="py-lineno">2291</tt>  <tt class="py-line"> </tt>
+<a name="L2292"></a><tt class="py-lineno">2292</tt>  <tt class="py-line">                                <tt class="py-comment"># Now check if this matches where they should be</tt> </tt>
+<a name="L2293"></a><tt class="py-lineno">2293</tt>  <tt class="py-line">                                <tt class="py-keyword">if</tt> <tt class="py-name">mac</tt> <tt class="py-keyword">and</tt> <tt class="py-name">device</tt> <tt class="py-keyword">and</tt> <tt class="py-name">port</tt><tt class="py-op">:</tt> </tt>
+<a name="L2294"></a><tt class="py-lineno">2294</tt>  <tt class="py-line">                                    <tt class="py-keyword">if</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-string">"1"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2295"></a><tt class="py-lineno">2295</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-819" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-819', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-820" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-820', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"The attachment port is incorrect for "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2296"></a><tt class="py-lineno">2296</tt>  <tt class="py-line">                                                        <tt class="py-string">"host "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2297"></a><tt class="py-lineno">2297</tt>  <tt class="py-line">                                                        <tt class="py-string">". Expected: 1 Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2298"></a><tt class="py-lineno">2298</tt>  <tt class="py-line">                                        <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2299"></a><tt class="py-lineno">2299</tt>  <tt class="py-line">                                    <tt class="py-keyword">if</tt> <tt class="py-name">device</tt> <tt class="py-op">!=</tt> <tt class="py-name">mappings</tt><tt class="py-op">[</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2300"></a><tt class="py-lineno">2300</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-821" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-821', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-822" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-822', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"The attachment device is incorrect for "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2301"></a><tt class="py-lineno">2301</tt>  <tt class="py-line">                                                        <tt class="py-string">"host "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2302"></a><tt class="py-lineno">2302</tt>  <tt class="py-line">                                                        <tt class="py-string">". Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">mappings</tt><tt class="py-op">[</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2303"></a><tt class="py-lineno">2303</tt>  <tt class="py-line">                                                        <tt class="py-string">" Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">device</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2304"></a><tt class="py-lineno">2304</tt>  <tt class="py-line">                                        <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2305"></a><tt class="py-lineno">2305</tt>  <tt class="py-line">                                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2306"></a><tt class="py-lineno">2306</tt>  <tt class="py-line">                                    <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2307"></a><tt class="py-lineno">2307</tt>  <tt class="py-line">                            <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2308"></a><tt class="py-lineno">2308</tt>  <tt class="py-line">                                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-823" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-823', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Json object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2309"></a><tt class="py-lineno">2309</tt>  <tt class="py-line">                                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-824" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-824', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-825" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-825', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2310"></a><tt class="py-lineno">2310</tt>  <tt class="py-line">                                <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2311"></a><tt class="py-lineno">2311</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2312"></a><tt class="py-lineno">2312</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-826" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-826', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-827" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-827', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"No hosts json output or \"Error\""</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2313"></a><tt class="py-lineno">2313</tt>  <tt class="py-line">                                    <tt class="py-string">" in output. hosts = "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2314"></a><tt class="py-lineno">2314</tt>  <tt class="py-line">                                    <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-828" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-828', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-829" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-829', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2315"></a><tt class="py-lineno">2315</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">zeroHosts</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L2316"></a><tt class="py-lineno">2316</tt>  <tt class="py-line">                    <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2317"></a><tt class="py-lineno">2317</tt>  <tt class="py-line"> </tt>
+<a name="L2318"></a><tt class="py-lineno">2318</tt>  <tt class="py-line">                <tt class="py-comment"># END CHECKING HOST ATTACHMENT POINTS</tt> </tt>
+<a name="L2319"></a><tt class="py-lineno">2319</tt>  <tt class="py-line">                <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">devicesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentDevicesResult</tt> </tt>
+<a name="L2320"></a><tt class="py-lineno">2320</tt>  <tt class="py-line">                <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">linksResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentLinksResult</tt> </tt>
+<a name="L2321"></a><tt class="py-lineno">2321</tt>  <tt class="py-line">                <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentHostsResult</tt> </tt>
+<a name="L2322"></a><tt class="py-lineno">2322</tt>  <tt class="py-line">                <tt class="py-name">hostAttachmentResults</tt> <tt class="py-op">=</tt> <tt class="py-name">hostAttachmentResults</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L2323"></a><tt class="py-lineno">2323</tt>  <tt class="py-line">                                        <tt class="py-name">hostAttachment</tt> </tt>
+<a name="L2324"></a><tt class="py-lineno">2324</tt>  <tt class="py-line"> </tt>
+<a name="L2325"></a><tt class="py-lineno">2325</tt>  <tt class="py-line">        <tt class="py-comment"># Compare json objects for hosts and dataplane clusters</tt> </tt>
+<a name="L2326"></a><tt class="py-lineno">2326</tt>  <tt class="py-line"> </tt>
+<a name="L2327"></a><tt class="py-lineno">2327</tt>  <tt class="py-line">        <tt class="py-comment"># hosts</tt> </tt>
+<a name="L2328"></a><tt class="py-lineno">2328</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-830" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-830', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Hosts view is consistent across all ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2329"></a><tt class="py-lineno">2329</tt>  <tt class="py-line">        <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2330"></a><tt class="py-lineno">2330</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-831" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-831', 'controller', 'link-521');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-832" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-832', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2331"></a><tt class="py-lineno">2331</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-833" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-833', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2332"></a><tt class="py-lineno">2332</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-834" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-834', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-835" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-835', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2333"></a><tt class="py-lineno">2333</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-836" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-836', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-837" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-837', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-838" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-838', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2334"></a><tt class="py-lineno">2334</tt>  <tt class="py-line">                    <tt class="py-keyword">continue</tt> </tt>
+<a name="L2335"></a><tt class="py-lineno">2335</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># hosts not consistent</tt> </tt>
+<a name="L2336"></a><tt class="py-lineno">2336</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-839" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-839', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-840" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-840', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"hosts from ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2337"></a><tt class="py-lineno">2337</tt>  <tt class="py-line">                                     <tt class="py-string">" is inconsistent with ONOS1"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2338"></a><tt class="py-lineno">2338</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-841" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-841', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-842" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-842', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-843" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-843', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2339"></a><tt class="py-lineno">2339</tt>  <tt class="py-line">                    <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2340"></a><tt class="py-lineno">2340</tt>  <tt class="py-line"> </tt>
+<a name="L2341"></a><tt class="py-lineno">2341</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2342"></a><tt class="py-lineno">2342</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-844" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-844', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-845" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-845', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS hosts from ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2343"></a><tt class="py-lineno">2343</tt>  <tt class="py-line">                                 <tt class="py-name">controllerStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2344"></a><tt class="py-lineno">2344</tt>  <tt class="py-line">                <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2345"></a><tt class="py-lineno">2345</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-846" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-846', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2346"></a><tt class="py-lineno">2346</tt>  <tt class="py-line">                               <tt class="py-string">" hosts response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2347"></a><tt class="py-lineno">2347</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-847" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-847', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-848" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-848', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2348"></a><tt class="py-lineno">2348</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2349"></a><tt class="py-lineno">2349</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2350"></a><tt class="py-lineno">2350</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentHostsResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2351"></a><tt class="py-lineno">2351</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Hosts view is consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2352"></a><tt class="py-lineno">2352</tt>  <tt class="py-line">            <tt id="link-849" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-849', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2353"></a><tt class="py-lineno">2353</tt>  <tt class="py-line"> </tt>
+<a name="L2354"></a><tt class="py-lineno">2354</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-850" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-850', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Hosts information is correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2355"></a><tt class="py-lineno">2355</tt>  <tt class="py-line">        <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ipResult</tt> </tt>
+<a name="L2356"></a><tt class="py-lineno">2356</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2357"></a><tt class="py-lineno">2357</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2358"></a><tt class="py-lineno">2358</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">hostsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2359"></a><tt class="py-lineno">2359</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host information is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2360"></a><tt class="py-lineno">2360</tt>  <tt class="py-line">            <tt id="link-851" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-851', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host information is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2361"></a><tt class="py-lineno">2361</tt>  <tt class="py-line"> </tt>
+<a name="L2362"></a><tt class="py-lineno">2362</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-852" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-852', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Host attachment points to the network"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2363"></a><tt class="py-lineno">2363</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2364"></a><tt class="py-lineno">2364</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2365"></a><tt class="py-lineno">2365</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">hostAttachmentResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2366"></a><tt class="py-lineno">2366</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Hosts are correctly attached to the network"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2367"></a><tt class="py-lineno">2367</tt>  <tt class="py-line">            <tt id="link-853" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-853', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS did not correctly attach hosts to the network"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2368"></a><tt class="py-lineno">2368</tt>  <tt class="py-line"> </tt>
+<a name="L2369"></a><tt class="py-lineno">2369</tt>  <tt class="py-line">        <tt class="py-comment"># Strongly connected clusters of devices</tt> </tt>
+<a name="L2370"></a><tt class="py-lineno">2370</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-854" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-854', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Clusters view is consistent across all ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2371"></a><tt class="py-lineno">2371</tt>  <tt class="py-line">        <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2372"></a><tt class="py-lineno">2372</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-855" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-855', 'controller', 'link-521');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-856" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-856', 'clusters', 'link-516');">clusters</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2373"></a><tt class="py-lineno">2373</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-857" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-857', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2374"></a><tt class="py-lineno">2374</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-858" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-858', 'clusters', 'link-516');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-859" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-859', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2375"></a><tt class="py-lineno">2375</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-860" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-860', 'clusters', 'link-516');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-861" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-861', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-862" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-862', 'clusters', 'link-516');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2376"></a><tt class="py-lineno">2376</tt>  <tt class="py-line">                    <tt class="py-keyword">continue</tt> </tt>
+<a name="L2377"></a><tt class="py-lineno">2377</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># clusters not consistent</tt> </tt>
+<a name="L2378"></a><tt class="py-lineno">2378</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-863" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-863', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-864" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-864', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"clusters from ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2379"></a><tt class="py-lineno">2379</tt>  <tt class="py-line">                                     <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2380"></a><tt class="py-lineno">2380</tt>  <tt class="py-line">                                     <tt class="py-string">" is inconsistent with ONOS1"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2381"></a><tt class="py-lineno">2381</tt>  <tt class="py-line">                    <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2382"></a><tt class="py-lineno">2382</tt>  <tt class="py-line"> </tt>
+<a name="L2383"></a><tt class="py-lineno">2383</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2384"></a><tt class="py-lineno">2384</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-865" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-865', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-866" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-866', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting dataplane clusters "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2385"></a><tt class="py-lineno">2385</tt>  <tt class="py-line">                                 <tt class="py-string">"from ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2386"></a><tt class="py-lineno">2386</tt>  <tt class="py-line">                <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2387"></a><tt class="py-lineno">2387</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-867" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-867', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2388"></a><tt class="py-lineno">2388</tt>  <tt class="py-line">                               <tt class="py-string">" clusters response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2389"></a><tt class="py-lineno">2389</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-868" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-868', 'clusters', 'link-516');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-869" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-869', 'controller', 'link-521');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2390"></a><tt class="py-lineno">2390</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2391"></a><tt class="py-lineno">2391</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2392"></a><tt class="py-lineno">2392</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentClustersResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2393"></a><tt class="py-lineno">2393</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Clusters view is consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2394"></a><tt class="py-lineno">2394</tt>  <tt class="py-line">            <tt id="link-870" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-870', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of clusters"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2395"></a><tt class="py-lineno">2395</tt>  <tt class="py-line"> </tt>
+<a name="L2396"></a><tt class="py-lineno">2396</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-871" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-871', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"There is only one SCC"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2397"></a><tt class="py-lineno">2397</tt>  <tt class="py-line">        <tt class="py-comment"># there should always only be one cluster</tt> </tt>
+<a name="L2398"></a><tt class="py-lineno">2398</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2399"></a><tt class="py-lineno">2399</tt>  <tt class="py-line">            <tt class="py-name">numClusters</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-872" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-872', 'clusters', 'link-516');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2400"></a><tt class="py-lineno">2400</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2401"></a><tt class="py-lineno">2401</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-873" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-873', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing clusters[0]: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2402"></a><tt class="py-lineno">2402</tt>  <tt class="py-line">                                <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-874" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-874', 'clusters', 'link-516');">clusters</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2403"></a><tt class="py-lineno">2403</tt>  <tt class="py-line">        <tt class="py-name">clusterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2404"></a><tt class="py-lineno">2404</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">numClusters</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2405"></a><tt class="py-lineno">2405</tt>  <tt class="py-line">            <tt class="py-name">clusterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2406"></a><tt class="py-lineno">2406</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2407"></a><tt class="py-lineno">2407</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L2408"></a><tt class="py-lineno">2408</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">numClusters</tt><tt class="py-op">,</tt> </tt>
+<a name="L2409"></a><tt class="py-lineno">2409</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS shows 1 SCC"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2410"></a><tt class="py-lineno">2410</tt>  <tt class="py-line">            <tt id="link-875" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-875', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS shows "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">numClusters</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" SCCs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2411"></a><tt class="py-lineno">2411</tt>  <tt class="py-line"> </tt>
+<a name="L2412"></a><tt class="py-lineno">2412</tt>  <tt class="py-line">        <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">devicesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">linksResults</tt> </tt>
+<a name="L2413"></a><tt class="py-lineno">2413</tt>  <tt class="py-line">                       <tt class="py-keyword">and</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentHostsResult</tt> </tt>
+<a name="L2414"></a><tt class="py-lineno">2414</tt>  <tt class="py-line">                       <tt class="py-keyword">and</tt> <tt class="py-name">consistentClustersResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">clusterResults</tt> </tt>
+<a name="L2415"></a><tt class="py-lineno">2415</tt>  <tt class="py-line">                       <tt class="py-keyword">and</tt> <tt class="py-name">ipResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hostAttachmentResults</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2416"></a><tt class="py-lineno">2416</tt>  <tt class="py-line"> </tt>
+<a name="L2417"></a><tt class="py-lineno">2417</tt>  <tt class="py-line">        <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-name">topoResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2418"></a><tt class="py-lineno">2418</tt>  <tt class="py-line">        <tt class="py-name">note</tt> <tt class="py-op">=</tt> <tt class="py-string">"note it takes about "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">cliTime</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L2419"></a><tt class="py-lineno">2419</tt>  <tt class="py-line">            <tt class="py-string">" seconds for the test to make all the cli calls to fetch "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2420"></a><tt class="py-lineno">2420</tt>  <tt class="py-line">            <tt class="py-string">"the topology from each ONOS instance"</tt> </tt>
+<a name="L2421"></a><tt class="py-lineno">2421</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-876" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-876', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L2422"></a><tt class="py-lineno">2422</tt>  <tt class="py-line">            <tt class="py-string">"Very crass estimate for topology discovery/convergence( "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2423"></a><tt class="py-lineno">2423</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">note</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ): "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">elapsed</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" seconds, "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2424"></a><tt class="py-lineno">2424</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" tries"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2425"></a><tt class="py-lineno">2425</tt>  <tt class="py-line"> </tt>
+<a name="L2426"></a><tt class="py-lineno">2426</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-877" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-877', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Device information is correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2427"></a><tt class="py-lineno">2427</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2428"></a><tt class="py-lineno">2428</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2429"></a><tt class="py-lineno">2429</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">devicesResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2430"></a><tt class="py-lineno">2430</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Device information is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2431"></a><tt class="py-lineno">2431</tt>  <tt class="py-line">            <tt id="link-878" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-878', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Device information is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2432"></a><tt class="py-lineno">2432</tt>  <tt class="py-line"> </tt>
+<a name="L2433"></a><tt class="py-lineno">2433</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-879" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-879', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Links are correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2434"></a><tt class="py-lineno">2434</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2435"></a><tt class="py-lineno">2435</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2436"></a><tt class="py-lineno">2436</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">linksResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2437"></a><tt class="py-lineno">2437</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2438"></a><tt class="py-lineno">2438</tt>  <tt class="py-line">            <tt id="link-880" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-880', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Links are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2439"></a><tt class="py-lineno">2439</tt>  <tt class="py-line"> </tt>
+<a name="L2440"></a><tt class="py-lineno">2440</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: move this to an ONOS state case</tt> </tt>
+<a name="L2441"></a><tt class="py-lineno">2441</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-881" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-881', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Checking ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2442"></a><tt class="py-lineno">2442</tt>  <tt class="py-line">        <tt class="py-name">nodesOutput</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2443"></a><tt class="py-lineno">2443</tt>  <tt class="py-line">        <tt class="py-name">nodeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2444"></a><tt class="py-lineno">2444</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2445"></a><tt class="py-lineno">2445</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2446"></a><tt class="py-lineno">2446</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-882" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-882', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-883" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-883', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2447"></a><tt class="py-lineno">2447</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"nodes-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2448"></a><tt class="py-lineno">2448</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2449"></a><tt class="py-lineno">2449</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2450"></a><tt class="py-lineno">2450</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2451"></a><tt class="py-lineno">2451</tt>  <tt class="py-line"> </tt>
+<a name="L2452"></a><tt class="py-lineno">2452</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2453"></a><tt class="py-lineno">2453</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2454"></a><tt class="py-lineno">2454</tt>  <tt class="py-line">            <tt class="py-name">nodesOutput</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2455"></a><tt class="py-lineno">2455</tt>  <tt class="py-line">        <tt class="py-name">ips</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-884" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-884', 'nodes', 'link-9');">nodes</a></tt> <tt class="py-op">]</tt> </tt>
+<a name="L2456"></a><tt class="py-lineno">2456</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">nodesOutput</tt><tt class="py-op">:</tt> </tt>
+<a name="L2457"></a><tt class="py-lineno">2457</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2458"></a><tt class="py-lineno">2458</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2459"></a><tt class="py-lineno">2459</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L2460"></a><tt class="py-lineno">2460</tt>  <tt class="py-line">                    <tt class="py-name">currentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2461"></a><tt class="py-lineno">2461</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">node</tt><tt class="py-op">[</tt><tt class="py-string">'ip'</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ips</tt><tt class="py-op">:</tt>  <tt class="py-comment"># node in nodes() output is in cell</tt> </tt>
+<a name="L2462"></a><tt class="py-lineno">2462</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">node</tt><tt class="py-op">[</tt><tt class="py-string">'state'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'ACTIVE'</tt><tt class="py-op">:</tt> </tt>
+<a name="L2463"></a><tt class="py-lineno">2463</tt>  <tt class="py-line">                            <tt class="py-name">currentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2464"></a><tt class="py-lineno">2464</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2465"></a><tt class="py-lineno">2465</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-885" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-885', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-886" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-886', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in ONOS node availability"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2466"></a><tt class="py-lineno">2466</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-887" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-887', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-888" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-888', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2467"></a><tt class="py-lineno">2467</tt>  <tt class="py-line">                                    <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt><tt class="py-op">,</tt> </tt>
+<a name="L2468"></a><tt class="py-lineno">2468</tt>  <tt class="py-line">                                                <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2469"></a><tt class="py-lineno">2469</tt>  <tt class="py-line">                                                <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L2470"></a><tt class="py-lineno">2470</tt>  <tt class="py-line">                                                <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2471"></a><tt class="py-lineno">2471</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
+<a name="L2472"></a><tt class="py-lineno">2472</tt>  <tt class="py-line">                    <tt class="py-name">nodeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">nodeResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentResult</tt> </tt>
+<a name="L2473"></a><tt class="py-lineno">2473</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2474"></a><tt class="py-lineno">2474</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-889" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-889', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-890" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-890', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing nodes output"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2475"></a><tt class="py-lineno">2475</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-891" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-891', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2476"></a><tt class="py-lineno">2476</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">nodeResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2477"></a><tt class="py-lineno">2477</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Nodes check successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2478"></a><tt class="py-lineno">2478</tt>  <tt class="py-line">                                 <tt id="link-892" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-892', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Nodes check NOT successful"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2479"></a><tt class="py-lineno">2479</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE9"></a><div id="HAminorityRestart.CASE9-def"><a name="L2480"></a><tt class="py-lineno">2480</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE9-toggle" onclick="return toggle('HAminorityRestart.CASE9');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE9">CASE9</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE9-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE9-expanded"><a name="L2481"></a><tt class="py-lineno">2481</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2482"></a><tt class="py-lineno">2482</tt>  <tt class="py-line"><tt class="py-docstring">        Link s3-s28 down</tt> </tt>
+<a name="L2483"></a><tt class="py-lineno">2483</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2484"></a><tt class="py-lineno">2484</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2485"></a><tt class="py-lineno">2485</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2486"></a><tt class="py-lineno">2486</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2487"></a><tt class="py-lineno">2487</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2488"></a><tt class="py-lineno">2488</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2489"></a><tt class="py-lineno">2489</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-893" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-893', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2490"></a><tt class="py-lineno">2490</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: You should probably run a topology check after this</tt> </tt>
+<a name="L2491"></a><tt class="py-lineno">2491</tt>  <tt class="py-line"> </tt>
+<a name="L2492"></a><tt class="py-lineno">2492</tt>  <tt class="py-line">        <tt class="py-name">linkSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2493"></a><tt class="py-lineno">2493</tt>  <tt class="py-line"> </tt>
+<a name="L2494"></a><tt class="py-lineno">2494</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Turn off a link to ensure that Link Discovery "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2495"></a><tt class="py-lineno">2495</tt>  <tt class="py-line">                      <tt class="py-string">"is working properly"</tt> </tt>
+<a name="L2496"></a><tt class="py-lineno">2496</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-894" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-894', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2497"></a><tt class="py-lineno">2497</tt>  <tt class="py-line"> </tt>
+<a name="L2498"></a><tt class="py-lineno">2498</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-895" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-895', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Kill Link between s3 and s28"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2499"></a><tt class="py-lineno">2499</tt>  <tt class="py-line">        <tt class="py-name">LinkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-896" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#link"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-896', 'link', 'link-896');">link</a></tt><tt class="py-op">(</tt> <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-string">"s3"</tt><tt class="py-op">,</tt> <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-string">"s28"</tt><tt class="py-op">,</tt> <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"down"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2500"></a><tt class="py-lineno">2500</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-897" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-897', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">linkSleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2501"></a><tt class="py-lineno">2501</tt>  <tt class="py-line">                       <tt class="py-string">" seconds for link down to be discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2502"></a><tt class="py-lineno">2502</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">linkSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2503"></a><tt class="py-lineno">2503</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">LinkDown</tt><tt class="py-op">,</tt> </tt>
+<a name="L2504"></a><tt class="py-lineno">2504</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link down successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2505"></a><tt class="py-lineno">2505</tt>  <tt class="py-line">                                 <tt id="link-898" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-898', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to bring link down"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2506"></a><tt class="py-lineno">2506</tt>  <tt class="py-line">        <tt class="py-comment"># TODO do some sort of check here</tt> </tt>
+<a name="L2507"></a><tt class="py-lineno">2507</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE10"></a><div id="HAminorityRestart.CASE10-def"><a name="L2508"></a><tt class="py-lineno">2508</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE10-toggle" onclick="return toggle('HAminorityRestart.CASE10');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE10">CASE10</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE10-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE10-expanded"><a name="L2509"></a><tt class="py-lineno">2509</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2510"></a><tt class="py-lineno">2510</tt>  <tt class="py-line"><tt class="py-docstring">        Link s3-s28 up</tt> </tt>
+<a name="L2511"></a><tt class="py-lineno">2511</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2512"></a><tt class="py-lineno">2512</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2513"></a><tt class="py-lineno">2513</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2514"></a><tt class="py-lineno">2514</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2515"></a><tt class="py-lineno">2515</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2516"></a><tt class="py-lineno">2516</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2517"></a><tt class="py-lineno">2517</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-899" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-899', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2518"></a><tt class="py-lineno">2518</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: You should probably run a topology check after this</tt> </tt>
+<a name="L2519"></a><tt class="py-lineno">2519</tt>  <tt class="py-line"> </tt>
+<a name="L2520"></a><tt class="py-lineno">2520</tt>  <tt class="py-line">        <tt class="py-name">linkSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2521"></a><tt class="py-lineno">2521</tt>  <tt class="py-line"> </tt>
+<a name="L2522"></a><tt class="py-lineno">2522</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Restore a link to ensure that Link Discovery is "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L2523"></a><tt class="py-lineno">2523</tt>  <tt class="py-line">                      <tt class="py-string">"working properly"</tt> </tt>
+<a name="L2524"></a><tt class="py-lineno">2524</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-900" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-900', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2525"></a><tt class="py-lineno">2525</tt>  <tt class="py-line"> </tt>
+<a name="L2526"></a><tt class="py-lineno">2526</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-901" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-901', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Bring link between s3 and s28 back up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2527"></a><tt class="py-lineno">2527</tt>  <tt class="py-line">        <tt class="py-name">LinkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-902" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-902', 'link', 'link-896');">link</a></tt><tt class="py-op">(</tt> <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-string">"s3"</tt><tt class="py-op">,</tt> <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-string">"s28"</tt><tt class="py-op">,</tt> <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2528"></a><tt class="py-lineno">2528</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-903" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-903', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">linkSleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2529"></a><tt class="py-lineno">2529</tt>  <tt class="py-line">                       <tt class="py-string">" seconds for link up to be discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2530"></a><tt class="py-lineno">2530</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">linkSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2531"></a><tt class="py-lineno">2531</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">LinkUp</tt><tt class="py-op">,</tt> </tt>
+<a name="L2532"></a><tt class="py-lineno">2532</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link up successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2533"></a><tt class="py-lineno">2533</tt>  <tt class="py-line">                                 <tt id="link-904" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-904', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to bring link up"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2534"></a><tt class="py-lineno">2534</tt>  <tt class="py-line">        <tt class="py-comment"># TODO do some sort of check here</tt> </tt>
+<a name="L2535"></a><tt class="py-lineno">2535</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE11"></a><div id="HAminorityRestart.CASE11-def"><a name="L2536"></a><tt class="py-lineno">2536</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE11-toggle" onclick="return toggle('HAminorityRestart.CASE11');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE11">CASE11</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE11-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE11-expanded"><a name="L2537"></a><tt class="py-lineno">2537</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2538"></a><tt class="py-lineno">2538</tt>  <tt class="py-line"><tt class="py-docstring">        Switch Down</tt> </tt>
+<a name="L2539"></a><tt class="py-lineno">2539</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2540"></a><tt class="py-lineno">2540</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: You should probably run a topology check after this</tt> </tt>
+<a name="L2541"></a><tt class="py-lineno">2541</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2542"></a><tt class="py-lineno">2542</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2543"></a><tt class="py-lineno">2543</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2544"></a><tt class="py-lineno">2544</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2545"></a><tt class="py-lineno">2545</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2546"></a><tt class="py-lineno">2546</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-905" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-905', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2547"></a><tt class="py-lineno">2547</tt>  <tt class="py-line"> </tt>
+<a name="L2548"></a><tt class="py-lineno">2548</tt>  <tt class="py-line">        <tt class="py-name">switchSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'SwitchDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2549"></a><tt class="py-lineno">2549</tt>  <tt class="py-line"> </tt>
+<a name="L2550"></a><tt class="py-lineno">2550</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Killing a switch to ensure it is discovered correctly"</tt> </tt>
+<a name="L2551"></a><tt class="py-lineno">2551</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-906" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-906', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2552"></a><tt class="py-lineno">2552</tt>  <tt class="py-line">        <tt class="py-name">switch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'switch'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2553"></a><tt class="py-lineno">2553</tt>  <tt class="py-line">        <tt class="py-name">switchDPID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'dpid'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2554"></a><tt class="py-lineno">2554</tt>  <tt class="py-line"> </tt>
+<a name="L2555"></a><tt class="py-lineno">2555</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Make this switch parameterizable</tt> </tt>
+<a name="L2556"></a><tt class="py-lineno">2556</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-907" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-907', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Kill "</tt> <tt class="py-op">+</tt> <tt class="py-name">switch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2557"></a><tt class="py-lineno">2557</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-908" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-908', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Deleting "</tt> <tt class="py-op">+</tt> <tt class="py-name">switch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2558"></a><tt class="py-lineno">2558</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-909" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.delSwitch()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delSwitch"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.delSwitch" class="py-name" href="#" onclick="return doclink('link-909', 'delSwitch', 'link-909');">delSwitch</a></tt><tt class="py-op">(</tt> <tt class="py-name">switch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2559"></a><tt class="py-lineno">2559</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-910" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-910', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">switchSleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2560"></a><tt class="py-lineno">2560</tt>  <tt class="py-line">                       <tt class="py-string">" seconds for switch down to be discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2561"></a><tt class="py-lineno">2561</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">switchSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2562"></a><tt class="py-lineno">2562</tt>  <tt class="py-line">        <tt class="py-name">device</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-911" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-911', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-name">switchDPID</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2563"></a><tt class="py-lineno">2563</tt>  <tt class="py-line">        <tt class="py-comment"># Peek at the deleted switch</tt> </tt>
+<a name="L2564"></a><tt class="py-lineno">2564</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-912" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-912', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">device</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2565"></a><tt class="py-lineno">2565</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2566"></a><tt class="py-lineno">2566</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">device</tt> <tt class="py-keyword">and</tt> <tt class="py-name">device</tt><tt class="py-op">[</tt> <tt class="py-string">'available'</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L2567"></a><tt class="py-lineno">2567</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2568"></a><tt class="py-lineno">2568</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt> </tt>
+<a name="L2569"></a><tt class="py-lineno">2569</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Kill switch successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2570"></a><tt class="py-lineno">2570</tt>  <tt class="py-line">                                 <tt id="link-913" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-913', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to kill switch?"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2571"></a><tt class="py-lineno">2571</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE12"></a><div id="HAminorityRestart.CASE12-def"><a name="L2572"></a><tt class="py-lineno">2572</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE12-toggle" onclick="return toggle('HAminorityRestart.CASE12');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE12">CASE12</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE12-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE12-expanded"><a name="L2573"></a><tt class="py-lineno">2573</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2574"></a><tt class="py-lineno">2574</tt>  <tt class="py-line"><tt class="py-docstring">        Switch Up</tt> </tt>
+<a name="L2575"></a><tt class="py-lineno">2575</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2576"></a><tt class="py-lineno">2576</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: You should probably run a topology check after this</tt> </tt>
+<a name="L2577"></a><tt class="py-lineno">2577</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2578"></a><tt class="py-lineno">2578</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2579"></a><tt class="py-lineno">2579</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2580"></a><tt class="py-lineno">2580</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2581"></a><tt class="py-lineno">2581</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2582"></a><tt class="py-lineno">2582</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-914" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-914', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2583"></a><tt class="py-lineno">2583</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS1Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS1Port not defined"</tt> </tt>
+<a name="L2584"></a><tt class="py-lineno">2584</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS2Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS2Port not defined"</tt> </tt>
+<a name="L2585"></a><tt class="py-lineno">2585</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS3Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS3Port not defined"</tt> </tt>
+<a name="L2586"></a><tt class="py-lineno">2586</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS4Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS4Port not defined"</tt> </tt>
+<a name="L2587"></a><tt class="py-lineno">2587</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS5Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS5Port not defined"</tt> </tt>
+<a name="L2588"></a><tt class="py-lineno">2588</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS6Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS6Port not defined"</tt> </tt>
+<a name="L2589"></a><tt class="py-lineno">2589</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS7Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS7Port not defined"</tt> </tt>
+<a name="L2590"></a><tt class="py-lineno">2590</tt>  <tt class="py-line"> </tt>
+<a name="L2591"></a><tt class="py-lineno">2591</tt>  <tt class="py-line">        <tt class="py-name">switchSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'SwitchDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2592"></a><tt class="py-lineno">2592</tt>  <tt class="py-line">        <tt class="py-name">switch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'switch'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2593"></a><tt class="py-lineno">2593</tt>  <tt class="py-line">        <tt class="py-name">switchDPID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'dpid'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2594"></a><tt class="py-lineno">2594</tt>  <tt class="py-line">        <tt id="link-915" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-915', 'links', 'link-512');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'links'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2595"></a><tt class="py-lineno">2595</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Adding a switch to ensure it is discovered correctly"</tt> </tt>
+<a name="L2596"></a><tt class="py-lineno">2596</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-916" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-916', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2597"></a><tt class="py-lineno">2597</tt>  <tt class="py-line"> </tt>
+<a name="L2598"></a><tt class="py-lineno">2598</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-917" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-917', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add back "</tt> <tt class="py-op">+</tt> <tt class="py-name">switch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2599"></a><tt class="py-lineno">2599</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-918" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addSwitch"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-918', 'addSwitch', 'link-918');">addSwitch</a></tt><tt class="py-op">(</tt> <tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-name">switchDPID</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2600"></a><tt class="py-lineno">2600</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">peer</tt> <tt class="py-keyword">in</tt> <tt id="link-919" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-919', 'links', 'link-512');">links</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2601"></a><tt class="py-lineno">2601</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-920" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addLink"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-920', 'addLink', 'link-920');">addLink</a></tt><tt class="py-op">(</tt> <tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">peer</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2602"></a><tt class="py-lineno">2602</tt>  <tt class="py-line">        <tt class="py-name">ipList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2603"></a><tt class="py-lineno">2603</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2604"></a><tt class="py-lineno">2604</tt>  <tt class="py-line">            <tt class="py-name">ipList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-921" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-921', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2605"></a><tt class="py-lineno">2605</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-922" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController" class="py-name" href="#" onclick="return doclink('link-922', 'assignSwController', 'link-78');">assignSwController</a></tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt><tt class="py-op">=</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">ipList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2606"></a><tt class="py-lineno">2606</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-923" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-923', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">switchSleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2607"></a><tt class="py-lineno">2607</tt>  <tt class="py-line">                       <tt class="py-string">" seconds for switch up to be discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2608"></a><tt class="py-lineno">2608</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">switchSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2609"></a><tt class="py-lineno">2609</tt>  <tt class="py-line">        <tt class="py-name">device</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-924" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-924', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-name">switchDPID</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2610"></a><tt class="py-lineno">2610</tt>  <tt class="py-line">        <tt class="py-comment"># Peek at the deleted switch</tt> </tt>
+<a name="L2611"></a><tt class="py-lineno">2611</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-925" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-925', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">device</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2612"></a><tt class="py-lineno">2612</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2613"></a><tt class="py-lineno">2613</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">device</tt> <tt class="py-keyword">and</tt> <tt class="py-name">device</tt><tt class="py-op">[</tt> <tt class="py-string">'available'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2614"></a><tt class="py-lineno">2614</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2615"></a><tt class="py-lineno">2615</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt> </tt>
+<a name="L2616"></a><tt class="py-lineno">2616</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"add switch successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2617"></a><tt class="py-lineno">2617</tt>  <tt class="py-line">                                 <tt id="link-926" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-926', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to add switch?"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2618"></a><tt class="py-lineno">2618</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE13"></a><div id="HAminorityRestart.CASE13-def"><a name="L2619"></a><tt class="py-lineno">2619</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE13-toggle" onclick="return toggle('HAminorityRestart.CASE13');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE13">CASE13</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE13-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE13-expanded"><a name="L2620"></a><tt class="py-lineno">2620</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2621"></a><tt class="py-lineno">2621</tt>  <tt class="py-line"><tt class="py-docstring">        Clean up</tt> </tt>
+<a name="L2622"></a><tt class="py-lineno">2622</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2623"></a><tt class="py-lineno">2623</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L2624"></a><tt class="py-lineno">2624</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2625"></a><tt class="py-lineno">2625</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2626"></a><tt class="py-lineno">2626</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2627"></a><tt class="py-lineno">2627</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2628"></a><tt class="py-lineno">2628</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2629"></a><tt class="py-lineno">2629</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-927" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-927', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2630"></a><tt class="py-lineno">2630</tt>  <tt class="py-line"> </tt>
+<a name="L2631"></a><tt class="py-lineno">2631</tt>  <tt class="py-line">        <tt class="py-comment"># printing colors to terminal</tt> </tt>
+<a name="L2632"></a><tt class="py-lineno">2632</tt>  <tt class="py-line">        <tt class="py-name">colors</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">'cyan'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[96m'</tt><tt class="py-op">,</tt> <tt class="py-string">'purple'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[95m'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2633"></a><tt class="py-lineno">2633</tt>  <tt class="py-line">                   <tt class="py-string">'blue'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[94m'</tt><tt class="py-op">,</tt> <tt class="py-string">'green'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[92m'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2634"></a><tt class="py-lineno">2634</tt>  <tt class="py-line">                   <tt class="py-string">'yellow'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[93m'</tt><tt class="py-op">,</tt> <tt class="py-string">'red'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[91m'</tt><tt class="py-op">,</tt> <tt class="py-string">'end'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[0m'</tt> <tt class="py-op">}</tt> </tt>
+<a name="L2635"></a><tt class="py-lineno">2635</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-928" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-928', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Test Cleanup"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2636"></a><tt class="py-lineno">2636</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-929" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-929', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Killing tcpdumps"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2637"></a><tt class="py-lineno">2637</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-930" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopTcpdump()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopTcpdump,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.stopTcpdump()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#stopTcpdump"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopTcpdump
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.stopTcpdump" class="py-name" href="#" onclick="return doclink('link-930', 'stopTcpdump', 'link-930');">stopTcpdump</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2638"></a><tt class="py-lineno">2638</tt>  <tt class="py-line"> </tt>
+<a name="L2639"></a><tt class="py-lineno">2639</tt>  <tt class="py-line">        <tt class="py-name">testname</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> </tt>
+<a name="L2640"></a><tt class="py-lineno">2640</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BACKUP'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"True"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2641"></a><tt class="py-lineno">2641</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-931" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-931', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Copying MN pcap and ONOS log files to test station"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2642"></a><tt class="py-lineno">2642</tt>  <tt class="py-line">            <tt class="py-name">teststationUser</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BACKUP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'TESTONUSER'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2643"></a><tt class="py-lineno">2643</tt>  <tt class="py-line">            <tt class="py-name">teststationIP</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BACKUP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'TESTONIP'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2644"></a><tt class="py-lineno">2644</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: MN Pcap file is being saved to ~/packet_captures</tt> </tt>
+<a name="L2645"></a><tt class="py-lineno">2645</tt>  <tt class="py-line">            <tt class="py-comment">#       scp this file as MN and TestON aren't necessarily the same vm</tt> </tt>
+<a name="L2646"></a><tt class="py-lineno">2646</tt>  <tt class="py-line">            <tt class="py-comment"># FIXME: scp</tt> </tt>
+<a name="L2647"></a><tt class="py-lineno">2647</tt>  <tt class="py-line">            <tt class="py-comment"># mn files</tt> </tt>
+<a name="L2648"></a><tt class="py-lineno">2648</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: Load these from params</tt> </tt>
+<a name="L2649"></a><tt class="py-lineno">2649</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: must end in /</tt> </tt>
+<a name="L2650"></a><tt class="py-lineno">2650</tt>  <tt class="py-line">            <tt class="py-name">logFolder</tt> <tt class="py-op">=</tt> <tt class="py-string">"/opt/onos/log/"</tt> </tt>
+<a name="L2651"></a><tt class="py-lineno">2651</tt>  <tt class="py-line">            <tt class="py-name">logFiles</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">"karaf.log"</tt><tt class="py-op">,</tt> <tt class="py-string">"karaf.log.1"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2652"></a><tt class="py-lineno">2652</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: must end in /</tt> </tt>
+<a name="L2653"></a><tt class="py-lineno">2653</tt>  <tt class="py-line">            <tt class="py-name">dstDir</tt> <tt class="py-op">=</tt> <tt class="py-string">"~/packet_captures/"</tt> </tt>
+<a name="L2654"></a><tt class="py-lineno">2654</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">logFiles</tt><tt class="py-op">:</tt> </tt>
+<a name="L2655"></a><tt class="py-lineno">2655</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-932" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-932', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2656"></a><tt class="py-lineno">2656</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-933" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-933', 'sendline', 'link-933');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"scp sdn@"</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2657"></a><tt class="py-lineno">2657</tt>  <tt class="py-line">                                                    <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">logFolder</tt> <tt class="py-op">+</tt> <tt class="py-name">f</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2658"></a><tt class="py-lineno">2658</tt>  <tt class="py-line">                                                    <tt class="py-name">teststationUser</tt> <tt class="py-op">+</tt> <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2659"></a><tt class="py-lineno">2659</tt>  <tt class="py-line">                                                    <tt class="py-name">teststationIP</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2660"></a><tt class="py-lineno">2660</tt>  <tt class="py-line">                                                    <tt class="py-name">dstDir</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">testname</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2661"></a><tt class="py-lineno">2661</tt>  <tt class="py-line">                                                    <tt class="py-string">"-"</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">"-"</tt> <tt class="py-op">+</tt> <tt class="py-name">f</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2662"></a><tt class="py-lineno">2662</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2663"></a><tt class="py-lineno">2663</tt>  <tt class="py-line"> </tt>
+<a name="L2664"></a><tt class="py-lineno">2664</tt>  <tt class="py-line">            <tt class="py-comment"># std*.log's</tt> </tt>
+<a name="L2665"></a><tt class="py-lineno">2665</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: must end in /</tt> </tt>
+<a name="L2666"></a><tt class="py-lineno">2666</tt>  <tt class="py-line">            <tt class="py-name">logFolder</tt> <tt class="py-op">=</tt> <tt class="py-string">"/opt/onos/var/"</tt> </tt>
+<a name="L2667"></a><tt class="py-lineno">2667</tt>  <tt class="py-line">            <tt class="py-name">logFiles</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">"stderr.log"</tt><tt class="py-op">,</tt> <tt class="py-string">"stdout.log"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2668"></a><tt class="py-lineno">2668</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: must end in /</tt> </tt>
+<a name="L2669"></a><tt class="py-lineno">2669</tt>  <tt class="py-line">            <tt class="py-name">dstDir</tt> <tt class="py-op">=</tt> <tt class="py-string">"~/packet_captures/"</tt> </tt>
+<a name="L2670"></a><tt class="py-lineno">2670</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">logFiles</tt><tt class="py-op">:</tt> </tt>
+<a name="L2671"></a><tt class="py-lineno">2671</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-934" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-934', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2672"></a><tt class="py-lineno">2672</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-935" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-935', 'sendline', 'link-933');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"scp sdn@"</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2673"></a><tt class="py-lineno">2673</tt>  <tt class="py-line">                                                    <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">logFolder</tt> <tt class="py-op">+</tt> <tt class="py-name">f</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2674"></a><tt class="py-lineno">2674</tt>  <tt class="py-line">                                                    <tt class="py-name">teststationUser</tt> <tt class="py-op">+</tt> <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2675"></a><tt class="py-lineno">2675</tt>  <tt class="py-line">                                                    <tt class="py-name">teststationIP</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2676"></a><tt class="py-lineno">2676</tt>  <tt class="py-line">                                                    <tt class="py-name">dstDir</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">testname</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2677"></a><tt class="py-lineno">2677</tt>  <tt class="py-line">                                                    <tt class="py-string">"-"</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">"-"</tt> <tt class="py-op">+</tt> <tt class="py-name">f</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2678"></a><tt class="py-lineno">2678</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2679"></a><tt class="py-lineno">2679</tt>  <tt class="py-line">            <tt class="py-comment"># sleep so scp can finish</tt> </tt>
+<a name="L2680"></a><tt class="py-lineno">2680</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2681"></a><tt class="py-lineno">2681</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-936" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-936', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Packing and rotating pcap archives"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2682"></a><tt class="py-lineno">2682</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">system</tt><tt class="py-op">(</tt> <tt class="py-string">"~/TestON/dependencies/rotate.sh "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">testname</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2683"></a><tt class="py-lineno">2683</tt>  <tt class="py-line"> </tt>
+<a name="L2684"></a><tt class="py-lineno">2684</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-937" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-937', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Stopping Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2685"></a><tt class="py-lineno">2685</tt>  <tt class="py-line">        <tt class="py-name">mnResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-938" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet" class="py-name" href="#" onclick="return doclink('link-938', 'stopNet', 'link-938');">stopNet</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2686"></a><tt class="py-lineno">2686</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">mnResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2687"></a><tt class="py-lineno">2687</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Mininet stopped"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2688"></a><tt class="py-lineno">2688</tt>  <tt class="py-line">                                 <tt id="link-939" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-939', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"MN cleanup NOT successful"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2689"></a><tt class="py-lineno">2689</tt>  <tt class="py-line"> </tt>
+<a name="L2690"></a><tt class="py-lineno">2690</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-940" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-940', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Checking ONOS Logs for errors"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2691"></a><tt class="py-lineno">2691</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-941" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-941', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2692"></a><tt class="py-lineno">2692</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt> <tt class="py-string">'purple'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"Checking logs for errors on "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L2693"></a><tt class="py-lineno">2693</tt>  <tt class="py-line">                <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt> <tt class="py-string">'end'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2694"></a><tt class="py-lineno">2694</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-942" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.checkLogs()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#checkLogs"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.checkLogs" class="py-name" href="#" onclick="return doclink('link-942', 'checkLogs', 'link-942');">checkLogs</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-name">restart</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2695"></a><tt class="py-lineno">2695</tt>  <tt class="py-line"> </tt>
+<a name="L2696"></a><tt class="py-lineno">2696</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2697"></a><tt class="py-lineno">2697</tt>  <tt class="py-line">            <tt class="py-name">timerLog</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">+</tt> <tt class="py-string">"/Timers.csv"</tt><tt class="py-op">,</tt> <tt class="py-string">'w'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2698"></a><tt class="py-lineno">2698</tt>  <tt class="py-line">            <tt class="py-comment"># Overwrite with empty line and close</tt> </tt>
+<a name="L2699"></a><tt class="py-lineno">2699</tt>  <tt class="py-line">            <tt class="py-name">labels</tt> <tt class="py-op">=</tt> <tt class="py-string">"Gossip Intents, Restart"</tt> </tt>
+<a name="L2700"></a><tt class="py-lineno">2700</tt>  <tt class="py-line">            <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">gossipTime</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">", "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">restartTime</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2701"></a><tt class="py-lineno">2701</tt>  <tt class="py-line">            <tt class="py-name">timerLog</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt> <tt class="py-name">labels</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-name">data</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2702"></a><tt class="py-lineno">2702</tt>  <tt class="py-line">            <tt class="py-name">timerLog</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2703"></a><tt class="py-lineno">2703</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L2704"></a><tt class="py-lineno">2704</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-943" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-943', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2705"></a><tt class="py-lineno">2705</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE14"></a><div id="HAminorityRestart.CASE14-def"><a name="L2706"></a><tt class="py-lineno">2706</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE14-toggle" onclick="return toggle('HAminorityRestart.CASE14');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE14">CASE14</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE14-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE14-expanded"><a name="L2707"></a><tt class="py-lineno">2707</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2708"></a><tt class="py-lineno">2708</tt>  <tt class="py-line"><tt class="py-docstring">        start election app on all onos nodes</tt> </tt>
+<a name="L2709"></a><tt class="py-lineno">2709</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2710"></a><tt class="py-lineno">2710</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2711"></a><tt class="py-lineno">2711</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2712"></a><tt class="py-lineno">2712</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2713"></a><tt class="py-lineno">2713</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2714"></a><tt class="py-lineno">2714</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-944" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-944', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2715"></a><tt class="py-lineno">2715</tt>  <tt class="py-line"> </tt>
+<a name="L2716"></a><tt class="py-lineno">2716</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-945" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-945', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Start Leadership Election app"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2717"></a><tt class="py-lineno">2717</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-946" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-946', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install leadership election app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2718"></a><tt class="py-lineno">2718</tt>  <tt class="py-line">        <tt class="py-name">appResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-947" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp" class="py-name" href="#" onclick="return doclink('link-947', 'activateApp', 'link-124');">activateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2719"></a><tt class="py-lineno">2719</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2720"></a><tt class="py-lineno">2720</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2721"></a><tt class="py-lineno">2721</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2722"></a><tt class="py-lineno">2722</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Election app installed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2723"></a><tt class="py-lineno">2723</tt>  <tt class="py-line">            <tt id="link-948" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-948', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something went wrong with installing Leadership election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2724"></a><tt class="py-lineno">2724</tt>  <tt class="py-line"> </tt>
+<a name="L2725"></a><tt class="py-lineno">2725</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-949" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-949', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Run for election on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2726"></a><tt class="py-lineno">2726</tt>  <tt class="py-line">        <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2727"></a><tt class="py-lineno">2727</tt>  <tt class="py-line">        <tt id="link-950" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-950', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2728"></a><tt class="py-lineno">2728</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-951" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-951', 'cli', 'link-223');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2729"></a><tt class="py-lineno">2729</tt>  <tt class="py-line">            <tt id="link-952" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-952', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt id="link-953" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestRun()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestRun"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestRun" class="py-name" href="#" onclick="return doclink('link-953', 'electionTestRun', 'link-953');">electionTestRun</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2730"></a><tt class="py-lineno">2730</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-954" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-954', 'cli', 'link-223');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2731"></a><tt class="py-lineno">2731</tt>  <tt class="py-line">            <tt class="py-name">leader</tt> <tt class="py-op">=</tt> <tt id="link-955" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-955', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt id="link-956" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-956', 'electionTestLeader', 'link-724');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2732"></a><tt class="py-lineno">2732</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">leader</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">leader</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2733"></a><tt class="py-lineno">2733</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-957" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-957', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-958" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-958', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt id="link-959" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-959', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Leader for the election app "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2734"></a><tt class="py-lineno">2734</tt>  <tt class="py-line">                                 <tt class="py-string">"should be an ONOS node, instead got '"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2735"></a><tt class="py-lineno">2735</tt>  <tt class="py-line">                                 <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"'"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2736"></a><tt class="py-lineno">2736</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2737"></a><tt class="py-lineno">2737</tt>  <tt class="py-line">            <tt id="link-960" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-960', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2738"></a><tt class="py-lineno">2738</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2739"></a><tt class="py-lineno">2739</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2740"></a><tt class="py-lineno">2740</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">leaderResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2741"></a><tt class="py-lineno">2741</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully ran for leadership"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2742"></a><tt class="py-lineno">2742</tt>  <tt class="py-line">            <tt id="link-961" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-961', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to run for leadership"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2743"></a><tt class="py-lineno">2743</tt>  <tt class="py-line"> </tt>
+<a name="L2744"></a><tt class="py-lineno">2744</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-962" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-962', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check that each node shows the same leader"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2745"></a><tt class="py-lineno">2745</tt>  <tt class="py-line">        <tt class="py-name">sameLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2746"></a><tt class="py-lineno">2746</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt id="link-963" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-963', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2747"></a><tt class="py-lineno">2747</tt>  <tt class="py-line">            <tt class="py-name">sameLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2748"></a><tt class="py-lineno">2748</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-964" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-964', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-965" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-965', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Results of electionTestLeader is order of main.CLIs:"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2749"></a><tt class="py-lineno">2749</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-966" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-966', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2750"></a><tt class="py-lineno">2750</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2751"></a><tt class="py-lineno">2751</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2752"></a><tt class="py-lineno">2752</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">sameLeader</tt><tt class="py-op">,</tt> </tt>
+<a name="L2753"></a><tt class="py-lineno">2753</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Leadership is consistent for the election topic"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2754"></a><tt class="py-lineno">2754</tt>  <tt class="py-line">            <tt id="link-967" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-967', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Nodes have different leaders"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2755"></a><tt class="py-lineno">2755</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE15"></a><div id="HAminorityRestart.CASE15-def"><a name="L2756"></a><tt class="py-lineno">2756</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE15-toggle" onclick="return toggle('HAminorityRestart.CASE15');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE15">CASE15</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE15-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE15-expanded"><a name="L2757"></a><tt class="py-lineno">2757</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2758"></a><tt class="py-lineno">2758</tt>  <tt class="py-line"><tt class="py-docstring">        Check that Leadership Election is still functional</tt> </tt>
+<a name="L2759"></a><tt class="py-lineno">2759</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2760"></a><tt class="py-lineno">2760</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2761"></a><tt class="py-lineno">2761</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2762"></a><tt class="py-lineno">2762</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2763"></a><tt class="py-lineno">2763</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2764"></a><tt class="py-lineno">2764</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2765"></a><tt class="py-lineno">2765</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-968" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-968', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2766"></a><tt class="py-lineno">2766</tt>  <tt class="py-line"> </tt>
+<a name="L2767"></a><tt class="py-lineno">2767</tt>  <tt class="py-line">        <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2768"></a><tt class="py-lineno">2768</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Check that Leadership Election is still functional"</tt> </tt>
+<a name="L2769"></a><tt class="py-lineno">2769</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-969" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-969', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2770"></a><tt class="py-lineno">2770</tt>  <tt class="py-line"> </tt>
+<a name="L2771"></a><tt class="py-lineno">2771</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-970" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-970', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check that each node shows the same leader"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2772"></a><tt class="py-lineno">2772</tt>  <tt class="py-line">        <tt class="py-name">sameLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2773"></a><tt class="py-lineno">2773</tt>  <tt class="py-line">        <tt id="link-971" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-971', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2774"></a><tt class="py-lineno">2774</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-972" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-972', 'cli', 'link-223');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2775"></a><tt class="py-lineno">2775</tt>  <tt class="py-line">            <tt class="py-name">leader</tt> <tt class="py-op">=</tt> <tt id="link-973" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-973', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt id="link-974" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-974', 'electionTestLeader', 'link-724');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2776"></a><tt class="py-lineno">2776</tt>  <tt class="py-line">            <tt id="link-975" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-975', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2777"></a><tt class="py-lineno">2777</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt id="link-976" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-976', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2778"></a><tt class="py-lineno">2778</tt>  <tt class="py-line">            <tt class="py-name">sameLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2779"></a><tt class="py-lineno">2779</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-977" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-977', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-978" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-978', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Results of electionTestLeader is order of main.CLIs:"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2780"></a><tt class="py-lineno">2780</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-979" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-979', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2781"></a><tt class="py-lineno">2781</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2782"></a><tt class="py-lineno">2782</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2783"></a><tt class="py-lineno">2783</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">sameLeader</tt><tt class="py-op">,</tt> </tt>
+<a name="L2784"></a><tt class="py-lineno">2784</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Leadership is consistent for the election topic"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2785"></a><tt class="py-lineno">2785</tt>  <tt class="py-line">            <tt id="link-980" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-980', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Nodes have different leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2786"></a><tt class="py-lineno">2786</tt>  <tt class="py-line"> </tt>
+<a name="L2787"></a><tt class="py-lineno">2787</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-981" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-981', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Find current leader and withdraw"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2788"></a><tt class="py-lineno">2788</tt>  <tt class="py-line">        <tt class="py-name">leader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-982" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-982', 'electionTestLeader', 'link-724');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2789"></a><tt class="py-lineno">2789</tt>  <tt class="py-line">        <tt class="py-comment"># do some sanity checking on leader before using it</tt> </tt>
+<a name="L2790"></a><tt class="py-lineno">2790</tt>  <tt class="py-line">        <tt class="py-name">withdrawResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2791"></a><tt class="py-lineno">2791</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">leader</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">leader</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2792"></a><tt class="py-lineno">2792</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-983" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-983', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-984" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-984', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2793"></a><tt class="py-lineno">2793</tt>  <tt class="py-line">                <tt class="py-string">"Leader for the election app should be an ONOS node,"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2794"></a><tt class="py-lineno">2794</tt>  <tt class="py-line">                <tt class="py-string">"instead got '"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"'"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2795"></a><tt class="py-lineno">2795</tt>  <tt class="py-line">            <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2796"></a><tt class="py-lineno">2796</tt>  <tt class="py-line">            <tt class="py-name">oldLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2797"></a><tt class="py-lineno">2797</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2798"></a><tt class="py-lineno">2798</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">leader</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-985" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-985', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">:</tt> </tt>
+<a name="L2799"></a><tt class="py-lineno">2799</tt>  <tt class="py-line">                <tt class="py-name">oldLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2800"></a><tt class="py-lineno">2800</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L2801"></a><tt class="py-lineno">2801</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># FOR/ELSE statement</tt> </tt>
+<a name="L2802"></a><tt class="py-lineno">2802</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-986" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-986', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-987" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-987', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Leader election, could not find current leader"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2803"></a><tt class="py-lineno">2803</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">oldLeader</tt><tt class="py-op">:</tt> </tt>
+<a name="L2804"></a><tt class="py-lineno">2804</tt>  <tt class="py-line">            <tt class="py-name">withdrawResult</tt> <tt class="py-op">=</tt> <tt class="py-name">oldLeader</tt><tt class="py-op">.</tt><tt id="link-988" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestWithdraw()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestWithdraw"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestWithdraw" class="py-name" href="#" onclick="return doclink('link-988', 'electionTestWithdraw', 'link-988');">electionTestWithdraw</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2805"></a><tt class="py-lineno">2805</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2806"></a><tt class="py-lineno">2806</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2807"></a><tt class="py-lineno">2807</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">withdrawResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2808"></a><tt class="py-lineno">2808</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Node was withdrawn from election"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2809"></a><tt class="py-lineno">2809</tt>  <tt class="py-line">            <tt id="link-989" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-989', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Node was not withdrawn from election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2810"></a><tt class="py-lineno">2810</tt>  <tt class="py-line"> </tt>
+<a name="L2811"></a><tt class="py-lineno">2811</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-990" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-990', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Make sure new leader is elected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2812"></a><tt class="py-lineno">2812</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: use threads</tt> </tt>
+<a name="L2813"></a><tt class="py-lineno">2813</tt>  <tt class="py-line">        <tt class="py-name">leaderList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2814"></a><tt class="py-lineno">2814</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-991" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-991', 'cli', 'link-223');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2815"></a><tt class="py-lineno">2815</tt>  <tt class="py-line">            <tt class="py-name">leaderN</tt> <tt class="py-op">=</tt> <tt id="link-992" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-992', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt id="link-993" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-993', 'electionTestLeader', 'link-724');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2816"></a><tt class="py-lineno">2816</tt>  <tt class="py-line">            <tt class="py-name">leaderList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2817"></a><tt class="py-lineno">2817</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">==</tt> <tt class="py-name">leader</tt><tt class="py-op">:</tt> </tt>
+<a name="L2818"></a><tt class="py-lineno">2818</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-994" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-994', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-995" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-995', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt>  <tt id="link-996" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-996', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" still sees "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2819"></a><tt class="py-lineno">2819</tt>  <tt class="py-line">                                  <tt class="py-string">" as leader after they withdrew"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2820"></a><tt class="py-lineno">2820</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2821"></a><tt class="py-lineno">2821</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2822"></a><tt class="py-lineno">2822</tt>  <tt class="py-line">                <tt class="py-comment"># error in  response</tt> </tt>
+<a name="L2823"></a><tt class="py-lineno">2823</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: add check for "Command not found:" in the driver, this</tt> </tt>
+<a name="L2824"></a><tt class="py-lineno">2824</tt>  <tt class="py-line">                <tt class="py-comment">#       means the app isn't loaded</tt> </tt>
+<a name="L2825"></a><tt class="py-lineno">2825</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-997" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-997', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-998" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-998', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Something is wrong with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2826"></a><tt class="py-lineno">2826</tt>  <tt class="py-line">                                 <tt class="py-string">"electionTestLeader function, "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2827"></a><tt class="py-lineno">2827</tt>  <tt class="py-line">                                 <tt class="py-string">"check the error logs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2828"></a><tt class="py-lineno">2828</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2829"></a><tt class="py-lineno">2829</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">leaderN</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L2830"></a><tt class="py-lineno">2830</tt>  <tt class="py-line">                <tt class="py-comment"># node may not have recieved the event yet</tt> </tt>
+<a name="L2831"></a><tt class="py-lineno">2831</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">7</tt><tt class="py-op">)</tt> </tt>
+<a name="L2832"></a><tt class="py-lineno">2832</tt>  <tt class="py-line">                <tt class="py-name">leaderN</tt> <tt class="py-op">=</tt> <tt id="link-999" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-999', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt id="link-1000" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-1000', 'electionTestLeader', 'link-724');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2833"></a><tt class="py-lineno">2833</tt>  <tt class="py-line">                <tt class="py-name">leaderList</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2834"></a><tt class="py-lineno">2834</tt>  <tt class="py-line">                <tt class="py-name">leaderList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2835"></a><tt class="py-lineno">2835</tt>  <tt class="py-line">        <tt class="py-name">consistentLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2836"></a><tt class="py-lineno">2836</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">leaderList</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2837"></a><tt class="py-lineno">2837</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1001" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1001', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Each Election-app sees '"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2838"></a><tt class="py-lineno">2838</tt>  <tt class="py-line">                           <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leaderList</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2839"></a><tt class="py-lineno">2839</tt>  <tt class="py-line">                           <tt class="py-string">"' as the leader"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2840"></a><tt class="py-lineno">2840</tt>  <tt class="py-line">            <tt class="py-name">consistentLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2841"></a><tt class="py-lineno">2841</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2842"></a><tt class="py-lineno">2842</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1002" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1002', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1003" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1003', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2843"></a><tt class="py-lineno">2843</tt>  <tt class="py-line">                <tt class="py-string">"Inconsistent responses for leader of Election-app:"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2844"></a><tt class="py-lineno">2844</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">leaderList</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2845"></a><tt class="py-lineno">2845</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1004" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1004', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1005" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1005', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2846"></a><tt class="py-lineno">2846</tt>  <tt class="py-line">                                 <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leaderList</tt><tt class="py-op">[</tt> <tt class="py-name">n</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2847"></a><tt class="py-lineno">2847</tt>  <tt class="py-line">        <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">leaderResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentLeader</tt> </tt>
+<a name="L2848"></a><tt class="py-lineno">2848</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2849"></a><tt class="py-lineno">2849</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2850"></a><tt class="py-lineno">2850</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">leaderResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2851"></a><tt class="py-lineno">2851</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Leadership election passed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2852"></a><tt class="py-lineno">2852</tt>  <tt class="py-line">            <tt id="link-1006" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1006', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something went wrong with Leadership election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2853"></a><tt class="py-lineno">2853</tt>  <tt class="py-line"> </tt>
+<a name="L2854"></a><tt class="py-lineno">2854</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1007" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1007', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Run for election on old leader( just so everyone "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2855"></a><tt class="py-lineno">2855</tt>  <tt class="py-line">                   <tt class="py-string">"is in the hat )"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2856"></a><tt class="py-lineno">2856</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">oldLeader</tt><tt class="py-op">:</tt> </tt>
+<a name="L2857"></a><tt class="py-lineno">2857</tt>  <tt class="py-line">            <tt class="py-name">runResult</tt> <tt class="py-op">=</tt> <tt class="py-name">oldLeader</tt><tt class="py-op">.</tt><tt id="link-1008" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestRun" class="py-name" href="#" onclick="return doclink('link-1008', 'electionTestRun', 'link-953');">electionTestRun</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2858"></a><tt class="py-lineno">2858</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2859"></a><tt class="py-lineno">2859</tt>  <tt class="py-line">            <tt class="py-name">runResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2860"></a><tt class="py-lineno">2860</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2861"></a><tt class="py-lineno">2861</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2862"></a><tt class="py-lineno">2862</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">runResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2863"></a><tt class="py-lineno">2863</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App re-ran for election"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2864"></a><tt class="py-lineno">2864</tt>  <tt class="py-line">            <tt id="link-1009" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1009', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"App failed to run for election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2865"></a><tt class="py-lineno">2865</tt>  <tt class="py-line"> </tt>
+<a name="L2866"></a><tt class="py-lineno">2866</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1010" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1010', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Leader did not change when old leader re-ran"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2867"></a><tt class="py-lineno">2867</tt>  <tt class="py-line">        <tt class="py-name">afterRun</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-1011" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-1011', 'electionTestLeader', 'link-724');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2868"></a><tt class="py-lineno">2868</tt>  <tt class="py-line">        <tt class="py-comment"># verify leader didn't just change</tt> </tt>
+<a name="L2869"></a><tt class="py-lineno">2869</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">afterRun</tt> <tt class="py-op">==</tt> <tt class="py-name">leaderList</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2870"></a><tt class="py-lineno">2870</tt>  <tt class="py-line">            <tt class="py-name">afterResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2871"></a><tt class="py-lineno">2871</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2872"></a><tt class="py-lineno">2872</tt>  <tt class="py-line">            <tt class="py-name">afterResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2873"></a><tt class="py-lineno">2873</tt>  <tt class="py-line"> </tt>
+<a name="L2874"></a><tt class="py-lineno">2874</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2875"></a><tt class="py-lineno">2875</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2876"></a><tt class="py-lineno">2876</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">afterResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2877"></a><tt class="py-lineno">2877</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Old leader successfully re-ran for election"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2878"></a><tt class="py-lineno">2878</tt>  <tt class="py-line">            <tt id="link-1012" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1012', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something went wrong with Leadership election after "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2879"></a><tt class="py-lineno">2879</tt>  <tt class="py-line">                   <tt class="py-string">"the old leader re-ran for election"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2880"></a><tt class="py-lineno">2880</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE16"></a><div id="HAminorityRestart.CASE16-def"><a name="L2881"></a><tt class="py-lineno">2881</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE16-toggle" onclick="return toggle('HAminorityRestart.CASE16');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE16">CASE16</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE16-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE16-expanded"><a name="L2882"></a><tt class="py-lineno">2882</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2883"></a><tt class="py-lineno">2883</tt>  <tt class="py-line"><tt class="py-docstring">        Install Distributed Primitives app</tt> </tt>
+<a name="L2884"></a><tt class="py-lineno">2884</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2885"></a><tt class="py-lineno">2885</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2886"></a><tt class="py-lineno">2886</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2887"></a><tt class="py-lineno">2887</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2888"></a><tt class="py-lineno">2888</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2889"></a><tt class="py-lineno">2889</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2890"></a><tt class="py-lineno">2890</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1013" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-1013', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2891"></a><tt class="py-lineno">2891</tt>  <tt class="py-line"> </tt>
+<a name="L2892"></a><tt class="py-lineno">2892</tt>  <tt class="py-line">        <tt class="py-comment"># Variables for the distributed primitives tests</tt> </tt>
+<a name="L2893"></a><tt class="py-lineno">2893</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">pCounterName</tt> </tt>
+<a name="L2894"></a><tt class="py-lineno">2894</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">iCounterName</tt> </tt>
+<a name="L2895"></a><tt class="py-lineno">2895</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">pCounterValue</tt> </tt>
+<a name="L2896"></a><tt class="py-lineno">2896</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">iCounterValue</tt> </tt>
+<a name="L2897"></a><tt class="py-lineno">2897</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">onosSet</tt> </tt>
+<a name="L2898"></a><tt class="py-lineno">2898</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">onosSetName</tt> </tt>
+<a name="L2899"></a><tt class="py-lineno">2899</tt>  <tt class="py-line">        <tt class="py-name">pCounterName</tt> <tt class="py-op">=</tt> <tt class="py-string">"TestON-Partitions"</tt> </tt>
+<a name="L2900"></a><tt class="py-lineno">2900</tt>  <tt class="py-line">        <tt class="py-name">iCounterName</tt> <tt class="py-op">=</tt> <tt class="py-string">"TestON-inMemory"</tt> </tt>
+<a name="L2901"></a><tt class="py-lineno">2901</tt>  <tt class="py-line">        <tt class="py-name">pCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2902"></a><tt class="py-lineno">2902</tt>  <tt class="py-line">        <tt class="py-name">iCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2903"></a><tt class="py-lineno">2903</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2904"></a><tt class="py-lineno">2904</tt>  <tt class="py-line">        <tt class="py-name">onosSetName</tt> <tt class="py-op">=</tt> <tt class="py-string">"TestON-set"</tt> </tt>
+<a name="L2905"></a><tt class="py-lineno">2905</tt>  <tt class="py-line"> </tt>
+<a name="L2906"></a><tt class="py-lineno">2906</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Install Primitives app"</tt> </tt>
+<a name="L2907"></a><tt class="py-lineno">2907</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1014" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1014', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2908"></a><tt class="py-lineno">2908</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1015" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1015', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install Primitives app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2909"></a><tt class="py-lineno">2909</tt>  <tt class="py-line">        <tt class="py-name">appName</tt> <tt class="py-op">=</tt> <tt class="py-string">"org.onosproject.distributedprimitives"</tt> </tt>
+<a name="L2910"></a><tt class="py-lineno">2910</tt>  <tt class="py-line">        <tt class="py-name">appResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1016" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp" class="py-name" href="#" onclick="return doclink('link-1016', 'activateApp', 'link-124');">activateApp</a></tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2911"></a><tt class="py-lineno">2911</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2912"></a><tt class="py-lineno">2912</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2913"></a><tt class="py-lineno">2913</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Primitives app activated"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2914"></a><tt class="py-lineno">2914</tt>  <tt class="py-line">                                 <tt id="link-1017" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1017', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Primitives app not activated"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2915"></a><tt class="py-lineno">2915</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">5</tt> <tt class="py-op">)</tt>  <tt class="py-comment"># To allow all nodes to activate</tt> </tt>
+</div><a name="L2916"></a><tt class="py-lineno">2916</tt>  <tt class="py-line"> </tt>
+<a name="HAminorityRestart.CASE17"></a><div id="HAminorityRestart.CASE17-def"><a name="L2917"></a><tt class="py-lineno">2917</tt> <a class="py-toggle" href="#" id="HAminorityRestart.CASE17-toggle" onclick="return toggle('HAminorityRestart.CASE17');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE17">CASE17</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAminorityRestart.CASE17-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAminorityRestart.CASE17-expanded"><a name="L2918"></a><tt class="py-lineno">2918</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2919"></a><tt class="py-lineno">2919</tt>  <tt class="py-line"><tt class="py-docstring">        Check for basic functionality with distributed primitives</tt> </tt>
+<a name="L2920"></a><tt class="py-lineno">2920</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2921"></a><tt class="py-lineno">2921</tt>  <tt class="py-line">        <tt class="py-comment"># Make sure variables are defined/set</tt> </tt>
+<a name="L2922"></a><tt class="py-lineno">2922</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2923"></a><tt class="py-lineno">2923</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2924"></a><tt class="py-lineno">2924</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2925"></a><tt class="py-lineno">2925</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2926"></a><tt class="py-lineno">2926</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1018" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-1018', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2927"></a><tt class="py-lineno">2927</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">pCounterName</tt><tt class="py-op">,</tt> <tt class="py-string">"pCounterName not defined"</tt> </tt>
+<a name="L2928"></a><tt class="py-lineno">2928</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-string">"iCounterName not defined"</tt> </tt>
+<a name="L2929"></a><tt class="py-lineno">2929</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-string">"onosSetName not defined"</tt> </tt>
+<a name="L2930"></a><tt class="py-lineno">2930</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: assert fails if value is 0/None/Empty/False</tt> </tt>
+<a name="L2931"></a><tt class="py-lineno">2931</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2932"></a><tt class="py-lineno">2932</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> </tt>
+<a name="L2933"></a><tt class="py-lineno">2933</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2934"></a><tt class="py-lineno">2934</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1019" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1019', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1020" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1020', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pCounterValue not defined, setting to 0"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2935"></a><tt class="py-lineno">2935</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2936"></a><tt class="py-lineno">2936</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2937"></a><tt class="py-lineno">2937</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> </tt>
+<a name="L2938"></a><tt class="py-lineno">2938</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2939"></a><tt class="py-lineno">2939</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1021" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1021', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1022" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1022', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"iCounterValue not defined, setting to 0"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2940"></a><tt class="py-lineno">2940</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2941"></a><tt class="py-lineno">2941</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2942"></a><tt class="py-lineno">2942</tt>  <tt class="py-line">            <tt class="py-name">onosSet</tt> </tt>
+<a name="L2943"></a><tt class="py-lineno">2943</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2944"></a><tt class="py-lineno">2944</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1023" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1023', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1024" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1024', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onosSet not defined, setting to empty Set"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2945"></a><tt class="py-lineno">2945</tt>  <tt class="py-line">            <tt class="py-name">onosSet</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2946"></a><tt class="py-lineno">2946</tt>  <tt class="py-line">        <tt class="py-comment"># Variables for the distributed primitives tests. These are local only</tt> </tt>
+<a name="L2947"></a><tt class="py-lineno">2947</tt>  <tt class="py-line">        <tt class="py-name">addValue</tt> <tt class="py-op">=</tt> <tt class="py-string">"a"</tt> </tt>
+<a name="L2948"></a><tt class="py-lineno">2948</tt>  <tt class="py-line">        <tt class="py-name">addAllValue</tt> <tt class="py-op">=</tt> <tt class="py-string">"a b c d e f"</tt> </tt>
+<a name="L2949"></a><tt class="py-lineno">2949</tt>  <tt class="py-line">        <tt class="py-name">retainValue</tt> <tt class="py-op">=</tt> <tt class="py-string">"c d e f"</tt> </tt>
+<a name="L2950"></a><tt class="py-lineno">2950</tt>  <tt class="py-line"> </tt>
+<a name="L2951"></a><tt class="py-lineno">2951</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Check for basic functionality with distributed "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2952"></a><tt class="py-lineno">2952</tt>  <tt class="py-line">                      <tt class="py-string">"primitives"</tt> </tt>
+<a name="L2953"></a><tt class="py-lineno">2953</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1025" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1025', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2954"></a><tt class="py-lineno">2954</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Test the methods of the distributed "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2955"></a><tt class="py-lineno">2955</tt>  <tt class="py-line">                                <tt class="py-string">"primitives (counters and sets) throught the cli"</tt> </tt>
+<a name="L2956"></a><tt class="py-lineno">2956</tt>  <tt class="py-line">        <tt class="py-comment"># DISTRIBUTED ATOMIC COUNTERS</tt> </tt>
+<a name="L2957"></a><tt class="py-lineno">2957</tt>  <tt class="py-line">        <tt class="py-comment"># Partitioned counters</tt> </tt>
+<a name="L2958"></a><tt class="py-lineno">2958</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1026" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1026', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Increment then get a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2959"></a><tt class="py-lineno">2959</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2960"></a><tt class="py-lineno">2960</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2961"></a><tt class="py-lineno">2961</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2962"></a><tt class="py-lineno">2962</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2963"></a><tt class="py-lineno">2963</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1027" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1027', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1028" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counterTestAddAndGet"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1028', 'counterTestAddAndGet', 'link-1028');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2964"></a><tt class="py-lineno">2964</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterAddAndGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2965"></a><tt class="py-lineno">2965</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2966"></a><tt class="py-lineno">2966</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2967"></a><tt class="py-lineno">2967</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2968"></a><tt class="py-lineno">2968</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2969"></a><tt class="py-lineno">2969</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2970"></a><tt class="py-lineno">2970</tt>  <tt class="py-line"> </tt>
+<a name="L2971"></a><tt class="py-lineno">2971</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2972"></a><tt class="py-lineno">2972</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2973"></a><tt class="py-lineno">2973</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2974"></a><tt class="py-lineno">2974</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L2975"></a><tt class="py-lineno">2975</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2976"></a><tt class="py-lineno">2976</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L2977"></a><tt class="py-lineno">2977</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L2978"></a><tt class="py-lineno">2978</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L2979"></a><tt class="py-lineno">2979</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L2980"></a><tt class="py-lineno">2980</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1029" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1029', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1030" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1030', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L2981"></a><tt class="py-lineno">2981</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2982"></a><tt class="py-lineno">2982</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2983"></a><tt class="py-lineno">2983</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2984"></a><tt class="py-lineno">2984</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2985"></a><tt class="py-lineno">2985</tt>  <tt class="py-line">                                 <tt id="link-1031" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1031', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2986"></a><tt class="py-lineno">2986</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2987"></a><tt class="py-lineno">2987</tt>  <tt class="py-line"> </tt>
+<a name="L2988"></a><tt class="py-lineno">2988</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1032" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1032', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get then Increment a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2989"></a><tt class="py-lineno">2989</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2990"></a><tt class="py-lineno">2990</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2991"></a><tt class="py-lineno">2991</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2992"></a><tt class="py-lineno">2992</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2993"></a><tt class="py-lineno">2993</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1033" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1033', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1034" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counterTestGetAndAdd"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd" class="py-name" href="#" onclick="return doclink('link-1034', 'counterTestGetAndAdd', 'link-1034');">counterTestGetAndAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2994"></a><tt class="py-lineno">2994</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterGetAndAdd-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2995"></a><tt class="py-lineno">2995</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2996"></a><tt class="py-lineno">2996</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2997"></a><tt class="py-lineno">2997</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2998"></a><tt class="py-lineno">2998</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2999"></a><tt class="py-lineno">2999</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3000"></a><tt class="py-lineno">3000</tt>  <tt class="py-line"> </tt>
+<a name="L3001"></a><tt class="py-lineno">3001</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3002"></a><tt class="py-lineno">3002</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3003"></a><tt class="py-lineno">3003</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3004"></a><tt class="py-lineno">3004</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3005"></a><tt class="py-lineno">3005</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3006"></a><tt class="py-lineno">3006</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3007"></a><tt class="py-lineno">3007</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L3008"></a><tt class="py-lineno">3008</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3009"></a><tt class="py-lineno">3009</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3010"></a><tt class="py-lineno">3010</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1035" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1035', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1036" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1036', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L3011"></a><tt class="py-lineno">3011</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3012"></a><tt class="py-lineno">3012</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3013"></a><tt class="py-lineno">3013</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3014"></a><tt class="py-lineno">3014</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3015"></a><tt class="py-lineno">3015</tt>  <tt class="py-line">                                 <tt id="link-1037" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1037', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3016"></a><tt class="py-lineno">3016</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3017"></a><tt class="py-lineno">3017</tt>  <tt class="py-line"> </tt>
+<a name="L3018"></a><tt class="py-lineno">3018</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1038" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1038', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3019"></a><tt class="py-lineno">3019</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1039" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1039', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1040" class="py-name" targets="Function TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#counterCheck,Function TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#counterCheck,Function TestON.tests.HAsanity.dependencies.Counters.counterCheck()=TestON.tests.HAsanity.dependencies.Counters-module.html#counterCheck,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#counterCheck"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1040', 'counterCheck', 'link-1040');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">pCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3020"></a><tt class="py-lineno">3020</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3021"></a><tt class="py-lineno">3021</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L3022"></a><tt class="py-lineno">3022</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3023"></a><tt class="py-lineno">3023</tt>  <tt class="py-line">                                 <tt id="link-1041" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1041', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3024"></a><tt class="py-lineno">3024</tt>  <tt class="py-line"> </tt>
+<a name="L3025"></a><tt class="py-lineno">3025</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1042" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1042', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add -8 to then get a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3026"></a><tt class="py-lineno">3026</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3027"></a><tt class="py-lineno">3027</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3028"></a><tt class="py-lineno">3028</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3029"></a><tt class="py-lineno">3029</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3030"></a><tt class="py-lineno">3030</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1043" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1043', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1044" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1044', 'counterTestAddAndGet', 'link-1028');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3031"></a><tt class="py-lineno">3031</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3032"></a><tt class="py-lineno">3032</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3033"></a><tt class="py-lineno">3033</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-op">-</tt><tt class="py-number">8</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3034"></a><tt class="py-lineno">3034</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-op">-</tt><tt class="py-number">8</tt> </tt>
+<a name="L3035"></a><tt class="py-lineno">3035</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3036"></a><tt class="py-lineno">3036</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3037"></a><tt class="py-lineno">3037</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3038"></a><tt class="py-lineno">3038</tt>  <tt class="py-line"> </tt>
+<a name="L3039"></a><tt class="py-lineno">3039</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3040"></a><tt class="py-lineno">3040</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3041"></a><tt class="py-lineno">3041</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3042"></a><tt class="py-lineno">3042</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3043"></a><tt class="py-lineno">3043</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3044"></a><tt class="py-lineno">3044</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3045"></a><tt class="py-lineno">3045</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L3046"></a><tt class="py-lineno">3046</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3047"></a><tt class="py-lineno">3047</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3048"></a><tt class="py-lineno">3048</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1045" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1045', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1046" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1046', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L3049"></a><tt class="py-lineno">3049</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3050"></a><tt class="py-lineno">3050</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3051"></a><tt class="py-lineno">3051</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3052"></a><tt class="py-lineno">3052</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3053"></a><tt class="py-lineno">3053</tt>  <tt class="py-line">                                 <tt id="link-1047" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1047', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3054"></a><tt class="py-lineno">3054</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3055"></a><tt class="py-lineno">3055</tt>  <tt class="py-line"> </tt>
+<a name="L3056"></a><tt class="py-lineno">3056</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1048" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1048', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add 5 to then get a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3057"></a><tt class="py-lineno">3057</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3058"></a><tt class="py-lineno">3058</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3059"></a><tt class="py-lineno">3059</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3060"></a><tt class="py-lineno">3060</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3061"></a><tt class="py-lineno">3061</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1049" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1049', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1050" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1050', 'counterTestAddAndGet', 'link-1028');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3062"></a><tt class="py-lineno">3062</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3063"></a><tt class="py-lineno">3063</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3064"></a><tt class="py-lineno">3064</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-number">5</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3065"></a><tt class="py-lineno">3065</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L3066"></a><tt class="py-lineno">3066</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3067"></a><tt class="py-lineno">3067</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3068"></a><tt class="py-lineno">3068</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3069"></a><tt class="py-lineno">3069</tt>  <tt class="py-line"> </tt>
+<a name="L3070"></a><tt class="py-lineno">3070</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3071"></a><tt class="py-lineno">3071</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3072"></a><tt class="py-lineno">3072</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3073"></a><tt class="py-lineno">3073</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3074"></a><tt class="py-lineno">3074</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3075"></a><tt class="py-lineno">3075</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3076"></a><tt class="py-lineno">3076</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L3077"></a><tt class="py-lineno">3077</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3078"></a><tt class="py-lineno">3078</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3079"></a><tt class="py-lineno">3079</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1051" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1051', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1052" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1052', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L3080"></a><tt class="py-lineno">3080</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3081"></a><tt class="py-lineno">3081</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3082"></a><tt class="py-lineno">3082</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3083"></a><tt class="py-lineno">3083</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3084"></a><tt class="py-lineno">3084</tt>  <tt class="py-line">                                 <tt id="link-1053" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1053', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3085"></a><tt class="py-lineno">3085</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3086"></a><tt class="py-lineno">3086</tt>  <tt class="py-line"> </tt>
+<a name="L3087"></a><tt class="py-lineno">3087</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1054" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1054', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get then add 5 to a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3088"></a><tt class="py-lineno">3088</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3089"></a><tt class="py-lineno">3089</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3090"></a><tt class="py-lineno">3090</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3091"></a><tt class="py-lineno">3091</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3092"></a><tt class="py-lineno">3092</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1055" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1055', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1056" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd" class="py-name" href="#" onclick="return doclink('link-1056', 'counterTestGetAndAdd', 'link-1034');">counterTestGetAndAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3093"></a><tt class="py-lineno">3093</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3094"></a><tt class="py-lineno">3094</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3095"></a><tt class="py-lineno">3095</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-number">5</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3096"></a><tt class="py-lineno">3096</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3097"></a><tt class="py-lineno">3097</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L3098"></a><tt class="py-lineno">3098</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3099"></a><tt class="py-lineno">3099</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3100"></a><tt class="py-lineno">3100</tt>  <tt class="py-line"> </tt>
+<a name="L3101"></a><tt class="py-lineno">3101</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3102"></a><tt class="py-lineno">3102</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3103"></a><tt class="py-lineno">3103</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3104"></a><tt class="py-lineno">3104</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3105"></a><tt class="py-lineno">3105</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3106"></a><tt class="py-lineno">3106</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3107"></a><tt class="py-lineno">3107</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L3108"></a><tt class="py-lineno">3108</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3109"></a><tt class="py-lineno">3109</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3110"></a><tt class="py-lineno">3110</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1057" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1057', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1058" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1058', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L3111"></a><tt class="py-lineno">3111</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3112"></a><tt class="py-lineno">3112</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3113"></a><tt class="py-lineno">3113</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3114"></a><tt class="py-lineno">3114</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3115"></a><tt class="py-lineno">3115</tt>  <tt class="py-line">                                 <tt id="link-1059" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1059', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3116"></a><tt class="py-lineno">3116</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3117"></a><tt class="py-lineno">3117</tt>  <tt class="py-line"> </tt>
+<a name="L3118"></a><tt class="py-lineno">3118</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1060" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1060', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3119"></a><tt class="py-lineno">3119</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1061" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1061', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1062" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1062', 'counterCheck', 'link-1040');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">pCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3120"></a><tt class="py-lineno">3120</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3121"></a><tt class="py-lineno">3121</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L3122"></a><tt class="py-lineno">3122</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3123"></a><tt class="py-lineno">3123</tt>  <tt class="py-line">                                 <tt id="link-1063" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1063', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3124"></a><tt class="py-lineno">3124</tt>  <tt class="py-line"> </tt>
+<a name="L3125"></a><tt class="py-lineno">3125</tt>  <tt class="py-line">        <tt class="py-comment"># In-Memory counters</tt> </tt>
+<a name="L3126"></a><tt class="py-lineno">3126</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1064" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1064', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Increment and get an in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3127"></a><tt class="py-lineno">3127</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3128"></a><tt class="py-lineno">3128</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3129"></a><tt class="py-lineno">3129</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3130"></a><tt class="py-lineno">3130</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3131"></a><tt class="py-lineno">3131</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1065" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1065', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1066" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1066', 'counterTestAddAndGet', 'link-1028');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3132"></a><tt class="py-lineno">3132</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"icounterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3133"></a><tt class="py-lineno">3133</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3134"></a><tt class="py-lineno">3134</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3135"></a><tt class="py-lineno">3135</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L3136"></a><tt class="py-lineno">3136</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3137"></a><tt class="py-lineno">3137</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3138"></a><tt class="py-lineno">3138</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3139"></a><tt class="py-lineno">3139</tt>  <tt class="py-line"> </tt>
+<a name="L3140"></a><tt class="py-lineno">3140</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3141"></a><tt class="py-lineno">3141</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3142"></a><tt class="py-lineno">3142</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3143"></a><tt class="py-lineno">3143</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3144"></a><tt class="py-lineno">3144</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3145"></a><tt class="py-lineno">3145</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3146"></a><tt class="py-lineno">3146</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L3147"></a><tt class="py-lineno">3147</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3148"></a><tt class="py-lineno">3148</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3149"></a><tt class="py-lineno">3149</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1067" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1067', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1068" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1068', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in the in-memory "</tt> </tt>
+<a name="L3150"></a><tt class="py-lineno">3150</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3151"></a><tt class="py-lineno">3151</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3152"></a><tt class="py-lineno">3152</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">iCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3153"></a><tt class="py-lineno">3153</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3154"></a><tt class="py-lineno">3154</tt>  <tt class="py-line">                                 <tt id="link-1069" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1069', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3155"></a><tt class="py-lineno">3155</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3156"></a><tt class="py-lineno">3156</tt>  <tt class="py-line"> </tt>
+<a name="L3157"></a><tt class="py-lineno">3157</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1070" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1070', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get then Increment a in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3158"></a><tt class="py-lineno">3158</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3159"></a><tt class="py-lineno">3159</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3160"></a><tt class="py-lineno">3160</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3161"></a><tt class="py-lineno">3161</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3162"></a><tt class="py-lineno">3162</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1071" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1071', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1072" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd" class="py-name" href="#" onclick="return doclink('link-1072', 'counterTestGetAndAdd', 'link-1034');">counterTestGetAndAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3163"></a><tt class="py-lineno">3163</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterGetAndAdd-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3164"></a><tt class="py-lineno">3164</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3165"></a><tt class="py-lineno">3165</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3166"></a><tt class="py-lineno">3166</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3167"></a><tt class="py-lineno">3167</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L3168"></a><tt class="py-lineno">3168</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3169"></a><tt class="py-lineno">3169</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3170"></a><tt class="py-lineno">3170</tt>  <tt class="py-line"> </tt>
+<a name="L3171"></a><tt class="py-lineno">3171</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3172"></a><tt class="py-lineno">3172</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3173"></a><tt class="py-lineno">3173</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3174"></a><tt class="py-lineno">3174</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3175"></a><tt class="py-lineno">3175</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3176"></a><tt class="py-lineno">3176</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3177"></a><tt class="py-lineno">3177</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L3178"></a><tt class="py-lineno">3178</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3179"></a><tt class="py-lineno">3179</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3180"></a><tt class="py-lineno">3180</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1073" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1073', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1074" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1074', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in in-memory "</tt> </tt>
+<a name="L3181"></a><tt class="py-lineno">3181</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3182"></a><tt class="py-lineno">3182</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3183"></a><tt class="py-lineno">3183</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">iCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3184"></a><tt class="py-lineno">3184</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3185"></a><tt class="py-lineno">3185</tt>  <tt class="py-line">                                 <tt id="link-1075" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1075', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3186"></a><tt class="py-lineno">3186</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3187"></a><tt class="py-lineno">3187</tt>  <tt class="py-line"> </tt>
+<a name="L3188"></a><tt class="py-lineno">3188</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1076" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1076', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3189"></a><tt class="py-lineno">3189</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1077" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1077', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1078" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1078', 'counterCheck', 'link-1040');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3190"></a><tt class="py-lineno">3190</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3191"></a><tt class="py-lineno">3191</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L3192"></a><tt class="py-lineno">3192</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3193"></a><tt class="py-lineno">3193</tt>  <tt class="py-line">                                 <tt id="link-1079" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1079', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3194"></a><tt class="py-lineno">3194</tt>  <tt class="py-line"> </tt>
+<a name="L3195"></a><tt class="py-lineno">3195</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1080" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1080', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add -8 to then get a in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3196"></a><tt class="py-lineno">3196</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3197"></a><tt class="py-lineno">3197</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3198"></a><tt class="py-lineno">3198</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3199"></a><tt class="py-lineno">3199</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3200"></a><tt class="py-lineno">3200</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1081" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1081', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1082" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1082', 'counterTestAddAndGet', 'link-1028');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3201"></a><tt class="py-lineno">3201</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3202"></a><tt class="py-lineno">3202</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3203"></a><tt class="py-lineno">3203</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-op">-</tt><tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt>  <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3204"></a><tt class="py-lineno">3204</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-op">-</tt><tt class="py-number">8</tt> </tt>
+<a name="L3205"></a><tt class="py-lineno">3205</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3206"></a><tt class="py-lineno">3206</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3207"></a><tt class="py-lineno">3207</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3208"></a><tt class="py-lineno">3208</tt>  <tt class="py-line"> </tt>
+<a name="L3209"></a><tt class="py-lineno">3209</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3210"></a><tt class="py-lineno">3210</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3211"></a><tt class="py-lineno">3211</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3212"></a><tt class="py-lineno">3212</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3213"></a><tt class="py-lineno">3213</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3214"></a><tt class="py-lineno">3214</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3215"></a><tt class="py-lineno">3215</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L3216"></a><tt class="py-lineno">3216</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3217"></a><tt class="py-lineno">3217</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3218"></a><tt class="py-lineno">3218</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1083" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1083', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1084" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1084', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in in-memory "</tt> </tt>
+<a name="L3219"></a><tt class="py-lineno">3219</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3220"></a><tt class="py-lineno">3220</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3221"></a><tt class="py-lineno">3221</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3222"></a><tt class="py-lineno">3222</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3223"></a><tt class="py-lineno">3223</tt>  <tt class="py-line">                                 <tt id="link-1085" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1085', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3224"></a><tt class="py-lineno">3224</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3225"></a><tt class="py-lineno">3225</tt>  <tt class="py-line"> </tt>
+<a name="L3226"></a><tt class="py-lineno">3226</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1086" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1086', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add 5 to then get a in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3227"></a><tt class="py-lineno">3227</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3228"></a><tt class="py-lineno">3228</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3229"></a><tt class="py-lineno">3229</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3230"></a><tt class="py-lineno">3230</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3231"></a><tt class="py-lineno">3231</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1087" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1087', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1088" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1088', 'counterTestAddAndGet', 'link-1028');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3232"></a><tt class="py-lineno">3232</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3233"></a><tt class="py-lineno">3233</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3234"></a><tt class="py-lineno">3234</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt>  <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3235"></a><tt class="py-lineno">3235</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L3236"></a><tt class="py-lineno">3236</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3237"></a><tt class="py-lineno">3237</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3238"></a><tt class="py-lineno">3238</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3239"></a><tt class="py-lineno">3239</tt>  <tt class="py-line"> </tt>
+<a name="L3240"></a><tt class="py-lineno">3240</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3241"></a><tt class="py-lineno">3241</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3242"></a><tt class="py-lineno">3242</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3243"></a><tt class="py-lineno">3243</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3244"></a><tt class="py-lineno">3244</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3245"></a><tt class="py-lineno">3245</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3246"></a><tt class="py-lineno">3246</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L3247"></a><tt class="py-lineno">3247</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3248"></a><tt class="py-lineno">3248</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3249"></a><tt class="py-lineno">3249</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1089" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1089', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1090" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1090', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in in-memory "</tt> </tt>
+<a name="L3250"></a><tt class="py-lineno">3250</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3251"></a><tt class="py-lineno">3251</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3252"></a><tt class="py-lineno">3252</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3253"></a><tt class="py-lineno">3253</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3254"></a><tt class="py-lineno">3254</tt>  <tt class="py-line">                                 <tt id="link-1091" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1091', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3255"></a><tt class="py-lineno">3255</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3256"></a><tt class="py-lineno">3256</tt>  <tt class="py-line"> </tt>
+<a name="L3257"></a><tt class="py-lineno">3257</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1092" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1092', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get then add 5 to a in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3258"></a><tt class="py-lineno">3258</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3259"></a><tt class="py-lineno">3259</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3260"></a><tt class="py-lineno">3260</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3261"></a><tt class="py-lineno">3261</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3262"></a><tt class="py-lineno">3262</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1093" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1093', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1094" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd" class="py-name" href="#" onclick="return doclink('link-1094', 'counterTestGetAndAdd', 'link-1034');">counterTestGetAndAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3263"></a><tt class="py-lineno">3263</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3264"></a><tt class="py-lineno">3264</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3265"></a><tt class="py-lineno">3265</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt>  <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3266"></a><tt class="py-lineno">3266</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3267"></a><tt class="py-lineno">3267</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L3268"></a><tt class="py-lineno">3268</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3269"></a><tt class="py-lineno">3269</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3270"></a><tt class="py-lineno">3270</tt>  <tt class="py-line"> </tt>
+<a name="L3271"></a><tt class="py-lineno">3271</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3272"></a><tt class="py-lineno">3272</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3273"></a><tt class="py-lineno">3273</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3274"></a><tt class="py-lineno">3274</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3275"></a><tt class="py-lineno">3275</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3276"></a><tt class="py-lineno">3276</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3277"></a><tt class="py-lineno">3277</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L3278"></a><tt class="py-lineno">3278</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3279"></a><tt class="py-lineno">3279</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3280"></a><tt class="py-lineno">3280</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1095" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1095', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1096" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1096', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in in-memory "</tt> </tt>
+<a name="L3281"></a><tt class="py-lineno">3281</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3282"></a><tt class="py-lineno">3282</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3283"></a><tt class="py-lineno">3283</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">iCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3284"></a><tt class="py-lineno">3284</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3285"></a><tt class="py-lineno">3285</tt>  <tt class="py-line">                                 <tt id="link-1097" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1097', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3286"></a><tt class="py-lineno">3286</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3287"></a><tt class="py-lineno">3287</tt>  <tt class="py-line"> </tt>
+<a name="L3288"></a><tt class="py-lineno">3288</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1098" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1098', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3289"></a><tt class="py-lineno">3289</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1099" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1099', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1100" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1100', 'counterCheck', 'link-1040');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3290"></a><tt class="py-lineno">3290</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3291"></a><tt class="py-lineno">3291</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L3292"></a><tt class="py-lineno">3292</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3293"></a><tt class="py-lineno">3293</tt>  <tt class="py-line">                                 <tt id="link-1101" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1101', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3294"></a><tt class="py-lineno">3294</tt>  <tt class="py-line"> </tt>
+<a name="L3295"></a><tt class="py-lineno">3295</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1102" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1102', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check counters are consistant across nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3296"></a><tt class="py-lineno">3296</tt>  <tt class="py-line">        <tt class="py-name">onosCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3297"></a><tt class="py-lineno">3297</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3298"></a><tt class="py-lineno">3298</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3299"></a><tt class="py-lineno">3299</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1103" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1103', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1104" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counters"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters" class="py-name" href="#" onclick="return doclink('link-1104', 'counters', 'link-1104');">counters</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3300"></a><tt class="py-lineno">3300</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counters-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3301"></a><tt class="py-lineno">3301</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3302"></a><tt class="py-lineno">3302</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3303"></a><tt class="py-lineno">3303</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3304"></a><tt class="py-lineno">3304</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3305"></a><tt class="py-lineno">3305</tt>  <tt class="py-line">            <tt class="py-name">onosCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3306"></a><tt class="py-lineno">3306</tt>  <tt class="py-line">        <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosCounters</tt> <tt class="py-op">]</tt> </tt>
+<a name="L3307"></a><tt class="py-lineno">3307</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt> <tt class="py-name">tmp</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3308"></a><tt class="py-lineno">3308</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1105" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1105', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Counters are consistent across all nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3309"></a><tt class="py-lineno">3309</tt>  <tt class="py-line">            <tt class="py-name">consistentCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3310"></a><tt class="py-lineno">3310</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3311"></a><tt class="py-lineno">3311</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1106" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1106', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1107" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1107', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters are not consistent across all nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3312"></a><tt class="py-lineno">3312</tt>  <tt class="py-line">            <tt class="py-name">consistentCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3313"></a><tt class="py-lineno">3313</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3314"></a><tt class="py-lineno">3314</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3315"></a><tt class="py-lineno">3315</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS counters are consistent "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3316"></a><tt class="py-lineno">3316</tt>  <tt class="py-line">                                        <tt class="py-string">"across nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3317"></a><tt class="py-lineno">3317</tt>  <tt class="py-line">                                 <tt id="link-1108" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1108', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS Counters are inconsistent "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3318"></a><tt class="py-lineno">3318</tt>  <tt class="py-line">                                        <tt class="py-string">"across nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3319"></a><tt class="py-lineno">3319</tt>  <tt class="py-line"> </tt>
+<a name="L3320"></a><tt class="py-lineno">3320</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1109" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1109', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3321"></a><tt class="py-lineno">3321</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1110" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1110', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1111" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1111', 'counterCheck', 'link-1040');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3322"></a><tt class="py-lineno">3322</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">incrementCheck</tt> <tt class="py-keyword">and</tt> \ </tt>
+<a name="L3323"></a><tt class="py-lineno">3323</tt>  <tt class="py-line">                         <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1112" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1112', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1113" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1113', 'counterCheck', 'link-1040');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3324"></a><tt class="py-lineno">3324</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3325"></a><tt class="py-lineno">3325</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L3326"></a><tt class="py-lineno">3326</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3327"></a><tt class="py-lineno">3327</tt>  <tt class="py-line">                                 <tt id="link-1114" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1114', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3328"></a><tt class="py-lineno">3328</tt>  <tt class="py-line"> </tt>
+<a name="L3329"></a><tt class="py-lineno">3329</tt>  <tt class="py-line">        <tt class="py-comment"># DISTRIBUTED SETS</tt> </tt>
+<a name="L3330"></a><tt class="py-lineno">3330</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1115" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1115', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set get"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3331"></a><tt class="py-lineno">3331</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3332"></a><tt class="py-lineno">3332</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3333"></a><tt class="py-lineno">3333</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3334"></a><tt class="py-lineno">3334</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3335"></a><tt class="py-lineno">3335</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1116" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1116', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1117" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestGet"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1117', 'setTestGet', 'link-1117');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3336"></a><tt class="py-lineno">3336</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3337"></a><tt class="py-lineno">3337</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3338"></a><tt class="py-lineno">3338</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3339"></a><tt class="py-lineno">3339</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3340"></a><tt class="py-lineno">3340</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3341"></a><tt class="py-lineno">3341</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3342"></a><tt class="py-lineno">3342</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3343"></a><tt class="py-lineno">3343</tt>  <tt class="py-line"> </tt>
+<a name="L3344"></a><tt class="py-lineno">3344</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3345"></a><tt class="py-lineno">3345</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3346"></a><tt class="py-lineno">3346</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3347"></a><tt class="py-lineno">3347</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3348"></a><tt class="py-lineno">3348</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3349"></a><tt class="py-lineno">3349</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3350"></a><tt class="py-lineno">3350</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3351"></a><tt class="py-lineno">3351</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1118" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1118', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1119" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1119', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3352"></a><tt class="py-lineno">3352</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3353"></a><tt class="py-lineno">3353</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3354"></a><tt class="py-lineno">3354</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3355"></a><tt class="py-lineno">3355</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1120" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1120', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3356"></a><tt class="py-lineno">3356</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1121" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1121', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3357"></a><tt class="py-lineno">3357</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3358"></a><tt class="py-lineno">3358</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3359"></a><tt class="py-lineno">3359</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3360"></a><tt class="py-lineno">3360</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1122" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1122', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1123" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1123', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3361"></a><tt class="py-lineno">3361</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3362"></a><tt class="py-lineno">3362</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3363"></a><tt class="py-lineno">3363</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3364"></a><tt class="py-lineno">3364</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3365"></a><tt class="py-lineno">3365</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3366"></a><tt class="py-lineno">3366</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3367"></a><tt class="py-lineno">3367</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3368"></a><tt class="py-lineno">3368</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">getResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3369"></a><tt class="py-lineno">3369</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set elements are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3370"></a><tt class="py-lineno">3370</tt>  <tt class="py-line">                                 <tt id="link-1124" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1124', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set elements are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3371"></a><tt class="py-lineno">3371</tt>  <tt class="py-line"> </tt>
+<a name="L3372"></a><tt class="py-lineno">3372</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1125" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1125', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set size"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3373"></a><tt class="py-lineno">3373</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3374"></a><tt class="py-lineno">3374</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3375"></a><tt class="py-lineno">3375</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3376"></a><tt class="py-lineno">3376</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1126" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1126', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1127" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestSize"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1127', 'setTestSize', 'link-1127');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3377"></a><tt class="py-lineno">3377</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3378"></a><tt class="py-lineno">3378</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3379"></a><tt class="py-lineno">3379</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3380"></a><tt class="py-lineno">3380</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3381"></a><tt class="py-lineno">3381</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3382"></a><tt class="py-lineno">3382</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3383"></a><tt class="py-lineno">3383</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3384"></a><tt class="py-lineno">3384</tt>  <tt class="py-line"> </tt>
+<a name="L3385"></a><tt class="py-lineno">3385</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3386"></a><tt class="py-lineno">3386</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3387"></a><tt class="py-lineno">3387</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3388"></a><tt class="py-lineno">3388</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3389"></a><tt class="py-lineno">3389</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1128" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1128', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1129" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1129', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3390"></a><tt class="py-lineno">3390</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3391"></a><tt class="py-lineno">3391</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3392"></a><tt class="py-lineno">3392</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3393"></a><tt class="py-lineno">3393</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3394"></a><tt class="py-lineno">3394</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">sizeResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3395"></a><tt class="py-lineno">3395</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set sizes are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3396"></a><tt class="py-lineno">3396</tt>  <tt class="py-line">                                 <tt id="link-1130" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1130', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set sizes are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3397"></a><tt class="py-lineno">3397</tt>  <tt class="py-line"> </tt>
+<a name="L3398"></a><tt class="py-lineno">3398</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1131" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1131', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set add()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3399"></a><tt class="py-lineno">3399</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">add</tt><tt class="py-op">(</tt> <tt class="py-name">addValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3400"></a><tt class="py-lineno">3400</tt>  <tt class="py-line">        <tt class="py-name">addResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3401"></a><tt class="py-lineno">3401</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3402"></a><tt class="py-lineno">3402</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3403"></a><tt class="py-lineno">3403</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1132" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1132', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1133" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestAdd"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd" class="py-name" href="#" onclick="return doclink('link-1133', 'setTestAdd', 'link-1133');">setTestAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3404"></a><tt class="py-lineno">3404</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestAdd-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3405"></a><tt class="py-lineno">3405</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3406"></a><tt class="py-lineno">3406</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3407"></a><tt class="py-lineno">3407</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3408"></a><tt class="py-lineno">3408</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3409"></a><tt class="py-lineno">3409</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3410"></a><tt class="py-lineno">3410</tt>  <tt class="py-line">            <tt class="py-name">addResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3411"></a><tt class="py-lineno">3411</tt>  <tt class="py-line"> </tt>
+<a name="L3412"></a><tt class="py-lineno">3412</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3413"></a><tt class="py-lineno">3413</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3414"></a><tt class="py-lineno">3414</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3415"></a><tt class="py-lineno">3415</tt>  <tt class="py-line">        <tt class="py-name">addResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3416"></a><tt class="py-lineno">3416</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3417"></a><tt class="py-lineno">3417</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3418"></a><tt class="py-lineno">3418</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3419"></a><tt class="py-lineno">3419</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3420"></a><tt class="py-lineno">3420</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3421"></a><tt class="py-lineno">3421</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L3422"></a><tt class="py-lineno">3422</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3423"></a><tt class="py-lineno">3423</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3424"></a><tt class="py-lineno">3424</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3425"></a><tt class="py-lineno">3425</tt>  <tt class="py-line">                <tt class="py-name">addResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3426"></a><tt class="py-lineno">3426</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3427"></a><tt class="py-lineno">3427</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3428"></a><tt class="py-lineno">3428</tt>  <tt class="py-line">                <tt class="py-name">addResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3429"></a><tt class="py-lineno">3429</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">addResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3430"></a><tt class="py-lineno">3430</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1134" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1134', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1135" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1135', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set add"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3431"></a><tt class="py-lineno">3431</tt>  <tt class="py-line"> </tt>
+<a name="L3432"></a><tt class="py-lineno">3432</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3433"></a><tt class="py-lineno">3433</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3434"></a><tt class="py-lineno">3434</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3435"></a><tt class="py-lineno">3435</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3436"></a><tt class="py-lineno">3436</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3437"></a><tt class="py-lineno">3437</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1136" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1136', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1137" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1137', 'setTestGet', 'link-1117');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3438"></a><tt class="py-lineno">3438</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3439"></a><tt class="py-lineno">3439</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3440"></a><tt class="py-lineno">3440</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3441"></a><tt class="py-lineno">3441</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3442"></a><tt class="py-lineno">3442</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3443"></a><tt class="py-lineno">3443</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3444"></a><tt class="py-lineno">3444</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3445"></a><tt class="py-lineno">3445</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3446"></a><tt class="py-lineno">3446</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3447"></a><tt class="py-lineno">3447</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3448"></a><tt class="py-lineno">3448</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3449"></a><tt class="py-lineno">3449</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3450"></a><tt class="py-lineno">3450</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3451"></a><tt class="py-lineno">3451</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3452"></a><tt class="py-lineno">3452</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1138" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1138', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1139" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1139', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3453"></a><tt class="py-lineno">3453</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3454"></a><tt class="py-lineno">3454</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3455"></a><tt class="py-lineno">3455</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3456"></a><tt class="py-lineno">3456</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1140" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1140', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3457"></a><tt class="py-lineno">3457</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1141" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1141', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3458"></a><tt class="py-lineno">3458</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3459"></a><tt class="py-lineno">3459</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3460"></a><tt class="py-lineno">3460</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3461"></a><tt class="py-lineno">3461</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1142" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1142', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1143" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1143', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3462"></a><tt class="py-lineno">3462</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3463"></a><tt class="py-lineno">3463</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3464"></a><tt class="py-lineno">3464</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3465"></a><tt class="py-lineno">3465</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3466"></a><tt class="py-lineno">3466</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3467"></a><tt class="py-lineno">3467</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3468"></a><tt class="py-lineno">3468</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3469"></a><tt class="py-lineno">3469</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3470"></a><tt class="py-lineno">3470</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3471"></a><tt class="py-lineno">3471</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1144" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1144', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1145" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1145', 'setTestSize', 'link-1127');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3472"></a><tt class="py-lineno">3472</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3473"></a><tt class="py-lineno">3473</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3474"></a><tt class="py-lineno">3474</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3475"></a><tt class="py-lineno">3475</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3476"></a><tt class="py-lineno">3476</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3477"></a><tt class="py-lineno">3477</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3478"></a><tt class="py-lineno">3478</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3479"></a><tt class="py-lineno">3479</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3480"></a><tt class="py-lineno">3480</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3481"></a><tt class="py-lineno">3481</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3482"></a><tt class="py-lineno">3482</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3483"></a><tt class="py-lineno">3483</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1146" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1146', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1147" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1147', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3484"></a><tt class="py-lineno">3484</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3485"></a><tt class="py-lineno">3485</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3486"></a><tt class="py-lineno">3486</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3487"></a><tt class="py-lineno">3487</tt>  <tt class="py-line">        <tt class="py-name">addResults</tt> <tt class="py-op">=</tt> <tt class="py-name">addResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3488"></a><tt class="py-lineno">3488</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3489"></a><tt class="py-lineno">3489</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">addResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3490"></a><tt class="py-lineno">3490</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set add correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3491"></a><tt class="py-lineno">3491</tt>  <tt class="py-line">                                 <tt id="link-1148" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1148', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set add was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3492"></a><tt class="py-lineno">3492</tt>  <tt class="py-line"> </tt>
+<a name="L3493"></a><tt class="py-lineno">3493</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1149" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1149', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set addAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3494"></a><tt class="py-lineno">3494</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt id="link-1150" class="py-name" targets="Method TestON.core.dicttoobject.DictToObject.update()=TestON.core.dicttoobject.DictToObject-class.html#update,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#update"><a title="TestON.core.dicttoobject.DictToObject.update
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update" class="py-name" href="#" onclick="return doclink('link-1150', 'update', 'link-1150');">update</a></tt><tt class="py-op">(</tt> <tt class="py-name">addAllValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3495"></a><tt class="py-lineno">3495</tt>  <tt class="py-line">        <tt class="py-name">addResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3496"></a><tt class="py-lineno">3496</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3497"></a><tt class="py-lineno">3497</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3498"></a><tt class="py-lineno">3498</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1151" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1151', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1152" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd" class="py-name" href="#" onclick="return doclink('link-1152', 'setTestAdd', 'link-1133');">setTestAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3499"></a><tt class="py-lineno">3499</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestAddAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3500"></a><tt class="py-lineno">3500</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3501"></a><tt class="py-lineno">3501</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3502"></a><tt class="py-lineno">3502</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3503"></a><tt class="py-lineno">3503</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3504"></a><tt class="py-lineno">3504</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3505"></a><tt class="py-lineno">3505</tt>  <tt class="py-line">            <tt class="py-name">addResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3506"></a><tt class="py-lineno">3506</tt>  <tt class="py-line"> </tt>
+<a name="L3507"></a><tt class="py-lineno">3507</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3508"></a><tt class="py-lineno">3508</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3509"></a><tt class="py-lineno">3509</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3510"></a><tt class="py-lineno">3510</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3511"></a><tt class="py-lineno">3511</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3512"></a><tt class="py-lineno">3512</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3513"></a><tt class="py-lineno">3513</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3514"></a><tt class="py-lineno">3514</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3515"></a><tt class="py-lineno">3515</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3516"></a><tt class="py-lineno">3516</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L3517"></a><tt class="py-lineno">3517</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3518"></a><tt class="py-lineno">3518</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3519"></a><tt class="py-lineno">3519</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3520"></a><tt class="py-lineno">3520</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3521"></a><tt class="py-lineno">3521</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3522"></a><tt class="py-lineno">3522</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3523"></a><tt class="py-lineno">3523</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3524"></a><tt class="py-lineno">3524</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">addAllResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3525"></a><tt class="py-lineno">3525</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1153" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1153', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1154" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1154', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set addAll"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3526"></a><tt class="py-lineno">3526</tt>  <tt class="py-line"> </tt>
+<a name="L3527"></a><tt class="py-lineno">3527</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3528"></a><tt class="py-lineno">3528</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3529"></a><tt class="py-lineno">3529</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3530"></a><tt class="py-lineno">3530</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3531"></a><tt class="py-lineno">3531</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3532"></a><tt class="py-lineno">3532</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1155" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1155', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1156" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1156', 'setTestGet', 'link-1117');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3533"></a><tt class="py-lineno">3533</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3534"></a><tt class="py-lineno">3534</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3535"></a><tt class="py-lineno">3535</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3536"></a><tt class="py-lineno">3536</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3537"></a><tt class="py-lineno">3537</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3538"></a><tt class="py-lineno">3538</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3539"></a><tt class="py-lineno">3539</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3540"></a><tt class="py-lineno">3540</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3541"></a><tt class="py-lineno">3541</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3542"></a><tt class="py-lineno">3542</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3543"></a><tt class="py-lineno">3543</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3544"></a><tt class="py-lineno">3544</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3545"></a><tt class="py-lineno">3545</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3546"></a><tt class="py-lineno">3546</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3547"></a><tt class="py-lineno">3547</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1157" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1157', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1158" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1158', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3548"></a><tt class="py-lineno">3548</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3549"></a><tt class="py-lineno">3549</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3550"></a><tt class="py-lineno">3550</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3551"></a><tt class="py-lineno">3551</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1159" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1159', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3552"></a><tt class="py-lineno">3552</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1160" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1160', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3553"></a><tt class="py-lineno">3553</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3554"></a><tt class="py-lineno">3554</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3555"></a><tt class="py-lineno">3555</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3556"></a><tt class="py-lineno">3556</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1161" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1161', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1162" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1162', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3557"></a><tt class="py-lineno">3557</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3558"></a><tt class="py-lineno">3558</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3559"></a><tt class="py-lineno">3559</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3560"></a><tt class="py-lineno">3560</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3561"></a><tt class="py-lineno">3561</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3562"></a><tt class="py-lineno">3562</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3563"></a><tt class="py-lineno">3563</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3564"></a><tt class="py-lineno">3564</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3565"></a><tt class="py-lineno">3565</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3566"></a><tt class="py-lineno">3566</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1163" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1163', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1164" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1164', 'setTestSize', 'link-1127');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3567"></a><tt class="py-lineno">3567</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3568"></a><tt class="py-lineno">3568</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3569"></a><tt class="py-lineno">3569</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3570"></a><tt class="py-lineno">3570</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3571"></a><tt class="py-lineno">3571</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3572"></a><tt class="py-lineno">3572</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3573"></a><tt class="py-lineno">3573</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3574"></a><tt class="py-lineno">3574</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3575"></a><tt class="py-lineno">3575</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3576"></a><tt class="py-lineno">3576</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3577"></a><tt class="py-lineno">3577</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3578"></a><tt class="py-lineno">3578</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1165" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1165', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1166" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1166', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3579"></a><tt class="py-lineno">3579</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3580"></a><tt class="py-lineno">3580</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3581"></a><tt class="py-lineno">3581</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3582"></a><tt class="py-lineno">3582</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">addAllResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3583"></a><tt class="py-lineno">3583</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3584"></a><tt class="py-lineno">3584</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">addAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3585"></a><tt class="py-lineno">3585</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3586"></a><tt class="py-lineno">3586</tt>  <tt class="py-line">                                 <tt id="link-1167" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1167', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3587"></a><tt class="py-lineno">3587</tt>  <tt class="py-line"> </tt>
+<a name="L3588"></a><tt class="py-lineno">3588</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1168" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1168', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set contains()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3589"></a><tt class="py-lineno">3589</tt>  <tt class="py-line">        <tt class="py-name">containsResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3590"></a><tt class="py-lineno">3590</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3591"></a><tt class="py-lineno">3591</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3592"></a><tt class="py-lineno">3592</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1169" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1169', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1170" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1170', 'setTestGet', 'link-1117');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3593"></a><tt class="py-lineno">3593</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setContains-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3594"></a><tt class="py-lineno">3594</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3595"></a><tt class="py-lineno">3595</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"values"</tt><tt class="py-op">:</tt> <tt class="py-name">addValue</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3596"></a><tt class="py-lineno">3596</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3597"></a><tt class="py-lineno">3597</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3598"></a><tt class="py-lineno">3598</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3599"></a><tt class="py-lineno">3599</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3600"></a><tt class="py-lineno">3600</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: This is the tuple</tt> </tt>
+<a name="L3601"></a><tt class="py-lineno">3601</tt>  <tt class="py-line">            <tt class="py-name">containsResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3602"></a><tt class="py-lineno">3602</tt>  <tt class="py-line"> </tt>
+<a name="L3603"></a><tt class="py-lineno">3603</tt>  <tt class="py-line">        <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3604"></a><tt class="py-lineno">3604</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3605"></a><tt class="py-lineno">3605</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">containsResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3606"></a><tt class="py-lineno">3606</tt>  <tt class="py-line">                <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3607"></a><tt class="py-lineno">3607</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3608"></a><tt class="py-lineno">3608</tt>  <tt class="py-line">                <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">containsResults</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L3609"></a><tt class="py-lineno">3609</tt>  <tt class="py-line">                                  <tt class="py-name">containsResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L3610"></a><tt class="py-lineno">3610</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3611"></a><tt class="py-lineno">3611</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">containsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3612"></a><tt class="py-lineno">3612</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set contains is functional"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3613"></a><tt class="py-lineno">3613</tt>  <tt class="py-line">                                 <tt id="link-1171" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1171', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set contains failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3614"></a><tt class="py-lineno">3614</tt>  <tt class="py-line"> </tt>
+<a name="L3615"></a><tt class="py-lineno">3615</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1172" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1172', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set containsAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3616"></a><tt class="py-lineno">3616</tt>  <tt class="py-line">        <tt class="py-name">containsAllResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3617"></a><tt class="py-lineno">3617</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3618"></a><tt class="py-lineno">3618</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3619"></a><tt class="py-lineno">3619</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1173" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1173', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1174" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1174', 'setTestGet', 'link-1117');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3620"></a><tt class="py-lineno">3620</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setContainsAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3621"></a><tt class="py-lineno">3621</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3622"></a><tt class="py-lineno">3622</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"values"</tt><tt class="py-op">:</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3623"></a><tt class="py-lineno">3623</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3624"></a><tt class="py-lineno">3624</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3625"></a><tt class="py-lineno">3625</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3626"></a><tt class="py-lineno">3626</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3627"></a><tt class="py-lineno">3627</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: This is the tuple</tt> </tt>
+<a name="L3628"></a><tt class="py-lineno">3628</tt>  <tt class="py-line">            <tt class="py-name">containsAllResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3629"></a><tt class="py-lineno">3629</tt>  <tt class="py-line"> </tt>
+<a name="L3630"></a><tt class="py-lineno">3630</tt>  <tt class="py-line">        <tt class="py-name">containsAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3631"></a><tt class="py-lineno">3631</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3632"></a><tt class="py-lineno">3632</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">containsResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3633"></a><tt class="py-lineno">3633</tt>  <tt class="py-line">                <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3634"></a><tt class="py-lineno">3634</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3635"></a><tt class="py-lineno">3635</tt>  <tt class="py-line">                <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">containsResults</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L3636"></a><tt class="py-lineno">3636</tt>  <tt class="py-line">                                  <tt class="py-name">containsResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L3637"></a><tt class="py-lineno">3637</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3638"></a><tt class="py-lineno">3638</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">containsAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3639"></a><tt class="py-lineno">3639</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set containsAll is functional"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3640"></a><tt class="py-lineno">3640</tt>  <tt class="py-line">                                 <tt id="link-1175" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1175', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set containsAll failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3641"></a><tt class="py-lineno">3641</tt>  <tt class="py-line"> </tt>
+<a name="L3642"></a><tt class="py-lineno">3642</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1176" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1176', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set remove()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3643"></a><tt class="py-lineno">3643</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt> <tt class="py-name">addValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3644"></a><tt class="py-lineno">3644</tt>  <tt class="py-line">        <tt class="py-name">removeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3645"></a><tt class="py-lineno">3645</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3646"></a><tt class="py-lineno">3646</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3647"></a><tt class="py-lineno">3647</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1177" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1177', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1178" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestRemove"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove" class="py-name" href="#" onclick="return doclink('link-1178', 'setTestRemove', 'link-1178');">setTestRemove</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3648"></a><tt class="py-lineno">3648</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestRemove-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3649"></a><tt class="py-lineno">3649</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3650"></a><tt class="py-lineno">3650</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3651"></a><tt class="py-lineno">3651</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3652"></a><tt class="py-lineno">3652</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3653"></a><tt class="py-lineno">3653</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3654"></a><tt class="py-lineno">3654</tt>  <tt class="py-line">            <tt class="py-name">removeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3655"></a><tt class="py-lineno">3655</tt>  <tt class="py-line"> </tt>
+<a name="L3656"></a><tt class="py-lineno">3656</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3657"></a><tt class="py-lineno">3657</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3658"></a><tt class="py-lineno">3658</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3659"></a><tt class="py-lineno">3659</tt>  <tt class="py-line">        <tt class="py-name">removeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3660"></a><tt class="py-lineno">3660</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3661"></a><tt class="py-lineno">3661</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">removeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3662"></a><tt class="py-lineno">3662</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3663"></a><tt class="py-lineno">3663</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3664"></a><tt class="py-lineno">3664</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">removeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3665"></a><tt class="py-lineno">3665</tt>  <tt class="py-line">                <tt class="py-comment"># not in set, probably fine</tt> </tt>
+<a name="L3666"></a><tt class="py-lineno">3666</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3667"></a><tt class="py-lineno">3667</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">removeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3668"></a><tt class="py-lineno">3668</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3669"></a><tt class="py-lineno">3669</tt>  <tt class="py-line">                <tt class="py-name">removeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3670"></a><tt class="py-lineno">3670</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3671"></a><tt class="py-lineno">3671</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3672"></a><tt class="py-lineno">3672</tt>  <tt class="py-line">                <tt class="py-name">removeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3673"></a><tt class="py-lineno">3673</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">removeResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3674"></a><tt class="py-lineno">3674</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1179" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1179', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1180" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1180', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set remove"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3675"></a><tt class="py-lineno">3675</tt>  <tt class="py-line"> </tt>
+<a name="L3676"></a><tt class="py-lineno">3676</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3677"></a><tt class="py-lineno">3677</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3678"></a><tt class="py-lineno">3678</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3679"></a><tt class="py-lineno">3679</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3680"></a><tt class="py-lineno">3680</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3681"></a><tt class="py-lineno">3681</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1181" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1181', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1182" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1182', 'setTestGet', 'link-1117');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3682"></a><tt class="py-lineno">3682</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3683"></a><tt class="py-lineno">3683</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3684"></a><tt class="py-lineno">3684</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3685"></a><tt class="py-lineno">3685</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3686"></a><tt class="py-lineno">3686</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3687"></a><tt class="py-lineno">3687</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3688"></a><tt class="py-lineno">3688</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3689"></a><tt class="py-lineno">3689</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3690"></a><tt class="py-lineno">3690</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3691"></a><tt class="py-lineno">3691</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3692"></a><tt class="py-lineno">3692</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3693"></a><tt class="py-lineno">3693</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3694"></a><tt class="py-lineno">3694</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3695"></a><tt class="py-lineno">3695</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3696"></a><tt class="py-lineno">3696</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1183" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1183', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1184" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1184', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3697"></a><tt class="py-lineno">3697</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3698"></a><tt class="py-lineno">3698</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3699"></a><tt class="py-lineno">3699</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3700"></a><tt class="py-lineno">3700</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1185" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1185', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3701"></a><tt class="py-lineno">3701</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1186" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1186', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3702"></a><tt class="py-lineno">3702</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3703"></a><tt class="py-lineno">3703</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3704"></a><tt class="py-lineno">3704</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3705"></a><tt class="py-lineno">3705</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1187" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1187', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1188" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1188', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3706"></a><tt class="py-lineno">3706</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3707"></a><tt class="py-lineno">3707</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3708"></a><tt class="py-lineno">3708</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3709"></a><tt class="py-lineno">3709</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3710"></a><tt class="py-lineno">3710</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3711"></a><tt class="py-lineno">3711</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3712"></a><tt class="py-lineno">3712</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3713"></a><tt class="py-lineno">3713</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3714"></a><tt class="py-lineno">3714</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3715"></a><tt class="py-lineno">3715</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1189" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1189', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1190" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1190', 'setTestSize', 'link-1127');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3716"></a><tt class="py-lineno">3716</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3717"></a><tt class="py-lineno">3717</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3718"></a><tt class="py-lineno">3718</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3719"></a><tt class="py-lineno">3719</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3720"></a><tt class="py-lineno">3720</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3721"></a><tt class="py-lineno">3721</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3722"></a><tt class="py-lineno">3722</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3723"></a><tt class="py-lineno">3723</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3724"></a><tt class="py-lineno">3724</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3725"></a><tt class="py-lineno">3725</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3726"></a><tt class="py-lineno">3726</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3727"></a><tt class="py-lineno">3727</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1191" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1191', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1192" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1192', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3728"></a><tt class="py-lineno">3728</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3729"></a><tt class="py-lineno">3729</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3730"></a><tt class="py-lineno">3730</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3731"></a><tt class="py-lineno">3731</tt>  <tt class="py-line">        <tt class="py-name">removeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">removeResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3732"></a><tt class="py-lineno">3732</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3733"></a><tt class="py-lineno">3733</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">removeResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3734"></a><tt class="py-lineno">3734</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set remove correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3735"></a><tt class="py-lineno">3735</tt>  <tt class="py-line">                                 <tt id="link-1193" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1193', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set remove was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3736"></a><tt class="py-lineno">3736</tt>  <tt class="py-line"> </tt>
+<a name="L3737"></a><tt class="py-lineno">3737</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1194" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1194', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set removeAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3738"></a><tt class="py-lineno">3738</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">difference_update</tt><tt class="py-op">(</tt> <tt class="py-name">addAllValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3739"></a><tt class="py-lineno">3739</tt>  <tt class="py-line">        <tt class="py-name">removeAllResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3740"></a><tt class="py-lineno">3740</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3741"></a><tt class="py-lineno">3741</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3742"></a><tt class="py-lineno">3742</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3743"></a><tt class="py-lineno">3743</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1195" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1195', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1196" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove" class="py-name" href="#" onclick="return doclink('link-1196', 'setTestRemove', 'link-1178');">setTestRemove</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3744"></a><tt class="py-lineno">3744</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestRemoveAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3745"></a><tt class="py-lineno">3745</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3746"></a><tt class="py-lineno">3746</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3747"></a><tt class="py-lineno">3747</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3748"></a><tt class="py-lineno">3748</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3749"></a><tt class="py-lineno">3749</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3750"></a><tt class="py-lineno">3750</tt>  <tt class="py-line">                <tt class="py-name">removeAllResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3751"></a><tt class="py-lineno">3751</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L3752"></a><tt class="py-lineno">3752</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1197" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1197', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
+<a name="L3753"></a><tt class="py-lineno">3753</tt>  <tt class="py-line"> </tt>
+<a name="L3754"></a><tt class="py-lineno">3754</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3755"></a><tt class="py-lineno">3755</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3756"></a><tt class="py-lineno">3756</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3757"></a><tt class="py-lineno">3757</tt>  <tt class="py-line">        <tt class="py-name">removeAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3758"></a><tt class="py-lineno">3758</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3759"></a><tt class="py-lineno">3759</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">removeAllResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3760"></a><tt class="py-lineno">3760</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3761"></a><tt class="py-lineno">3761</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3762"></a><tt class="py-lineno">3762</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">removeAllResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3763"></a><tt class="py-lineno">3763</tt>  <tt class="py-line">                <tt class="py-comment"># not in set, probably fine</tt> </tt>
+<a name="L3764"></a><tt class="py-lineno">3764</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3765"></a><tt class="py-lineno">3765</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">removeAllResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3766"></a><tt class="py-lineno">3766</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3767"></a><tt class="py-lineno">3767</tt>  <tt class="py-line">                <tt class="py-name">removeAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3768"></a><tt class="py-lineno">3768</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3769"></a><tt class="py-lineno">3769</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3770"></a><tt class="py-lineno">3770</tt>  <tt class="py-line">                <tt class="py-name">removeAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3771"></a><tt class="py-lineno">3771</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">removeAllResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3772"></a><tt class="py-lineno">3772</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1198" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1198', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1199" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1199', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set removeAll"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3773"></a><tt class="py-lineno">3773</tt>  <tt class="py-line"> </tt>
+<a name="L3774"></a><tt class="py-lineno">3774</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3775"></a><tt class="py-lineno">3775</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3776"></a><tt class="py-lineno">3776</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3777"></a><tt class="py-lineno">3777</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3778"></a><tt class="py-lineno">3778</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3779"></a><tt class="py-lineno">3779</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1200" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1200', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1201" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1201', 'setTestGet', 'link-1117');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3780"></a><tt class="py-lineno">3780</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3781"></a><tt class="py-lineno">3781</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3782"></a><tt class="py-lineno">3782</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3783"></a><tt class="py-lineno">3783</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3784"></a><tt class="py-lineno">3784</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3785"></a><tt class="py-lineno">3785</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3786"></a><tt class="py-lineno">3786</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3787"></a><tt class="py-lineno">3787</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3788"></a><tt class="py-lineno">3788</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3789"></a><tt class="py-lineno">3789</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3790"></a><tt class="py-lineno">3790</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3791"></a><tt class="py-lineno">3791</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3792"></a><tt class="py-lineno">3792</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3793"></a><tt class="py-lineno">3793</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3794"></a><tt class="py-lineno">3794</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1202" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1202', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1203" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1203', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3795"></a><tt class="py-lineno">3795</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3796"></a><tt class="py-lineno">3796</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3797"></a><tt class="py-lineno">3797</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3798"></a><tt class="py-lineno">3798</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1204" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1204', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3799"></a><tt class="py-lineno">3799</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1205" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1205', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3800"></a><tt class="py-lineno">3800</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3801"></a><tt class="py-lineno">3801</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3802"></a><tt class="py-lineno">3802</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3803"></a><tt class="py-lineno">3803</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1206" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1206', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1207" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1207', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3804"></a><tt class="py-lineno">3804</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3805"></a><tt class="py-lineno">3805</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3806"></a><tt class="py-lineno">3806</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3807"></a><tt class="py-lineno">3807</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3808"></a><tt class="py-lineno">3808</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3809"></a><tt class="py-lineno">3809</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3810"></a><tt class="py-lineno">3810</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3811"></a><tt class="py-lineno">3811</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3812"></a><tt class="py-lineno">3812</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3813"></a><tt class="py-lineno">3813</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1208" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1208', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1209" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1209', 'setTestSize', 'link-1127');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3814"></a><tt class="py-lineno">3814</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3815"></a><tt class="py-lineno">3815</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3816"></a><tt class="py-lineno">3816</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3817"></a><tt class="py-lineno">3817</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3818"></a><tt class="py-lineno">3818</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3819"></a><tt class="py-lineno">3819</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3820"></a><tt class="py-lineno">3820</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3821"></a><tt class="py-lineno">3821</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3822"></a><tt class="py-lineno">3822</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3823"></a><tt class="py-lineno">3823</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3824"></a><tt class="py-lineno">3824</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3825"></a><tt class="py-lineno">3825</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1210" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1210', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1211" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1211', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3826"></a><tt class="py-lineno">3826</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3827"></a><tt class="py-lineno">3827</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3828"></a><tt class="py-lineno">3828</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3829"></a><tt class="py-lineno">3829</tt>  <tt class="py-line">        <tt class="py-name">removeAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">removeAllResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3830"></a><tt class="py-lineno">3830</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3831"></a><tt class="py-lineno">3831</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">removeAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3832"></a><tt class="py-lineno">3832</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set removeAll correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3833"></a><tt class="py-lineno">3833</tt>  <tt class="py-line">                                 <tt id="link-1212" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1212', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set removeAll was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3834"></a><tt class="py-lineno">3834</tt>  <tt class="py-line"> </tt>
+<a name="L3835"></a><tt class="py-lineno">3835</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1213" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1213', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set addAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3836"></a><tt class="py-lineno">3836</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt id="link-1214" class="py-name"><a title="TestON.core.dicttoobject.DictToObject.update
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update" class="py-name" href="#" onclick="return doclink('link-1214', 'update', 'link-1150');">update</a></tt><tt class="py-op">(</tt> <tt class="py-name">addAllValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3837"></a><tt class="py-lineno">3837</tt>  <tt class="py-line">        <tt class="py-name">addResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3838"></a><tt class="py-lineno">3838</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3839"></a><tt class="py-lineno">3839</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3840"></a><tt class="py-lineno">3840</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1215" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1215', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1216" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd" class="py-name" href="#" onclick="return doclink('link-1216', 'setTestAdd', 'link-1133');">setTestAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3841"></a><tt class="py-lineno">3841</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestAddAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3842"></a><tt class="py-lineno">3842</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3843"></a><tt class="py-lineno">3843</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3844"></a><tt class="py-lineno">3844</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3845"></a><tt class="py-lineno">3845</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3846"></a><tt class="py-lineno">3846</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3847"></a><tt class="py-lineno">3847</tt>  <tt class="py-line">            <tt class="py-name">addResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3848"></a><tt class="py-lineno">3848</tt>  <tt class="py-line"> </tt>
+<a name="L3849"></a><tt class="py-lineno">3849</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3850"></a><tt class="py-lineno">3850</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3851"></a><tt class="py-lineno">3851</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3852"></a><tt class="py-lineno">3852</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3853"></a><tt class="py-lineno">3853</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3854"></a><tt class="py-lineno">3854</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3855"></a><tt class="py-lineno">3855</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3856"></a><tt class="py-lineno">3856</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3857"></a><tt class="py-lineno">3857</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3858"></a><tt class="py-lineno">3858</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L3859"></a><tt class="py-lineno">3859</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3860"></a><tt class="py-lineno">3860</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3861"></a><tt class="py-lineno">3861</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3862"></a><tt class="py-lineno">3862</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3863"></a><tt class="py-lineno">3863</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3864"></a><tt class="py-lineno">3864</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3865"></a><tt class="py-lineno">3865</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3866"></a><tt class="py-lineno">3866</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">addAllResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3867"></a><tt class="py-lineno">3867</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1217" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1217', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1218" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1218', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set addAll"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3868"></a><tt class="py-lineno">3868</tt>  <tt class="py-line"> </tt>
+<a name="L3869"></a><tt class="py-lineno">3869</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3870"></a><tt class="py-lineno">3870</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3871"></a><tt class="py-lineno">3871</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3872"></a><tt class="py-lineno">3872</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3873"></a><tt class="py-lineno">3873</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3874"></a><tt class="py-lineno">3874</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1219" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1219', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1220" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1220', 'setTestGet', 'link-1117');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3875"></a><tt class="py-lineno">3875</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3876"></a><tt class="py-lineno">3876</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3877"></a><tt class="py-lineno">3877</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3878"></a><tt class="py-lineno">3878</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3879"></a><tt class="py-lineno">3879</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3880"></a><tt class="py-lineno">3880</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3881"></a><tt class="py-lineno">3881</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3882"></a><tt class="py-lineno">3882</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3883"></a><tt class="py-lineno">3883</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3884"></a><tt class="py-lineno">3884</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3885"></a><tt class="py-lineno">3885</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3886"></a><tt class="py-lineno">3886</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3887"></a><tt class="py-lineno">3887</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3888"></a><tt class="py-lineno">3888</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3889"></a><tt class="py-lineno">3889</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1221" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1221', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1222" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1222', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3890"></a><tt class="py-lineno">3890</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3891"></a><tt class="py-lineno">3891</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3892"></a><tt class="py-lineno">3892</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3893"></a><tt class="py-lineno">3893</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1223" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1223', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3894"></a><tt class="py-lineno">3894</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1224" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1224', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3895"></a><tt class="py-lineno">3895</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3896"></a><tt class="py-lineno">3896</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3897"></a><tt class="py-lineno">3897</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3898"></a><tt class="py-lineno">3898</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1225" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1225', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1226" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1226', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3899"></a><tt class="py-lineno">3899</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3900"></a><tt class="py-lineno">3900</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3901"></a><tt class="py-lineno">3901</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3902"></a><tt class="py-lineno">3902</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3903"></a><tt class="py-lineno">3903</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3904"></a><tt class="py-lineno">3904</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3905"></a><tt class="py-lineno">3905</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3906"></a><tt class="py-lineno">3906</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3907"></a><tt class="py-lineno">3907</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3908"></a><tt class="py-lineno">3908</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1227" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1227', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1228" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1228', 'setTestSize', 'link-1127');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3909"></a><tt class="py-lineno">3909</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3910"></a><tt class="py-lineno">3910</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3911"></a><tt class="py-lineno">3911</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3912"></a><tt class="py-lineno">3912</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3913"></a><tt class="py-lineno">3913</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3914"></a><tt class="py-lineno">3914</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3915"></a><tt class="py-lineno">3915</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3916"></a><tt class="py-lineno">3916</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3917"></a><tt class="py-lineno">3917</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3918"></a><tt class="py-lineno">3918</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3919"></a><tt class="py-lineno">3919</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3920"></a><tt class="py-lineno">3920</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1229" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1229', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1230" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1230', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3921"></a><tt class="py-lineno">3921</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3922"></a><tt class="py-lineno">3922</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3923"></a><tt class="py-lineno">3923</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3924"></a><tt class="py-lineno">3924</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">addAllResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3925"></a><tt class="py-lineno">3925</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3926"></a><tt class="py-lineno">3926</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">addAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3927"></a><tt class="py-lineno">3927</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3928"></a><tt class="py-lineno">3928</tt>  <tt class="py-line">                                 <tt id="link-1231" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1231', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3929"></a><tt class="py-lineno">3929</tt>  <tt class="py-line"> </tt>
+<a name="L3930"></a><tt class="py-lineno">3930</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1232" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1232', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set clear()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3931"></a><tt class="py-lineno">3931</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">clear</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3932"></a><tt class="py-lineno">3932</tt>  <tt class="py-line">        <tt class="py-name">clearResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3933"></a><tt class="py-lineno">3933</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3934"></a><tt class="py-lineno">3934</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3935"></a><tt class="py-lineno">3935</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1233" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1233', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1234" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove" class="py-name" href="#" onclick="return doclink('link-1234', 'setTestRemove', 'link-1178');">setTestRemove</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3936"></a><tt class="py-lineno">3936</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestClear-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3937"></a><tt class="py-lineno">3937</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-string">" "</tt><tt class="py-op">]</tt><tt class="py-op">,</tt>  <tt class="py-comment"># Values doesn't matter</tt> </tt>
+<a name="L3938"></a><tt class="py-lineno">3938</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"clear"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3939"></a><tt class="py-lineno">3939</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3940"></a><tt class="py-lineno">3940</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3941"></a><tt class="py-lineno">3941</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3942"></a><tt class="py-lineno">3942</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3943"></a><tt class="py-lineno">3943</tt>  <tt class="py-line">            <tt class="py-name">clearResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3944"></a><tt class="py-lineno">3944</tt>  <tt class="py-line"> </tt>
+<a name="L3945"></a><tt class="py-lineno">3945</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3946"></a><tt class="py-lineno">3946</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3947"></a><tt class="py-lineno">3947</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3948"></a><tt class="py-lineno">3948</tt>  <tt class="py-line">        <tt class="py-name">clearResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3949"></a><tt class="py-lineno">3949</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3950"></a><tt class="py-lineno">3950</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">clearResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3951"></a><tt class="py-lineno">3951</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3952"></a><tt class="py-lineno">3952</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3953"></a><tt class="py-lineno">3953</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">clearResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3954"></a><tt class="py-lineno">3954</tt>  <tt class="py-line">                <tt class="py-comment"># Nothing set, probably fine</tt> </tt>
+<a name="L3955"></a><tt class="py-lineno">3955</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3956"></a><tt class="py-lineno">3956</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">clearResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3957"></a><tt class="py-lineno">3957</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3958"></a><tt class="py-lineno">3958</tt>  <tt class="py-line">                <tt class="py-name">clearResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3959"></a><tt class="py-lineno">3959</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3960"></a><tt class="py-lineno">3960</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3961"></a><tt class="py-lineno">3961</tt>  <tt class="py-line">                <tt class="py-name">clearResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3962"></a><tt class="py-lineno">3962</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">clearResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3963"></a><tt class="py-lineno">3963</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1235" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1235', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1236" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1236', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set clear"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3964"></a><tt class="py-lineno">3964</tt>  <tt class="py-line"> </tt>
+<a name="L3965"></a><tt class="py-lineno">3965</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3966"></a><tt class="py-lineno">3966</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3967"></a><tt class="py-lineno">3967</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3968"></a><tt class="py-lineno">3968</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3969"></a><tt class="py-lineno">3969</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3970"></a><tt class="py-lineno">3970</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1237" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1237', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1238" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1238', 'setTestGet', 'link-1117');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3971"></a><tt class="py-lineno">3971</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3972"></a><tt class="py-lineno">3972</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3973"></a><tt class="py-lineno">3973</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3974"></a><tt class="py-lineno">3974</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3975"></a><tt class="py-lineno">3975</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3976"></a><tt class="py-lineno">3976</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3977"></a><tt class="py-lineno">3977</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3978"></a><tt class="py-lineno">3978</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3979"></a><tt class="py-lineno">3979</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3980"></a><tt class="py-lineno">3980</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3981"></a><tt class="py-lineno">3981</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3982"></a><tt class="py-lineno">3982</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3983"></a><tt class="py-lineno">3983</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3984"></a><tt class="py-lineno">3984</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3985"></a><tt class="py-lineno">3985</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1239" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1239', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1240" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1240', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3986"></a><tt class="py-lineno">3986</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3987"></a><tt class="py-lineno">3987</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3988"></a><tt class="py-lineno">3988</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3989"></a><tt class="py-lineno">3989</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1241" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1241', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3990"></a><tt class="py-lineno">3990</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1242" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1242', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3991"></a><tt class="py-lineno">3991</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3992"></a><tt class="py-lineno">3992</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3993"></a><tt class="py-lineno">3993</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3994"></a><tt class="py-lineno">3994</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1243" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1243', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1244" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1244', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3995"></a><tt class="py-lineno">3995</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3996"></a><tt class="py-lineno">3996</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3997"></a><tt class="py-lineno">3997</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3998"></a><tt class="py-lineno">3998</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3999"></a><tt class="py-lineno">3999</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L4000"></a><tt class="py-lineno">4000</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4001"></a><tt class="py-lineno">4001</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4002"></a><tt class="py-lineno">4002</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4003"></a><tt class="py-lineno">4003</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4004"></a><tt class="py-lineno">4004</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1245" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1245', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1246" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1246', 'setTestSize', 'link-1127');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4005"></a><tt class="py-lineno">4005</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4006"></a><tt class="py-lineno">4006</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4007"></a><tt class="py-lineno">4007</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4008"></a><tt class="py-lineno">4008</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4009"></a><tt class="py-lineno">4009</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4010"></a><tt class="py-lineno">4010</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4011"></a><tt class="py-lineno">4011</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4012"></a><tt class="py-lineno">4012</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4013"></a><tt class="py-lineno">4013</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4014"></a><tt class="py-lineno">4014</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L4015"></a><tt class="py-lineno">4015</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4016"></a><tt class="py-lineno">4016</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1247" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1247', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1248" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1248', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4017"></a><tt class="py-lineno">4017</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4018"></a><tt class="py-lineno">4018</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4019"></a><tt class="py-lineno">4019</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4020"></a><tt class="py-lineno">4020</tt>  <tt class="py-line">        <tt class="py-name">clearResults</tt> <tt class="py-op">=</tt> <tt class="py-name">clearResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L4021"></a><tt class="py-lineno">4021</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L4022"></a><tt class="py-lineno">4022</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">clearResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L4023"></a><tt class="py-lineno">4023</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set clear correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L4024"></a><tt class="py-lineno">4024</tt>  <tt class="py-line">                                 <tt id="link-1249" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1249', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set clear was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4025"></a><tt class="py-lineno">4025</tt>  <tt class="py-line"> </tt>
+<a name="L4026"></a><tt class="py-lineno">4026</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1250" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1250', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set addAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4027"></a><tt class="py-lineno">4027</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt id="link-1251" class="py-name"><a title="TestON.core.dicttoobject.DictToObject.update
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update" class="py-name" href="#" onclick="return doclink('link-1251', 'update', 'link-1150');">update</a></tt><tt class="py-op">(</tt> <tt class="py-name">addAllValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4028"></a><tt class="py-lineno">4028</tt>  <tt class="py-line">        <tt class="py-name">addResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4029"></a><tt class="py-lineno">4029</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4030"></a><tt class="py-lineno">4030</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4031"></a><tt class="py-lineno">4031</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1252" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1252', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1253" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd" class="py-name" href="#" onclick="return doclink('link-1253', 'setTestAdd', 'link-1133');">setTestAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4032"></a><tt class="py-lineno">4032</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestAddAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4033"></a><tt class="py-lineno">4033</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4034"></a><tt class="py-lineno">4034</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4035"></a><tt class="py-lineno">4035</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4036"></a><tt class="py-lineno">4036</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4037"></a><tt class="py-lineno">4037</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4038"></a><tt class="py-lineno">4038</tt>  <tt class="py-line">            <tt class="py-name">addResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4039"></a><tt class="py-lineno">4039</tt>  <tt class="py-line"> </tt>
+<a name="L4040"></a><tt class="py-lineno">4040</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L4041"></a><tt class="py-lineno">4041</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L4042"></a><tt class="py-lineno">4042</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L4043"></a><tt class="py-lineno">4043</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4044"></a><tt class="py-lineno">4044</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4045"></a><tt class="py-lineno">4045</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4046"></a><tt class="py-lineno">4046</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L4047"></a><tt class="py-lineno">4047</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L4048"></a><tt class="py-lineno">4048</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4049"></a><tt class="py-lineno">4049</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L4050"></a><tt class="py-lineno">4050</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L4051"></a><tt class="py-lineno">4051</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L4052"></a><tt class="py-lineno">4052</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L4053"></a><tt class="py-lineno">4053</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4054"></a><tt class="py-lineno">4054</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L4055"></a><tt class="py-lineno">4055</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L4056"></a><tt class="py-lineno">4056</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4057"></a><tt class="py-lineno">4057</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">addAllResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4058"></a><tt class="py-lineno">4058</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1254" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1254', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1255" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1255', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set addAll"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4059"></a><tt class="py-lineno">4059</tt>  <tt class="py-line"> </tt>
+<a name="L4060"></a><tt class="py-lineno">4060</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L4061"></a><tt class="py-lineno">4061</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4062"></a><tt class="py-lineno">4062</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4063"></a><tt class="py-lineno">4063</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4064"></a><tt class="py-lineno">4064</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4065"></a><tt class="py-lineno">4065</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1256" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1256', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1257" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1257', 'setTestGet', 'link-1117');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4066"></a><tt class="py-lineno">4066</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4067"></a><tt class="py-lineno">4067</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4068"></a><tt class="py-lineno">4068</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4069"></a><tt class="py-lineno">4069</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4070"></a><tt class="py-lineno">4070</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4071"></a><tt class="py-lineno">4071</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4072"></a><tt class="py-lineno">4072</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4073"></a><tt class="py-lineno">4073</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4074"></a><tt class="py-lineno">4074</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4075"></a><tt class="py-lineno">4075</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4076"></a><tt class="py-lineno">4076</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4077"></a><tt class="py-lineno">4077</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4078"></a><tt class="py-lineno">4078</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L4079"></a><tt class="py-lineno">4079</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L4080"></a><tt class="py-lineno">4080</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1258" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1258', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1259" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1259', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4081"></a><tt class="py-lineno">4081</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4082"></a><tt class="py-lineno">4082</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4083"></a><tt class="py-lineno">4083</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4084"></a><tt class="py-lineno">4084</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1260" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1260', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4085"></a><tt class="py-lineno">4085</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1261" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1261', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4086"></a><tt class="py-lineno">4086</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4087"></a><tt class="py-lineno">4087</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L4088"></a><tt class="py-lineno">4088</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L4089"></a><tt class="py-lineno">4089</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1262" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1262', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1263" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1263', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4090"></a><tt class="py-lineno">4090</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4091"></a><tt class="py-lineno">4091</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4092"></a><tt class="py-lineno">4092</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4093"></a><tt class="py-lineno">4093</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4094"></a><tt class="py-lineno">4094</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L4095"></a><tt class="py-lineno">4095</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4096"></a><tt class="py-lineno">4096</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4097"></a><tt class="py-lineno">4097</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4098"></a><tt class="py-lineno">4098</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4099"></a><tt class="py-lineno">4099</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1264" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1264', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1265" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1265', 'setTestSize', 'link-1127');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4100"></a><tt class="py-lineno">4100</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4101"></a><tt class="py-lineno">4101</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4102"></a><tt class="py-lineno">4102</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4103"></a><tt class="py-lineno">4103</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4104"></a><tt class="py-lineno">4104</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4105"></a><tt class="py-lineno">4105</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4106"></a><tt class="py-lineno">4106</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4107"></a><tt class="py-lineno">4107</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4108"></a><tt class="py-lineno">4108</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4109"></a><tt class="py-lineno">4109</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L4110"></a><tt class="py-lineno">4110</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4111"></a><tt class="py-lineno">4111</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1266" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1266', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1267" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1267', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4112"></a><tt class="py-lineno">4112</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4113"></a><tt class="py-lineno">4113</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4114"></a><tt class="py-lineno">4114</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4115"></a><tt class="py-lineno">4115</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">addAllResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L4116"></a><tt class="py-lineno">4116</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L4117"></a><tt class="py-lineno">4117</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">addAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L4118"></a><tt class="py-lineno">4118</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L4119"></a><tt class="py-lineno">4119</tt>  <tt class="py-line">                                 <tt id="link-1268" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1268', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4120"></a><tt class="py-lineno">4120</tt>  <tt class="py-line"> </tt>
+<a name="L4121"></a><tt class="py-lineno">4121</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1269" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1269', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set retain()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4122"></a><tt class="py-lineno">4122</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">intersection_update</tt><tt class="py-op">(</tt> <tt class="py-name">retainValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4123"></a><tt class="py-lineno">4123</tt>  <tt class="py-line">        <tt class="py-name">retainResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4124"></a><tt class="py-lineno">4124</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4125"></a><tt class="py-lineno">4125</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4126"></a><tt class="py-lineno">4126</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1270" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1270', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1271" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove" class="py-name" href="#" onclick="return doclink('link-1271', 'setTestRemove', 'link-1178');">setTestRemove</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4127"></a><tt class="py-lineno">4127</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestRetain-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4128"></a><tt class="py-lineno">4128</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">retainValue</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L4129"></a><tt class="py-lineno">4129</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"retain"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4130"></a><tt class="py-lineno">4130</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4131"></a><tt class="py-lineno">4131</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4132"></a><tt class="py-lineno">4132</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4133"></a><tt class="py-lineno">4133</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4134"></a><tt class="py-lineno">4134</tt>  <tt class="py-line">            <tt class="py-name">retainResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4135"></a><tt class="py-lineno">4135</tt>  <tt class="py-line"> </tt>
+<a name="L4136"></a><tt class="py-lineno">4136</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L4137"></a><tt class="py-lineno">4137</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L4138"></a><tt class="py-lineno">4138</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L4139"></a><tt class="py-lineno">4139</tt>  <tt class="py-line">        <tt class="py-name">retainResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4140"></a><tt class="py-lineno">4140</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4141"></a><tt class="py-lineno">4141</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">retainResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4142"></a><tt class="py-lineno">4142</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L4143"></a><tt class="py-lineno">4143</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L4144"></a><tt class="py-lineno">4144</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">retainResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4145"></a><tt class="py-lineno">4145</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L4146"></a><tt class="py-lineno">4146</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L4147"></a><tt class="py-lineno">4147</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">retainResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L4148"></a><tt class="py-lineno">4148</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L4149"></a><tt class="py-lineno">4149</tt>  <tt class="py-line">                <tt class="py-name">retainResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4150"></a><tt class="py-lineno">4150</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L4151"></a><tt class="py-lineno">4151</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L4152"></a><tt class="py-lineno">4152</tt>  <tt class="py-line">                <tt class="py-name">retainResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4153"></a><tt class="py-lineno">4153</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">retainResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4154"></a><tt class="py-lineno">4154</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1272" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1272', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1273" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1273', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set retain"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4155"></a><tt class="py-lineno">4155</tt>  <tt class="py-line"> </tt>
+<a name="L4156"></a><tt class="py-lineno">4156</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L4157"></a><tt class="py-lineno">4157</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4158"></a><tt class="py-lineno">4158</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4159"></a><tt class="py-lineno">4159</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4160"></a><tt class="py-lineno">4160</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4161"></a><tt class="py-lineno">4161</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1274" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1274', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1275" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1275', 'setTestGet', 'link-1117');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4162"></a><tt class="py-lineno">4162</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4163"></a><tt class="py-lineno">4163</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4164"></a><tt class="py-lineno">4164</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4165"></a><tt class="py-lineno">4165</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4166"></a><tt class="py-lineno">4166</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4167"></a><tt class="py-lineno">4167</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4168"></a><tt class="py-lineno">4168</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4169"></a><tt class="py-lineno">4169</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4170"></a><tt class="py-lineno">4170</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4171"></a><tt class="py-lineno">4171</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4172"></a><tt class="py-lineno">4172</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4173"></a><tt class="py-lineno">4173</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4174"></a><tt class="py-lineno">4174</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L4175"></a><tt class="py-lineno">4175</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L4176"></a><tt class="py-lineno">4176</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1276" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1276', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1277" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1277', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4177"></a><tt class="py-lineno">4177</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4178"></a><tt class="py-lineno">4178</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4179"></a><tt class="py-lineno">4179</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4180"></a><tt class="py-lineno">4180</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1278" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1278', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4181"></a><tt class="py-lineno">4181</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1279" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1279', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4182"></a><tt class="py-lineno">4182</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4183"></a><tt class="py-lineno">4183</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L4184"></a><tt class="py-lineno">4184</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L4185"></a><tt class="py-lineno">4185</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1280" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1280', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1281" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1281', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4186"></a><tt class="py-lineno">4186</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4187"></a><tt class="py-lineno">4187</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4188"></a><tt class="py-lineno">4188</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4189"></a><tt class="py-lineno">4189</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4190"></a><tt class="py-lineno">4190</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L4191"></a><tt class="py-lineno">4191</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4192"></a><tt class="py-lineno">4192</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4193"></a><tt class="py-lineno">4193</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4194"></a><tt class="py-lineno">4194</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4195"></a><tt class="py-lineno">4195</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1282" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1282', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1283" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1283', 'setTestSize', 'link-1127');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4196"></a><tt class="py-lineno">4196</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4197"></a><tt class="py-lineno">4197</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4198"></a><tt class="py-lineno">4198</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4199"></a><tt class="py-lineno">4199</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4200"></a><tt class="py-lineno">4200</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4201"></a><tt class="py-lineno">4201</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4202"></a><tt class="py-lineno">4202</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4203"></a><tt class="py-lineno">4203</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4204"></a><tt class="py-lineno">4204</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4205"></a><tt class="py-lineno">4205</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L4206"></a><tt class="py-lineno">4206</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4207"></a><tt class="py-lineno">4207</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1284" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1284', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1285" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1285', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4208"></a><tt class="py-lineno">4208</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4209"></a><tt class="py-lineno">4209</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4210"></a><tt class="py-lineno">4210</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4211"></a><tt class="py-lineno">4211</tt>  <tt class="py-line">        <tt class="py-name">retainResults</tt> <tt class="py-op">=</tt> <tt class="py-name">retainResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L4212"></a><tt class="py-lineno">4212</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L4213"></a><tt class="py-lineno">4213</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">retainResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L4214"></a><tt class="py-lineno">4214</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set retain correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L4215"></a><tt class="py-lineno">4215</tt>  <tt class="py-line">                                 <tt id="link-1286" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1286', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set retain was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+</div></div><a name="L4216"></a><tt class="py-lineno">4216</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html
new file mode 100644
index 0000000..227ed39
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html
@@ -0,0 +1,518 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAminorityRestart-module.html">Package&nbsp;HAminorityRestart</a> ::
+        <a href="TestON.tests.HAminorityRestart.HAminorityRestart-module.html">Module&nbsp;HAminorityRestart</a> ::
+        Class&nbsp;HAminorityRestart
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class HAminorityRestart</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart">source&nbsp;code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE1" class="summary-sig-name">CASE1</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      CASE1 is to compile ONOS and push it to the test machines</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE1">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE2"></a><span class="summary-sig-name">CASE2</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Assign devices to controllers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE2">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE21"></a><span class="summary-sig-name">CASE21</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Assign mastership to controllers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE21">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE3"></a><span class="summary-sig-name">CASE3</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Assign intents</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE3">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE4"></a><span class="summary-sig-name">CASE4</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Ping across added host intents</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE4">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE5"></a><span class="summary-sig-name">CASE5</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Reading state of ONOS</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE5">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE6"></a><span class="summary-sig-name">CASE6</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      The Failure case.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE6">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE7"></a><span class="summary-sig-name">CASE7</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Check state after ONOS failure</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE7">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE8"></a><span class="summary-sig-name">CASE8</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Compare topo</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE8">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE9"></a><span class="summary-sig-name">CASE9</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Link s3-s28 down</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE9">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE10"></a><span class="summary-sig-name">CASE10</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Link s3-s28 up</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE10">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE11"></a><span class="summary-sig-name">CASE11</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Switch Down</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE11">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE12"></a><span class="summary-sig-name">CASE12</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Switch Up</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE12">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE13"></a><span class="summary-sig-name">CASE13</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Clean up</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE13">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE14"></a><span class="summary-sig-name">CASE14</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      start election app on all onos nodes</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE14">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE15"></a><span class="summary-sig-name">CASE15</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Check that Leadership Election is still functional</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE15">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE16"></a><span class="summary-sig-name">CASE16</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Install Distributed Primitives app</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE16">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE17"></a><span class="summary-sig-name">CASE17</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Check for basic functionality with distributed primitives</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE17">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="CASE1"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">CASE1</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">main</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-pysrc.html#HAminorityRestart.CASE1">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>CASE1 is to compile ONOS and push it to the test machines</p>
+  <p>Startup sequence: cell &lt;name&gt; onos-verify-cell NOTE: temporary -
+  onos-remove-raft-logs onos-uninstall start mininet git pull mvn clean 
+  install onos-package onos-install -f onos-wait-for-start start cli 
+  sessions start tcpdump</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies-module.html
similarity index 62%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies-module.html
index 186f4ef..86832b1 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.HAminorityRestart.dependencies</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        <a href="TestON.tests.HAminorityRestart-module.html">Package&nbsp;HAminorityRestart</a> ::
+        Package&nbsp;dependencies
       </span>
     </td>
     <td>
@@ -49,14 +55,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Package dependencies</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAminorityRestart.dependencies-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== SUBMODULES ==================== -->
 <a name="section-Submodules"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -76,11 +82,38 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.PoxTest.PoxTest-module.html">TestON.tests.PoxTest.PoxTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html">TestON.tests.HAminorityRestart.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html">TestON.tests.HAminorityRestart.dependencies.obelisk</a></strong>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +134,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies-pysrc.html
similarity index 77%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies-pysrc.html
index ab359bb..267c3a5 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.HAminorityRestart.dependencies</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        <a href="TestON.tests.HAminorityRestart-module.html">Package&nbsp;HAminorityRestart</a> ::
+        Package&nbsp;dependencies
       </span>
     </td>
     <td>
@@ -49,13 +55,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAminorityRestart.dependencies-module.html">Package TestON.tests.HAminorityRestart.dependencies</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +91,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest.MininetTest-class.html b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies.Counters-module.html
similarity index 62%
copy from TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest.MininetTest-class.html
copy to TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies.Counters-module.html
index f271fbb..d2ac9d5 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest.MininetTest-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies.Counters-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.MininetTest.MininetTest.MininetTest</title>
+  <title>TestON.tests.HAminorityRestart.dependencies.Counters</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,9 +44,9 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.MininetTest-module.html">Package&nbsp;MininetTest</a> ::
-        <a href="TestON.tests.MininetTest.MininetTest-module.html">Module&nbsp;MininetTest</a> ::
-        Class&nbsp;MininetTest
+        <a href="TestON.tests.HAminorityRestart-module.html">Package&nbsp;HAminorityRestart</a> ::
+        <a href="TestON.tests.HAminorityRestart.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        Module&nbsp;Counters
       </span>
     </td>
     <td>
@@ -51,27 +56,25 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class MininetTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest">source&nbsp;code</a></span></p>
-<p>Testing of the some basic Mininet functions included here</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module Counters</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAminorityRestart.dependencies.Counters-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
 <tr bgcolor="#70b0f0" class="table-header">
   <td colspan="2" class="table-header">
     <table border="0" cellpadding="0" cellspacing="0" width="100%">
       <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="left"><span class="table-header">Functions</span></td>
         <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
+         ><span class="options">[<a href="#section-Functions"
          class="privatelink" onclick="toggle_private();"
          >hide private</a>]</span></td>
       </tr>
@@ -86,7 +89,7 @@
         <tr>
           <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest.__init__">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.dependencies.Counters-pysrc.html#__init__">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -100,12 +103,11 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">main</span>)</span><br />
-      Testing the configuration of the host by using checkIP functionof 
-      Mininet driver</td>
+          <td><span class="summary-sig"><a name="counterCheck"></a><span class="summary-sig-name">counterCheck</span>(<span class="summary-sig-arg">counterName</span>,
+        <span class="summary-sig-arg">counterValue</span>)</span><br />
+      Add Text here</td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest.CASE1">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.dependencies.Counters-pysrc.html#counterCheck">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -113,23 +115,30 @@
       
     </td>
   </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
 <tr>
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="CASE2"></a><span class="summary-sig-name">CASE2</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">main</span>)</span><br />
-      Testing of the reachability of the hosts by using pingall of Mininet 
-      driver</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest.CASE2">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
     </td>
   </tr>
 </table>
@@ -153,13 +162,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies.Counters-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies.Counters-pysrc.html
new file mode 100644
index 0000000..4a48c6c
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies.Counters-pysrc.html
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAminorityRestart.dependencies.Counters</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAminorityRestart-module.html">Package&nbsp;HAminorityRestart</a> ::
+        <a href="TestON.tests.HAminorityRestart.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        Module&nbsp;Counters
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies.Counters-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html">Module TestON.tests.HAminorityRestart.dependencies.Counters</a></h1>
+<pre class="py-src">
+<a name="__init__"></a><div id="__init__-def"><a name="L1"></a><tt class="py-lineno"> 1</tt> <a class="py-toggle" href="#" id="__init__-toggle" onclick="return toggle('__init__');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="__init__-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="__init__-expanded"><a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"> </tt>
+<a name="counterCheck"></a><div id="counterCheck-def"><a name="L4"></a><tt class="py-lineno"> 4</tt> <a class="py-toggle" href="#" id="counterCheck-toggle" onclick="return toggle('counterCheck');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html#counterCheck">counterCheck</a><tt class="py-op">(</tt> <tt class="py-param">counterName</tt><tt class="py-op">,</tt> <tt class="py-param">counterValue</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="counterCheck-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="counterCheck-expanded"><a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">    Add Text here</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">    <tt class="py-name">correctResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">    <tt class="py-comment"># Get onos counters results</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">    <tt class="py-name">onosCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">    <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">        <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module TestON.core.Thread=TestON.core.Thread-module.html,Class TestON.core.Thread.Thread=TestON.core.Thread.Thread-class.html"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1', 'Thread', 'link-1');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counters"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters" class="py-name" href="#" onclick="return doclink('link-2', 'counters', 'link-2');">counters</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">                         <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counters-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">        <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">        <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">        <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-name">onosCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">    <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosCounters</tt> <tt class="py-op">]</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt> <tt class="py-name">tmp</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-name">consistent</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-name">consistent</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-3', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-4', 'error', 'link-4');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS nodes have different values for counters"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">:</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-5', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt> <tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">    <tt class="py-comment"># Check for correct values</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">            <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-6', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-7', 'error', 'link-4');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Could not parse counters response from ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-8', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt class="py-name">onosValue</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">database</tt> <tt class="py-keyword">in</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">                <tt class="py-name">database</tt> <tt class="py-op">=</tt> <tt class="py-name">database</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">counter</tt> <tt class="py-keyword">in</tt> <tt class="py-name">database</tt><tt class="py-op">:</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">counter</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'name'</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">counterName</tt><tt class="py-op">:</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">                        <tt class="py-name">onosValue</tt> <tt class="py-op">=</tt> <tt class="py-name">counter</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'value'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-10', 'error', 'link-4');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" counters result "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">                            <tt class="py-string">"is not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">            <tt class="py-name">correctResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">onosValue</tt> <tt class="py-op">==</tt> <tt class="py-name">counterValue</tt><tt class="py-op">:</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-11', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">counterName</tt> <tt class="py-op">+</tt> <tt class="py-string">" counter value is correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-12', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-13', 'error', 'link-4');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">counterName</tt> <tt class="py-op">+</tt> <tt class="py-string">" counter value is incorrect,"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">                            <tt class="py-string">" expected value: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">counterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">                            <tt class="py-op">+</tt> <tt class="py-string">" current value: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosValue</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">            <tt class="py-name">correctResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">consistent</tt> <tt class="py-keyword">and</tt> <tt class="py-name">correctResults</tt> </tt>
+</div><a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies.obelisk-module.html b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies.obelisk-module.html
new file mode 100644
index 0000000..5e7181e
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies.obelisk-module.html
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAminorityRestart.dependencies.obelisk</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAminorityRestart-module.html">Package&nbsp;HAminorityRestart</a> ::
+        <a href="TestON.tests.HAminorityRestart.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        Module&nbsp;obelisk
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module obelisk</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html" class="summary-name">ObeliskTopo</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="run"></a><span class="summary-sig-name">run</span>()</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk-pysrc.html#run">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="topos"></a><span class="summary-name">topos</span> = <code title="{'obelisk':(lambda: ObeliskTopo())}">{'obelisk':(lambda: ObeliskTopo())}</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.tests.HAminorityRestart.dependencies'"><code class="variable-quote">'</code><code class="variable-string">TestON.tests.HAminorityRestart.dependencies</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies.obelisk-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies.obelisk-pysrc.html
new file mode 100644
index 0000000..86093db
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies.obelisk-pysrc.html
@@ -0,0 +1,273 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAminorityRestart.dependencies.obelisk</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAminorityRestart-module.html">Package&nbsp;HAminorityRestart</a> ::
+        <a href="TestON.tests.HAminorityRestart.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        Module&nbsp;obelisk
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies.obelisk-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html">Module TestON.tests.HAminorityRestart.dependencies.obelisk</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">mininet</tt><tt class="py-op">.</tt><tt class="py-name">topo</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Topo</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"> </tt>
+<a name="ObeliskTopo"></a><div id="ObeliskTopo-def"><a name="L5"></a><tt class="py-lineno"> 5</tt> <a class="py-toggle" href="#" id="ObeliskTopo-toggle" onclick="return toggle('ObeliskTopo');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html">ObeliskTopo</a><tt class="py-op">(</tt> <tt class="py-base-class">Topo</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObeliskTopo-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="ObeliskTopo-expanded"><a name="ObeliskTopo.__init__"></a><div id="ObeliskTopo.__init__-def"><a name="L6"></a><tt class="py-lineno"> 6</tt> <a class="py-toggle" href="#" id="ObeliskTopo.__init__-toggle" onclick="return toggle('ObeliskTopo.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObeliskTopo.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ObeliskTopo.__init__-expanded"><a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line">        <tt class="py-name">Topo</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-0', '__init__', 'link-0');">__init__</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line">        <tt class="py-name">topSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addSwitch"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-1', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s1'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'1000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">        <tt class="py-name">leftTopSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-2', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s2'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'2000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">        <tt class="py-name">rightTopSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-3', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s5'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'5000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">        <tt class="py-name">leftBotSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-4', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s3'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'3000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">        <tt class="py-name">rightBotSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-5', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s6'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'6000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">        <tt class="py-name">midBotSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-6', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s28'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'2800'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">        <tt class="py-name">topHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addHost"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-7', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt> <tt class="py-string">'h1'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">        <tt class="py-name">leftTopHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-8', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h2'</tt><tt class="py-op">)</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">        <tt class="py-name">rightTopHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-9', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h5'</tt><tt class="py-op">)</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">        <tt class="py-name">leftBotHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-10', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h3'</tt><tt class="py-op">)</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">        <tt class="py-name">rightBotHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-11', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h6'</tt><tt class="py-op">)</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-name">midBotHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-12', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h28'</tt><tt class="py-op">)</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addLink"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-13', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">topSwitch</tt><tt class="py-op">,</tt><tt class="py-name">topHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-14', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">leftTopHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-15', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">rightTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightTopHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-16', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">leftBotHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-17', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">rightBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightBotHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-18', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">midBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">midBotHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-19', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightTopSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-20', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">topSwitch</tt><tt class="py-op">,</tt><tt class="py-name">leftTopSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-21', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">topSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightTopSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-22', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">leftBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-23', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">rightTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-24', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">midBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-25', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">midBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">        <tt class="py-name">agg1Switch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-26', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s4'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'3004'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">        <tt class="py-name">agg2Switch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-27', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s7'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'6007'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-name">agg1Host</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-28', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h4'</tt><tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt class="py-name">agg2Host</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-29', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h7'</tt><tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-30', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">agg1Switch</tt><tt class="py-op">,</tt><tt class="py-name">agg1Host</tt><tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-31', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">agg2Switch</tt><tt class="py-op">,</tt><tt class="py-name">agg2Host</tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-32', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">agg1Switch</tt><tt class="py-op">,</tt> <tt class="py-name">leftBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-33', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">agg2Switch</tt><tt class="py-op">,</tt> <tt class="py-name">rightBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">            <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">8</tt><tt class="py-op">)</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">            <tt class="py-name">switch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-34', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'30'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">            <tt class="py-name">host</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-35', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-36', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">host</tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-37', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">agg1Switch</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">            <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">18</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">            <tt class="py-name">switch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-38', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'60'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">            <tt class="py-name">host</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-39', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-40', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">host</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-41', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">agg2Switch</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line"> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line"><tt id="link-42" class="py-name" targets="Variable TestON.tests.HAclusterRestart.dependencies.obelisk.topos=TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#topos,Variable TestON.tests.HAminorityRestart.dependencies.obelisk.topos=TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#topos,Variable TestON.tests.HAsanity.dependencies.obelisk.topos=TestON.tests.HAsanity.dependencies.obelisk-module.html#topos,Variable TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.topos=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#topos"><a title="TestON.tests.HAclusterRestart.dependencies.obelisk.topos
+TestON.tests.HAminorityRestart.dependencies.obelisk.topos
+TestON.tests.HAsanity.dependencies.obelisk.topos
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.topos" class="py-name" href="#" onclick="return doclink('link-42', 'topos', 'link-42');">topos</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">'obelisk'</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt class="py-keyword">lambda</tt><tt class="py-op">:</tt> <tt id="link-43" class="py-name" targets="Class TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html,Class TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html,Class TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html,Class TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html"><a title="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo" class="py-name" href="#" onclick="return doclink('link-43', 'ObeliskTopo', 'link-43');">ObeliskTopo</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line"> </tt>
+<a name="run"></a><div id="run-def"><a name="L60"></a><tt class="py-lineno">60</tt> <a class="py-toggle" href="#" id="run-toggle" onclick="return toggle('run');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#run">run</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="run-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="run-expanded"><a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">    <tt class="py-name">topo</tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo" class="py-name" href="#" onclick="return doclink('link-44', 'ObeliskTopo', 'link-43');">ObeliskTopo</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">    <tt id="link-45" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#net"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-45', 'net', 'link-45');">net</a></tt> <tt class="py-op">=</tt> <tt class="py-name">Mininet</tt><tt class="py-op">(</tt> <tt class="py-name">topo</tt><tt class="py-op">=</tt><tt class="py-name">topo</tt><tt class="py-op">,</tt> <tt id="link-46" class="py-name" targets="Package TestON.drivers.common.api.controller=TestON.drivers.common.api.controller-module.html"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-46', 'controller', 'link-46');">controller</a></tt><tt class="py-op">=</tt><tt class="py-name">RemoteController</tt><tt class="py-op">,</tt> <tt class="py-name">autoSetMacs</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">    <tt id="link-47" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-47', 'net', 'link-45');">net</a></tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">    <tt id="link-48" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-48', 'CLI', 'link-48');">CLI</a></tt><tt class="py-op">(</tt> <tt id="link-49" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-49', 'net', 'link-45');">net</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">    <tt id="link-50" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-50', 'net', 'link-45');">net</a></tt><tt class="py-op">.</tt><tt id="link-51" class="py-name" targets="Method TestON.bin.cli.TestThread.stop()=TestON.bin.cli.TestThread-class.html#stop"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-51', 'stop', 'link-51');">stop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line"> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line">    <tt class="py-name">setLogLevel</tt><tt class="py-op">(</tt> <tt class="py-string">'info'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line">    <tt id="link-52" class="py-name" targets="Method TestON.bin.cli.TestThread.run()=TestON.bin.cli.TestThread-class.html#run,Method TestON.core.Thread.Thread.run()=TestON.core.Thread.Thread-class.html#run,Method TestON.core.teston.TestON.run()=TestON.core.teston.TestON-class.html#run,Function TestON.tests.HAclusterRestart.dependencies.obelisk.run()=TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#run,Function TestON.tests.HAminorityRestart.dependencies.obelisk.run()=TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#run,Function TestON.tests.HAsanity.dependencies.obelisk.run()=TestON.tests.HAsanity.dependencies.obelisk-module.html#run,Function TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#run"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-52', 'run', 'link-52');">run</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html
new file mode 100644
index 0000000..b4845f7
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html
@@ -0,0 +1,298 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAminorityRestart-module.html">Package&nbsp;HAminorityRestart</a> ::
+        <a href="TestON.tests.HAminorityRestart.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        <a href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html">Module&nbsp;obelisk</a> ::
+        Class&nbsp;ObeliskTopo
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class ObeliskTopo</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk-pysrc.html#ObeliskTopo">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_obelisktop_2" name="class_hierarchy_for_obelisktop_2">
+<area shape="rect" id="node1" href="TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html" title="ObeliskTopo" alt="" coords="21,62,115,87"/>
+<area shape="rect" id="node2" href="javascript:void(0);" title="mininet.topo.Topo" alt="" coords="5,6,131,31"/>
+</map>
+  <img src="class_hierarchy_for_obelisktop_2.gif" alt='' usemap="#class_hierarchy_for_obelisktop_2" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Topo object.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk-pysrc.html#ObeliskTopo.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>mininet.topo.Topo</code></b>:
+      <code>addHost</code>,
+      <code>addLink</code>,
+      <code>addNode</code>,
+      <code>addPort</code>,
+      <code>addSwitch</code>,
+      <code>build</code>,
+      <code>convertTo</code>,
+      <code>hosts</code>,
+      <code>isSwitch</code>,
+      <code>iterLinks</code>,
+      <code>linkInfo</code>,
+      <code>links</code>,
+      <code>nodeInfo</code>,
+      <code>nodes</code>,
+      <code>port</code>,
+      <code>setNodeInfo</code>,
+      <code>setlinkInfo</code>,
+      <code>switches</code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>mininet.topo.Topo</code></b> (private):
+      <code>_linkEntry</code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>mininet.topo.Topo</code></b>:
+      <code>sorted</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk-pysrc.html#ObeliskTopo.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Topo object. Optional named parameters: hinfo: default host options 
+  sopts: default switch options lopts: default link options calls 
+  build()</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity-module.html
similarity index 61%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.HAsanity-module.html
index 186f4ef..2990f60 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.HAsanity</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;HAsanity
       </span>
     </td>
     <td>
@@ -49,14 +54,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsanity-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Package HAsanity</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAsanity-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== SUBMODULES ==================== -->
 <a name="section-Submodules"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -76,11 +81,44 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.PoxTest.PoxTest-module.html">TestON.tests.PoxTest.PoxTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.HAsanity-module.html">TestON.tests.HAsanity.HAsanity</a></strong>: <em class="summary">Description: This test is to determine if the HA test setup is
+    working correctly.</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.dependencies-module.html">TestON.tests.HAsanity.dependencies</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.dependencies.Counters-module.html">TestON.tests.HAsanity.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.dependencies.obelisk-module.html">TestON.tests.HAsanity.dependencies.obelisk</a></strong>    </li>
+    </ul>
+    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +139,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity-pysrc.html
similarity index 81%
rename from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
rename to TestON/Documentation/TestON_Document/TestON.tests.HAsanity-pysrc.html
index ab359bb..0fb4ebc 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.HAsanity</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;HAsanity
       </span>
     </td>
     <td>
@@ -49,13 +54,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsanity-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAsanity-module.html">Package TestON.tests.HAsanity</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.HAsanity-module.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.HAsanity-module.html
new file mode 100644
index 0000000..442bf0e
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.HAsanity-module.html
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAsanity.HAsanity</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAsanity-module.html">Package&nbsp;HAsanity</a> ::
+        Module&nbsp;HAsanity
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsanity.HAsanity-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module HAsanity</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
+
+Description: This test is to determine if the HA test setup is
+    working correctly. There are no failures so this test should
+    have a 100% pass rate
+
+List of test cases:
+CASE1: Compile ONOS and push it to the test machines
+CASE2: Assign devices to controllers
+CASE21: Assign mastership to controllers
+CASE3: Assign intents
+CASE4: Ping across added host intents
+CASE5: Reading state of ONOS
+CASE6: The Failure case. Since this is the Sanity test, we do nothing.
+CASE7: Check state after control plane failure
+CASE8: Compare topo
+CASE9: Link s3-s28 down
+CASE10: Link s3-s28 up
+CASE11: Switch down
+CASE12: Switch up
+CASE13: Clean up
+CASE14: start election app on all onos nodes
+CASE15: Check that Leadership Election is still functional
+CASE16: Install Distributed Primitives app
+CASE17: Check for basic functionality with distributed primitives
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html" class="summary-name">HAsanity</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.HAsanity-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.HAsanity-pysrc.html
new file mode 100644
index 0000000..17b39dc
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.HAsanity-pysrc.html
@@ -0,0 +1,4672 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAsanity.HAsanity</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAsanity-module.html">Package&nbsp;HAsanity</a> ::
+        Module&nbsp;HAsanity
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsanity.HAsanity-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAsanity.HAsanity-module.html">Module TestON.tests.HAsanity.HAsanity</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"><tt class="py-docstring">Description: This test is to determine if the HA test setup is</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">   3</tt>  <tt class="py-line"><tt class="py-docstring">    working correctly. There are no failures so this test should</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"><tt class="py-docstring">    have a 100% pass rate</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">   5</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line"><tt class="py-docstring">List of test cases:</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"><tt class="py-docstring">CASE1: Compile ONOS and push it to the test machines</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">   8</tt>  <tt class="py-line"><tt class="py-docstring">CASE2: Assign devices to controllers</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">   9</tt>  <tt class="py-line"><tt class="py-docstring">CASE21: Assign mastership to controllers</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line"><tt class="py-docstring">CASE3: Assign intents</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">  11</tt>  <tt class="py-line"><tt class="py-docstring">CASE4: Ping across added host intents</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line"><tt class="py-docstring">CASE5: Reading state of ONOS</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"><tt class="py-docstring">CASE6: The Failure case. Since this is the Sanity test, we do nothing.</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line"><tt class="py-docstring">CASE7: Check state after control plane failure</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line"><tt class="py-docstring">CASE8: Compare topo</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt class="py-docstring">CASE9: Link s3-s28 down</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt class="py-docstring">CASE10: Link s3-s28 up</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-docstring">CASE11: Switch down</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"><tt class="py-docstring">CASE12: Switch up</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"><tt class="py-docstring">CASE13: Clean up</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"><tt class="py-docstring">CASE14: start election app on all onos nodes</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">  22</tt>  <tt class="py-line"><tt class="py-docstring">CASE15: Check that Leadership Election is still functional</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line"><tt class="py-docstring">CASE16: Install Distributed Primitives app</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line"><tt class="py-docstring">CASE17: Check for basic functionality with distributed primitives</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">  26</tt>  <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno">  27</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity"></a><div id="HAsanity-def"><a name="L28"></a><tt class="py-lineno">  28</tt> <a class="py-toggle" href="#" id="HAsanity-toggle" onclick="return toggle('HAsanity');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HAsanity-expanded"><a name="L29"></a><tt class="py-lineno">  29</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.__init__"></a><div id="HAsanity.__init__-def"><a name="L30"></a><tt class="py-lineno">  30</tt> <a class="py-toggle" href="#" id="HAsanity.__init__-toggle" onclick="return toggle('HAsanity.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.__init__-expanded"><a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L32"></a><tt class="py-lineno">  32</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE1"></a><div id="HAsanity.CASE1-def"><a name="L33"></a><tt class="py-lineno">  33</tt> <a class="py-toggle" href="#" id="HAsanity.CASE1-toggle" onclick="return toggle('HAsanity.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE1">CASE1</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE1-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE1-expanded"><a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line"><tt class="py-docstring">        CASE1 is to compile ONOS and push it to the test machines</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">  36</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line"><tt class="py-docstring">        Startup sequence:</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">  38</tt>  <tt class="py-line"><tt class="py-docstring">        cell &lt;name&gt;</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">  39</tt>  <tt class="py-line"><tt class="py-docstring">        onos-verify-cell</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: temporary - onos-remove-raft-logs</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line"><tt class="py-docstring">        onos-uninstall</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line"><tt class="py-docstring">        start mininet</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">  43</tt>  <tt class="py-line"><tt class="py-docstring">        git pull</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line"><tt class="py-docstring">        mvn clean install</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line"><tt class="py-docstring">        onos-package</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line"><tt class="py-docstring">        onos-install -f</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">  47</tt>  <tt class="py-line"><tt class="py-docstring">        onos-wait-for-start</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">  48</tt>  <tt class="py-line"><tt class="py-docstring">        start cli sessions</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line"><tt class="py-docstring">        start tcpdump</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">  51</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">imp</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">  52</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS HA Sanity test - initialization"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-2', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Setting up test environment"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Setup the test environment including "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L55"></a><tt class="py-lineno">  55</tt>  <tt class="py-line">                                <tt class="py-string">"installing ONOS, starting Mininet and ONOS"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L56"></a><tt class="py-lineno">  56</tt>  <tt class="py-line">                                <tt class="py-string">"cli sessions."</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: save all the timers and output them for plotting</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">  58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line">        <tt class="py-comment"># load some variables from the params file</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">  60</tt>  <tt class="py-line">        <tt class="py-name">PULLCODE</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">  61</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'Git'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'True'</tt><tt class="py-op">:</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">  62</tt>  <tt class="py-line">            <tt class="py-name">PULLCODE</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">  63</tt>  <tt class="py-line">        <tt class="py-name">gitBranch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'branch'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line"> </tt>
+<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'num_controllers'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">  70</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: refactor how to get onos port, maybe put into component tag?</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line">        <tt class="py-comment"># set global variables</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS1Port</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS2Port</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">  74</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS3Port</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS4Port</tt> </tt>
+<a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS5Port</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS6Port</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">  78</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">ONOS7Port</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line"> </tt>
+<a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: just get controller port from params?</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">  81</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: do we really need all these?</tt> </tt>
+<a name="L82"></a><tt class="py-lineno">  82</tt>  <tt class="py-line">        <tt class="py-name">ONOS1Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L83"></a><tt class="py-lineno">  83</tt>  <tt class="py-line">        <tt class="py-name">ONOS2Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port2'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line">        <tt class="py-name">ONOS3Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port3'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line">        <tt class="py-name">ONOS4Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port4'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L86"></a><tt class="py-lineno">  86</tt>  <tt class="py-line">        <tt class="py-name">ONOS5Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port5'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L87"></a><tt class="py-lineno">  87</tt>  <tt class="py-line">        <tt class="py-name">ONOS6Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port6'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line">        <tt class="py-name">ONOS7Port</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port7'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line"> </tt>
+<a name="L90"></a><tt class="py-lineno">  90</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line">            <tt class="py-name">fileName</tt> <tt class="py-op">=</tt> <tt class="py-string">"Counters"</tt> </tt>
+<a name="L92"></a><tt class="py-lineno">  92</tt>  <tt class="py-line">            <tt id="link-3" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-3', 'path', 'link-3');">path</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'imports'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'path'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module TestON.tests.HAclusterRestart.dependencies.Counters=TestON.tests.HAclusterRestart.dependencies.Counters-module.html,Module TestON.tests.HAminorityRestart.dependencies.Counters=TestON.tests.HAminorityRestart.dependencies.Counters-module.html,Module TestON.tests.HAsanity.dependencies.Counters=TestON.tests.HAsanity.dependencies.Counters-module.html,Module TestON.tests.HAsingleInstanceRestart.dependencies.Counters=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-4', 'Counters', 'link-4');">Counters</a></tt> <tt class="py-op">=</tt> <tt class="py-name">imp</tt><tt class="py-op">.</tt><tt class="py-name">load_source</tt><tt class="py-op">(</tt> <tt class="py-name">fileName</tt><tt class="py-op">,</tt> </tt>
+<a name="L94"></a><tt class="py-lineno">  94</tt>  <tt class="py-line">                                             <tt id="link-5" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-5', 'path', 'link-3');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno">  95</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-6', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-7', 'cleanup', 'link-7');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno">  98</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-8', 'exit', 'link-8');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line"> </tt>
+<a name="L100"></a><tt class="py-lineno"> 100</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#nodes,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#nodes"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-9', 'nodes', 'link-9');">nodes</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L102"></a><tt class="py-lineno"> 102</tt>  <tt class="py-line">        <tt class="py-name">ipList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L103"></a><tt class="py-lineno"> 103</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">'ONOScli'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno"> 106</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-10', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">'ONOS'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno"> 107</tt>  <tt class="py-line">                <tt class="py-name">ipList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-11', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno"> 109</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line"> </tt>
+<a name="L111"></a><tt class="py-lineno"> 111</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-12', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Create cell file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno"> 112</tt>  <tt class="py-line">        <tt class="py-name">cellAppString</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'appString'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L113"></a><tt class="py-lineno"> 113</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile" class="py-name" href="#" onclick="return doclink('link-13', 'createCellFile', 'link-13');">createCellFile</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-name">cellName</tt><tt class="py-op">,</tt> </tt>
+<a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line">                                       <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L115"></a><tt class="py-lineno"> 115</tt>  <tt class="py-line">                                       <tt class="py-name">cellAppString</tt><tt class="py-op">,</tt> <tt class="py-name">ipList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-14', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Applying cell variable to environment"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno"> 117</tt>  <tt class="py-line">        <tt class="py-name">cellResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell,Method TestON.drivers.common.cli.onosdriver.OnosDriver.setCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.setCell" class="py-name" href="#" onclick="return doclink('link-15', 'setCell', 'link-15');">setCell</a></tt><tt class="py-op">(</tt> <tt class="py-name">cellName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno"> 118</tt>  <tt class="py-line">        <tt class="py-name">verifyResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifyCell"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell" class="py-name" href="#" onclick="return doclink('link-16', 'verifyCell', 'link-16');">verifyCell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line"> </tt>
+<a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME:this is short term fix</tt> </tt>
+<a name="L121"></a><tt class="py-lineno"> 121</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-17', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Removing raft logs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno"> 122</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosRemoveRaftLogs()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosRemoveRaftLogs"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosRemoveRaftLogs" class="py-name" href="#" onclick="return doclink('link-18', 'onosRemoveRaftLogs', 'link-18');">onosRemoveRaftLogs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line"> </tt>
+<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-19', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Uninstalling ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno"> 125</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-20', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosUninstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall" class="py-name" href="#" onclick="return doclink('link-21', 'onosUninstall', 'link-21');">onosUninstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno"> 127</tt>  <tt class="py-line"> </tt>
+<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line">        <tt class="py-comment"># Make sure ONOS is DEAD</tt> </tt>
+<a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-22', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Killing any ONOS processes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L130"></a><tt class="py-lineno"> 130</tt>  <tt class="py-line">        <tt class="py-name">killResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-23', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line">            <tt class="py-name">killed</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosKill()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosKill"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosKill" class="py-name" href="#" onclick="return doclink('link-24', 'onosKill', 'link-24');">onosKill</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line">            <tt class="py-name">killResults</tt> <tt class="py-op">=</tt> <tt class="py-name">killResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">killed</tt> </tt>
+<a name="L134"></a><tt class="py-lineno"> 134</tt>  <tt class="py-line"> </tt>
+<a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line">        <tt class="py-name">cleanInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line">        <tt class="py-name">gitPullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line"> </tt>
+<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-25', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line">        <tt class="py-comment"># scp topo file to mininet</tt> </tt>
+<a name="L140"></a><tt class="py-lineno"> 140</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: move to params?</tt> </tt>
+<a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line">        <tt class="py-name">topoName</tt> <tt class="py-op">=</tt> <tt class="py-string">"obelisk.py"</tt> </tt>
+<a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line">        <tt class="py-name">filePath</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> <tt class="py-string">"/tools/test/topos/"</tt> </tt>
+<a name="L143"></a><tt class="py-lineno"> 143</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.copyMininetFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#copyMininetFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.copyMininetFile" class="py-name" href="#" onclick="return doclink('link-26', 'copyMininetFile', 'link-26');">copyMininetFile</a></tt><tt class="py-op">(</tt> <tt class="py-name">topoName</tt><tt class="py-op">,</tt> <tt class="py-name">filePath</tt><tt class="py-op">,</tt> </tt>
+<a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno"> 146</tt>  <tt class="py-line">        <tt class="py-name">mnResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet" class="py-name" href="#" onclick="return doclink('link-27', 'startNet', 'link-27');">startNet</a></tt><tt class="py-op">(</tt> <tt class="py-op">)</tt> </tt>
+<a name="L147"></a><tt class="py-lineno"> 147</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">mnResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L148"></a><tt class="py-lineno"> 148</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Mininet Started"</tt><tt class="py-op">,</tt> </tt>
+<a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line">                                 <tt id="link-28" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-28', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error starting Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line"> </tt>
+<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-29', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Git checkout and pull "</tt> <tt class="py-op">+</tt> <tt class="py-name">gitBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">PULLCODE</tt><tt class="py-op">:</tt> </tt>
+<a name="L153"></a><tt class="py-lineno"> 153</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitCheckout"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout" class="py-name" href="#" onclick="return doclink('link-30', 'gitCheckout', 'link-30');">gitCheckout</a></tt><tt class="py-op">(</tt> <tt class="py-name">gitBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line">            <tt class="py-name">gitPullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-31', 'gitPull', 'link-31');">gitPull</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line">            <tt class="py-comment"># values of 1 or 3 are good</tt> </tt>
+<a name="L156"></a><tt class="py-lineno"> 156</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_lesser</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">gitPullResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line">                                      <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Git pull successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line">                                      <tt id="link-32" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-32', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Git pull failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getVersion,Method TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getVersion"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion
+TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion" class="py-name" href="#" onclick="return doclink('link-33', 'getVersion', 'link-33');">getVersion</a></tt><tt class="py-op">(</tt> <tt class="py-name">report</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line"> </tt>
+<a name="L161"></a><tt class="py-lineno"> 161</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-34', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Using mvn clean install"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno"> 162</tt>  <tt class="py-line">        <tt class="py-name">cleanInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">PULLCODE</tt> <tt class="py-keyword">and</tt> <tt class="py-name">gitPullResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L164"></a><tt class="py-lineno"> 164</tt>  <tt class="py-line">            <tt class="py-name">cleanInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cleanInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall" class="py-name" href="#" onclick="return doclink('link-35', 'cleanInstall', 'link-35');">cleanInstall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L165"></a><tt class="py-lineno"> 165</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-36', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Did not pull new code so skipping mvn "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line">                           <tt class="py-string">"clean install"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L169"></a><tt class="py-lineno"> 169</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">cleanInstallResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"MCI successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line">                                 <tt id="link-37" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-37', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"MCI failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno"> 172</tt>  <tt class="py-line">        <tt class="py-comment"># GRAPHS</tt> </tt>
+<a name="L173"></a><tt class="py-lineno"> 173</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: important params here:</tt> </tt>
+<a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line">        <tt class="py-comment">#       job = name of Jenkins job</tt> </tt>
+<a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line">        <tt class="py-comment">#       Plot Name = Plot-HA, only can be used if multiple plots</tt> </tt>
+<a name="L176"></a><tt class="py-lineno"> 176</tt>  <tt class="py-line">        <tt class="py-comment">#       index = The number of the graph under plot name</tt> </tt>
+<a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line">        <tt class="py-name">job</tt> <tt class="py-op">=</tt> <tt class="py-string">"HAsanity"</tt> </tt>
+<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line">        <tt class="py-name">plotName</tt> <tt class="py-op">=</tt> <tt class="py-string">"Plot-HA"</tt> </tt>
+<a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">=</tt> <tt class="py-string">'&lt;ac:structured-macro ac:name="html"&gt;\n'</tt> </tt>
+<a name="L180"></a><tt class="py-lineno"> 180</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">+=</tt> <tt class="py-string">'&lt;ac:plain-text-body&gt;&lt;![CDATA[\n'</tt> </tt>
+<a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">+=</tt> <tt class="py-string">'&lt;iframe src="https://onos-jenkins.onlab.us/job/'</tt> <tt class="py-op">+</tt> <tt class="py-name">job</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line">                  <tt class="py-string">'/plot/'</tt> <tt class="py-op">+</tt> <tt class="py-name">plotName</tt> <tt class="py-op">+</tt> <tt class="py-string">'/getPlot?index=0'</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line">                  <tt class="py-string">'&amp;width=500&amp;height=300"'</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line">                  <tt class="py-string">'noborder="0" width="500" height="300" scrolling="yes" '</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L185"></a><tt class="py-lineno"> 185</tt>  <tt class="py-line">                  <tt class="py-string">'seamless="seamless"&gt;&lt;/iframe&gt;\n'</tt> </tt>
+<a name="L186"></a><tt class="py-lineno"> 186</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">+=</tt> <tt class="py-string">']]&gt;&lt;/ac:plain-text-body&gt;\n'</tt> </tt>
+<a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">+=</tt> <tt class="py-string">'&lt;/ac:structured-macro&gt;\n'</tt> </tt>
+<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-38', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt><tt class="py-name">graphs</tt><tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line"> </tt>
+<a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-39', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Creating ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno"> 191</tt>  <tt class="py-line">        <tt class="py-name">packageResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage" class="py-name" href="#" onclick="return doclink('link-40', 'onosPackage', 'link-40');">onosPackage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">packageResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS package successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line">                                 <tt id="link-41" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-41', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS package failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno"> 195</tt>  <tt class="py-line"> </tt>
+<a name="L196"></a><tt class="py-lineno"> 196</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-42', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Installing ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno"> 197</tt>  <tt class="py-line">        <tt class="py-name">onosInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-43', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall" class="py-name" href="#" onclick="return doclink('link-44', 'onosInstall', 'link-44');">onosInstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">options</tt><tt class="py-op">=</tt><tt class="py-string">"-f"</tt><tt class="py-op">,</tt> </tt>
+<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line">                                                    <tt class="py-name">node</tt><tt class="py-op">=</tt><tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line">            <tt class="py-name">onosInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosInstallResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">onosInstallResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS install successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L204"></a><tt class="py-lineno"> 204</tt>  <tt class="py-line">                                 <tt id="link-45" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-45', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS install failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno"> 205</tt>  <tt class="py-line"> </tt>
+<a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-46', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Checking if ONOS is up yet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno"> 207</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line">            <tt class="py-name">onosIsupResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-47', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line">                <tt class="py-name">started</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.isup()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#isup"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-48', 'isup', 'link-48');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno"> 211</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">started</tt><tt class="py-op">:</tt> </tt>
+<a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-49', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-50', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" didn't start!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosStop()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStop"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosStop" class="py-name" href="#" onclick="return doclink('link-51', 'onosStop', 'link-51');">onosStop</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosStart()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStart"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosStart" class="py-name" href="#" onclick="return doclink('link-52', 'onosStart', 'link-52');">onosStart</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line">                <tt class="py-name">onosIsupResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosIsupResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">started</tt> </tt>
+<a name="L216"></a><tt class="py-lineno"> 216</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">onosIsupResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L217"></a><tt class="py-lineno"> 217</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L218"></a><tt class="py-lineno"> 218</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">onosIsupResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS startup successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line">                                 <tt id="link-53" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-53', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS startup failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line"> </tt>
+<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-54', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-55', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting ONOS CLI sessions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line">        <tt class="py-name">cliResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L226"></a><tt class="py-lineno"> 226</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Module TestON.core.Thread=TestON.core.Thread-module.html,Class TestON.core.Thread.Thread=TestON.core.Thread.Thread-class.html"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-56', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#startOnosCli"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli" class="py-name" href="#" onclick="return doclink('link-57', 'startOnosCli', 'link-57');">startOnosCli</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"startOnosCli-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L228"></a><tt class="py-lineno"> 228</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-58', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L229"></a><tt class="py-lineno"> 229</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line"> </tt>
+<a name="L232"></a><tt class="py-lineno"> 232</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L234"></a><tt class="py-lineno"> 234</tt>  <tt class="py-line">            <tt class="py-name">cliResults</tt> <tt class="py-op">=</tt> <tt class="py-name">cliResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">cliResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS cli startup successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line">                                 <tt id="link-59" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-59', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS cli startup failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line"> </tt>
+<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'tcpdump'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">"true"</tt><tt class="py-op">:</tt> </tt>
+<a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-60', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Start Packet Capture MN"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startTcpdump()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startTcpdump,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.startTcpdump()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#startTcpdump"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startTcpdump
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.startTcpdump" class="py-name" href="#" onclick="return doclink('link-61', 'startTcpdump', 'link-61');">startTcpdump</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MNtcpdump'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'folder'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">)</tt> </tt>
+<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line">                <tt class="py-op">+</tt> <tt class="py-string">"-MN.pcap"</tt><tt class="py-op">,</tt> </tt>
+<a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line">                <tt class="py-name">intf</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MNtcpdump'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'intf'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line">                <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MNtcpdump'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line"> </tt>
+<a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-62', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"App Ids check"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line">        <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-63', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appToIDCheck"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-64', 'appToIDCheck', 'link-64');">appToIDCheck</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"appToIDCheck-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line"> </tt>
+<a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line">            <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">appCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-65', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#apps,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#apps"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-66', 'apps', 'link-66');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-67', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appIDs"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-68', 'appIDs', 'link-68');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L265"></a><tt class="py-lineno"> 265</tt>  <tt class="py-line">                                 <tt id="link-69" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-69', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line"> </tt>
+<a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">cliResults</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-70', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-71', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to start ONOS, stopping test"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-72', 'cleanup', 'link-7');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-73', 'exit', 'link-8');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE2"></a><div id="HAsanity.CASE2-def"><a name="L272"></a><tt class="py-lineno"> 272</tt> <a class="py-toggle" href="#" id="HAsanity.CASE2-toggle" onclick="return toggle('HAsanity.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE2">CASE2</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE2-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE2-expanded"><a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L274"></a><tt class="py-lineno"> 274</tt>  <tt class="py-line"><tt class="py-docstring">        Assign devices to controllers</tt> </tt>
+<a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L276"></a><tt class="py-lineno"> 276</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L277"></a><tt class="py-lineno"> 277</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L280"></a><tt class="py-lineno"> 280</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-74', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS1Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS1Port not defined"</tt> </tt>
+<a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS2Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS2Port not defined"</tt> </tt>
+<a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS3Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS3Port not defined"</tt> </tt>
+<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS4Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS4Port not defined"</tt> </tt>
+<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS5Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS5Port not defined"</tt> </tt>
+<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS6Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS6Port not defined"</tt> </tt>
+<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS7Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS7Port not defined"</tt> </tt>
+<a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line"> </tt>
+<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-75', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assigning devices to controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Assign switches to ONOS using 'ovs-vsctl' "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line">                                <tt class="py-string">"and check that an ONOS node becomes the "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line">                                <tt class="py-string">"master of the device."</tt> </tt>
+<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-76', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assign switches to controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line"> </tt>
+<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line">        <tt class="py-name">ipList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line">            <tt class="py-name">ipList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-77', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line">        <tt class="py-name">swList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line">            <tt class="py-name">swList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignSwController"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController" class="py-name" href="#" onclick="return doclink('link-78', 'assignSwController', 'link-78');">assignSwController</a></tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt><tt class="py-op">=</tt><tt class="py-name">swList</tt><tt class="py-op">,</tt> <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">ipList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line"> </tt>
+<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line">        <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwController()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwController"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwController" class="py-name" href="#" onclick="return doclink('link-79', 'getSwController', 'link-79');">getSwController</a></tt><tt class="py-op">(</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-80', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L309"></a><tt class="py-lineno"> 309</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L310"></a><tt class="py-lineno"> 310</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-81', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-82', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line">                    <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">mastershipCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L314"></a><tt class="py-lineno"> 314</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L315"></a><tt class="py-lineno"> 315</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-83', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-84', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, node "</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> <tt class="py-string">" is "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line">                                    <tt class="py-string">"not in the list of controllers s"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L317"></a><tt class="py-lineno"> 317</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is connecting to."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L318"></a><tt class="py-lineno"> 318</tt>  <tt class="py-line">                    <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L319"></a><tt class="py-lineno"> 319</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L320"></a><tt class="py-lineno"> 320</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">mastershipCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L322"></a><tt class="py-lineno"> 322</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Switch mastership assigned correctly"</tt><tt class="py-op">,</tt> </tt>
+<a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line">            <tt id="link-85" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-85', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Switches not assigned correctly to controllers"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L324"></a><tt class="py-lineno"> 324</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE21"></a><div id="HAsanity.CASE21-def"><a name="L325"></a><tt class="py-lineno"> 325</tt> <a class="py-toggle" href="#" id="HAsanity.CASE21-toggle" onclick="return toggle('HAsanity.CASE21');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE21">CASE21</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE21-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE21-expanded"><a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L327"></a><tt class="py-lineno"> 327</tt>  <tt class="py-line"><tt class="py-docstring">        Assign mastership to controllers</tt> </tt>
+<a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L329"></a><tt class="py-lineno"> 329</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L330"></a><tt class="py-lineno"> 330</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L332"></a><tt class="py-lineno"> 332</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L333"></a><tt class="py-lineno"> 333</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-86', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS1Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS1Port not defined"</tt> </tt>
+<a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS2Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS2Port not defined"</tt> </tt>
+<a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS3Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS3Port not defined"</tt> </tt>
+<a name="L338"></a><tt class="py-lineno"> 338</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS4Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS4Port not defined"</tt> </tt>
+<a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS5Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS5Port not defined"</tt> </tt>
+<a name="L340"></a><tt class="py-lineno"> 340</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS6Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS6Port not defined"</tt> </tt>
+<a name="L341"></a><tt class="py-lineno"> 341</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS7Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS7Port not defined"</tt> </tt>
+<a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line"> </tt>
+<a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-87', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assigning Controller roles for switches"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Check that ONOS is connected to each "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L345"></a><tt class="py-lineno"> 345</tt>  <tt class="py-line">                                <tt class="py-string">"device. Then manually assign"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line">                                <tt class="py-string">" mastership to specific ONOS nodes using"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line">                                <tt class="py-string">" 'device-role'"</tt> </tt>
+<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-88', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assign mastership of switches to specific controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L349"></a><tt class="py-lineno"> 349</tt>  <tt class="py-line">        <tt class="py-comment"># Manually assign mastership to the controller we want</tt> </tt>
+<a name="L350"></a><tt class="py-lineno"> 350</tt>  <tt class="py-line">        <tt class="py-name">roleCall</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line"> </tt>
+<a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line">        <tt class="py-name">ipList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-op">]</tt> </tt>
+<a name="L353"></a><tt class="py-lineno"> 353</tt>  <tt class="py-line">        <tt class="py-name">deviceList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L355"></a><tt class="py-lineno"> 355</tt>  <tt class="py-line">            <tt class="py-comment"># Assign mastership to specific controllers. This assignment was</tt> </tt>
+<a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line">            <tt class="py-comment"># determined for a 7 node cluser, but will work with any sized</tt> </tt>
+<a name="L357"></a><tt class="py-lineno"> 357</tt>  <tt class="py-line">            <tt class="py-comment"># cluster</tt> </tt>
+<a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># switches 1 through 28</tt> </tt>
+<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line">                <tt class="py-comment"># set up correct variables:</tt> </tt>
+<a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L362"></a><tt class="py-lineno"> 362</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-89', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS1</tt> </tt>
+<a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getDevice"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-90', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"1000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L364"></a><tt class="py-lineno"> 364</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L365"></a><tt class="py-lineno"> 365</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-91', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS2</tt> </tt>
+<a name="L367"></a><tt class="py-lineno"> 367</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-92', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"2000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-93', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS2</tt> </tt>
+<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-94', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"3000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L372"></a><tt class="py-lineno"> 372</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L373"></a><tt class="py-lineno"> 373</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">3</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-95', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS4</tt> </tt>
+<a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-96', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"3004"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L376"></a><tt class="py-lineno"> 376</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">5</tt><tt class="py-op">:</tt> </tt>
+<a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-97', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS3</tt> </tt>
+<a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-98', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"5000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">6</tt><tt class="py-op">:</tt> </tt>
+<a name="L381"></a><tt class="py-lineno"> 381</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L382"></a><tt class="py-lineno"> 382</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-99', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS3</tt> </tt>
+<a name="L383"></a><tt class="py-lineno"> 383</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-100', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"6000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L384"></a><tt class="py-lineno"> 384</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">7</tt><tt class="py-op">:</tt> </tt>
+<a name="L385"></a><tt class="py-lineno"> 385</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">5</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L386"></a><tt class="py-lineno"> 386</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-101', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS6</tt> </tt>
+<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-102', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"6007"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">8</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">17</tt><tt class="py-op">:</tt> </tt>
+<a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">4</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-103', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS5</tt> </tt>
+<a name="L391"></a><tt class="py-lineno"> 391</tt>  <tt class="py-line">                    <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'3'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L392"></a><tt class="py-lineno"> 392</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-104', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">18</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">27</tt><tt class="py-op">:</tt> </tt>
+<a name="L394"></a><tt class="py-lineno"> 394</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">6</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L395"></a><tt class="py-lineno"> 395</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-105', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS7</tt> </tt>
+<a name="L396"></a><tt class="py-lineno"> 396</tt>  <tt class="py-line">                    <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'6'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-106', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L398"></a><tt class="py-lineno"> 398</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">28</tt><tt class="py-op">:</tt> </tt>
+<a name="L399"></a><tt class="py-lineno"> 399</tt>  <tt class="py-line">                    <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-107', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">c</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS1</tt> </tt>
+<a name="L401"></a><tt class="py-lineno"> 401</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-108', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"2800"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L402"></a><tt class="py-lineno"> 402</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-109', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-110', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"You didn't write an else statement for "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L404"></a><tt class="py-lineno"> 404</tt>  <tt class="py-line">                                    <tt class="py-string">"switch s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L405"></a><tt class="py-lineno"> 405</tt>  <tt class="py-line">                    <tt class="py-name">roleCall</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L406"></a><tt class="py-lineno"> 406</tt>  <tt class="py-line">                <tt class="py-comment"># Assign switch</tt> </tt>
+<a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line">                <tt class="py-keyword">assert</tt> <tt class="py-name">deviceId</tt><tt class="py-op">,</tt> <tt class="py-string">"No device id for s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" in ONOS"</tt> </tt>
+<a name="L408"></a><tt class="py-lineno"> 408</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: make this controller dynamic</tt> </tt>
+<a name="L409"></a><tt class="py-lineno"> 409</tt>  <tt class="py-line">                <tt class="py-name">roleCall</tt> <tt class="py-op">=</tt> <tt class="py-name">roleCall</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deviceRole()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deviceRole"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deviceRole" class="py-name" href="#" onclick="return doclink('link-111', 'deviceRole', 'link-111');">deviceRole</a></tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt><tt class="py-op">,</tt> </tt>
+<a name="L410"></a><tt class="py-lineno"> 410</tt>  <tt class="py-line">                                                                  <tt class="py-name">ip</tt> <tt class="py-op">)</tt> </tt>
+<a name="L411"></a><tt class="py-lineno"> 411</tt>  <tt class="py-line">                <tt class="py-name">ipList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">ip</tt> <tt class="py-op">)</tt> </tt>
+<a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line">                <tt class="py-name">deviceList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt class="py-name">AssertionError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-112', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Something is wrong with ONOS device view"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-113', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#devices"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-114', 'devices', 'link-114');">devices</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L418"></a><tt class="py-lineno"> 418</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">roleCall</tt><tt class="py-op">,</tt> </tt>
+<a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Re-assigned switch mastership to designated controller"</tt><tt class="py-op">,</tt> </tt>
+<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line">            <tt id="link-115" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-115', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something wrong with deviceRole calls"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line"> </tt>
+<a name="L422"></a><tt class="py-lineno"> 422</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-116', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check mastership was correctly assigned"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line">        <tt class="py-name">roleCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: This is due to the fact that device mastership change is not</tt> </tt>
+<a name="L425"></a><tt class="py-lineno"> 425</tt>  <tt class="py-line">        <tt class="py-comment">#       atomic and is actually a multi step process</tt> </tt>
+<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">ipList</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L428"></a><tt class="py-lineno"> 428</tt>  <tt class="py-line">            <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">ipList</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line">            <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceList</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line">            <tt class="py-comment"># Check assignment</tt> </tt>
+<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line">            <tt class="py-name">master</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getRole()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getRole"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getRole" class="py-name" href="#" onclick="return doclink('link-117', 'getRole', 'link-117');">getRole</a></tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'master'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-keyword">in</tt> <tt class="py-name">master</tt><tt class="py-op">:</tt> </tt>
+<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line">                <tt class="py-name">roleCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">roleCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line">                <tt class="py-name">roleCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">roleCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L436"></a><tt class="py-lineno"> 436</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-118', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-119', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, controller "</tt> <tt class="py-op">+</tt> <tt class="py-name">ip</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line">                                <tt class="py-string">" master "</tt> <tt class="py-op">+</tt> <tt class="py-string">"of device "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L438"></a><tt class="py-lineno"> 438</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">". Master is "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L439"></a><tt class="py-lineno"> 439</tt>  <tt class="py-line">                                <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">master</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">roleCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Switches were successfully reassigned to designated "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L444"></a><tt class="py-lineno"> 444</tt>  <tt class="py-line">                   <tt class="py-string">"controller"</tt><tt class="py-op">,</tt> </tt>
+<a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line">            <tt id="link-120" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-120', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Switches were not successfully reassigned"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L446"></a><tt class="py-lineno"> 446</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE3"></a><div id="HAsanity.CASE3-def"><a name="L447"></a><tt class="py-lineno"> 447</tt> <a class="py-toggle" href="#" id="HAsanity.CASE3-toggle" onclick="return toggle('HAsanity.CASE3');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE3">CASE3</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE3-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE3-expanded"><a name="L448"></a><tt class="py-lineno"> 448</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line"><tt class="py-docstring">        Assign intents</tt> </tt>
+<a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L451"></a><tt class="py-lineno"> 451</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L452"></a><tt class="py-lineno"> 452</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L453"></a><tt class="py-lineno"> 453</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L456"></a><tt class="py-lineno"> 456</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-121', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-122', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Adding host Intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Discover hosts by using pingall then "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line">                                <tt class="py-string">"assign predetermined host-to-host intents."</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L461"></a><tt class="py-lineno"> 461</tt>  <tt class="py-line">                                <tt class="py-string">" After installation, check that the intent"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L462"></a><tt class="py-lineno"> 462</tt>  <tt class="py-line">                                <tt class="py-string">" is distributed to all nodes and the state"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L463"></a><tt class="py-lineno"> 463</tt>  <tt class="py-line">                                <tt class="py-string">" is INSTALLED"</tt> </tt>
+<a name="L464"></a><tt class="py-lineno"> 464</tt>  <tt class="py-line"> </tt>
+<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line">        <tt class="py-comment"># install onos-app-fwd</tt> </tt>
+<a name="L466"></a><tt class="py-lineno"> 466</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-123', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install reactive forwarding app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line">        <tt class="py-name">installResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#activateApp,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#activateApp"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp" class="py-name" href="#" onclick="return doclink('link-124', 'activateApp', 'link-124');">activateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.fwd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">installResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Install fwd successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line">                                 <tt id="link-125" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-125', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Install fwd failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L471"></a><tt class="py-lineno"> 471</tt>  <tt class="py-line"> </tt>
+<a name="L472"></a><tt class="py-lineno"> 472</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-126', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check app ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L473"></a><tt class="py-lineno"> 473</tt>  <tt class="py-line">        <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L476"></a><tt class="py-lineno"> 476</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-127', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-128', 'appToIDCheck', 'link-64');">appToIDCheck</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"appToIDCheck-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L478"></a><tt class="py-lineno"> 478</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L479"></a><tt class="py-lineno"> 479</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L481"></a><tt class="py-lineno"> 481</tt>  <tt class="py-line"> </tt>
+<a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L483"></a><tt class="py-lineno"> 483</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line">            <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">appCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L485"></a><tt class="py-lineno"> 485</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-129', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-130', 'apps', 'link-66');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-131', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-132', 'appIDs', 'link-68');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L490"></a><tt class="py-lineno"> 490</tt>  <tt class="py-line">                                 <tt id="link-133" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-133', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line"> </tt>
+<a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-134', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Discovering Hosts( Via pingall for now )"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: Once we have a host discovery mechanism, use that instead</tt> </tt>
+<a name="L494"></a><tt class="py-lineno"> 494</tt>  <tt class="py-line">        <tt class="py-comment"># REACTIVE FWD test</tt> </tt>
+<a name="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># Retry if pingall fails first time</tt> </tt>
+<a name="L497"></a><tt class="py-lineno"> 497</tt>  <tt class="py-line">            <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line">            <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingall"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-135', 'pingall', 'link-135');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line">                <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line">                    <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line">                    <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line">                    <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Reactive Pingall test passed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L504"></a><tt class="py-lineno"> 504</tt>  <tt class="py-line">                    <tt id="link-136" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-136', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Reactive Pingall failed, "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line">                           <tt class="py-string">"one or more ping pairs failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line">            <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-137', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Time for pingall: %2f seconds"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line">                           <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L509"></a><tt class="py-lineno"> 509</tt>  <tt class="py-line">        <tt class="py-comment"># timeout for fwd flows</tt> </tt>
+<a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">11</tt> <tt class="py-op">)</tt> </tt>
+<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line">        <tt class="py-comment"># uninstall onos-app-fwd</tt> </tt>
+<a name="L512"></a><tt class="py-lineno"> 512</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-138', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Uninstall reactive forwarding app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line">        <tt class="py-name">uninstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.deactivateApp()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#deactivateApp,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deactivateApp()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deactivateApp"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.deactivateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deactivateApp" class="py-name" href="#" onclick="return doclink('link-139', 'deactivateApp', 'link-139');">deactivateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.fwd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">uninstallResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Uninstall fwd successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line">                                 <tt id="link-140" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-140', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Uninstall fwd failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L517"></a><tt class="py-lineno"> 517</tt>  <tt class="py-line">        <tt class="py-string">'''</tt> </tt>
+<a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line"><tt class="py-string">        main.Mininet1.handle.sendline( "py [ h.cmd( \"arping -c 1 10.1.1.1 \" ) for h in net.hosts ] ")</tt> </tt>
+<a name="L519"></a><tt class="py-lineno"> 519</tt>  <tt class="py-line"><tt class="py-string">        import time</tt> </tt>
+<a name="L520"></a><tt class="py-lineno"> 520</tt>  <tt class="py-line"><tt class="py-string">        time.sleep(60)</tt> </tt>
+<a name="L521"></a><tt class="py-lineno"> 521</tt>  <tt class="py-line"><tt class="py-string">        '''</tt> </tt>
+<a name="L522"></a><tt class="py-lineno"> 522</tt>  <tt class="py-line"> </tt>
+<a name="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-141', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check app ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line">        <tt class="py-name">appCheck2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L527"></a><tt class="py-lineno"> 527</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-142', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-143', 'appToIDCheck', 'link-64');">appToIDCheck</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"appToIDCheck-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L530"></a><tt class="py-lineno"> 530</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L532"></a><tt class="py-lineno"> 532</tt>  <tt class="py-line"> </tt>
+<a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L534"></a><tt class="py-lineno"> 534</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L535"></a><tt class="py-lineno"> 535</tt>  <tt class="py-line">            <tt class="py-name">appCheck2</tt> <tt class="py-op">=</tt> <tt class="py-name">appCheck2</tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck2</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L537"></a><tt class="py-lineno"> 537</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-144', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-145', 'apps', 'link-66');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-146', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-147', 'appIDs', 'link-68');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck2</tt><tt class="py-op">,</tt> </tt>
+<a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line">                                 <tt id="link-148" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-148', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L542"></a><tt class="py-lineno"> 542</tt>  <tt class="py-line"> </tt>
+<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-149', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add host intents via cli"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line">        <tt class="py-name">intentIds</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line">        <tt class="py-comment"># TODO:  move the host numbers to params</tt> </tt>
+<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line">        <tt class="py-comment">#        Maybe look at all the paths we ping?</tt> </tt>
+<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line">        <tt class="py-name">intentAddResult</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line">        <tt class="py-name">hostResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-number">18</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-150', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Adding host intent between h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line">                           <tt class="py-string">" and h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">            <tt class="py-name">host1</tt> <tt class="py-op">=</tt> <tt class="py-string">"00:00:00:00:00:"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hex</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">            <tt class="py-name">host2</tt> <tt class="py-op">=</tt> <tt class="py-string">"00:00:00:00:00:"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hex</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: getHost can return None</tt> </tt>
+<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line">            <tt class="py-name">host1Dict</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getHost()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getHost,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getHost()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getHost"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getHost
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getHost" class="py-name" href="#" onclick="return doclink('link-151', 'getHost', 'link-151');">getHost</a></tt><tt class="py-op">(</tt> <tt class="py-name">host1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">            <tt class="py-name">host2Dict</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getHost
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getHost" class="py-name" href="#" onclick="return doclink('link-152', 'getHost', 'link-151');">getHost</a></tt><tt class="py-op">(</tt> <tt class="py-name">host2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line">            <tt class="py-name">host1Id</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">            <tt class="py-name">host2Id</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">host1Dict</tt> <tt class="py-keyword">and</tt> <tt class="py-name">host2Dict</tt><tt class="py-op">:</tt> </tt>
+<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line">                <tt class="py-name">host1Id</tt> <tt class="py-op">=</tt> <tt class="py-name">host1Dict</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">                <tt class="py-name">host2Id</tt> <tt class="py-op">=</tt> <tt class="py-name">host2Dict</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">host1Id</tt> <tt class="py-keyword">and</tt> <tt class="py-name">host2Id</tt><tt class="py-op">:</tt> </tt>
+<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line">                <tt class="py-name">nodeNum</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">%</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> </tt>
+<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line">                <tt class="py-name">tmpId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt> <tt class="py-name">nodeNum</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addHostIntent()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addHostIntent,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addHostIntent()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addHostIntent"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addHostIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addHostIntent" class="py-name" href="#" onclick="return doclink('link-153', 'addHostIntent', 'link-153');">addHostIntent</a></tt><tt class="py-op">(</tt> <tt class="py-name">host1Id</tt><tt class="py-op">,</tt> <tt class="py-name">host2Id</tt> <tt class="py-op">)</tt> </tt>
+<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">tmpId</tt><tt class="py-op">:</tt> </tt>
+<a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-154', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Added intent with id: "</tt> <tt class="py-op">+</tt> <tt class="py-name">tmpId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line">                    <tt class="py-name">intentIds</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">tmpId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L570"></a><tt class="py-lineno"> 570</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-155', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-156', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"addHostIntent returned: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line">                                     <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">tmpId</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-157', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-158', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, getHost() failed for h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line">                                <tt class="py-string">" and/or h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line">                <tt id="link-159" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#hosts,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#hosts"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-159', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-160', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-161', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Hosts output: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-162', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-163" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-163', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L580"></a><tt class="py-lineno"> 580</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-164', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-165" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-165', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line">                <tt class="py-name">hostResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">hostResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Found a host id for each host"</tt><tt class="py-op">,</tt> </tt>
+<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line">                                 <tt id="link-166" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-166', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error looking up host ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line"> </tt>
+<a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line">        <tt class="py-name">intentStart</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line">        <tt class="py-name">onosIds</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllIntentsId"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId" class="py-name" href="#" onclick="return doclink('link-167', 'getAllIntentsId', 'link-167');">getAllIntentsId</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-168', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Submitted intents: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">intentIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L593"></a><tt class="py-lineno"> 593</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-169', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents in ONOS: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-170" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intent"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-170', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentIds</tt><tt class="py-op">:</tt> </tt>
+<a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-171" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-171', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosIds</tt><tt class="py-op">:</tt> </tt>
+<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt>  <tt class="py-comment"># intent submitted is in onos</tt> </tt>
+<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line">                <tt class="py-name">intentAddResult</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">intentAddResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L600"></a><tt class="py-lineno"> 600</tt>  <tt class="py-line">            <tt class="py-name">intentStop</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line">            <tt class="py-name">intentStop</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line">        <tt class="py-comment"># Print the intent states</tt> </tt>
+<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line">        <tt id="link-172" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intents,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intents"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-172', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-173', 'intents', 'link-172');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line">        <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line">        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-174', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> <tt class="py-string">'Count'</tt><tt class="py-op">,</tt> <tt class="py-string">'ID'</tt><tt class="py-op">,</tt> <tt class="py-string">'State'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line">        <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L610"></a><tt class="py-lineno"> 610</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-175" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-175', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-176" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-176', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line">                <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-177" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-177', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L612"></a><tt class="py-lineno"> 612</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-string">"INSTALLED"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state</tt><tt class="py-op">:</tt> </tt>
+<a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line">                    <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L614"></a><tt class="py-lineno"> 614</tt>  <tt class="py-line">                <tt class="py-name">intentId</tt> <tt class="py-op">=</tt> <tt id="link-178" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-178', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line">                <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L616"></a><tt class="py-lineno"> 616</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-179', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">        <tt class="py-comment"># add submitted intents not in the store</tt> </tt>
+<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line">        <tt class="py-name">tmplist</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt> <tt class="py-op">]</tt> </tt>
+<a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line">        <tt class="py-name">missingIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentIds</tt><tt class="py-op">:</tt> </tt>
+<a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tmplist</tt><tt class="py-op">:</tt> </tt>
+<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line">                <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-string">" - "</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line">                <tt class="py-name">missingIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line">        <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt><tt class="py-op">:</tt> </tt>
+<a name="L627"></a><tt class="py-lineno"> 627</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-180', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line">                           <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">s</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line">        <tt id="link-181" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#leaders"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-181', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-182', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line">            <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-183" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-183', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L634"></a><tt class="py-lineno"> 634</tt>  <tt class="py-line">                <tt class="py-name">parsedLeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-184" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-184', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-185', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedLeaders</tt><tt class="py-op">,</tt> </tt>
+<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L638"></a><tt class="py-lineno"> 638</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line">                <tt class="py-comment"># check for all intent partitions</tt> </tt>
+<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line">                <tt class="py-name">topics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">14</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"intent-partition-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-186', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">topics</tt> <tt class="py-op">)</tt> </tt>
+<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line">                <tt class="py-name">ONOStopics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">j</tt><tt class="py-op">[</tt><tt class="py-string">'topic'</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsedLeaders</tt> <tt class="py-op">]</tt> </tt>
+<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">in</tt> <tt class="py-name">topics</tt><tt class="py-op">:</tt> </tt>
+<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOStopics</tt><tt class="py-op">:</tt> </tt>
+<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-187', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-188', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error: "</tt> <tt class="py-op">+</tt> <tt class="py-name">topic</tt> <tt class="py-op">+</tt> </tt>
+<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line">                                        <tt class="py-string">" not in leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line">                        <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-189', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-190', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"leaders() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L653"></a><tt class="py-lineno"> 653</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-191', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-192', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-193', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-194" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-194', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line">        <tt class="py-comment"># Check all nodes</tt> </tt>
+<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">missing</tt><tt class="py-op">:</tt> </tt>
+<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-195', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-196', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" leaders output: \n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line"> </tt>
+<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line">        <tt id="link-197" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#partitions"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-197', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-198', 'partitions', 'link-197');">partitions</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L663"></a><tt class="py-lineno"> 663</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-199" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-199', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line">                <tt class="py-name">parsedPartitions</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-200" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-200', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-201', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPartitions</tt><tt class="py-op">,</tt> </tt>
+<a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check for a leader in all paritions</tt> </tt>
+<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check for consistency among nodes</tt> </tt>
+<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-202', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-203', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"partitions() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-204" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-204', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing partitions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-205" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-205', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-206', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-207" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-207', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line">        <tt id="link-208" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#pendingMap"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-208', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-209', 'pendingMap', 'link-208');">pendingMap</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-210" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-210', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L680"></a><tt class="py-lineno"> 680</tt>  <tt class="py-line">                <tt class="py-name">parsedPending</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-211" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-211', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-212', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPending</tt><tt class="py-op">,</tt> </tt>
+<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check something here?</tt> </tt>
+<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-213', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-214', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pendingMap() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-215', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing pending map"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-216', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-217', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-218" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-218', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line"> </tt>
+<a name="L692"></a><tt class="py-lineno"> 692</tt>  <tt class="py-line">        <tt class="py-name">intentAddResult</tt> <tt class="py-op">=</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt> <tt class="py-name">intentAddResult</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">missingIntents</tt> <tt class="py-keyword">and</tt> </tt>
+<a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">                                <tt class="py-name">installedCheck</tt> <tt class="py-op">)</tt> </tt>
+<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">intentAddResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-219', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-220', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in pushing host intents to ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line"> </tt>
+<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-221', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Intent Anti-Entropy dispersion"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">100</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line">            <tt class="py-name">correct</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-222', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Submitted intents: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">intentIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-223" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-223', 'cli', 'link-223');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line">                <tt class="py-name">onosIds</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line">                <tt class="py-name">ids</tt> <tt class="py-op">=</tt> <tt id="link-224" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-224', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt id="link-225" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId" class="py-name" href="#" onclick="return doclink('link-225', 'getAllIntentsId', 'link-167');">getAllIntentsId</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line">                <tt class="py-name">onosIds</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">ids</tt> <tt class="py-op">)</tt> </tt>
+<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-226', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents in "</tt> <tt class="py-op">+</tt> <tt id="link-227" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-227', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">onosIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">ids</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">intentIds</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-228', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Set of intent IDs doesn't match"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line">                    <tt class="py-name">correct</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line">                    <tt id="link-229" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-229', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-230" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-230', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt id="link-231" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-231', 'intents', 'link-172');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt id="link-232" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-232', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt id="link-233" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-233', 'intents', 'link-172');">intents</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt id="link-234" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-234', 'intent', 'link-170');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">"INSTALLED"</tt><tt class="py-op">:</tt> </tt>
+<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-235', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Intent "</tt> <tt class="py-op">+</tt> <tt id="link-236" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-236', 'intent', 'link-170');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> </tt>
+<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line">                                           <tt class="py-string">" is "</tt> <tt class="py-op">+</tt> <tt id="link-237" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-237', 'intent', 'link-170');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line">                            <tt class="py-name">correct</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
+<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">correct</tt><tt class="py-op">:</tt> </tt>
+<a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">intentStop</tt><tt class="py-op">:</tt> </tt>
+<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line">            <tt class="py-name">intentStop</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">gossipTime</tt> </tt>
+<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line">        <tt class="py-name">gossipTime</tt> <tt class="py-op">=</tt> <tt class="py-name">intentStop</tt> <tt class="py-op">-</tt> <tt class="py-name">intentStart</tt> </tt>
+<a name="L727"></a><tt class="py-lineno"> 727</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-238', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"It took about "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">gossipTime</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line">                        <tt class="py-string">" seconds for all intents to appear in each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: make this time configurable/calculate based off of number of</tt> </tt>
+<a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line">        <tt class="py-comment">#        nodes and gossip rounds</tt> </tt>
+<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_greater_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line">                <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-number">40</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">gossipTime</tt><tt class="py-op">,</tt> </tt>
+<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line">                <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ECM anti-entropy for intents worked within "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line">                       <tt class="py-string">"expected time"</tt><tt class="py-op">,</tt> </tt>
+<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line">                <tt id="link-239" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-239', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intent ECM anti-entropy took too long"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">gossipTime</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">40</tt><tt class="py-op">:</tt> </tt>
+<a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line">            <tt class="py-name">intentAddResult</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line"> </tt>
+<a name="L739"></a><tt class="py-lineno"> 739</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">intentAddResult</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"key"</tt> <tt class="py-keyword">in</tt> <tt id="link-240" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-240', 'pendingMap', 'link-208');">pendingMap</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line">            <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line">            <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-241" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-241', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Sleeping 60 seconds to see if intents are found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line">            <tt class="py-name">onosIds</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId" class="py-name" href="#" onclick="return doclink('link-242', 'getAllIntentsId', 'link-167');">getAllIntentsId</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-243', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Submitted intents: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">intentIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-244', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents in ONOS: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line">            <tt class="py-comment"># Print the intent states</tt> </tt>
+<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line">            <tt id="link-245" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-245', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-246" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-246', 'intents', 'link-172');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-247" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-247', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> <tt class="py-string">'Count'</tt><tt class="py-op">,</tt> <tt class="py-string">'ID'</tt><tt class="py-op">,</tt> <tt class="py-string">'State'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-248" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-248', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-249" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-249', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line">                    <tt class="py-comment"># Iter through intents of a node</tt> </tt>
+<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line">                    <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-250" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-250', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-string">"INSTALLED"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state</tt><tt class="py-op">:</tt> </tt>
+<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line">                        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line">                    <tt class="py-name">intentId</tt> <tt class="py-op">=</tt> <tt id="link-251" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-251', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line">                    <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-252" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-252', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line">            <tt class="py-comment"># add submitted intents not in the store</tt> </tt>
+<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line">            <tt class="py-name">tmplist</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt> <tt class="py-op">]</tt> </tt>
+<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentIds</tt><tt class="py-op">:</tt> </tt>
+<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tmplist</tt><tt class="py-op">:</tt> </tt>
+<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line">                    <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-string">" - "</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt><tt class="py-op">:</tt> </tt>
+<a name="L769"></a><tt class="py-lineno"> 769</tt>  <tt class="py-line">                <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L770"></a><tt class="py-lineno"> 770</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-253" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-253', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line">                               <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">s</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line">            <tt id="link-254" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-254', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-255" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-255', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line">                <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-256" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-256', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line">                    <tt class="py-name">parsedLeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-257" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-257', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-258" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-258', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedLeaders</tt><tt class="py-op">,</tt> </tt>
+<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L781"></a><tt class="py-lineno"> 781</tt>  <tt class="py-line">                    <tt class="py-comment"># check for all intent partitions</tt> </tt>
+<a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line">                    <tt class="py-comment"># check for election</tt> </tt>
+<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">14</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line">                        <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"intent-partition-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line">                    <tt class="py-comment"># FIXME: this should only be after we start the app</tt> </tt>
+<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-259" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-259', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">topics</tt> <tt class="py-op">)</tt> </tt>
+<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line">                    <tt class="py-name">ONOStopics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">j</tt><tt class="py-op">[</tt><tt class="py-string">'topic'</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsedLeaders</tt> <tt class="py-op">]</tt> </tt>
+<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">in</tt> <tt class="py-name">topics</tt><tt class="py-op">:</tt> </tt>
+<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOStopics</tt><tt class="py-op">:</tt> </tt>
+<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-260" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-260', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-261" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-261', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error: "</tt> <tt class="py-op">+</tt> <tt class="py-name">topic</tt> <tt class="py-op">+</tt> </tt>
+<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line">                                            <tt class="py-string">" not in leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line">                            <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-262', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-263" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-263', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"leaders() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-264" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-264', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-265" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-265', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-266" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-266', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-267" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-267', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line">            <tt class="py-comment"># Check all nodes</tt> </tt>
+<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">missing</tt><tt class="py-op">:</tt> </tt>
+<a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line">                    <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-268" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-268', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-269" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-269', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" leaders output: \n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line">                                   <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line"> </tt>
+<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line">            <tt id="link-270" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-270', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-271" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-271', 'partitions', 'link-197');">partitions</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-272" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-272', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line">                    <tt class="py-name">parsedPartitions</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-273" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-273', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-274" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-274', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPartitions</tt><tt class="py-op">,</tt> </tt>
+<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check for a leader in all paritions</tt> </tt>
+<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check for consistency among nodes</tt> </tt>
+<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-275" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-275', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-276" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-276', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"partitions() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-277" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-277', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing partitions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-278" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-278', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-279" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-279', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-280" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-280', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line">            <tt id="link-281" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-281', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-282', 'pendingMap', 'link-208');">pendingMap</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-283" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-283', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line">                    <tt class="py-name">parsedPending</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-284" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-284', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-285" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-285', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPending</tt><tt class="py-op">,</tt> </tt>
+<a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L829"></a><tt class="py-lineno"> 829</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check something here?</tt> </tt>
+<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-286" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-286', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-287" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-287', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pendingMap() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-288', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing pending map"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-289" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-289', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-290" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-290', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-291" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-291', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE4"></a><div id="HAsanity.CASE4-def"><a name="L837"></a><tt class="py-lineno"> 837</tt> <a class="py-toggle" href="#" id="HAsanity.CASE4-toggle" onclick="return toggle('HAsanity.CASE4');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE4">CASE4</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE4-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE4-expanded"><a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line"><tt class="py-docstring">        Ping across added host intents</tt> </tt>
+<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-292', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-293" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-293', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify connectivity by sendind traffic across Intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Ping across added host intents to check "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line">                                <tt class="py-string">"functionality and check the state of "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line">                                <tt class="py-string">"the intent"</tt> </tt>
+<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-294" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-294', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Ping across added host intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line">        <tt class="py-name">PingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-number">18</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line">            <tt class="py-name">ping</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-295" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingHost,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingHost()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingHost"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingHost" class="py-name" href="#" onclick="return doclink('link-295', 'pingHost', 'link-295');">pingHost</a></tt><tt class="py-op">(</tt> <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-string">"h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L856"></a><tt class="py-lineno"> 856</tt>  <tt class="py-line">                                           <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-string">"h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line">            <tt class="py-name">PingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">PingResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ping</tt> </tt>
+<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ping</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-296" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-296', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Ping failed between h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line">                               <tt class="py-string">" and h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">ping</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-297" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-297', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Ping test passed!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line">                <tt class="py-comment"># Don't set PingResult or you'd override failures</tt> </tt>
+<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">PingResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-298" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-298', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-299" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-299', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line">                <tt class="py-string">"Intents have not been installed correctly, pings failed."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: pretty print</tt> </tt>
+<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-300" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-300', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS1 intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line">                <tt class="py-name">tmpIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-301" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-301', 'intents', 'link-172');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-302" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-302', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">tmpIntents</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L874"></a><tt class="py-lineno"> 874</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L876"></a><tt class="py-lineno"> 876</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-303" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-303', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">tmpIntents</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">PingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents have been installed correctly and pings work"</tt><tt class="py-op">,</tt> </tt>
+<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line">            <tt id="link-304" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-304', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intents have not been installed correctly, pings failed."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line"> </tt>
+<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-305" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-305', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check Intent state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line">        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line">        <tt class="py-name">loopCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">installedCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">loopCount</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">40</tt><tt class="py-op">:</tt> </tt>
+<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line">            <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line">            <tt class="py-comment"># Print the intent states</tt> </tt>
+<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line">            <tt id="link-306" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-306', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-307', 'intents', 'link-172');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-308" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-308', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> <tt class="py-string">'Count'</tt><tt class="py-op">,</tt> <tt class="py-string">'ID'</tt><tt class="py-op">,</tt> <tt class="py-string">'State'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line">            <tt class="py-comment"># Iter through intents of a node</tt> </tt>
+<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-309" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-309', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-310" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-310', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line">                    <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-311" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-311', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-string">"INSTALLED"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state</tt><tt class="py-op">:</tt> </tt>
+<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line">                        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">                    <tt class="py-name">intentId</tt> <tt class="py-op">=</tt> <tt id="link-312" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-312', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line">                    <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-313" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-313', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing intents."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line">            <tt class="py-comment"># Print states</tt> </tt>
+<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt><tt class="py-op">:</tt> </tt>
+<a name="L906"></a><tt class="py-lineno"> 906</tt>  <tt class="py-line">                <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-314" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-314', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line">                               <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">s</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">installedCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line">                <tt class="py-name">loopCount</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">installedCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents are all INSTALLED"</tt><tt class="py-op">,</tt> </tt>
+<a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line">                                 <tt id="link-315" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-315', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intents are not all in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line">                                        <tt class="py-string">"INSTALLED state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line"> </tt>
+<a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-316" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-316', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check leadership of topics"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line">        <tt id="link-317" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-317', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-318" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-318', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L919"></a><tt class="py-lineno"> 919</tt>  <tt class="py-line">        <tt class="py-name">topicCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-319" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-319', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line">                <tt class="py-name">parsedLeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-320" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-320', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-321" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-321', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedLeaders</tt><tt class="py-op">,</tt> </tt>
+<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line">                <tt class="py-comment"># check for all intent partitions</tt> </tt>
+<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line">                <tt class="py-comment"># check for election</tt> </tt>
+<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: Look at Devices as topics now that it uses this system</tt> </tt>
+<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line">                <tt class="py-name">topics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">14</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"intent-partition-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: this should only be after we start the app</tt> </tt>
+<a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: topics.append( "org.onosproject.election" )</tt> </tt>
+<a name="L935"></a><tt class="py-lineno"> 935</tt>  <tt class="py-line">                <tt class="py-comment"># Print leaders output</tt> </tt>
+<a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-322', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">topics</tt> <tt class="py-op">)</tt> </tt>
+<a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line">                <tt class="py-name">ONOStopics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">j</tt><tt class="py-op">[</tt><tt class="py-string">'topic'</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsedLeaders</tt> <tt class="py-op">]</tt> </tt>
+<a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">in</tt> <tt class="py-name">topics</tt><tt class="py-op">:</tt> </tt>
+<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOStopics</tt><tt class="py-op">:</tt> </tt>
+<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-323" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-323', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-324" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-324', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error: "</tt> <tt class="py-op">+</tt> <tt class="py-name">topic</tt> <tt class="py-op">+</tt> </tt>
+<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line">                                        <tt class="py-string">" not in leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line">                        <tt class="py-name">topicCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-325" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-325', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-326" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-326', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"leaders() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line">                <tt class="py-name">topicCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L947"></a><tt class="py-lineno"> 947</tt>  <tt class="py-line">            <tt class="py-name">topicCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-327" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-327', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-328" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-328', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-329" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-329', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-330" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-330', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: Check for a leader of these topics</tt> </tt>
+<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line">        <tt class="py-comment"># Check all nodes</tt> </tt>
+<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">topicCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-331" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-331', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-332" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-332', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" leaders output: \n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line"> </tt>
+<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">topicCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"intent Partitions is in leaders"</tt><tt class="py-op">,</tt> </tt>
+<a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line">                                 <tt id="link-333" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-333', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Some topics were lost "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line">        <tt class="py-comment"># Print partitions</tt> </tt>
+<a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line">        <tt id="link-334" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-334', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-335" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-335', 'partitions', 'link-197');">partitions</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L963"></a><tt class="py-lineno"> 963</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-336" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-336', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line">                <tt class="py-name">parsedPartitions</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-337" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-337', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-338" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-338', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPartitions</tt><tt class="py-op">,</tt> </tt>
+<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L969"></a><tt class="py-lineno"> 969</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check for a leader in all paritions</tt> </tt>
+<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check for consistency among nodes</tt> </tt>
+<a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-339" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-339', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-340" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-340', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"partitions() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-341" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-341', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing partitions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-342" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-342', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-343" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-343', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-344" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-344', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line">        <tt class="py-comment"># Print Pending Map</tt> </tt>
+<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line">        <tt id="link-345" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-345', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-346" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-346', 'pendingMap', 'link-208');">pendingMap</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-347" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-347', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line">                <tt class="py-name">parsedPending</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-348" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-348', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-349" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-349', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPending</tt><tt class="py-op">,</tt> </tt>
+<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check something here?</tt> </tt>
+<a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-350" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-350', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-351" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-351', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pendingMap() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-352" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-352', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing pending map"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-353" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-353', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-354" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-354', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-355" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-355', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line"> </tt>
+<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">installedCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-356" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-356', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting 60 seconds to see if the state of "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line">                           <tt class="py-string">"intents change"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line">            <tt class="py-comment"># Print the intent states</tt> </tt>
+<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line">            <tt id="link-357" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-357', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-358" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-358', 'intents', 'link-172');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-359" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-359', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> <tt class="py-string">'Count'</tt><tt class="py-op">,</tt> <tt class="py-string">'ID'</tt><tt class="py-op">,</tt> <tt class="py-string">'State'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">            <tt class="py-comment"># Iter through intents of a node</tt> </tt>
+<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-360" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-360', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-361" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-361', 'intents', 'link-172');">intents</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">                    <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-362" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-362', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-string">"INSTALLED"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state</tt><tt class="py-op">:</tt> </tt>
+<a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line">                        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1008"></a><tt class="py-lineno">1008</tt>  <tt class="py-line">                    <tt class="py-name">intentId</tt> <tt class="py-op">=</tt> <tt id="link-363" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-363', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line">                    <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-364" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-364', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing intents."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt><tt class="py-op">:</tt> </tt>
+<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line">                <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-365" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-365', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line">                               <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">s</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1017"></a><tt class="py-lineno">1017</tt>  <tt class="py-line">            <tt id="link-366" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-366', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-367" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-367', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line">                <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-368" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-368', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line">                    <tt class="py-name">parsedLeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-369" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-369', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L1022"></a><tt class="py-lineno">1022</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-370" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-370', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedLeaders</tt><tt class="py-op">,</tt> </tt>
+<a name="L1023"></a><tt class="py-lineno">1023</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1024"></a><tt class="py-lineno">1024</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line">                    <tt class="py-comment"># check for all intent partitions</tt> </tt>
+<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line">                    <tt class="py-comment"># check for election</tt> </tt>
+<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">14</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line">                        <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"intent-partition-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line">                    <tt class="py-comment"># FIXME: this should only be after we start the app</tt> </tt>
+<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-371" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-371', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">topics</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line">                    <tt class="py-name">ONOStopics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">j</tt><tt class="py-op">[</tt><tt class="py-string">'topic'</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsedLeaders</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1035"></a><tt class="py-lineno">1035</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">in</tt> <tt class="py-name">topics</tt><tt class="py-op">:</tt> </tt>
+<a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOStopics</tt><tt class="py-op">:</tt> </tt>
+<a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-372" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-372', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-373" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-373', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error: "</tt> <tt class="py-op">+</tt> <tt class="py-name">topic</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line">                                            <tt class="py-string">" not in leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line">                            <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-374" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-374', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-375" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-375', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"leaders() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-376" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-376', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1044"></a><tt class="py-lineno">1044</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-377" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-377', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-378" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-378', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-379" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-379', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1045"></a><tt class="py-lineno">1045</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">missing</tt><tt class="py-op">:</tt> </tt>
+<a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line">                    <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-380" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-380', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-381" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-381', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" leaders output: \n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line">                                   <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line"> </tt>
+<a name="L1051"></a><tt class="py-lineno">1051</tt>  <tt class="py-line">            <tt id="link-382" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-382', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-383" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-383', 'partitions', 'link-197');">partitions</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1053"></a><tt class="py-lineno">1053</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-384" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-384', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line">                    <tt class="py-name">parsedPartitions</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-385" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-385', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-386" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-386', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPartitions</tt><tt class="py-op">,</tt> </tt>
+<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check for a leader in all paritions</tt> </tt>
+<a name="L1060"></a><tt class="py-lineno">1060</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check for consistency among nodes</tt> </tt>
+<a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1062"></a><tt class="py-lineno">1062</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-387" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-387', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-388" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-388', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"partitions() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-389" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-389', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing partitions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1065"></a><tt class="py-lineno">1065</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-390" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-390', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-391" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-391', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-392" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-392', 'partitions', 'link-197');">partitions</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1066"></a><tt class="py-lineno">1066</tt>  <tt class="py-line">            <tt id="link-393" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-393', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-394" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-394', 'pendingMap', 'link-208');">pendingMap</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1067"></a><tt class="py-lineno">1067</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1068"></a><tt class="py-lineno">1068</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-395" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-395', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L1069"></a><tt class="py-lineno">1069</tt>  <tt class="py-line">                    <tt class="py-name">parsedPending</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-396" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-396', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L1070"></a><tt class="py-lineno">1070</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-397" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-397', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPending</tt><tt class="py-op">,</tt> </tt>
+<a name="L1071"></a><tt class="py-lineno">1071</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1072"></a><tt class="py-lineno">1072</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1073"></a><tt class="py-lineno">1073</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1074"></a><tt class="py-lineno">1074</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check something here?</tt> </tt>
+<a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1076"></a><tt class="py-lineno">1076</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-398" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-398', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-399" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-399', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pendingMap() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1077"></a><tt class="py-lineno">1077</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-400" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-400', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing pending map"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-401" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-401', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-402" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-402', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-403" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-403', 'pendingMap', 'link-208');">pendingMap</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line">        <tt class="py-comment"># Print flowrules</tt> </tt>
+<a name="L1081"></a><tt class="py-lineno">1081</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-404" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-404', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-405" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#flows,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#flows"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-405', 'flows', 'link-405');">flows</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-406" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-406', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Wait a minute then ping again"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line">        <tt class="py-comment"># the wait is above</tt> </tt>
+<a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line">        <tt class="py-name">PingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-number">18</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line">            <tt class="py-name">ping</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-407" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingHost" class="py-name" href="#" onclick="return doclink('link-407', 'pingHost', 'link-295');">pingHost</a></tt><tt class="py-op">(</tt> <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-string">"h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1087"></a><tt class="py-lineno">1087</tt>  <tt class="py-line">                                           <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-string">"h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line">            <tt class="py-name">PingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">PingResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ping</tt> </tt>
+<a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ping</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1090"></a><tt class="py-lineno">1090</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-408" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-408', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Ping failed between h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1091"></a><tt class="py-lineno">1091</tt>  <tt class="py-line">                               <tt class="py-string">" and h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1092"></a><tt class="py-lineno">1092</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">ping</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1093"></a><tt class="py-lineno">1093</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-409" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-409', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Ping test passed!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1094"></a><tt class="py-lineno">1094</tt>  <tt class="py-line">                <tt class="py-comment"># Don't set PingResult or you'd override failures</tt> </tt>
+<a name="L1095"></a><tt class="py-lineno">1095</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">PingResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1096"></a><tt class="py-lineno">1096</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-410" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-410', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-411" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-411', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1097"></a><tt class="py-lineno">1097</tt>  <tt class="py-line">                <tt class="py-string">"Intents have not been installed correctly, pings failed."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1098"></a><tt class="py-lineno">1098</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: pretty print</tt> </tt>
+<a name="L1099"></a><tt class="py-lineno">1099</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-412" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-412', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS1 intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1100"></a><tt class="py-lineno">1100</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1101"></a><tt class="py-lineno">1101</tt>  <tt class="py-line">                <tt class="py-name">tmpIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-413" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-413', 'intents', 'link-172');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1102"></a><tt class="py-lineno">1102</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-414" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-414', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">tmpIntents</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1103"></a><tt class="py-lineno">1103</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1104"></a><tt class="py-lineno">1104</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1105"></a><tt class="py-lineno">1105</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1106"></a><tt class="py-lineno">1106</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1107"></a><tt class="py-lineno">1107</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-415" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-415', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">tmpIntents</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1108"></a><tt class="py-lineno">1108</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1109"></a><tt class="py-lineno">1109</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1110"></a><tt class="py-lineno">1110</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">PingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1111"></a><tt class="py-lineno">1111</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents have been installed correctly and pings work"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1112"></a><tt class="py-lineno">1112</tt>  <tt class="py-line">            <tt id="link-416" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-416', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intents have not been installed correctly, pings failed."</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1113"></a><tt class="py-lineno">1113</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE5"></a><div id="HAsanity.CASE5-def"><a name="L1114"></a><tt class="py-lineno">1114</tt> <a class="py-toggle" href="#" id="HAsanity.CASE5-toggle" onclick="return toggle('HAsanity.CASE5');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE5">CASE5</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE5-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE5-expanded"><a name="L1115"></a><tt class="py-lineno">1115</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1116"></a><tt class="py-lineno">1116</tt>  <tt class="py-line"><tt class="py-docstring">        Reading state of ONOS</tt> </tt>
+<a name="L1117"></a><tt class="py-lineno">1117</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1118"></a><tt class="py-lineno">1118</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L1119"></a><tt class="py-lineno">1119</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1120"></a><tt class="py-lineno">1120</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1121"></a><tt class="py-lineno">1121</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1122"></a><tt class="py-lineno">1122</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1123"></a><tt class="py-lineno">1123</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L1124"></a><tt class="py-lineno">1124</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-417" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-417', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L1125"></a><tt class="py-lineno">1125</tt>  <tt class="py-line"> </tt>
+<a name="L1126"></a><tt class="py-lineno">1126</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-418" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-418', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Setting up and gathering data for current state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1127"></a><tt class="py-lineno">1127</tt>  <tt class="py-line">        <tt class="py-comment"># The general idea for this test case is to pull the state of</tt> </tt>
+<a name="L1128"></a><tt class="py-lineno">1128</tt>  <tt class="py-line">        <tt class="py-comment"># ( intents,flows, topology,... ) from each ONOS node</tt> </tt>
+<a name="L1129"></a><tt class="py-lineno">1129</tt>  <tt class="py-line">        <tt class="py-comment"># We can then compare them with each other and also with past states</tt> </tt>
+<a name="L1130"></a><tt class="py-lineno">1130</tt>  <tt class="py-line"> </tt>
+<a name="L1131"></a><tt class="py-lineno">1131</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-419" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-419', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check that each switch has a master"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1132"></a><tt class="py-lineno">1132</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">mastershipState</tt> </tt>
+<a name="L1133"></a><tt class="py-lineno">1133</tt>  <tt class="py-line">        <tt class="py-name">mastershipState</tt> <tt class="py-op">=</tt> <tt class="py-string">'[]'</tt> </tt>
+<a name="L1134"></a><tt class="py-lineno">1134</tt>  <tt class="py-line"> </tt>
+<a name="L1135"></a><tt class="py-lineno">1135</tt>  <tt class="py-line">        <tt class="py-comment"># Assert that each device has a master</tt> </tt>
+<a name="L1136"></a><tt class="py-lineno">1136</tt>  <tt class="py-line">        <tt id="link-420" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#rolesNotNull"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-420', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1137"></a><tt class="py-lineno">1137</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1138"></a><tt class="py-lineno">1138</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1139"></a><tt class="py-lineno">1139</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-421" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-421', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-422" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-422', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1140"></a><tt class="py-lineno">1140</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"rolesNotNull-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1141"></a><tt class="py-lineno">1141</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1142"></a><tt class="py-lineno">1142</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1143"></a><tt class="py-lineno">1143</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1144"></a><tt class="py-lineno">1144</tt>  <tt class="py-line"> </tt>
+<a name="L1145"></a><tt class="py-lineno">1145</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1146"></a><tt class="py-lineno">1146</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1147"></a><tt class="py-lineno">1147</tt>  <tt class="py-line">            <tt id="link-423" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-423', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt> <tt class="py-op">=</tt> <tt id="link-424" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-424', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L1148"></a><tt class="py-lineno">1148</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1149"></a><tt class="py-lineno">1149</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1150"></a><tt class="py-lineno">1150</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt id="link-425" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-425', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1151"></a><tt class="py-lineno">1151</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Each device has a master"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1152"></a><tt class="py-lineno">1152</tt>  <tt class="py-line">            <tt id="link-426" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-426', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Some devices don't have a master assigned"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1153"></a><tt class="py-lineno">1153</tt>  <tt class="py-line"> </tt>
+<a name="L1154"></a><tt class="py-lineno">1154</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-427" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-427', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the Mastership of each switch from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1155"></a><tt class="py-lineno">1155</tt>  <tt class="py-line">        <tt class="py-name">ONOSMastership</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1156"></a><tt class="py-lineno">1156</tt>  <tt class="py-line">        <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1157"></a><tt class="py-lineno">1157</tt>  <tt class="py-line">        <tt class="py-name">consistentMastership</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1158"></a><tt class="py-lineno">1158</tt>  <tt class="py-line">        <tt class="py-name">rolesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1159"></a><tt class="py-lineno">1159</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1160"></a><tt class="py-lineno">1160</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1161"></a><tt class="py-lineno">1161</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-428" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-428', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-429" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.roles()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#roles"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.roles" class="py-name" href="#" onclick="return doclink('link-429', 'roles', 'link-429');">roles</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1162"></a><tt class="py-lineno">1162</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"roles-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1163"></a><tt class="py-lineno">1163</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1164"></a><tt class="py-lineno">1164</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1165"></a><tt class="py-lineno">1165</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1166"></a><tt class="py-lineno">1166</tt>  <tt class="py-line"> </tt>
+<a name="L1167"></a><tt class="py-lineno">1167</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1168"></a><tt class="py-lineno">1168</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1169"></a><tt class="py-lineno">1169</tt>  <tt class="py-line">            <tt class="py-name">ONOSMastership</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1170"></a><tt class="py-lineno">1170</tt>  <tt class="py-line"> </tt>
+<a name="L1171"></a><tt class="py-lineno">1171</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1172"></a><tt class="py-lineno">1172</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1173"></a><tt class="py-lineno">1173</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-430" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-430', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-431" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-431', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1174"></a><tt class="py-lineno">1174</tt>  <tt class="py-line">                                 <tt class="py-string">" roles"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1175"></a><tt class="py-lineno">1175</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-432" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-432', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1176"></a><tt class="py-lineno">1176</tt>  <tt class="py-line">                    <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" mastership response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1177"></a><tt class="py-lineno">1177</tt>  <tt class="py-line">                    <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1178"></a><tt class="py-lineno">1178</tt>  <tt class="py-line">                <tt class="py-name">rolesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1179"></a><tt class="py-lineno">1179</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1180"></a><tt class="py-lineno">1180</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1181"></a><tt class="py-lineno">1181</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">rolesResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1182"></a><tt class="py-lineno">1182</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No error in reading roles output"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1183"></a><tt class="py-lineno">1183</tt>  <tt class="py-line">            <tt id="link-433" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-433', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error in reading roles from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1184"></a><tt class="py-lineno">1184</tt>  <tt class="py-line"> </tt>
+<a name="L1185"></a><tt class="py-lineno">1185</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-434" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-434', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check for consistency in roles from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1186"></a><tt class="py-lineno">1186</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSMastership</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1187"></a><tt class="py-lineno">1187</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-435" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-435', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L1188"></a><tt class="py-lineno">1188</tt>  <tt class="py-line">                <tt class="py-string">"Switch roles are consistent across all ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1189"></a><tt class="py-lineno">1189</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1190"></a><tt class="py-lineno">1190</tt>  <tt class="py-line">            <tt class="py-name">consistentMastership</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1191"></a><tt class="py-lineno">1191</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1192"></a><tt class="py-lineno">1192</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1193"></a><tt class="py-lineno">1193</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentMastership</tt><tt class="py-op">,</tt> </tt>
+<a name="L1194"></a><tt class="py-lineno">1194</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Switch roles are consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1195"></a><tt class="py-lineno">1195</tt>  <tt class="py-line">            <tt id="link-436" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-436', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of switch roles"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1196"></a><tt class="py-lineno">1196</tt>  <tt class="py-line"> </tt>
+<a name="L1197"></a><tt class="py-lineno">1197</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">rolesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">consistentMastership</tt><tt class="py-op">:</tt> </tt>
+<a name="L1198"></a><tt class="py-lineno">1198</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1199"></a><tt class="py-lineno">1199</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1200"></a><tt class="py-lineno">1200</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-437" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-437', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1201"></a><tt class="py-lineno">1201</tt>  <tt class="py-line">                        <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" roles: "</tt><tt class="py-op">,</tt> </tt>
+<a name="L1202"></a><tt class="py-lineno">1202</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> </tt>
+<a name="L1203"></a><tt class="py-lineno">1203</tt>  <tt class="py-line">                            <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1204"></a><tt class="py-lineno">1204</tt>  <tt class="py-line">                            <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1205"></a><tt class="py-lineno">1205</tt>  <tt class="py-line">                            <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1206"></a><tt class="py-lineno">1206</tt>  <tt class="py-line">                            <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1207"></a><tt class="py-lineno">1207</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1208"></a><tt class="py-lineno">1208</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-438" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-438', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1209"></a><tt class="py-lineno">1209</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">rolesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentMastership</tt><tt class="py-op">:</tt> </tt>
+<a name="L1210"></a><tt class="py-lineno">1210</tt>  <tt class="py-line">            <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1211"></a><tt class="py-lineno">1211</tt>  <tt class="py-line">            <tt class="py-name">mastershipState</tt> <tt class="py-op">=</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1212"></a><tt class="py-lineno">1212</tt>  <tt class="py-line"> </tt>
+<a name="L1213"></a><tt class="py-lineno">1213</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-439" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-439', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the intents from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1214"></a><tt class="py-lineno">1214</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">intentState</tt> </tt>
+<a name="L1215"></a><tt class="py-lineno">1215</tt>  <tt class="py-line">        <tt class="py-name">intentState</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1216"></a><tt class="py-lineno">1216</tt>  <tt class="py-line">        <tt class="py-name">ONOSIntents</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1217"></a><tt class="py-lineno">1217</tt>  <tt class="py-line">        <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1218"></a><tt class="py-lineno">1218</tt>  <tt class="py-line">        <tt class="py-name">consistentIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1219"></a><tt class="py-lineno">1219</tt>  <tt class="py-line">        <tt class="py-name">intentsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1220"></a><tt class="py-lineno">1220</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1221"></a><tt class="py-lineno">1221</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1222"></a><tt class="py-lineno">1222</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-440" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-440', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-441" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-441', 'intents', 'link-172');">intents</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1223"></a><tt class="py-lineno">1223</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"intents-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1224"></a><tt class="py-lineno">1224</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1225"></a><tt class="py-lineno">1225</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">'jsonFormat'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1226"></a><tt class="py-lineno">1226</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1227"></a><tt class="py-lineno">1227</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1228"></a><tt class="py-lineno">1228</tt>  <tt class="py-line"> </tt>
+<a name="L1229"></a><tt class="py-lineno">1229</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1230"></a><tt class="py-lineno">1230</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1231"></a><tt class="py-lineno">1231</tt>  <tt class="py-line">            <tt class="py-name">ONOSIntents</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1232"></a><tt class="py-lineno">1232</tt>  <tt class="py-line"> </tt>
+<a name="L1233"></a><tt class="py-lineno">1233</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1234"></a><tt class="py-lineno">1234</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1235"></a><tt class="py-lineno">1235</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-442" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-442', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-443" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-443', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1236"></a><tt class="py-lineno">1236</tt>  <tt class="py-line">                                 <tt class="py-string">" intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1237"></a><tt class="py-lineno">1237</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-444" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-444', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1238"></a><tt class="py-lineno">1238</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1239"></a><tt class="py-lineno">1239</tt>  <tt class="py-line">                <tt class="py-name">intentsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1240"></a><tt class="py-lineno">1240</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1241"></a><tt class="py-lineno">1241</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1242"></a><tt class="py-lineno">1242</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">intentsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1243"></a><tt class="py-lineno">1243</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No error in reading intents output"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1244"></a><tt class="py-lineno">1244</tt>  <tt class="py-line">            <tt id="link-445" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-445', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error in reading intents from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1245"></a><tt class="py-lineno">1245</tt>  <tt class="py-line"> </tt>
+<a name="L1246"></a><tt class="py-lineno">1246</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-446" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-446', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check for consistency in Intents from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1247"></a><tt class="py-lineno">1247</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">[</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1248"></a><tt class="py-lineno">1248</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-447" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-447', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents are consistent across all ONOS "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1249"></a><tt class="py-lineno">1249</tt>  <tt class="py-line">                             <tt class="py-string">"nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1250"></a><tt class="py-lineno">1250</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1251"></a><tt class="py-lineno">1251</tt>  <tt class="py-line">            <tt class="py-name">consistentIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1252"></a><tt class="py-lineno">1252</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-448" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-448', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-449" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-449', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Intents not consistent"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1253"></a><tt class="py-lineno">1253</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1254"></a><tt class="py-lineno">1254</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1255"></a><tt class="py-lineno">1255</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentIntents</tt><tt class="py-op">,</tt> </tt>
+<a name="L1256"></a><tt class="py-lineno">1256</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents are consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1257"></a><tt class="py-lineno">1257</tt>  <tt class="py-line">            <tt id="link-450" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-450', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1258"></a><tt class="py-lineno">1258</tt>  <tt class="py-line"> </tt>
+<a name="L1259"></a><tt class="py-lineno">1259</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">intentsResults</tt><tt class="py-op">:</tt> </tt>
+<a name="L1260"></a><tt class="py-lineno">1260</tt>  <tt class="py-line">            <tt class="py-comment"># Try to make it easy to figure out what is happening</tt> </tt>
+<a name="L1261"></a><tt class="py-lineno">1261</tt>  <tt class="py-line">            <tt class="py-comment">#</tt> </tt>
+<a name="L1262"></a><tt class="py-lineno">1262</tt>  <tt class="py-line">            <tt class="py-comment"># Intent      ONOS1      ONOS2    ...</tt> </tt>
+<a name="L1263"></a><tt class="py-lineno">1263</tt>  <tt class="py-line">            <tt class="py-comment">#  0x01     INSTALLED  INSTALLING</tt> </tt>
+<a name="L1264"></a><tt class="py-lineno">1264</tt>  <tt class="py-line">            <tt class="py-comment">#  ...        ...         ...</tt> </tt>
+<a name="L1265"></a><tt class="py-lineno">1265</tt>  <tt class="py-line">            <tt class="py-comment">#  ...        ...         ...</tt> </tt>
+<a name="L1266"></a><tt class="py-lineno">1266</tt>  <tt class="py-line">            <tt class="py-name">title</tt> <tt class="py-op">=</tt> <tt class="py-string">"   Id"</tt> </tt>
+<a name="L1267"></a><tt class="py-lineno">1267</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1268"></a><tt class="py-lineno">1268</tt>  <tt class="py-line">                <tt class="py-name">title</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1269"></a><tt class="py-lineno">1269</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-451" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-451', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">title</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1270"></a><tt class="py-lineno">1270</tt>  <tt class="py-line">            <tt class="py-comment"># get all intent keys in the cluster</tt> </tt>
+<a name="L1271"></a><tt class="py-lineno">1271</tt>  <tt class="py-line">            <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1272"></a><tt class="py-lineno">1272</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1273"></a><tt class="py-lineno">1273</tt>  <tt class="py-line">                <tt class="py-comment"># Get the set of all intent keys</tt> </tt>
+<a name="L1274"></a><tt class="py-lineno">1274</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">nodeStr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1275"></a><tt class="py-lineno">1275</tt>  <tt class="py-line">                    <tt class="py-name">node</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1276"></a><tt class="py-lineno">1276</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt id="link-452" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-452', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">node</tt><tt class="py-op">:</tt> </tt>
+<a name="L1277"></a><tt class="py-lineno">1277</tt>  <tt class="py-line">                        <tt class="py-name">keys</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-453" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-453', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1278"></a><tt class="py-lineno">1278</tt>  <tt class="py-line">                <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">keys</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1279"></a><tt class="py-lineno">1279</tt>  <tt class="py-line">                <tt class="py-comment"># For each intent key, print the state on each node</tt> </tt>
+<a name="L1280"></a><tt class="py-lineno">1280</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">keys</tt><tt class="py-op">:</tt> </tt>
+<a name="L1281"></a><tt class="py-lineno">1281</tt>  <tt class="py-line">                    <tt class="py-name">row</tt> <tt class="py-op">=</tt> <tt class="py-string">"%-13s"</tt> <tt class="py-op">%</tt> <tt class="py-name">key</tt> </tt>
+<a name="L1282"></a><tt class="py-lineno">1282</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">nodeStr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1283"></a><tt class="py-lineno">1283</tt>  <tt class="py-line">                        <tt class="py-name">node</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1284"></a><tt class="py-lineno">1284</tt>  <tt class="py-line">                        <tt class="py-keyword">for</tt> <tt id="link-454" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-454', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">node</tt><tt class="py-op">:</tt> </tt>
+<a name="L1285"></a><tt class="py-lineno">1285</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt id="link-455" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-455', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-string">"Error"</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">key</tt><tt class="py-op">:</tt> </tt>
+<a name="L1286"></a><tt class="py-lineno">1286</tt>  <tt class="py-line">                                <tt class="py-name">row</tt> <tt class="py-op">+=</tt> <tt class="py-string">"%-15s"</tt> <tt class="py-op">%</tt> <tt id="link-456" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-456', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1287"></a><tt class="py-lineno">1287</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-457" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-457', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">row</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1288"></a><tt class="py-lineno">1288</tt>  <tt class="py-line">                <tt class="py-comment"># End of intent state table</tt> </tt>
+<a name="L1289"></a><tt class="py-lineno">1289</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L1290"></a><tt class="py-lineno">1290</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-458" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-458', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1291"></a><tt class="py-lineno">1291</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-459" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-459', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"nodeStr was: "</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStr</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1292"></a><tt class="py-lineno">1292</tt>  <tt class="py-line"> </tt>
+<a name="L1293"></a><tt class="py-lineno">1293</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">intentsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">consistentIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1294"></a><tt class="py-lineno">1294</tt>  <tt class="py-line">            <tt class="py-comment"># print the json objects</tt> </tt>
+<a name="L1295"></a><tt class="py-lineno">1295</tt>  <tt class="py-line">            <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIntents</tt><tt class="py-op">)</tt> </tt>
+<a name="L1296"></a><tt class="py-lineno">1296</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-460" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-460', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1297"></a><tt class="py-lineno">1297</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-461" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-461', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1298"></a><tt class="py-lineno">1298</tt>  <tt class="py-line">                                        <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1299"></a><tt class="py-lineno">1299</tt>  <tt class="py-line">                                        <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1300"></a><tt class="py-lineno">1300</tt>  <tt class="py-line">                                        <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1301"></a><tt class="py-lineno">1301</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1302"></a><tt class="py-lineno">1302</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1303"></a><tt class="py-lineno">1303</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-462" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-462', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1304"></a><tt class="py-lineno">1304</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-463" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-463', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1305"></a><tt class="py-lineno">1305</tt>  <tt class="py-line">                                                <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1306"></a><tt class="py-lineno">1306</tt>  <tt class="py-line">                                                <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1307"></a><tt class="py-lineno">1307</tt>  <tt class="py-line">                                                <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1308"></a><tt class="py-lineno">1308</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1309"></a><tt class="py-lineno">1309</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-464" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-464', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-465" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-465', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents match ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1310"></a><tt class="py-lineno">1310</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1311"></a><tt class="py-lineno">1311</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">intentsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1312"></a><tt class="py-lineno">1312</tt>  <tt class="py-line">            <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1313"></a><tt class="py-lineno">1313</tt>  <tt class="py-line">            <tt class="py-name">intentState</tt> <tt class="py-op">=</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1314"></a><tt class="py-lineno">1314</tt>  <tt class="py-line"> </tt>
+<a name="L1315"></a><tt class="py-lineno">1315</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-466" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-466', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the flows from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1316"></a><tt class="py-lineno">1316</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">flowState</tt> </tt>
+<a name="L1317"></a><tt class="py-lineno">1317</tt>  <tt class="py-line">        <tt class="py-name">flowState</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1318"></a><tt class="py-lineno">1318</tt>  <tt class="py-line">        <tt class="py-name">ONOSFlows</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1319"></a><tt class="py-lineno">1319</tt>  <tt class="py-line">        <tt class="py-name">ONOSFlowsJson</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1320"></a><tt class="py-lineno">1320</tt>  <tt class="py-line">        <tt class="py-name">flowCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1321"></a><tt class="py-lineno">1321</tt>  <tt class="py-line">        <tt class="py-name">consistentFlows</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1322"></a><tt class="py-lineno">1322</tt>  <tt class="py-line">        <tt class="py-name">flowsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1323"></a><tt class="py-lineno">1323</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1324"></a><tt class="py-lineno">1324</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1325"></a><tt class="py-lineno">1325</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-467" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-467', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-468" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-468', 'flows', 'link-405');">flows</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1326"></a><tt class="py-lineno">1326</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"flows-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1327"></a><tt class="py-lineno">1327</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1328"></a><tt class="py-lineno">1328</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">'jsonFormat'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1329"></a><tt class="py-lineno">1329</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1330"></a><tt class="py-lineno">1330</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1331"></a><tt class="py-lineno">1331</tt>  <tt class="py-line"> </tt>
+<a name="L1332"></a><tt class="py-lineno">1332</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: Flows command can take some time to run</tt> </tt>
+<a name="L1333"></a><tt class="py-lineno">1333</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">30</tt><tt class="py-op">)</tt> </tt>
+<a name="L1334"></a><tt class="py-lineno">1334</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1335"></a><tt class="py-lineno">1335</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1336"></a><tt class="py-lineno">1336</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L1337"></a><tt class="py-lineno">1337</tt>  <tt class="py-line">            <tt class="py-name">ONOSFlows</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1338"></a><tt class="py-lineno">1338</tt>  <tt class="py-line"> </tt>
+<a name="L1339"></a><tt class="py-lineno">1339</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1340"></a><tt class="py-lineno">1340</tt>  <tt class="py-line">            <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1341"></a><tt class="py-lineno">1341</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1342"></a><tt class="py-lineno">1342</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-469" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-469', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-470" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-470', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">num</tt> <tt class="py-op">+</tt> <tt class="py-string">" flows"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1343"></a><tt class="py-lineno">1343</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-471" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-471', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">num</tt> <tt class="py-op">+</tt> <tt class="py-string">" flows response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1344"></a><tt class="py-lineno">1344</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1345"></a><tt class="py-lineno">1345</tt>  <tt class="py-line">                <tt class="py-name">flowsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1346"></a><tt class="py-lineno">1346</tt>  <tt class="py-line">                <tt class="py-name">ONOSFlowsJson</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1347"></a><tt class="py-lineno">1347</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1348"></a><tt class="py-lineno">1348</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1349"></a><tt class="py-lineno">1349</tt>  <tt class="py-line">                    <tt class="py-name">ONOSFlowsJson</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1350"></a><tt class="py-lineno">1350</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1351"></a><tt class="py-lineno">1351</tt>  <tt class="py-line">                    <tt class="py-comment"># FIXME: change this to log.error?</tt> </tt>
+<a name="L1352"></a><tt class="py-lineno">1352</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-472" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-472', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error in parsing ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">num</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1353"></a><tt class="py-lineno">1353</tt>  <tt class="py-line">                                        <tt class="py-string">" response as json."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1354"></a><tt class="py-lineno">1354</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-473" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-473', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-474" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-474', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1355"></a><tt class="py-lineno">1355</tt>  <tt class="py-line">                    <tt class="py-name">ONOSFlowsJson</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1356"></a><tt class="py-lineno">1356</tt>  <tt class="py-line">                    <tt class="py-name">flowsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1357"></a><tt class="py-lineno">1357</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1358"></a><tt class="py-lineno">1358</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1359"></a><tt class="py-lineno">1359</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">flowsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1360"></a><tt class="py-lineno">1360</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No error in reading flows output"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1361"></a><tt class="py-lineno">1361</tt>  <tt class="py-line">            <tt id="link-475" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-475', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error in reading flows from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1362"></a><tt class="py-lineno">1362</tt>  <tt class="py-line"> </tt>
+<a name="L1363"></a><tt class="py-lineno">1363</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-476" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-476', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check for consistency in Flows from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1364"></a><tt class="py-lineno">1364</tt>  <tt class="py-line">        <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlowsJson</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSFlowsJson</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1365"></a><tt class="py-lineno">1365</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt> <tt class="py-name">tmp</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1366"></a><tt class="py-lineno">1366</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-477" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-477', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Flow count is consistent across all ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1367"></a><tt class="py-lineno">1367</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1368"></a><tt class="py-lineno">1368</tt>  <tt class="py-line">            <tt class="py-name">consistentFlows</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1369"></a><tt class="py-lineno">1369</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1370"></a><tt class="py-lineno">1370</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1371"></a><tt class="py-lineno">1371</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentFlows</tt><tt class="py-op">,</tt> </tt>
+<a name="L1372"></a><tt class="py-lineno">1372</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"The flow count is consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1373"></a><tt class="py-lineno">1373</tt>  <tt class="py-line">            <tt id="link-478" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-478', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different flow counts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1374"></a><tt class="py-lineno">1374</tt>  <tt class="py-line"> </tt>
+<a name="L1375"></a><tt class="py-lineno">1375</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">flowsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">consistentFlows</tt><tt class="py-op">:</tt> </tt>
+<a name="L1376"></a><tt class="py-lineno">1376</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1377"></a><tt class="py-lineno">1377</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1378"></a><tt class="py-lineno">1378</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-479" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-479', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1379"></a><tt class="py-lineno">1379</tt>  <tt class="py-line">                        <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" flows: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1380"></a><tt class="py-lineno">1380</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1381"></a><tt class="py-lineno">1381</tt>  <tt class="py-line">                                    <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1382"></a><tt class="py-lineno">1382</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1383"></a><tt class="py-lineno">1383</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-480" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-480', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1384"></a><tt class="py-lineno">1384</tt>  <tt class="py-line">                        <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" flows: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1385"></a><tt class="py-lineno">1385</tt>  <tt class="py-line">                        <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1386"></a><tt class="py-lineno">1386</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">flowsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentFlows</tt><tt class="py-op">:</tt> </tt>
+<a name="L1387"></a><tt class="py-lineno">1387</tt>  <tt class="py-line">            <tt class="py-name">flowCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1388"></a><tt class="py-lineno">1388</tt>  <tt class="py-line">            <tt class="py-name">flowState</tt> <tt class="py-op">=</tt> <tt class="py-name">ONOSFlows</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1389"></a><tt class="py-lineno">1389</tt>  <tt class="py-line"> </tt>
+<a name="L1390"></a><tt class="py-lineno">1390</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-481" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-481', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the OF Table entries"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1391"></a><tt class="py-lineno">1391</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt id="link-482" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-482', 'flows', 'link-405');">flows</a></tt> </tt>
+<a name="L1392"></a><tt class="py-lineno">1392</tt>  <tt class="py-line">        <tt id="link-483" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-483', 'flows', 'link-405');">flows</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1393"></a><tt class="py-lineno">1393</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1394"></a><tt class="py-lineno">1394</tt>  <tt class="py-line">            <tt id="link-484" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-484', 'flows', 'link-405');">flows</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-485" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getFlowTable()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getFlowTable"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getFlowTable" class="py-name" href="#" onclick="return doclink('link-485', 'getFlowTable', 'link-485');">getFlowTable</a></tt><tt class="py-op">(</tt> <tt class="py-number">1.3</tt><tt class="py-op">,</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1395"></a><tt class="py-lineno">1395</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">flowCheck</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1396"></a><tt class="py-lineno">1396</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">table</tt> <tt class="py-keyword">in</tt> <tt id="link-486" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-486', 'flows', 'link-405');">flows</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L1397"></a><tt class="py-lineno">1397</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-487" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-487', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">table</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1398"></a><tt class="py-lineno">1398</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Compare switch flow tables with ONOS flow tables</tt> </tt>
+<a name="L1399"></a><tt class="py-lineno">1399</tt>  <tt class="py-line"> </tt>
+<a name="L1400"></a><tt class="py-lineno">1400</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-488" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-488', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Start continuous pings"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1401"></a><tt class="py-lineno">1401</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-489" class="py-name" targets="Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingLong"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-489', 'pingLong', 'link-489');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1402"></a><tt class="py-lineno">1402</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source1'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1403"></a><tt class="py-lineno">1403</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target1'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1404"></a><tt class="py-lineno">1404</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1405"></a><tt class="py-lineno">1405</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-490" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-490', 'pingLong', 'link-489');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1406"></a><tt class="py-lineno">1406</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source2'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1407"></a><tt class="py-lineno">1407</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target2'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1408"></a><tt class="py-lineno">1408</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1409"></a><tt class="py-lineno">1409</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-491" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-491', 'pingLong', 'link-489');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1410"></a><tt class="py-lineno">1410</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source3'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1411"></a><tt class="py-lineno">1411</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target3'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1412"></a><tt class="py-lineno">1412</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1413"></a><tt class="py-lineno">1413</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-492" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-492', 'pingLong', 'link-489');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1414"></a><tt class="py-lineno">1414</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source4'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1415"></a><tt class="py-lineno">1415</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target4'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1416"></a><tt class="py-lineno">1416</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1417"></a><tt class="py-lineno">1417</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-493" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-493', 'pingLong', 'link-489');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1418"></a><tt class="py-lineno">1418</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source5'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1419"></a><tt class="py-lineno">1419</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target5'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1420"></a><tt class="py-lineno">1420</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1421"></a><tt class="py-lineno">1421</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-494" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-494', 'pingLong', 'link-489');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1422"></a><tt class="py-lineno">1422</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source6'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1423"></a><tt class="py-lineno">1423</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target6'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1424"></a><tt class="py-lineno">1424</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1425"></a><tt class="py-lineno">1425</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-495" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-495', 'pingLong', 'link-489');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1426"></a><tt class="py-lineno">1426</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source7'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1427"></a><tt class="py-lineno">1427</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target7'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1428"></a><tt class="py-lineno">1428</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1429"></a><tt class="py-lineno">1429</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-496" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-496', 'pingLong', 'link-489');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1430"></a><tt class="py-lineno">1430</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source8'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1431"></a><tt class="py-lineno">1431</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target8'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1432"></a><tt class="py-lineno">1432</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1433"></a><tt class="py-lineno">1433</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-497" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-497', 'pingLong', 'link-489');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1434"></a><tt class="py-lineno">1434</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source9'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1435"></a><tt class="py-lineno">1435</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target9'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1436"></a><tt class="py-lineno">1436</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1437"></a><tt class="py-lineno">1437</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-498" class="py-name"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong" class="py-name" href="#" onclick="return doclink('link-498', 'pingLong', 'link-489');">pingLong</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1438"></a><tt class="py-lineno">1438</tt>  <tt class="py-line">            <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'source10'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1439"></a><tt class="py-lineno">1439</tt>  <tt class="py-line">            <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'PING'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'target10'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1440"></a><tt class="py-lineno">1440</tt>  <tt class="py-line">            <tt class="py-name">pingTime</tt><tt class="py-op">=</tt><tt class="py-number">500</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1441"></a><tt class="py-lineno">1441</tt>  <tt class="py-line"> </tt>
+<a name="L1442"></a><tt class="py-lineno">1442</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-499" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-499', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Collecting topology information from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1443"></a><tt class="py-lineno">1443</tt>  <tt class="py-line">        <tt id="link-500" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-500', 'devices', 'link-114');">devices</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1444"></a><tt class="py-lineno">1444</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1445"></a><tt class="py-lineno">1445</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1446"></a><tt class="py-lineno">1446</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-501" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-501', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-502" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-502', 'devices', 'link-114');">devices</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1447"></a><tt class="py-lineno">1447</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"devices-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1448"></a><tt class="py-lineno">1448</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1449"></a><tt class="py-lineno">1449</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1450"></a><tt class="py-lineno">1450</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1451"></a><tt class="py-lineno">1451</tt>  <tt class="py-line"> </tt>
+<a name="L1452"></a><tt class="py-lineno">1452</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1453"></a><tt class="py-lineno">1453</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1454"></a><tt class="py-lineno">1454</tt>  <tt class="py-line">            <tt id="link-503" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-503', 'devices', 'link-114');">devices</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1455"></a><tt class="py-lineno">1455</tt>  <tt class="py-line">        <tt id="link-504" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-504', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1456"></a><tt class="py-lineno">1456</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1457"></a><tt class="py-lineno">1457</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1458"></a><tt class="py-lineno">1458</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-505" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-505', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-506" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-506', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1459"></a><tt class="py-lineno">1459</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"hosts-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1460"></a><tt class="py-lineno">1460</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1461"></a><tt class="py-lineno">1461</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1462"></a><tt class="py-lineno">1462</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1463"></a><tt class="py-lineno">1463</tt>  <tt class="py-line"> </tt>
+<a name="L1464"></a><tt class="py-lineno">1464</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1465"></a><tt class="py-lineno">1465</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1466"></a><tt class="py-lineno">1466</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1467"></a><tt class="py-lineno">1467</tt>  <tt class="py-line">                <tt id="link-507" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-507', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1468"></a><tt class="py-lineno">1468</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1469"></a><tt class="py-lineno">1469</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: better handling of this, print which node</tt> </tt>
+<a name="L1470"></a><tt class="py-lineno">1470</tt>  <tt class="py-line">                <tt class="py-comment">#        Maybe use thread name?</tt> </tt>
+<a name="L1471"></a><tt class="py-lineno">1471</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-508" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-508', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing json output of hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1472"></a><tt class="py-lineno">1472</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: should this be an empty json object instead?</tt> </tt>
+<a name="L1473"></a><tt class="py-lineno">1473</tt>  <tt class="py-line">                <tt id="link-509" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-509', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1474"></a><tt class="py-lineno">1474</tt>  <tt class="py-line"> </tt>
+<a name="L1475"></a><tt class="py-lineno">1475</tt>  <tt class="py-line">        <tt id="link-510" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#ports"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-510', 'ports', 'link-510');">ports</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1476"></a><tt class="py-lineno">1476</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1477"></a><tt class="py-lineno">1477</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1478"></a><tt class="py-lineno">1478</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-511" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-511', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-512" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-512', 'ports', 'link-510');">ports</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1479"></a><tt class="py-lineno">1479</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"ports-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1480"></a><tt class="py-lineno">1480</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1481"></a><tt class="py-lineno">1481</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1482"></a><tt class="py-lineno">1482</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1483"></a><tt class="py-lineno">1483</tt>  <tt class="py-line"> </tt>
+<a name="L1484"></a><tt class="py-lineno">1484</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1485"></a><tt class="py-lineno">1485</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1486"></a><tt class="py-lineno">1486</tt>  <tt class="py-line">            <tt id="link-513" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-513', 'ports', 'link-510');">ports</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1487"></a><tt class="py-lineno">1487</tt>  <tt class="py-line">        <tt id="link-514" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#links,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#links"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-514', 'links', 'link-514');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1488"></a><tt class="py-lineno">1488</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1489"></a><tt class="py-lineno">1489</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1490"></a><tt class="py-lineno">1490</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-515" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-515', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-516" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-516', 'links', 'link-514');">links</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1491"></a><tt class="py-lineno">1491</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"links-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1492"></a><tt class="py-lineno">1492</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1493"></a><tt class="py-lineno">1493</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1494"></a><tt class="py-lineno">1494</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1495"></a><tt class="py-lineno">1495</tt>  <tt class="py-line"> </tt>
+<a name="L1496"></a><tt class="py-lineno">1496</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1497"></a><tt class="py-lineno">1497</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1498"></a><tt class="py-lineno">1498</tt>  <tt class="py-line">            <tt id="link-517" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-517', 'links', 'link-514');">links</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1499"></a><tt class="py-lineno">1499</tt>  <tt class="py-line">        <tt id="link-518" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#clusters"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-518', 'clusters', 'link-518');">clusters</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1500"></a><tt class="py-lineno">1500</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1501"></a><tt class="py-lineno">1501</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1502"></a><tt class="py-lineno">1502</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-519" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-519', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-520" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-520', 'clusters', 'link-518');">clusters</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1503"></a><tt class="py-lineno">1503</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"clusters-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1504"></a><tt class="py-lineno">1504</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1505"></a><tt class="py-lineno">1505</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1506"></a><tt class="py-lineno">1506</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1507"></a><tt class="py-lineno">1507</tt>  <tt class="py-line"> </tt>
+<a name="L1508"></a><tt class="py-lineno">1508</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1509"></a><tt class="py-lineno">1509</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1510"></a><tt class="py-lineno">1510</tt>  <tt class="py-line">            <tt id="link-521" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-521', 'clusters', 'link-518');">clusters</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1511"></a><tt class="py-lineno">1511</tt>  <tt class="py-line">        <tt class="py-comment"># Compare json objects for hosts and dataplane clusters</tt> </tt>
+<a name="L1512"></a><tt class="py-lineno">1512</tt>  <tt class="py-line"> </tt>
+<a name="L1513"></a><tt class="py-lineno">1513</tt>  <tt class="py-line">        <tt class="py-comment"># hosts</tt> </tt>
+<a name="L1514"></a><tt class="py-lineno">1514</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-522" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-522', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Host view is consistent across ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1515"></a><tt class="py-lineno">1515</tt>  <tt class="py-line">        <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1516"></a><tt class="py-lineno">1516</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-523" class="py-name" targets="Package TestON.drivers.common.api.controller=TestON.drivers.common.api.controller-module.html"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-523', 'controller', 'link-523');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-524" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-524', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1517"></a><tt class="py-lineno">1517</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-525" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-525', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1518"></a><tt class="py-lineno">1518</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-526" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-526', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-527" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-527', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1519"></a><tt class="py-lineno">1519</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-528" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-528', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-529" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-529', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-530" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-530', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1520"></a><tt class="py-lineno">1520</tt>  <tt class="py-line">                    <tt class="py-keyword">continue</tt> </tt>
+<a name="L1521"></a><tt class="py-lineno">1521</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># hosts not consistent</tt> </tt>
+<a name="L1522"></a><tt class="py-lineno">1522</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-531" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-531', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-532" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-532', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"hosts from ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1523"></a><tt class="py-lineno">1523</tt>  <tt class="py-line">                                     <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1524"></a><tt class="py-lineno">1524</tt>  <tt class="py-line">                                     <tt class="py-string">" is inconsistent with ONOS1"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1525"></a><tt class="py-lineno">1525</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-533" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-533', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-534" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-534', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-535" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-535', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1526"></a><tt class="py-lineno">1526</tt>  <tt class="py-line">                    <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1527"></a><tt class="py-lineno">1527</tt>  <tt class="py-line"> </tt>
+<a name="L1528"></a><tt class="py-lineno">1528</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1529"></a><tt class="py-lineno">1529</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-536" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-536', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-537" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-537', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS hosts from ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1530"></a><tt class="py-lineno">1530</tt>  <tt class="py-line">                                 <tt class="py-name">controllerStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1531"></a><tt class="py-lineno">1531</tt>  <tt class="py-line">                <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1532"></a><tt class="py-lineno">1532</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-538" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-538', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1533"></a><tt class="py-lineno">1533</tt>  <tt class="py-line">                               <tt class="py-string">" hosts response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1534"></a><tt class="py-lineno">1534</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-539" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-539', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-540" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-540', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1535"></a><tt class="py-lineno">1535</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1536"></a><tt class="py-lineno">1536</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1537"></a><tt class="py-lineno">1537</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentHostsResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1538"></a><tt class="py-lineno">1538</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Hosts view is consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1539"></a><tt class="py-lineno">1539</tt>  <tt class="py-line">            <tt id="link-541" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-541', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1540"></a><tt class="py-lineno">1540</tt>  <tt class="py-line"> </tt>
+<a name="L1541"></a><tt class="py-lineno">1541</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-542" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-542', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Each host has an IP address"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1542"></a><tt class="py-lineno">1542</tt>  <tt class="py-line">        <tt class="py-name">ipResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1543"></a><tt class="py-lineno">1543</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-543" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-543', 'controller', 'link-523');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-544" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-544', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1544"></a><tt class="py-lineno">1544</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-545" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-545', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1545"></a><tt class="py-lineno">1545</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">host</tt> <tt class="py-keyword">in</tt> <tt id="link-546" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-546', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-547" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-547', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1546"></a><tt class="py-lineno">1546</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">host</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'ipAddresses'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1547"></a><tt class="py-lineno">1547</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-548" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-548', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-549" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-549', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"DEBUG:Error with host ips on controller"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1548"></a><tt class="py-lineno">1548</tt>  <tt class="py-line">                                    <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1549"></a><tt class="py-lineno">1549</tt>  <tt class="py-line">                    <tt class="py-name">ipResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1550"></a><tt class="py-lineno">1550</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1551"></a><tt class="py-lineno">1551</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1552"></a><tt class="py-lineno">1552</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">ipResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1553"></a><tt class="py-lineno">1553</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"The ips of the hosts aren't empty"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1554"></a><tt class="py-lineno">1554</tt>  <tt class="py-line">            <tt id="link-550" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-550', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"The ip of at least one host is missing"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1555"></a><tt class="py-lineno">1555</tt>  <tt class="py-line"> </tt>
+<a name="L1556"></a><tt class="py-lineno">1556</tt>  <tt class="py-line">        <tt class="py-comment"># Strongly connected clusters of devices</tt> </tt>
+<a name="L1557"></a><tt class="py-lineno">1557</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-551" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-551', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cluster view is consistent across ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1558"></a><tt class="py-lineno">1558</tt>  <tt class="py-line">        <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1559"></a><tt class="py-lineno">1559</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-552" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-552', 'controller', 'link-523');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-553" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-553', 'clusters', 'link-518');">clusters</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1560"></a><tt class="py-lineno">1560</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-554" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-554', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1561"></a><tt class="py-lineno">1561</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-555" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-555', 'clusters', 'link-518');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-556" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-556', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1562"></a><tt class="py-lineno">1562</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-557" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-557', 'clusters', 'link-518');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-558" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-558', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-559" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-559', 'clusters', 'link-518');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1563"></a><tt class="py-lineno">1563</tt>  <tt class="py-line">                    <tt class="py-keyword">continue</tt> </tt>
+<a name="L1564"></a><tt class="py-lineno">1564</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># clusters not consistent</tt> </tt>
+<a name="L1565"></a><tt class="py-lineno">1565</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-560" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-560', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-561" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-561', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"clusters from ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1566"></a><tt class="py-lineno">1566</tt>  <tt class="py-line">                                     <tt class="py-string">" is inconsistent with ONOS1"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1567"></a><tt class="py-lineno">1567</tt>  <tt class="py-line">                    <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1568"></a><tt class="py-lineno">1568</tt>  <tt class="py-line"> </tt>
+<a name="L1569"></a><tt class="py-lineno">1569</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1570"></a><tt class="py-lineno">1570</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-562" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-562', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-563" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-563', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting dataplane clusters "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1571"></a><tt class="py-lineno">1571</tt>  <tt class="py-line">                                 <tt class="py-string">"from ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1572"></a><tt class="py-lineno">1572</tt>  <tt class="py-line">                <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1573"></a><tt class="py-lineno">1573</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-564" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-564', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1574"></a><tt class="py-lineno">1574</tt>  <tt class="py-line">                               <tt class="py-string">" clusters response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1575"></a><tt class="py-lineno">1575</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-565" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-565', 'clusters', 'link-518');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-566" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-566', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1576"></a><tt class="py-lineno">1576</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1577"></a><tt class="py-lineno">1577</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1578"></a><tt class="py-lineno">1578</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentClustersResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1579"></a><tt class="py-lineno">1579</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Clusters view is consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1580"></a><tt class="py-lineno">1580</tt>  <tt class="py-line">            <tt id="link-567" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-567', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of clusters"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1581"></a><tt class="py-lineno">1581</tt>  <tt class="py-line">        <tt class="py-comment"># there should always only be one cluster</tt> </tt>
+<a name="L1582"></a><tt class="py-lineno">1582</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-568" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-568', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cluster view correct across ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1583"></a><tt class="py-lineno">1583</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1584"></a><tt class="py-lineno">1584</tt>  <tt class="py-line">            <tt class="py-name">numClusters</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-569" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-569', 'clusters', 'link-518');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1585"></a><tt class="py-lineno">1585</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1586"></a><tt class="py-lineno">1586</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-570" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-570', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing clusters[0]: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1587"></a><tt class="py-lineno">1587</tt>  <tt class="py-line">                                <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-571" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-571', 'clusters', 'link-518');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1588"></a><tt class="py-lineno">1588</tt>  <tt class="py-line">        <tt class="py-name">clusterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1589"></a><tt class="py-lineno">1589</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">numClusters</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1590"></a><tt class="py-lineno">1590</tt>  <tt class="py-line">            <tt class="py-name">clusterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1591"></a><tt class="py-lineno">1591</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1592"></a><tt class="py-lineno">1592</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1593"></a><tt class="py-lineno">1593</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">numClusters</tt><tt class="py-op">,</tt> </tt>
+<a name="L1594"></a><tt class="py-lineno">1594</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS shows 1 SCC"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1595"></a><tt class="py-lineno">1595</tt>  <tt class="py-line">            <tt id="link-572" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-572', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS shows "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">numClusters</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" SCCs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1596"></a><tt class="py-lineno">1596</tt>  <tt class="py-line"> </tt>
+<a name="L1597"></a><tt class="py-lineno">1597</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-573" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-573', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Comparing ONOS topology to MN"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1598"></a><tt class="py-lineno">1598</tt>  <tt class="py-line">        <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1599"></a><tt class="py-lineno">1599</tt>  <tt class="py-line">        <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1600"></a><tt class="py-lineno">1600</tt>  <tt class="py-line">        <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1601"></a><tt class="py-lineno">1601</tt>  <tt class="py-line">        <tt class="py-name">mnSwitches</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-574" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitches()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitches"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitches" class="py-name" href="#" onclick="return doclink('link-574', 'getSwitches', 'link-574');">getSwitches</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1602"></a><tt class="py-lineno">1602</tt>  <tt class="py-line">        <tt class="py-name">mnLinks</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-575" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getLinks()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getLinks"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getLinks" class="py-name" href="#" onclick="return doclink('link-575', 'getLinks', 'link-575');">getLinks</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1603"></a><tt class="py-lineno">1603</tt>  <tt class="py-line">        <tt class="py-name">mnHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-576" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHosts()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getHosts"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHosts" class="py-name" href="#" onclick="return doclink('link-576', 'getHosts', 'link-576');">getHosts</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1604"></a><tt class="py-lineno">1604</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-577" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-577', 'controller', 'link-523');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1605"></a><tt class="py-lineno">1605</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-578" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-578', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1606"></a><tt class="py-lineno">1606</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-579" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-579', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-580" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-580', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt id="link-581" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-581', 'ports', 'link-510');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-582" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-582', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L1607"></a><tt class="py-lineno">1607</tt>  <tt class="py-line">                <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-583" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-583', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-584" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-584', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L1608"></a><tt class="py-lineno">1608</tt>  <tt class="py-line">                <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-585" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-585', 'ports', 'link-510');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-586" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-586', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1609"></a><tt class="py-lineno">1609</tt>  <tt class="py-line"> </tt>
+<a name="L1610"></a><tt class="py-lineno">1610</tt>  <tt class="py-line">                <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-587" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareSwitches()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareSwitches"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareSwitches" class="py-name" href="#" onclick="return doclink('link-587', 'compareSwitches', 'link-587');">compareSwitches</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1611"></a><tt class="py-lineno">1611</tt>  <tt class="py-line">                        <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> </tt>
+<a name="L1612"></a><tt class="py-lineno">1612</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-588" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-588', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-589" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-589', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1613"></a><tt class="py-lineno">1613</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-590" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-590', 'ports', 'link-510');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-591" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-591', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1614"></a><tt class="py-lineno">1614</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1615"></a><tt class="py-lineno">1615</tt>  <tt class="py-line">                <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1616"></a><tt class="py-lineno">1616</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1617"></a><tt class="py-lineno">1617</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentDevicesResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1618"></a><tt class="py-lineno">1618</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1619"></a><tt class="py-lineno">1619</tt>  <tt class="py-line">                                     <tt class="py-string">" Switches view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1620"></a><tt class="py-lineno">1620</tt>  <tt class="py-line">                                     <tt id="link-592" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-592', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1621"></a><tt class="py-lineno">1621</tt>  <tt class="py-line">                                     <tt class="py-string">" Switches view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1622"></a><tt class="py-lineno">1622</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-593" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-593', 'links', 'link-514');">links</a></tt><tt class="py-op">[</tt> <tt id="link-594" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-594', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-595" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-595', 'links', 'link-514');">links</a></tt><tt class="py-op">[</tt> <tt id="link-596" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-596', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1623"></a><tt class="py-lineno">1623</tt>  <tt class="py-line">                <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-597" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareLinks()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareLinks"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareLinks" class="py-name" href="#" onclick="return doclink('link-597', 'compareLinks', 'link-597');">compareLinks</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1624"></a><tt class="py-lineno">1624</tt>  <tt class="py-line">                        <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> <tt class="py-name">mnLinks</tt><tt class="py-op">,</tt> </tt>
+<a name="L1625"></a><tt class="py-lineno">1625</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-598" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-598', 'links', 'link-514');">links</a></tt><tt class="py-op">[</tt> <tt id="link-599" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-599', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1626"></a><tt class="py-lineno">1626</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1627"></a><tt class="py-lineno">1627</tt>  <tt class="py-line">                <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1628"></a><tt class="py-lineno">1628</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1629"></a><tt class="py-lineno">1629</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentLinksResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1630"></a><tt class="py-lineno">1630</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1631"></a><tt class="py-lineno">1631</tt>  <tt class="py-line">                                     <tt class="py-string">" links view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1632"></a><tt class="py-lineno">1632</tt>  <tt class="py-line">                                     <tt id="link-600" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-600', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1633"></a><tt class="py-lineno">1633</tt>  <tt class="py-line">                                     <tt class="py-string">" links view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1634"></a><tt class="py-lineno">1634</tt>  <tt class="py-line"> </tt>
+<a name="L1635"></a><tt class="py-lineno">1635</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-601" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-601', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-602" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-602', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-603" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-603', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-604" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-604', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1636"></a><tt class="py-lineno">1636</tt>  <tt class="py-line">                <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-605" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareHosts()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareHosts"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareHosts" class="py-name" href="#" onclick="return doclink('link-605', 'compareHosts', 'link-605');">compareHosts</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1637"></a><tt class="py-lineno">1637</tt>  <tt class="py-line">                        <tt class="py-name">mnHosts</tt><tt class="py-op">,</tt> </tt>
+<a name="L1638"></a><tt class="py-lineno">1638</tt>  <tt class="py-line">                        <tt id="link-606" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-606', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-607" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-607', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1639"></a><tt class="py-lineno">1639</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1640"></a><tt class="py-lineno">1640</tt>  <tt class="py-line">                <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1641"></a><tt class="py-lineno">1641</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1642"></a><tt class="py-lineno">1642</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentHostsResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1643"></a><tt class="py-lineno">1643</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1644"></a><tt class="py-lineno">1644</tt>  <tt class="py-line">                                     <tt class="py-string">" hosts exist in Mininet"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1645"></a><tt class="py-lineno">1645</tt>  <tt class="py-line">                                     <tt id="link-608" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-608', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1646"></a><tt class="py-lineno">1646</tt>  <tt class="py-line">                                     <tt class="py-string">" hosts don't match Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1647"></a><tt class="py-lineno">1647</tt>  <tt class="py-line"> </tt>
+<a name="L1648"></a><tt class="py-lineno">1648</tt>  <tt class="py-line">            <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">devicesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentDevicesResult</tt> </tt>
+<a name="L1649"></a><tt class="py-lineno">1649</tt>  <tt class="py-line">            <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">linksResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentLinksResult</tt> </tt>
+<a name="L1650"></a><tt class="py-lineno">1650</tt>  <tt class="py-line">            <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentHostsResult</tt> </tt>
+<a name="L1651"></a><tt class="py-lineno">1651</tt>  <tt class="py-line"> </tt>
+<a name="L1652"></a><tt class="py-lineno">1652</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-609" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-609', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Device information is correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1653"></a><tt class="py-lineno">1653</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1654"></a><tt class="py-lineno">1654</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1655"></a><tt class="py-lineno">1655</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">devicesResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1656"></a><tt class="py-lineno">1656</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Device information is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1657"></a><tt class="py-lineno">1657</tt>  <tt class="py-line">            <tt id="link-610" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-610', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Device information is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1658"></a><tt class="py-lineno">1658</tt>  <tt class="py-line"> </tt>
+<a name="L1659"></a><tt class="py-lineno">1659</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-611" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-611', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Links are correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1660"></a><tt class="py-lineno">1660</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1661"></a><tt class="py-lineno">1661</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1662"></a><tt class="py-lineno">1662</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">linksResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1663"></a><tt class="py-lineno">1663</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1664"></a><tt class="py-lineno">1664</tt>  <tt class="py-line">            <tt id="link-612" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-612', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Links are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1665"></a><tt class="py-lineno">1665</tt>  <tt class="py-line"> </tt>
+<a name="L1666"></a><tt class="py-lineno">1666</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-613" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-613', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Hosts are correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1667"></a><tt class="py-lineno">1667</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1668"></a><tt class="py-lineno">1668</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1669"></a><tt class="py-lineno">1669</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">hostsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1670"></a><tt class="py-lineno">1670</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Hosts are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1671"></a><tt class="py-lineno">1671</tt>  <tt class="py-line">            <tt id="link-614" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-614', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Hosts are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1672"></a><tt class="py-lineno">1672</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE6"></a><div id="HAsanity.CASE6-def"><a name="L1673"></a><tt class="py-lineno">1673</tt> <a class="py-toggle" href="#" id="HAsanity.CASE6-toggle" onclick="return toggle('HAsanity.CASE6');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE6">CASE6</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE6-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE6-expanded"><a name="L1674"></a><tt class="py-lineno">1674</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1675"></a><tt class="py-lineno">1675</tt>  <tt class="py-line"><tt class="py-docstring">        The Failure case. Since this is the Sanity test, we do nothing.</tt> </tt>
+<a name="L1676"></a><tt class="py-lineno">1676</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1677"></a><tt class="py-lineno">1677</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1678"></a><tt class="py-lineno">1678</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1679"></a><tt class="py-lineno">1679</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1680"></a><tt class="py-lineno">1680</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1681"></a><tt class="py-lineno">1681</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L1682"></a><tt class="py-lineno">1682</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-615" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-615', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L1683"></a><tt class="py-lineno">1683</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-616" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-616', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Wait 60 seconds instead of inducing a failure"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1684"></a><tt class="py-lineno">1684</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1685"></a><tt class="py-lineno">1685</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1686"></a><tt class="py-lineno">1686</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1687"></a><tt class="py-lineno">1687</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1688"></a><tt class="py-lineno">1688</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Sleeping 60 seconds"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1689"></a><tt class="py-lineno">1689</tt>  <tt class="py-line">            <tt id="link-617" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-617', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is terribly wrong with my math"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1690"></a><tt class="py-lineno">1690</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE7"></a><div id="HAsanity.CASE7-def"><a name="L1691"></a><tt class="py-lineno">1691</tt> <a class="py-toggle" href="#" id="HAsanity.CASE7-toggle" onclick="return toggle('HAsanity.CASE7');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE7">CASE7</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE7-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE7-expanded"><a name="L1692"></a><tt class="py-lineno">1692</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1693"></a><tt class="py-lineno">1693</tt>  <tt class="py-line"><tt class="py-docstring">        Check state after ONOS failure</tt> </tt>
+<a name="L1694"></a><tt class="py-lineno">1694</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1695"></a><tt class="py-lineno">1695</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L1696"></a><tt class="py-lineno">1696</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1697"></a><tt class="py-lineno">1697</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1698"></a><tt class="py-lineno">1698</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1699"></a><tt class="py-lineno">1699</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L1700"></a><tt class="py-lineno">1700</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-618" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-618', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L1701"></a><tt class="py-lineno">1701</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-619" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-619', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Running ONOS Constant State Tests"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1702"></a><tt class="py-lineno">1702</tt>  <tt class="py-line"> </tt>
+<a name="L1703"></a><tt class="py-lineno">1703</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-620" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-620', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check that each switch has a master"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1704"></a><tt class="py-lineno">1704</tt>  <tt class="py-line">        <tt class="py-comment"># Assert that each device has a master</tt> </tt>
+<a name="L1705"></a><tt class="py-lineno">1705</tt>  <tt class="py-line">        <tt id="link-621" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-621', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1706"></a><tt class="py-lineno">1706</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1707"></a><tt class="py-lineno">1707</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1708"></a><tt class="py-lineno">1708</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-622" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-622', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-623" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-623', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1709"></a><tt class="py-lineno">1709</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"rolesNotNull-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1710"></a><tt class="py-lineno">1710</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1711"></a><tt class="py-lineno">1711</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1712"></a><tt class="py-lineno">1712</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1713"></a><tt class="py-lineno">1713</tt>  <tt class="py-line"> </tt>
+<a name="L1714"></a><tt class="py-lineno">1714</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1715"></a><tt class="py-lineno">1715</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1716"></a><tt class="py-lineno">1716</tt>  <tt class="py-line">            <tt id="link-624" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-624', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt> <tt class="py-op">=</tt> <tt id="link-625" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-625', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> </tt>
+<a name="L1717"></a><tt class="py-lineno">1717</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1718"></a><tt class="py-lineno">1718</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1719"></a><tt class="py-lineno">1719</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt id="link-626" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-626', 'rolesNotNull', 'link-420');">rolesNotNull</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1720"></a><tt class="py-lineno">1720</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Each device has a master"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1721"></a><tt class="py-lineno">1721</tt>  <tt class="py-line">            <tt id="link-627" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-627', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Some devices don't have a master assigned"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1722"></a><tt class="py-lineno">1722</tt>  <tt class="py-line"> </tt>
+<a name="L1723"></a><tt class="py-lineno">1723</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-628" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-628', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Read device roles from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1724"></a><tt class="py-lineno">1724</tt>  <tt class="py-line">        <tt class="py-name">ONOSMastership</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1725"></a><tt class="py-lineno">1725</tt>  <tt class="py-line">        <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1726"></a><tt class="py-lineno">1726</tt>  <tt class="py-line">        <tt class="py-name">consistentMastership</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1727"></a><tt class="py-lineno">1727</tt>  <tt class="py-line">        <tt class="py-name">rolesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1728"></a><tt class="py-lineno">1728</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1729"></a><tt class="py-lineno">1729</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1730"></a><tt class="py-lineno">1730</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-629" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-629', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-630" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.roles" class="py-name" href="#" onclick="return doclink('link-630', 'roles', 'link-429');">roles</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1731"></a><tt class="py-lineno">1731</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"roles-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1732"></a><tt class="py-lineno">1732</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1733"></a><tt class="py-lineno">1733</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1734"></a><tt class="py-lineno">1734</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1735"></a><tt class="py-lineno">1735</tt>  <tt class="py-line"> </tt>
+<a name="L1736"></a><tt class="py-lineno">1736</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1737"></a><tt class="py-lineno">1737</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1738"></a><tt class="py-lineno">1738</tt>  <tt class="py-line">            <tt class="py-name">ONOSMastership</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1739"></a><tt class="py-lineno">1739</tt>  <tt class="py-line"> </tt>
+<a name="L1740"></a><tt class="py-lineno">1740</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1741"></a><tt class="py-lineno">1741</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1742"></a><tt class="py-lineno">1742</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-631" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-631', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-632" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-632', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1743"></a><tt class="py-lineno">1743</tt>  <tt class="py-line">                                 <tt class="py-string">" roles"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1744"></a><tt class="py-lineno">1744</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-633" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-633', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1745"></a><tt class="py-lineno">1745</tt>  <tt class="py-line">                    <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" mastership response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1746"></a><tt class="py-lineno">1746</tt>  <tt class="py-line">                    <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1747"></a><tt class="py-lineno">1747</tt>  <tt class="py-line">                <tt class="py-name">rolesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1748"></a><tt class="py-lineno">1748</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1749"></a><tt class="py-lineno">1749</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1750"></a><tt class="py-lineno">1750</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">rolesResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1751"></a><tt class="py-lineno">1751</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No error in reading roles output"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1752"></a><tt class="py-lineno">1752</tt>  <tt class="py-line">            <tt id="link-634" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-634', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error in reading roles from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1753"></a><tt class="py-lineno">1753</tt>  <tt class="py-line"> </tt>
+<a name="L1754"></a><tt class="py-lineno">1754</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-635" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-635', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check for consistency in roles from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1755"></a><tt class="py-lineno">1755</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSMastership</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1756"></a><tt class="py-lineno">1756</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-636" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-636', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L1757"></a><tt class="py-lineno">1757</tt>  <tt class="py-line">                <tt class="py-string">"Switch roles are consistent across all ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1758"></a><tt class="py-lineno">1758</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1759"></a><tt class="py-lineno">1759</tt>  <tt class="py-line">            <tt class="py-name">consistentMastership</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1760"></a><tt class="py-lineno">1760</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1761"></a><tt class="py-lineno">1761</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1762"></a><tt class="py-lineno">1762</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentMastership</tt><tt class="py-op">,</tt> </tt>
+<a name="L1763"></a><tt class="py-lineno">1763</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Switch roles are consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1764"></a><tt class="py-lineno">1764</tt>  <tt class="py-line">            <tt id="link-637" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-637', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of switch roles"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1765"></a><tt class="py-lineno">1765</tt>  <tt class="py-line"> </tt>
+<a name="L1766"></a><tt class="py-lineno">1766</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">rolesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">consistentMastership</tt><tt class="py-op">:</tt> </tt>
+<a name="L1767"></a><tt class="py-lineno">1767</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1768"></a><tt class="py-lineno">1768</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-638" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-638', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1769"></a><tt class="py-lineno">1769</tt>  <tt class="py-line">                    <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" roles: "</tt><tt class="py-op">,</tt> </tt>
+<a name="L1770"></a><tt class="py-lineno">1770</tt>  <tt class="py-line">                    <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> </tt>
+<a name="L1771"></a><tt class="py-lineno">1771</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1772"></a><tt class="py-lineno">1772</tt>  <tt class="py-line">                        <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1773"></a><tt class="py-lineno">1773</tt>  <tt class="py-line">                        <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1774"></a><tt class="py-lineno">1774</tt>  <tt class="py-line">                        <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1775"></a><tt class="py-lineno">1775</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">rolesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">consistentMastership</tt><tt class="py-op">:</tt> </tt>
+<a name="L1776"></a><tt class="py-lineno">1776</tt>  <tt class="py-line">            <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1777"></a><tt class="py-lineno">1777</tt>  <tt class="py-line"> </tt>
+<a name="L1778"></a><tt class="py-lineno">1778</tt>  <tt class="py-line">        <tt class="py-name">description2</tt> <tt class="py-op">=</tt> <tt class="py-string">"Compare switch roles from before failure"</tt> </tt>
+<a name="L1779"></a><tt class="py-lineno">1779</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-639" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-639', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-name">description2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1780"></a><tt class="py-lineno">1780</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1781"></a><tt class="py-lineno">1781</tt>  <tt class="py-line">            <tt class="py-name">currentJson</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1782"></a><tt class="py-lineno">1782</tt>  <tt class="py-line">            <tt class="py-name">oldJson</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">mastershipState</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1783"></a><tt class="py-lineno">1783</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1784"></a><tt class="py-lineno">1784</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-640" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-640', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Something is wrong with parsing "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1785"></a><tt class="py-lineno">1785</tt>  <tt class="py-line">                                <tt class="py-string">"ONOSMastership[0] or mastershipState"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1786"></a><tt class="py-lineno">1786</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-641" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-641', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-642" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-642', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOSMastership[0]: "</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSMastership</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1787"></a><tt class="py-lineno">1787</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-643" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-643', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-644" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-644', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"mastershipState"</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">mastershipState</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1788"></a><tt class="py-lineno">1788</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-645" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-645', 'cleanup', 'link-7');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1789"></a><tt class="py-lineno">1789</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-646" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-646', 'exit', 'link-8');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1790"></a><tt class="py-lineno">1790</tt>  <tt class="py-line">        <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1791"></a><tt class="py-lineno">1791</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1792"></a><tt class="py-lineno">1792</tt>  <tt class="py-line">            <tt class="py-name">switchDPID</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L1793"></a><tt class="py-lineno">1793</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-647" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitchDPID()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitchDPID"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitchDPID" class="py-name" href="#" onclick="return doclink('link-647', 'getSwitchDPID', 'link-647');">getSwitchDPID</a></tt><tt class="py-op">(</tt> <tt class="py-name">switch</tt><tt class="py-op">=</tt><tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1794"></a><tt class="py-lineno">1794</tt>  <tt class="py-line">            <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">switch</tt><tt class="py-op">[</tt> <tt class="py-string">'master'</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">currentJson</tt> </tt>
+<a name="L1795"></a><tt class="py-lineno">1795</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">switchDPID</tt> <tt class="py-keyword">in</tt> <tt class="py-name">switch</tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1796"></a><tt class="py-lineno">1796</tt>  <tt class="py-line">            <tt class="py-name">old</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">switch</tt><tt class="py-op">[</tt> <tt class="py-string">'master'</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">oldJson</tt> </tt>
+<a name="L1797"></a><tt class="py-lineno">1797</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">switchDPID</tt> <tt class="py-keyword">in</tt> <tt class="py-name">switch</tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1798"></a><tt class="py-lineno">1798</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">current</tt> <tt class="py-op">==</tt> <tt class="py-name">old</tt><tt class="py-op">:</tt> </tt>
+<a name="L1799"></a><tt class="py-lineno">1799</tt>  <tt class="py-line">                <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">mastershipCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1800"></a><tt class="py-lineno">1800</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1801"></a><tt class="py-lineno">1801</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-648" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-648', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Mastership of switch %s changed"</tt> <tt class="py-op">%</tt> <tt class="py-name">switchDPID</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1802"></a><tt class="py-lineno">1802</tt>  <tt class="py-line">                <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1803"></a><tt class="py-lineno">1803</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1804"></a><tt class="py-lineno">1804</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1805"></a><tt class="py-lineno">1805</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">mastershipCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L1806"></a><tt class="py-lineno">1806</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Mastership of Switches was not changed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1807"></a><tt class="py-lineno">1807</tt>  <tt class="py-line">            <tt id="link-649" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-649', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Mastership of some switches changed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1808"></a><tt class="py-lineno">1808</tt>  <tt class="py-line">        <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">mastershipCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentMastership</tt> </tt>
+<a name="L1809"></a><tt class="py-lineno">1809</tt>  <tt class="py-line"> </tt>
+<a name="L1810"></a><tt class="py-lineno">1810</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-650" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-650', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the intents and compare across all nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1811"></a><tt class="py-lineno">1811</tt>  <tt class="py-line">        <tt class="py-name">ONOSIntents</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1812"></a><tt class="py-lineno">1812</tt>  <tt class="py-line">        <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1813"></a><tt class="py-lineno">1813</tt>  <tt class="py-line">        <tt class="py-name">consistentIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1814"></a><tt class="py-lineno">1814</tt>  <tt class="py-line">        <tt class="py-name">intentsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1815"></a><tt class="py-lineno">1815</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1816"></a><tt class="py-lineno">1816</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1817"></a><tt class="py-lineno">1817</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-651" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-651', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-652" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-652', 'intents', 'link-172');">intents</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1818"></a><tt class="py-lineno">1818</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"intents-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1819"></a><tt class="py-lineno">1819</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1820"></a><tt class="py-lineno">1820</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">'jsonFormat'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1821"></a><tt class="py-lineno">1821</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1822"></a><tt class="py-lineno">1822</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1823"></a><tt class="py-lineno">1823</tt>  <tt class="py-line"> </tt>
+<a name="L1824"></a><tt class="py-lineno">1824</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L1825"></a><tt class="py-lineno">1825</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1826"></a><tt class="py-lineno">1826</tt>  <tt class="py-line">            <tt class="py-name">ONOSIntents</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1827"></a><tt class="py-lineno">1827</tt>  <tt class="py-line"> </tt>
+<a name="L1828"></a><tt class="py-lineno">1828</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1829"></a><tt class="py-lineno">1829</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1830"></a><tt class="py-lineno">1830</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-653" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-653', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-654" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-654', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1831"></a><tt class="py-lineno">1831</tt>  <tt class="py-line">                                 <tt class="py-string">" intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1832"></a><tt class="py-lineno">1832</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-655" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-655', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1833"></a><tt class="py-lineno">1833</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1834"></a><tt class="py-lineno">1834</tt>  <tt class="py-line">                <tt class="py-name">intentsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1835"></a><tt class="py-lineno">1835</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1836"></a><tt class="py-lineno">1836</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1837"></a><tt class="py-lineno">1837</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">intentsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1838"></a><tt class="py-lineno">1838</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No error in reading intents output"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1839"></a><tt class="py-lineno">1839</tt>  <tt class="py-line">            <tt id="link-656" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-656', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error in reading intents from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1840"></a><tt class="py-lineno">1840</tt>  <tt class="py-line"> </tt>
+<a name="L1841"></a><tt class="py-lineno">1841</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-657" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-657', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check for consistency in Intents from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1842"></a><tt class="py-lineno">1842</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-op">[</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1843"></a><tt class="py-lineno">1843</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-658" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-658', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents are consistent across all ONOS "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1844"></a><tt class="py-lineno">1844</tt>  <tt class="py-line">                             <tt class="py-string">"nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1845"></a><tt class="py-lineno">1845</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1846"></a><tt class="py-lineno">1846</tt>  <tt class="py-line">            <tt class="py-name">consistentIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1847"></a><tt class="py-lineno">1847</tt>  <tt class="py-line"> </tt>
+<a name="L1848"></a><tt class="py-lineno">1848</tt>  <tt class="py-line">        <tt class="py-comment"># Try to make it easy to figure out what is happening</tt> </tt>
+<a name="L1849"></a><tt class="py-lineno">1849</tt>  <tt class="py-line">        <tt class="py-comment">#</tt> </tt>
+<a name="L1850"></a><tt class="py-lineno">1850</tt>  <tt class="py-line">        <tt class="py-comment"># Intent      ONOS1      ONOS2    ...</tt> </tt>
+<a name="L1851"></a><tt class="py-lineno">1851</tt>  <tt class="py-line">        <tt class="py-comment">#  0x01     INSTALLED  INSTALLING</tt> </tt>
+<a name="L1852"></a><tt class="py-lineno">1852</tt>  <tt class="py-line">        <tt class="py-comment">#  ...        ...         ...</tt> </tt>
+<a name="L1853"></a><tt class="py-lineno">1853</tt>  <tt class="py-line">        <tt class="py-comment">#  ...        ...         ...</tt> </tt>
+<a name="L1854"></a><tt class="py-lineno">1854</tt>  <tt class="py-line">        <tt class="py-name">title</tt> <tt class="py-op">=</tt> <tt class="py-string">"   ID"</tt> </tt>
+<a name="L1855"></a><tt class="py-lineno">1855</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1856"></a><tt class="py-lineno">1856</tt>  <tt class="py-line">            <tt class="py-name">title</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">*</tt> <tt class="py-number">10</tt> <tt class="py-op">+</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1857"></a><tt class="py-lineno">1857</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-659" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-659', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">title</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1858"></a><tt class="py-lineno">1858</tt>  <tt class="py-line">        <tt class="py-comment"># get all intent keys in the cluster</tt> </tt>
+<a name="L1859"></a><tt class="py-lineno">1859</tt>  <tt class="py-line">        <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1860"></a><tt class="py-lineno">1860</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">nodeStr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1861"></a><tt class="py-lineno">1861</tt>  <tt class="py-line">            <tt class="py-name">node</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1862"></a><tt class="py-lineno">1862</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-660" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-660', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">node</tt><tt class="py-op">:</tt> </tt>
+<a name="L1863"></a><tt class="py-lineno">1863</tt>  <tt class="py-line">                <tt class="py-name">keys</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-661" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-661', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1864"></a><tt class="py-lineno">1864</tt>  <tt class="py-line">        <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">keys</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1865"></a><tt class="py-lineno">1865</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">keys</tt><tt class="py-op">:</tt> </tt>
+<a name="L1866"></a><tt class="py-lineno">1866</tt>  <tt class="py-line">            <tt class="py-name">row</tt> <tt class="py-op">=</tt> <tt class="py-string">"%-13s"</tt> <tt class="py-op">%</tt> <tt class="py-name">key</tt> </tt>
+<a name="L1867"></a><tt class="py-lineno">1867</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">nodeStr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1868"></a><tt class="py-lineno">1868</tt>  <tt class="py-line">                <tt class="py-name">node</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1869"></a><tt class="py-lineno">1869</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-662" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-662', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">node</tt><tt class="py-op">:</tt> </tt>
+<a name="L1870"></a><tt class="py-lineno">1870</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt id="link-663" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-663', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">key</tt><tt class="py-op">:</tt> </tt>
+<a name="L1871"></a><tt class="py-lineno">1871</tt>  <tt class="py-line">                        <tt class="py-name">row</tt> <tt class="py-op">+=</tt> <tt class="py-string">"%-15s"</tt> <tt class="py-op">%</tt> <tt id="link-664" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-664', 'intent', 'link-170');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1872"></a><tt class="py-lineno">1872</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-665" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-665', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">row</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1873"></a><tt class="py-lineno">1873</tt>  <tt class="py-line">        <tt class="py-comment"># End table view</tt> </tt>
+<a name="L1874"></a><tt class="py-lineno">1874</tt>  <tt class="py-line"> </tt>
+<a name="L1875"></a><tt class="py-lineno">1875</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1876"></a><tt class="py-lineno">1876</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1877"></a><tt class="py-lineno">1877</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentIntents</tt><tt class="py-op">,</tt> </tt>
+<a name="L1878"></a><tt class="py-lineno">1878</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents are consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1879"></a><tt class="py-lineno">1879</tt>  <tt class="py-line">            <tt id="link-666" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-666', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1880"></a><tt class="py-lineno">1880</tt>  <tt class="py-line">        <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1881"></a><tt class="py-lineno">1881</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">:</tt>  <tt class="py-comment"># Iter through ONOS nodes</tt> </tt>
+<a name="L1882"></a><tt class="py-lineno">1882</tt>  <tt class="py-line">            <tt class="py-name">nodeStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1883"></a><tt class="py-lineno">1883</tt>  <tt class="py-line">            <tt class="py-comment"># Iter through intents of a node</tt> </tt>
+<a name="L1884"></a><tt class="py-lineno">1884</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1885"></a><tt class="py-lineno">1885</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-667" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-667', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1886"></a><tt class="py-lineno">1886</tt>  <tt class="py-line">                    <tt class="py-name">nodeStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-668" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-668', 'intent', 'link-170');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1887"></a><tt class="py-lineno">1887</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1888"></a><tt class="py-lineno">1888</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-669" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-669', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error in parsing intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1889"></a><tt class="py-lineno">1889</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-670" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-670', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-671" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-671', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1890"></a><tt class="py-lineno">1890</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStates</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1891"></a><tt class="py-lineno">1891</tt>  <tt class="py-line">            <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">nodeStates</tt><tt class="py-op">.</tt><tt class="py-name">count</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStates</tt> <tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1892"></a><tt class="py-lineno">1892</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-672" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-672', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt> <tt class="py-name">out</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1893"></a><tt class="py-lineno">1893</tt>  <tt class="py-line"> </tt>
+<a name="L1894"></a><tt class="py-lineno">1894</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">intentsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">consistentIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1895"></a><tt class="py-lineno">1895</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1896"></a><tt class="py-lineno">1896</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-673" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-673', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1897"></a><tt class="py-lineno">1897</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-674" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-674', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> </tt>
+<a name="L1898"></a><tt class="py-lineno">1898</tt>  <tt class="py-line">                    <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1899"></a><tt class="py-lineno">1899</tt>  <tt class="py-line">                    <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L1900"></a><tt class="py-lineno">1900</tt>  <tt class="py-line">                    <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1901"></a><tt class="py-lineno">1901</tt>  <tt class="py-line">                    <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1902"></a><tt class="py-lineno">1902</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">intentsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentIntents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1903"></a><tt class="py-lineno">1903</tt>  <tt class="py-line">            <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1904"></a><tt class="py-lineno">1904</tt>  <tt class="py-line"> </tt>
+<a name="L1905"></a><tt class="py-lineno">1905</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: Store has no durability, so intents are lost across system</tt> </tt>
+<a name="L1906"></a><tt class="py-lineno">1906</tt>  <tt class="py-line">        <tt class="py-comment">#       restarts</tt> </tt>
+<a name="L1907"></a><tt class="py-lineno">1907</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-675" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-675', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Compare current intents with intents before the failure"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1908"></a><tt class="py-lineno">1908</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: this requires case 5 to pass for intentState to be set.</tt> </tt>
+<a name="L1909"></a><tt class="py-lineno">1909</tt>  <tt class="py-line">        <tt class="py-comment">#      maybe we should stop the test if that fails?</tt> </tt>
+<a name="L1910"></a><tt class="py-lineno">1910</tt>  <tt class="py-line">        <tt class="py-name">sameIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1911"></a><tt class="py-lineno">1911</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">intentState</tt> <tt class="py-keyword">and</tt> <tt class="py-name">intentState</tt> <tt class="py-op">==</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1912"></a><tt class="py-lineno">1912</tt>  <tt class="py-line">            <tt class="py-name">sameIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1913"></a><tt class="py-lineno">1913</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-676" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-676', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents are consistent with before failure"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1914"></a><tt class="py-lineno">1914</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: possibly the states have changed? we may need to figure out</tt> </tt>
+<a name="L1915"></a><tt class="py-lineno">1915</tt>  <tt class="py-line">        <tt class="py-comment">#       what the acceptable states are</tt> </tt>
+<a name="L1916"></a><tt class="py-lineno">1916</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">intentState</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1917"></a><tt class="py-lineno">1917</tt>  <tt class="py-line">            <tt class="py-name">sameIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1918"></a><tt class="py-lineno">1918</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1919"></a><tt class="py-lineno">1919</tt>  <tt class="py-line">                <tt class="py-name">before</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">intentState</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1920"></a><tt class="py-lineno">1920</tt>  <tt class="py-line">                <tt class="py-name">after</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1921"></a><tt class="py-lineno">1921</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-677" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-677', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">before</tt><tt class="py-op">:</tt> </tt>
+<a name="L1922"></a><tt class="py-lineno">1922</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt id="link-678" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-678', 'intent', 'link-170');">intent</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">after</tt><tt class="py-op">:</tt> </tt>
+<a name="L1923"></a><tt class="py-lineno">1923</tt>  <tt class="py-line">                        <tt class="py-name">sameIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1924"></a><tt class="py-lineno">1924</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-679" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-679', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Intent is not currently in ONOS "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1925"></a><tt class="py-lineno">1925</tt>  <tt class="py-line">                                        <tt class="py-string">"(at least in the same form):"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1926"></a><tt class="py-lineno">1926</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-680" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-680', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt id="link-681" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-681', 'intent', 'link-170');">intent</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1927"></a><tt class="py-lineno">1927</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1928"></a><tt class="py-lineno">1928</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-682" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-682', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Exception printing intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1929"></a><tt class="py-lineno">1929</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-683" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-683', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1930"></a><tt class="py-lineno">1930</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-684" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-684', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">intentState</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1931"></a><tt class="py-lineno">1931</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">sameIntents</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1932"></a><tt class="py-lineno">1932</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1933"></a><tt class="py-lineno">1933</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-685" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-685', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS intents before: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1934"></a><tt class="py-lineno">1934</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-686" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-686', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">intentState</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1935"></a><tt class="py-lineno">1935</tt>  <tt class="py-line">                                            <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1936"></a><tt class="py-lineno">1936</tt>  <tt class="py-line">                                            <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1937"></a><tt class="py-lineno">1937</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-687" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-687', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Current ONOS intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1938"></a><tt class="py-lineno">1938</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-688" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-688', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1939"></a><tt class="py-lineno">1939</tt>  <tt class="py-line">                                            <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L1940"></a><tt class="py-lineno">1940</tt>  <tt class="py-line">                                            <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1941"></a><tt class="py-lineno">1941</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1942"></a><tt class="py-lineno">1942</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-689" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-689', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Exception printing intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1943"></a><tt class="py-lineno">1943</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-690" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-690', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIntents</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1944"></a><tt class="py-lineno">1944</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-691" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-691', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">intentState</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1945"></a><tt class="py-lineno">1945</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1946"></a><tt class="py-lineno">1946</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1947"></a><tt class="py-lineno">1947</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">sameIntents</tt><tt class="py-op">,</tt> </tt>
+<a name="L1948"></a><tt class="py-lineno">1948</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents are consistent with before failure"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1949"></a><tt class="py-lineno">1949</tt>  <tt class="py-line">            <tt id="link-692" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-692', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"The Intents changed during failure"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1950"></a><tt class="py-lineno">1950</tt>  <tt class="py-line">        <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">intentCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sameIntents</tt> </tt>
+<a name="L1951"></a><tt class="py-lineno">1951</tt>  <tt class="py-line"> </tt>
+<a name="L1952"></a><tt class="py-lineno">1952</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-693" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-693', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the OF Table entries and compare to before "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1953"></a><tt class="py-lineno">1953</tt>  <tt class="py-line">                   <tt class="py-string">"component failure"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1954"></a><tt class="py-lineno">1954</tt>  <tt class="py-line">        <tt class="py-name">FlowTables</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1955"></a><tt class="py-lineno">1955</tt>  <tt class="py-line">        <tt class="py-name">flows2</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1956"></a><tt class="py-lineno">1956</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">28</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1957"></a><tt class="py-lineno">1957</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-694" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-694', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Checking flow table on s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1958"></a><tt class="py-lineno">1958</tt>  <tt class="py-line">            <tt class="py-name">tmpFlows</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-695" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getFlowTable" class="py-name" href="#" onclick="return doclink('link-695', 'getFlowTable', 'link-485');">getFlowTable</a></tt><tt class="py-op">(</tt> <tt class="py-number">1.3</tt><tt class="py-op">,</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1959"></a><tt class="py-lineno">1959</tt>  <tt class="py-line">            <tt class="py-name">flows2</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">tmpFlows</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1960"></a><tt class="py-lineno">1960</tt>  <tt class="py-line">            <tt class="py-name">tempResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-696" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.flowComp()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#flowComp"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.flowComp" class="py-name" href="#" onclick="return doclink('link-696', 'flowComp', 'link-696');">flowComp</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1961"></a><tt class="py-lineno">1961</tt>  <tt class="py-line">                <tt class="py-name">flow1</tt><tt class="py-op">=</tt><tt id="link-697" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-697', 'flows', 'link-405');">flows</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1962"></a><tt class="py-lineno">1962</tt>  <tt class="py-line">                <tt class="py-name">flow2</tt><tt class="py-op">=</tt><tt class="py-name">tmpFlows</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1963"></a><tt class="py-lineno">1963</tt>  <tt class="py-line">            <tt class="py-name">FlowTables</tt> <tt class="py-op">=</tt> <tt class="py-name">FlowTables</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tempResult</tt> </tt>
+<a name="L1964"></a><tt class="py-lineno">1964</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">FlowTables</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1965"></a><tt class="py-lineno">1965</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-698" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-698', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Differences in flow table for switch: s"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1966"></a><tt class="py-lineno">1966</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1967"></a><tt class="py-lineno">1967</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1968"></a><tt class="py-lineno">1968</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1969"></a><tt class="py-lineno">1969</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">FlowTables</tt><tt class="py-op">,</tt> </tt>
+<a name="L1970"></a><tt class="py-lineno">1970</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No changes were found in the flow tables"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1971"></a><tt class="py-lineno">1971</tt>  <tt class="py-line">            <tt id="link-699" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-699', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Changes were found in the flow tables"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1972"></a><tt class="py-lineno">1972</tt>  <tt class="py-line"> </tt>
+<a name="L1973"></a><tt class="py-lineno">1973</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-700" class="py-name" targets="Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLongKill()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingLongKill"><a title="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLongKill" class="py-name" href="#" onclick="return doclink('link-700', 'pingLongKill', 'link-700');">pingLongKill</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1974"></a><tt class="py-lineno">1974</tt>  <tt class="py-line">        <tt class="py-string">'''</tt> </tt>
+<a name="L1975"></a><tt class="py-lineno">1975</tt>  <tt class="py-line"><tt class="py-string">        main.step( "Check the continuous pings to ensure that no packets " +</tt> </tt>
+<a name="L1976"></a><tt class="py-lineno">1976</tt>  <tt class="py-line"><tt class="py-string">                   "were dropped during component failure" )</tt> </tt>
+<a name="L1977"></a><tt class="py-lineno">1977</tt>  <tt class="py-line"><tt class="py-string">        main.Mininet2.pingKill( main.params[ 'TESTONUSER' ],</tt> </tt>
+<a name="L1978"></a><tt class="py-lineno">1978</tt>  <tt class="py-line"><tt class="py-string">                                main.params[ 'TESTONIP' ] )</tt> </tt>
+<a name="L1979"></a><tt class="py-lineno">1979</tt>  <tt class="py-line"><tt class="py-string">        LossInPings = main.FALSE</tt> </tt>
+<a name="L1980"></a><tt class="py-lineno">1980</tt>  <tt class="py-line"><tt class="py-string">        # NOTE: checkForLoss returns main.FALSE with 0% packet loss</tt> </tt>
+<a name="L1981"></a><tt class="py-lineno">1981</tt>  <tt class="py-line"><tt class="py-string">        for i in range( 8, 18 ):</tt> </tt>
+<a name="L1982"></a><tt class="py-lineno">1982</tt>  <tt class="py-line"><tt class="py-string">            main.log.info(</tt> </tt>
+<a name="L1983"></a><tt class="py-lineno">1983</tt>  <tt class="py-line"><tt class="py-string">                "Checking for a loss in pings along flow from s" +</tt> </tt>
+<a name="L1984"></a><tt class="py-lineno">1984</tt>  <tt class="py-line"><tt class="py-string">                str( i ) )</tt> </tt>
+<a name="L1985"></a><tt class="py-lineno">1985</tt>  <tt class="py-line"><tt class="py-string">            LossInPings = main.Mininet2.checkForLoss(</tt> </tt>
+<a name="L1986"></a><tt class="py-lineno">1986</tt>  <tt class="py-line"><tt class="py-string">                "/tmp/ping.h" +</tt> </tt>
+<a name="L1987"></a><tt class="py-lineno">1987</tt>  <tt class="py-line"><tt class="py-string">                str( i ) ) or LossInPings</tt> </tt>
+<a name="L1988"></a><tt class="py-lineno">1988</tt>  <tt class="py-line"><tt class="py-string">        if LossInPings == main.TRUE:</tt> </tt>
+<a name="L1989"></a><tt class="py-lineno">1989</tt>  <tt class="py-line"><tt class="py-string">            main.log.info( "Loss in ping detected" )</tt> </tt>
+<a name="L1990"></a><tt class="py-lineno">1990</tt>  <tt class="py-line"><tt class="py-string">        elif LossInPings == main.ERROR:</tt> </tt>
+<a name="L1991"></a><tt class="py-lineno">1991</tt>  <tt class="py-line"><tt class="py-string">            main.log.info( "There are multiple mininet process running" )</tt> </tt>
+<a name="L1992"></a><tt class="py-lineno">1992</tt>  <tt class="py-line"><tt class="py-string">        elif LossInPings == main.FALSE:</tt> </tt>
+<a name="L1993"></a><tt class="py-lineno">1993</tt>  <tt class="py-line"><tt class="py-string">            main.log.info( "No Loss in the pings" )</tt> </tt>
+<a name="L1994"></a><tt class="py-lineno">1994</tt>  <tt class="py-line"><tt class="py-string">            main.log.info( "No loss of dataplane connectivity" )</tt> </tt>
+<a name="L1995"></a><tt class="py-lineno">1995</tt>  <tt class="py-line"><tt class="py-string">        utilities.assert_equals(</tt> </tt>
+<a name="L1996"></a><tt class="py-lineno">1996</tt>  <tt class="py-line"><tt class="py-string">            expect=main.FALSE,</tt> </tt>
+<a name="L1997"></a><tt class="py-lineno">1997</tt>  <tt class="py-line"><tt class="py-string">            actual=LossInPings,</tt> </tt>
+<a name="L1998"></a><tt class="py-lineno">1998</tt>  <tt class="py-line"><tt class="py-string">            onpass="No Loss of connectivity",</tt> </tt>
+<a name="L1999"></a><tt class="py-lineno">1999</tt>  <tt class="py-line"><tt class="py-string">            onfail="Loss of dataplane connectivity detected" )</tt> </tt>
+<a name="L2000"></a><tt class="py-lineno">2000</tt>  <tt class="py-line"><tt class="py-string">        '''</tt> </tt>
+<a name="L2001"></a><tt class="py-lineno">2001</tt>  <tt class="py-line"> </tt>
+<a name="L2002"></a><tt class="py-lineno">2002</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-701" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-701', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Leadership Election is still functional"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2003"></a><tt class="py-lineno">2003</tt>  <tt class="py-line">        <tt class="py-comment"># Test of LeadershipElection</tt> </tt>
+<a name="L2004"></a><tt class="py-lineno">2004</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: this only works for the sanity test. In case of failures,</tt> </tt>
+<a name="L2005"></a><tt class="py-lineno">2005</tt>  <tt class="py-line">        <tt class="py-comment">#       leader will likely change</tt> </tt>
+<a name="L2006"></a><tt class="py-lineno">2006</tt>  <tt class="py-line">        <tt class="py-name">leader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-702" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-702', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L2007"></a><tt class="py-lineno">2007</tt>  <tt class="py-line">        <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2008"></a><tt class="py-lineno">2008</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-703" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-703', 'cli', 'link-223');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2009"></a><tt class="py-lineno">2009</tt>  <tt class="py-line">            <tt class="py-name">leaderN</tt> <tt class="py-op">=</tt> <tt id="link-704" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-704', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt id="link-705" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestLeader"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-705', 'electionTestLeader', 'link-705');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2010"></a><tt class="py-lineno">2010</tt>  <tt class="py-line">            <tt class="py-comment"># verify leader is ONOS1</tt> </tt>
+<a name="L2011"></a><tt class="py-lineno">2011</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">==</tt> <tt class="py-name">leader</tt><tt class="py-op">:</tt> </tt>
+<a name="L2012"></a><tt class="py-lineno">2012</tt>  <tt class="py-line">                <tt class="py-comment"># all is well</tt> </tt>
+<a name="L2013"></a><tt class="py-lineno">2013</tt>  <tt class="py-line">                <tt class="py-comment"># NOTE: In failure scenario, this could be a new node, maybe</tt> </tt>
+<a name="L2014"></a><tt class="py-lineno">2014</tt>  <tt class="py-line">                <tt class="py-comment"># check != ONOS1</tt> </tt>
+<a name="L2015"></a><tt class="py-lineno">2015</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L2016"></a><tt class="py-lineno">2016</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2017"></a><tt class="py-lineno">2017</tt>  <tt class="py-line">                <tt class="py-comment"># error in response</tt> </tt>
+<a name="L2018"></a><tt class="py-lineno">2018</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-706" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-706', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-707" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-707', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Something is wrong with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2019"></a><tt class="py-lineno">2019</tt>  <tt class="py-line">                                 <tt class="py-string">"electionTestLeader function, check the"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2020"></a><tt class="py-lineno">2020</tt>  <tt class="py-line">                                 <tt class="py-string">" error logs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2021"></a><tt class="py-lineno">2021</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2022"></a><tt class="py-lineno">2022</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">leader</tt> <tt class="py-op">!=</tt> <tt class="py-name">leaderN</tt><tt class="py-op">:</tt> </tt>
+<a name="L2023"></a><tt class="py-lineno">2023</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2024"></a><tt class="py-lineno">2024</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-708" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-708', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-709" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-709', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt id="link-710" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-710', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" sees "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2025"></a><tt class="py-lineno">2025</tt>  <tt class="py-line">                                 <tt class="py-string">" as the leader of the election app. "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2026"></a><tt class="py-lineno">2026</tt>  <tt class="py-line">                                 <tt class="py-string">"Leader should be "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2027"></a><tt class="py-lineno">2027</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2028"></a><tt class="py-lineno">2028</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2029"></a><tt class="py-lineno">2029</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">leaderResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2030"></a><tt class="py-lineno">2030</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Leadership election passed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2031"></a><tt class="py-lineno">2031</tt>  <tt class="py-line">            <tt id="link-711" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-711', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something went wrong with Leadership election"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2032"></a><tt class="py-lineno">2032</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE8"></a><div id="HAsanity.CASE8-def"><a name="L2033"></a><tt class="py-lineno">2033</tt> <a class="py-toggle" href="#" id="HAsanity.CASE8-toggle" onclick="return toggle('HAsanity.CASE8');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE8">CASE8</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE8-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE8-expanded"><a name="L2034"></a><tt class="py-lineno">2034</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2035"></a><tt class="py-lineno">2035</tt>  <tt class="py-line"><tt class="py-docstring">        Compare topo</tt> </tt>
+<a name="L2036"></a><tt class="py-lineno">2036</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2037"></a><tt class="py-lineno">2037</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L2038"></a><tt class="py-lineno">2038</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2039"></a><tt class="py-lineno">2039</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2040"></a><tt class="py-lineno">2040</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2041"></a><tt class="py-lineno">2041</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2042"></a><tt class="py-lineno">2042</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2043"></a><tt class="py-lineno">2043</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-712" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-712', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2044"></a><tt class="py-lineno">2044</tt>  <tt class="py-line"> </tt>
+<a name="L2045"></a><tt class="py-lineno">2045</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-713" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-713', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Compare ONOS Topology view to Mininet topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2046"></a><tt class="py-lineno">2046</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Compare topology objects between Mininet"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2047"></a><tt class="py-lineno">2047</tt>  <tt class="py-line">                                <tt class="py-string">" and ONOS"</tt> </tt>
+<a name="L2048"></a><tt class="py-lineno">2048</tt>  <tt class="py-line"> </tt>
+<a name="L2049"></a><tt class="py-lineno">2049</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-714" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-714', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Comparing ONOS topology to MN"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2050"></a><tt class="py-lineno">2050</tt>  <tt class="py-line">        <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2051"></a><tt class="py-lineno">2051</tt>  <tt class="py-line">        <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2052"></a><tt class="py-lineno">2052</tt>  <tt class="py-line">        <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2053"></a><tt class="py-lineno">2053</tt>  <tt class="py-line">        <tt class="py-name">hostAttachmentResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2054"></a><tt class="py-lineno">2054</tt>  <tt class="py-line">        <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2055"></a><tt class="py-lineno">2055</tt>  <tt class="py-line">        <tt class="py-name">elapsed</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2056"></a><tt class="py-lineno">2056</tt>  <tt class="py-line">        <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2057"></a><tt class="py-lineno">2057</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-715" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-715', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Collecting topology information from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2058"></a><tt class="py-lineno">2058</tt>  <tt class="py-line">        <tt class="py-name">startTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2059"></a><tt class="py-lineno">2059</tt>  <tt class="py-line">        <tt class="py-comment"># Give time for Gossip to work</tt> </tt>
+<a name="L2060"></a><tt class="py-lineno">2060</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">topoResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> <tt class="py-keyword">and</tt> <tt class="py-name">elapsed</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">60</tt><tt class="py-op">:</tt> </tt>
+<a name="L2061"></a><tt class="py-lineno">2061</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2062"></a><tt class="py-lineno">2062</tt>  <tt class="py-line">            <tt class="py-name">cliStart</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2063"></a><tt class="py-lineno">2063</tt>  <tt class="py-line">            <tt id="link-716" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-716', 'devices', 'link-114');">devices</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2064"></a><tt class="py-lineno">2064</tt>  <tt class="py-line">            <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2065"></a><tt class="py-lineno">2065</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2066"></a><tt class="py-lineno">2066</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-717" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-717', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-718" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-718', 'devices', 'link-114');">devices</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2067"></a><tt class="py-lineno">2067</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"devices-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2068"></a><tt class="py-lineno">2068</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2069"></a><tt class="py-lineno">2069</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2070"></a><tt class="py-lineno">2070</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2071"></a><tt class="py-lineno">2071</tt>  <tt class="py-line"> </tt>
+<a name="L2072"></a><tt class="py-lineno">2072</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2073"></a><tt class="py-lineno">2073</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2074"></a><tt class="py-lineno">2074</tt>  <tt class="py-line">                <tt id="link-719" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-719', 'devices', 'link-114');">devices</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2075"></a><tt class="py-lineno">2075</tt>  <tt class="py-line">            <tt id="link-720" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-720', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2076"></a><tt class="py-lineno">2076</tt>  <tt class="py-line">            <tt class="py-name">ipResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2077"></a><tt class="py-lineno">2077</tt>  <tt class="py-line">            <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2078"></a><tt class="py-lineno">2078</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2079"></a><tt class="py-lineno">2079</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-721" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-721', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-722" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-722', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2080"></a><tt class="py-lineno">2080</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"hosts-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2081"></a><tt class="py-lineno">2081</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2082"></a><tt class="py-lineno">2082</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2083"></a><tt class="py-lineno">2083</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2084"></a><tt class="py-lineno">2084</tt>  <tt class="py-line"> </tt>
+<a name="L2085"></a><tt class="py-lineno">2085</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2086"></a><tt class="py-lineno">2086</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2087"></a><tt class="py-lineno">2087</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2088"></a><tt class="py-lineno">2088</tt>  <tt class="py-line">                    <tt id="link-723" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-723', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2089"></a><tt class="py-lineno">2089</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2090"></a><tt class="py-lineno">2090</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-724" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-724', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing hosts results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2091"></a><tt class="py-lineno">2091</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-725" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-725', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-726" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-726', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2092"></a><tt class="py-lineno">2092</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-727" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-727', 'controller', 'link-523');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-728" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-728', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2093"></a><tt class="py-lineno">2093</tt>  <tt class="py-line">                <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-729" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-729', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2094"></a><tt class="py-lineno">2094</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">host</tt> <tt class="py-keyword">in</tt> <tt id="link-730" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-730', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-731" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-731', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2095"></a><tt class="py-lineno">2095</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">host</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">host</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'ipAddresses'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2096"></a><tt class="py-lineno">2096</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-732" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-732', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-733" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-733', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2097"></a><tt class="py-lineno">2097</tt>  <tt class="py-line">                            <tt class="py-string">"DEBUG:Error with host ipAddresses on controller"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2098"></a><tt class="py-lineno">2098</tt>  <tt class="py-line">                            <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2099"></a><tt class="py-lineno">2099</tt>  <tt class="py-line">                        <tt class="py-name">ipResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2100"></a><tt class="py-lineno">2100</tt>  <tt class="py-line">            <tt id="link-734" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-734', 'ports', 'link-510');">ports</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2101"></a><tt class="py-lineno">2101</tt>  <tt class="py-line">            <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2102"></a><tt class="py-lineno">2102</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2103"></a><tt class="py-lineno">2103</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-735" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-735', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-736" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-736', 'ports', 'link-510');">ports</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2104"></a><tt class="py-lineno">2104</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"ports-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2105"></a><tt class="py-lineno">2105</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2106"></a><tt class="py-lineno">2106</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2107"></a><tt class="py-lineno">2107</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2108"></a><tt class="py-lineno">2108</tt>  <tt class="py-line"> </tt>
+<a name="L2109"></a><tt class="py-lineno">2109</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2110"></a><tt class="py-lineno">2110</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2111"></a><tt class="py-lineno">2111</tt>  <tt class="py-line">                <tt id="link-737" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-737', 'ports', 'link-510');">ports</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2112"></a><tt class="py-lineno">2112</tt>  <tt class="py-line">            <tt id="link-738" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-738', 'links', 'link-514');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2113"></a><tt class="py-lineno">2113</tt>  <tt class="py-line">            <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2114"></a><tt class="py-lineno">2114</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2115"></a><tt class="py-lineno">2115</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-739" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-739', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-740" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-740', 'links', 'link-514');">links</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2116"></a><tt class="py-lineno">2116</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"links-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2117"></a><tt class="py-lineno">2117</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2118"></a><tt class="py-lineno">2118</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2119"></a><tt class="py-lineno">2119</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2120"></a><tt class="py-lineno">2120</tt>  <tt class="py-line"> </tt>
+<a name="L2121"></a><tt class="py-lineno">2121</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2122"></a><tt class="py-lineno">2122</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2123"></a><tt class="py-lineno">2123</tt>  <tt class="py-line">                <tt id="link-741" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-741', 'links', 'link-514');">links</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2124"></a><tt class="py-lineno">2124</tt>  <tt class="py-line">            <tt id="link-742" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-742', 'clusters', 'link-518');">clusters</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2125"></a><tt class="py-lineno">2125</tt>  <tt class="py-line">            <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2126"></a><tt class="py-lineno">2126</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2127"></a><tt class="py-lineno">2127</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-743" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-743', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-744" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-744', 'clusters', 'link-518');">clusters</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2128"></a><tt class="py-lineno">2128</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"clusters-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2129"></a><tt class="py-lineno">2129</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2130"></a><tt class="py-lineno">2130</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2131"></a><tt class="py-lineno">2131</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2132"></a><tt class="py-lineno">2132</tt>  <tt class="py-line"> </tt>
+<a name="L2133"></a><tt class="py-lineno">2133</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2134"></a><tt class="py-lineno">2134</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2135"></a><tt class="py-lineno">2135</tt>  <tt class="py-line">                <tt id="link-745" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-745', 'clusters', 'link-518');">clusters</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2136"></a><tt class="py-lineno">2136</tt>  <tt class="py-line"> </tt>
+<a name="L2137"></a><tt class="py-lineno">2137</tt>  <tt class="py-line">            <tt class="py-name">elapsed</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">startTime</tt> </tt>
+<a name="L2138"></a><tt class="py-lineno">2138</tt>  <tt class="py-line">            <tt class="py-name">cliTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">cliStart</tt> </tt>
+<a name="L2139"></a><tt class="py-lineno">2139</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Elapsed time: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">elapsed</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2140"></a><tt class="py-lineno">2140</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"CLI time: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">cliTime</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2141"></a><tt class="py-lineno">2141</tt>  <tt class="py-line"> </tt>
+<a name="L2142"></a><tt class="py-lineno">2142</tt>  <tt class="py-line">            <tt class="py-name">mnSwitches</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-746" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitches" class="py-name" href="#" onclick="return doclink('link-746', 'getSwitches', 'link-574');">getSwitches</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2143"></a><tt class="py-lineno">2143</tt>  <tt class="py-line">            <tt class="py-name">mnLinks</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-747" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getLinks" class="py-name" href="#" onclick="return doclink('link-747', 'getLinks', 'link-575');">getLinks</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2144"></a><tt class="py-lineno">2144</tt>  <tt class="py-line">            <tt class="py-name">mnHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-748" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHosts" class="py-name" href="#" onclick="return doclink('link-748', 'getHosts', 'link-576');">getHosts</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2145"></a><tt class="py-lineno">2145</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-749" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-749', 'controller', 'link-523');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2146"></a><tt class="py-lineno">2146</tt>  <tt class="py-line">                <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-750" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-750', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2147"></a><tt class="py-lineno">2147</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-751" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-751', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-752" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-752', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt id="link-753" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-753', 'ports', 'link-510');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-754" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-754', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L2148"></a><tt class="py-lineno">2148</tt>  <tt class="py-line">                    <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-755" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-755', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-756" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-756', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L2149"></a><tt class="py-lineno">2149</tt>  <tt class="py-line">                    <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-757" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-757', 'ports', 'link-510');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-758" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-758', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2150"></a><tt class="py-lineno">2150</tt>  <tt class="py-line"> </tt>
+<a name="L2151"></a><tt class="py-lineno">2151</tt>  <tt class="py-line">                    <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-759" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareSwitches" class="py-name" href="#" onclick="return doclink('link-759', 'compareSwitches', 'link-587');">compareSwitches</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2152"></a><tt class="py-lineno">2152</tt>  <tt class="py-line">                            <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> </tt>
+<a name="L2153"></a><tt class="py-lineno">2153</tt>  <tt class="py-line">                            <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-760" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-760', 'devices', 'link-114');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-761" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-761', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2154"></a><tt class="py-lineno">2154</tt>  <tt class="py-line">                            <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-762" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-762', 'ports', 'link-510');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-763" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-763', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2155"></a><tt class="py-lineno">2155</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2156"></a><tt class="py-lineno">2156</tt>  <tt class="py-line">                    <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2157"></a><tt class="py-lineno">2157</tt>  <tt class="py-line">                <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2158"></a><tt class="py-lineno">2158</tt>  <tt class="py-line">                                         <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentDevicesResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2159"></a><tt class="py-lineno">2159</tt>  <tt class="py-line">                                         <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2160"></a><tt class="py-lineno">2160</tt>  <tt class="py-line">                                         <tt class="py-string">" Switches view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2161"></a><tt class="py-lineno">2161</tt>  <tt class="py-line">                                         <tt id="link-764" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-764', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2162"></a><tt class="py-lineno">2162</tt>  <tt class="py-line">                                         <tt class="py-string">" Switches view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2163"></a><tt class="py-lineno">2163</tt>  <tt class="py-line"> </tt>
+<a name="L2164"></a><tt class="py-lineno">2164</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-765" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-765', 'links', 'link-514');">links</a></tt><tt class="py-op">[</tt> <tt id="link-766" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-766', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-767" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-767', 'links', 'link-514');">links</a></tt><tt class="py-op">[</tt> <tt id="link-768" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-768', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2165"></a><tt class="py-lineno">2165</tt>  <tt class="py-line">                    <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-769" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareLinks" class="py-name" href="#" onclick="return doclink('link-769', 'compareLinks', 'link-597');">compareLinks</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2166"></a><tt class="py-lineno">2166</tt>  <tt class="py-line">                            <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> <tt class="py-name">mnLinks</tt><tt class="py-op">,</tt> </tt>
+<a name="L2167"></a><tt class="py-lineno">2167</tt>  <tt class="py-line">                            <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-770" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-770', 'links', 'link-514');">links</a></tt><tt class="py-op">[</tt> <tt id="link-771" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-771', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2168"></a><tt class="py-lineno">2168</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2169"></a><tt class="py-lineno">2169</tt>  <tt class="py-line">                    <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2170"></a><tt class="py-lineno">2170</tt>  <tt class="py-line">                <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2171"></a><tt class="py-lineno">2171</tt>  <tt class="py-line">                                         <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentLinksResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2172"></a><tt class="py-lineno">2172</tt>  <tt class="py-line">                                         <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2173"></a><tt class="py-lineno">2173</tt>  <tt class="py-line">                                         <tt class="py-string">" links view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2174"></a><tt class="py-lineno">2174</tt>  <tt class="py-line">                                         <tt id="link-772" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-772', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2175"></a><tt class="py-lineno">2175</tt>  <tt class="py-line">                                         <tt class="py-string">" links view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2176"></a><tt class="py-lineno">2176</tt>  <tt class="py-line"> </tt>
+<a name="L2177"></a><tt class="py-lineno">2177</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-773" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-773', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-774" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-774', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-775" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-775', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-776" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-776', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2178"></a><tt class="py-lineno">2178</tt>  <tt class="py-line">                    <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-777" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareHosts" class="py-name" href="#" onclick="return doclink('link-777', 'compareHosts', 'link-605');">compareHosts</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2179"></a><tt class="py-lineno">2179</tt>  <tt class="py-line">                            <tt class="py-name">mnHosts</tt><tt class="py-op">,</tt> </tt>
+<a name="L2180"></a><tt class="py-lineno">2180</tt>  <tt class="py-line">                            <tt id="link-778" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-778', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-779" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-779', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2181"></a><tt class="py-lineno">2181</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2182"></a><tt class="py-lineno">2182</tt>  <tt class="py-line">                    <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2183"></a><tt class="py-lineno">2183</tt>  <tt class="py-line">                <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2184"></a><tt class="py-lineno">2184</tt>  <tt class="py-line">                                         <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentHostsResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2185"></a><tt class="py-lineno">2185</tt>  <tt class="py-line">                                         <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2186"></a><tt class="py-lineno">2186</tt>  <tt class="py-line">                                         <tt class="py-string">" hosts exist in Mininet"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2187"></a><tt class="py-lineno">2187</tt>  <tt class="py-line">                                         <tt id="link-780" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-780', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2188"></a><tt class="py-lineno">2188</tt>  <tt class="py-line">                                         <tt class="py-string">" hosts don't match Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2189"></a><tt class="py-lineno">2189</tt>  <tt class="py-line">                <tt class="py-comment"># CHECKING HOST ATTACHMENT POINTS</tt> </tt>
+<a name="L2190"></a><tt class="py-lineno">2190</tt>  <tt class="py-line">                <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2191"></a><tt class="py-lineno">2191</tt>  <tt class="py-line">                <tt class="py-name">zeroHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2192"></a><tt class="py-lineno">2192</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: topo-HA/obelisk specific mappings:</tt> </tt>
+<a name="L2193"></a><tt class="py-lineno">2193</tt>  <tt class="py-line">                <tt class="py-comment"># key is mac and value is dpid</tt> </tt>
+<a name="L2194"></a><tt class="py-lineno">2194</tt>  <tt class="py-line">                <tt class="py-name">mappings</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L2195"></a><tt class="py-lineno">2195</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># hosts 1 through 28</tt> </tt>
+<a name="L2196"></a><tt class="py-lineno">2196</tt>  <tt class="py-line">                    <tt class="py-comment"># set up correct variables:</tt> </tt>
+<a name="L2197"></a><tt class="py-lineno">2197</tt>  <tt class="py-line">                    <tt class="py-name">macId</tt> <tt class="py-op">=</tt> <tt class="py-string">"00:"</tt> <tt class="py-op">*</tt> <tt class="py-number">5</tt> <tt class="py-op">+</tt> <tt class="py-name">hex</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"0x"</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L2198"></a><tt class="py-lineno">2198</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2199"></a><tt class="py-lineno">2199</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"1000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2200"></a><tt class="py-lineno">2200</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L2201"></a><tt class="py-lineno">2201</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"2000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2202"></a><tt class="py-lineno">2202</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L2203"></a><tt class="py-lineno">2203</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"3000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2204"></a><tt class="py-lineno">2204</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L2205"></a><tt class="py-lineno">2205</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"3004"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2206"></a><tt class="py-lineno">2206</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">5</tt><tt class="py-op">:</tt> </tt>
+<a name="L2207"></a><tt class="py-lineno">2207</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"5000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2208"></a><tt class="py-lineno">2208</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">6</tt><tt class="py-op">:</tt> </tt>
+<a name="L2209"></a><tt class="py-lineno">2209</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"6000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2210"></a><tt class="py-lineno">2210</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">7</tt><tt class="py-op">:</tt> </tt>
+<a name="L2211"></a><tt class="py-lineno">2211</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"6007"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2212"></a><tt class="py-lineno">2212</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">8</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">17</tt><tt class="py-op">:</tt> </tt>
+<a name="L2213"></a><tt class="py-lineno">2213</tt>  <tt class="py-line">                        <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'3'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2214"></a><tt class="py-lineno">2214</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">dpid</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2215"></a><tt class="py-lineno">2215</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">18</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">27</tt><tt class="py-op">:</tt> </tt>
+<a name="L2216"></a><tt class="py-lineno">2216</tt>  <tt class="py-line">                        <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'6'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2217"></a><tt class="py-lineno">2217</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">dpid</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2218"></a><tt class="py-lineno">2218</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">28</tt><tt class="py-op">:</tt> </tt>
+<a name="L2219"></a><tt class="py-lineno">2219</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"2800"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L2220"></a><tt class="py-lineno">2220</tt>  <tt class="py-line">                    <tt class="py-name">mappings</tt><tt class="py-op">[</tt> <tt class="py-name">macId</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceId</tt> </tt>
+<a name="L2221"></a><tt class="py-lineno">2221</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-781" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-781', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-782" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-782', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-783" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-783', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-784" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-784', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2222"></a><tt class="py-lineno">2222</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt id="link-785" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-785', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-786" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-786', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2223"></a><tt class="py-lineno">2223</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-787" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-787', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"There are no hosts discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2224"></a><tt class="py-lineno">2224</tt>  <tt class="py-line">                        <tt class="py-name">zeroHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2225"></a><tt class="py-lineno">2225</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2226"></a><tt class="py-lineno">2226</tt>  <tt class="py-line">                        <tt class="py-keyword">for</tt> <tt class="py-name">host</tt> <tt class="py-keyword">in</tt> <tt id="link-788" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-788', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-789" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-789', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2227"></a><tt class="py-lineno">2227</tt>  <tt class="py-line">                            <tt class="py-name">mac</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2228"></a><tt class="py-lineno">2228</tt>  <tt class="py-line">                            <tt id="link-790" class="py-name" targets="Variable TestON.bin.cli.location=TestON.bin.cli-module.html#location,Variable TestON.core.teston.location=TestON.core.teston-module.html#location"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-790', 'location', 'link-790');">location</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2229"></a><tt class="py-lineno">2229</tt>  <tt class="py-line">                            <tt class="py-name">device</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2230"></a><tt class="py-lineno">2230</tt>  <tt class="py-line">                            <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2231"></a><tt class="py-lineno">2231</tt>  <tt class="py-line">                            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2232"></a><tt class="py-lineno">2232</tt>  <tt class="py-line">                                <tt class="py-name">mac</tt> <tt class="py-op">=</tt> <tt class="py-name">host</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'mac'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2233"></a><tt class="py-lineno">2233</tt>  <tt class="py-line">                                <tt class="py-keyword">assert</tt> <tt class="py-name">mac</tt><tt class="py-op">,</tt> <tt class="py-string">"mac field could not be found for this host object"</tt> </tt>
+<a name="L2234"></a><tt class="py-lineno">2234</tt>  <tt class="py-line"> </tt>
+<a name="L2235"></a><tt class="py-lineno">2235</tt>  <tt class="py-line">                                <tt id="link-791" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-791', 'location', 'link-790');">location</a></tt> <tt class="py-op">=</tt> <tt class="py-name">host</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'location'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2236"></a><tt class="py-lineno">2236</tt>  <tt class="py-line">                                <tt class="py-keyword">assert</tt> <tt id="link-792" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-792', 'location', 'link-790');">location</a></tt><tt class="py-op">,</tt> <tt class="py-string">"location field could not be found for this host object"</tt> </tt>
+<a name="L2237"></a><tt class="py-lineno">2237</tt>  <tt class="py-line"> </tt>
+<a name="L2238"></a><tt class="py-lineno">2238</tt>  <tt class="py-line">                                <tt class="py-comment"># Trim the protocol identifier off deviceId</tt> </tt>
+<a name="L2239"></a><tt class="py-lineno">2239</tt>  <tt class="py-line">                                <tt class="py-name">device</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-793" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-793', 'location', 'link-790');">location</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'elementId'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">':'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L2240"></a><tt class="py-lineno">2240</tt>  <tt class="py-line">                                <tt class="py-keyword">assert</tt> <tt class="py-name">device</tt><tt class="py-op">,</tt> <tt class="py-string">"elementId field could not be found for this host location object"</tt> </tt>
+<a name="L2241"></a><tt class="py-lineno">2241</tt>  <tt class="py-line"> </tt>
+<a name="L2242"></a><tt class="py-lineno">2242</tt>  <tt class="py-line">                                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt id="link-794" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-794', 'location', 'link-790');">location</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'port'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2243"></a><tt class="py-lineno">2243</tt>  <tt class="py-line">                                <tt class="py-keyword">assert</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-string">"port field could not be found for this host location object"</tt> </tt>
+<a name="L2244"></a><tt class="py-lineno">2244</tt>  <tt class="py-line"> </tt>
+<a name="L2245"></a><tt class="py-lineno">2245</tt>  <tt class="py-line">                                <tt class="py-comment"># Now check if this matches where they should be</tt> </tt>
+<a name="L2246"></a><tt class="py-lineno">2246</tt>  <tt class="py-line">                                <tt class="py-keyword">if</tt> <tt class="py-name">mac</tt> <tt class="py-keyword">and</tt> <tt class="py-name">device</tt> <tt class="py-keyword">and</tt> <tt class="py-name">port</tt><tt class="py-op">:</tt> </tt>
+<a name="L2247"></a><tt class="py-lineno">2247</tt>  <tt class="py-line">                                    <tt class="py-keyword">if</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-string">"1"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2248"></a><tt class="py-lineno">2248</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-795" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-795', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-796" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-796', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"The attachment port is incorrect for "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2249"></a><tt class="py-lineno">2249</tt>  <tt class="py-line">                                                        <tt class="py-string">"host "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2250"></a><tt class="py-lineno">2250</tt>  <tt class="py-line">                                                        <tt class="py-string">". Expected: 1 Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2251"></a><tt class="py-lineno">2251</tt>  <tt class="py-line">                                        <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2252"></a><tt class="py-lineno">2252</tt>  <tt class="py-line">                                    <tt class="py-keyword">if</tt> <tt class="py-name">device</tt> <tt class="py-op">!=</tt> <tt class="py-name">mappings</tt><tt class="py-op">[</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2253"></a><tt class="py-lineno">2253</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-797" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-797', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-798" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-798', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"The attachment device is incorrect for "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2254"></a><tt class="py-lineno">2254</tt>  <tt class="py-line">                                                        <tt class="py-string">"host "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2255"></a><tt class="py-lineno">2255</tt>  <tt class="py-line">                                                        <tt class="py-string">". Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">mappings</tt><tt class="py-op">[</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2256"></a><tt class="py-lineno">2256</tt>  <tt class="py-line">                                                        <tt class="py-string">" Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">device</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2257"></a><tt class="py-lineno">2257</tt>  <tt class="py-line">                                        <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2258"></a><tt class="py-lineno">2258</tt>  <tt class="py-line">                                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2259"></a><tt class="py-lineno">2259</tt>  <tt class="py-line">                                    <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2260"></a><tt class="py-lineno">2260</tt>  <tt class="py-line">                            <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2261"></a><tt class="py-lineno">2261</tt>  <tt class="py-line">                                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-799" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-799', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Json object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2262"></a><tt class="py-lineno">2262</tt>  <tt class="py-line">                                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-800" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-800', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-801" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-801', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2263"></a><tt class="py-lineno">2263</tt>  <tt class="py-line">                                <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L2264"></a><tt class="py-lineno">2264</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2265"></a><tt class="py-lineno">2265</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-802" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-802', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-803" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-803', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"No hosts json output or \"Error\""</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2266"></a><tt class="py-lineno">2266</tt>  <tt class="py-line">                                    <tt class="py-string">" in output. hosts = "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2267"></a><tt class="py-lineno">2267</tt>  <tt class="py-line">                                    <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-804" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-804', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-805" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-805', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2268"></a><tt class="py-lineno">2268</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">zeroHosts</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L2269"></a><tt class="py-lineno">2269</tt>  <tt class="py-line">                    <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2270"></a><tt class="py-lineno">2270</tt>  <tt class="py-line"> </tt>
+<a name="L2271"></a><tt class="py-lineno">2271</tt>  <tt class="py-line">                <tt class="py-comment"># END CHECKING HOST ATTACHMENT POINTS</tt> </tt>
+<a name="L2272"></a><tt class="py-lineno">2272</tt>  <tt class="py-line">                <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">devicesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentDevicesResult</tt> </tt>
+<a name="L2273"></a><tt class="py-lineno">2273</tt>  <tt class="py-line">                <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">linksResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentLinksResult</tt> </tt>
+<a name="L2274"></a><tt class="py-lineno">2274</tt>  <tt class="py-line">                <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentHostsResult</tt> </tt>
+<a name="L2275"></a><tt class="py-lineno">2275</tt>  <tt class="py-line">                <tt class="py-name">hostAttachmentResults</tt> <tt class="py-op">=</tt> <tt class="py-name">hostAttachmentResults</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L2276"></a><tt class="py-lineno">2276</tt>  <tt class="py-line">                                        <tt class="py-name">hostAttachment</tt> </tt>
+<a name="L2277"></a><tt class="py-lineno">2277</tt>  <tt class="py-line">                <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">devicesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">linksResults</tt> </tt>
+<a name="L2278"></a><tt class="py-lineno">2278</tt>  <tt class="py-line">                               <tt class="py-keyword">and</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ipResult</tt> <tt class="py-keyword">and</tt> </tt>
+<a name="L2279"></a><tt class="py-lineno">2279</tt>  <tt class="py-line">                               <tt class="py-name">hostAttachmentResults</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2280"></a><tt class="py-lineno">2280</tt>  <tt class="py-line"> </tt>
+<a name="L2281"></a><tt class="py-lineno">2281</tt>  <tt class="py-line">        <tt class="py-comment"># Compare json objects for hosts and dataplane clusters</tt> </tt>
+<a name="L2282"></a><tt class="py-lineno">2282</tt>  <tt class="py-line"> </tt>
+<a name="L2283"></a><tt class="py-lineno">2283</tt>  <tt class="py-line">        <tt class="py-comment"># hosts</tt> </tt>
+<a name="L2284"></a><tt class="py-lineno">2284</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-806" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-806', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Hosts view is consistent across all ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2285"></a><tt class="py-lineno">2285</tt>  <tt class="py-line">        <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2286"></a><tt class="py-lineno">2286</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-807" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-807', 'controller', 'link-523');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-808" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-808', 'hosts', 'link-159');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2287"></a><tt class="py-lineno">2287</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-809" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-809', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2288"></a><tt class="py-lineno">2288</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-810" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-810', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-811" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-811', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2289"></a><tt class="py-lineno">2289</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-812" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-812', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-813" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-813', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-814" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-814', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2290"></a><tt class="py-lineno">2290</tt>  <tt class="py-line">                    <tt class="py-keyword">continue</tt> </tt>
+<a name="L2291"></a><tt class="py-lineno">2291</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># hosts not consistent</tt> </tt>
+<a name="L2292"></a><tt class="py-lineno">2292</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-815" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-815', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-816" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-816', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"hosts from ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2293"></a><tt class="py-lineno">2293</tt>  <tt class="py-line">                                     <tt class="py-string">" is inconsistent with ONOS1"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2294"></a><tt class="py-lineno">2294</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-817" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-817', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-818" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-818', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-819" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-819', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2295"></a><tt class="py-lineno">2295</tt>  <tt class="py-line">                    <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2296"></a><tt class="py-lineno">2296</tt>  <tt class="py-line"> </tt>
+<a name="L2297"></a><tt class="py-lineno">2297</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2298"></a><tt class="py-lineno">2298</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-820" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-820', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-821" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-821', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS hosts from ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2299"></a><tt class="py-lineno">2299</tt>  <tt class="py-line">                                 <tt class="py-name">controllerStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2300"></a><tt class="py-lineno">2300</tt>  <tt class="py-line">                <tt class="py-name">consistentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2301"></a><tt class="py-lineno">2301</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-822" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-822', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2302"></a><tt class="py-lineno">2302</tt>  <tt class="py-line">                               <tt class="py-string">" hosts response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2303"></a><tt class="py-lineno">2303</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-823" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-823', 'hosts', 'link-159');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-824" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-824', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2304"></a><tt class="py-lineno">2304</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2305"></a><tt class="py-lineno">2305</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2306"></a><tt class="py-lineno">2306</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentHostsResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2307"></a><tt class="py-lineno">2307</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Hosts view is consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2308"></a><tt class="py-lineno">2308</tt>  <tt class="py-line">            <tt id="link-825" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-825', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of hosts"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2309"></a><tt class="py-lineno">2309</tt>  <tt class="py-line"> </tt>
+<a name="L2310"></a><tt class="py-lineno">2310</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-826" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-826', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Hosts information is correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2311"></a><tt class="py-lineno">2311</tt>  <tt class="py-line">        <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ipResult</tt> </tt>
+<a name="L2312"></a><tt class="py-lineno">2312</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2313"></a><tt class="py-lineno">2313</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2314"></a><tt class="py-lineno">2314</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">hostsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2315"></a><tt class="py-lineno">2315</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host information is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2316"></a><tt class="py-lineno">2316</tt>  <tt class="py-line">            <tt id="link-827" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-827', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host information is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2317"></a><tt class="py-lineno">2317</tt>  <tt class="py-line"> </tt>
+<a name="L2318"></a><tt class="py-lineno">2318</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-828" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-828', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Host attachment points to the network"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2319"></a><tt class="py-lineno">2319</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2320"></a><tt class="py-lineno">2320</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2321"></a><tt class="py-lineno">2321</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">hostAttachmentResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2322"></a><tt class="py-lineno">2322</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Hosts are correctly attached to the network"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2323"></a><tt class="py-lineno">2323</tt>  <tt class="py-line">            <tt id="link-829" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-829', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS did not correctly attach hosts to the network"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2324"></a><tt class="py-lineno">2324</tt>  <tt class="py-line"> </tt>
+<a name="L2325"></a><tt class="py-lineno">2325</tt>  <tt class="py-line">        <tt class="py-comment"># Strongly connected clusters of devices</tt> </tt>
+<a name="L2326"></a><tt class="py-lineno">2326</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-830" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-830', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Clusters view is consistent across all ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2327"></a><tt class="py-lineno">2327</tt>  <tt class="py-line">        <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2328"></a><tt class="py-lineno">2328</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-831" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-831', 'controller', 'link-523');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-832" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-832', 'clusters', 'link-518');">clusters</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2329"></a><tt class="py-lineno">2329</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-833" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-833', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2330"></a><tt class="py-lineno">2330</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-834" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-834', 'clusters', 'link-518');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-835" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-835', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2331"></a><tt class="py-lineno">2331</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-836" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-836', 'clusters', 'link-518');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-837" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-837', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt id="link-838" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-838', 'clusters', 'link-518');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2332"></a><tt class="py-lineno">2332</tt>  <tt class="py-line">                    <tt class="py-keyword">continue</tt> </tt>
+<a name="L2333"></a><tt class="py-lineno">2333</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># clusters not consistent</tt> </tt>
+<a name="L2334"></a><tt class="py-lineno">2334</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-839" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-839', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-840" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-840', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"clusters from ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2335"></a><tt class="py-lineno">2335</tt>  <tt class="py-line">                                     <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2336"></a><tt class="py-lineno">2336</tt>  <tt class="py-line">                                     <tt class="py-string">" is inconsistent with ONOS1"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2337"></a><tt class="py-lineno">2337</tt>  <tt class="py-line">                    <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2338"></a><tt class="py-lineno">2338</tt>  <tt class="py-line"> </tt>
+<a name="L2339"></a><tt class="py-lineno">2339</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2340"></a><tt class="py-lineno">2340</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-841" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-841', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-842" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-842', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting dataplane clusters "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2341"></a><tt class="py-lineno">2341</tt>  <tt class="py-line">                                 <tt class="py-string">"from ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2342"></a><tt class="py-lineno">2342</tt>  <tt class="py-line">                <tt class="py-name">consistentClustersResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2343"></a><tt class="py-lineno">2343</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-843" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-843', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2344"></a><tt class="py-lineno">2344</tt>  <tt class="py-line">                               <tt class="py-string">" clusters response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2345"></a><tt class="py-lineno">2345</tt>  <tt class="py-line">                               <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-844" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-844', 'clusters', 'link-518');">clusters</a></tt><tt class="py-op">[</tt> <tt id="link-845" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-845', 'controller', 'link-523');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2346"></a><tt class="py-lineno">2346</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2347"></a><tt class="py-lineno">2347</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2348"></a><tt class="py-lineno">2348</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentClustersResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2349"></a><tt class="py-lineno">2349</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Clusters view is consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2350"></a><tt class="py-lineno">2350</tt>  <tt class="py-line">            <tt id="link-846" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-846', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of clusters"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2351"></a><tt class="py-lineno">2351</tt>  <tt class="py-line"> </tt>
+<a name="L2352"></a><tt class="py-lineno">2352</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-847" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-847', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"There is only one SCC"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2353"></a><tt class="py-lineno">2353</tt>  <tt class="py-line">        <tt class="py-comment"># there should always only be one cluster</tt> </tt>
+<a name="L2354"></a><tt class="py-lineno">2354</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2355"></a><tt class="py-lineno">2355</tt>  <tt class="py-line">            <tt class="py-name">numClusters</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-848" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-848', 'clusters', 'link-518');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2356"></a><tt class="py-lineno">2356</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2357"></a><tt class="py-lineno">2357</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-849" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-849', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing clusters[0]: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2358"></a><tt class="py-lineno">2358</tt>  <tt class="py-line">                                <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-850" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-850', 'clusters', 'link-518');">clusters</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2359"></a><tt class="py-lineno">2359</tt>  <tt class="py-line">        <tt class="py-name">clusterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2360"></a><tt class="py-lineno">2360</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">numClusters</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2361"></a><tt class="py-lineno">2361</tt>  <tt class="py-line">            <tt class="py-name">clusterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2362"></a><tt class="py-lineno">2362</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2363"></a><tt class="py-lineno">2363</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L2364"></a><tt class="py-lineno">2364</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">numClusters</tt><tt class="py-op">,</tt> </tt>
+<a name="L2365"></a><tt class="py-lineno">2365</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS shows 1 SCC"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2366"></a><tt class="py-lineno">2366</tt>  <tt class="py-line">            <tt id="link-851" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-851', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS shows "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">numClusters</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" SCCs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2367"></a><tt class="py-lineno">2367</tt>  <tt class="py-line"> </tt>
+<a name="L2368"></a><tt class="py-lineno">2368</tt>  <tt class="py-line">        <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">devicesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">linksResults</tt> </tt>
+<a name="L2369"></a><tt class="py-lineno">2369</tt>  <tt class="py-line">                       <tt class="py-keyword">and</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentHostsResult</tt> </tt>
+<a name="L2370"></a><tt class="py-lineno">2370</tt>  <tt class="py-line">                       <tt class="py-keyword">and</tt> <tt class="py-name">consistentClustersResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">clusterResults</tt> </tt>
+<a name="L2371"></a><tt class="py-lineno">2371</tt>  <tt class="py-line">                       <tt class="py-keyword">and</tt> <tt class="py-name">ipResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hostAttachmentResults</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2372"></a><tt class="py-lineno">2372</tt>  <tt class="py-line"> </tt>
+<a name="L2373"></a><tt class="py-lineno">2373</tt>  <tt class="py-line">        <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-name">topoResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2374"></a><tt class="py-lineno">2374</tt>  <tt class="py-line">        <tt class="py-name">note</tt> <tt class="py-op">=</tt> <tt class="py-string">"note it takes about "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">cliTime</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L2375"></a><tt class="py-lineno">2375</tt>  <tt class="py-line">            <tt class="py-string">" seconds for the test to make all the cli calls to fetch "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2376"></a><tt class="py-lineno">2376</tt>  <tt class="py-line">            <tt class="py-string">"the topology from each ONOS instance"</tt> </tt>
+<a name="L2377"></a><tt class="py-lineno">2377</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-852" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-852', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L2378"></a><tt class="py-lineno">2378</tt>  <tt class="py-line">            <tt class="py-string">"Very crass estimate for topology discovery/convergence( "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2379"></a><tt class="py-lineno">2379</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">note</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ): "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">elapsed</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" seconds, "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2380"></a><tt class="py-lineno">2380</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" tries"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2381"></a><tt class="py-lineno">2381</tt>  <tt class="py-line"> </tt>
+<a name="L2382"></a><tt class="py-lineno">2382</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-853" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-853', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Device information is correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2383"></a><tt class="py-lineno">2383</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2384"></a><tt class="py-lineno">2384</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2385"></a><tt class="py-lineno">2385</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">devicesResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2386"></a><tt class="py-lineno">2386</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Device information is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2387"></a><tt class="py-lineno">2387</tt>  <tt class="py-line">            <tt id="link-854" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-854', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Device information is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2388"></a><tt class="py-lineno">2388</tt>  <tt class="py-line"> </tt>
+<a name="L2389"></a><tt class="py-lineno">2389</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-855" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-855', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Links are correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2390"></a><tt class="py-lineno">2390</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2391"></a><tt class="py-lineno">2391</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2392"></a><tt class="py-lineno">2392</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">linksResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2393"></a><tt class="py-lineno">2393</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2394"></a><tt class="py-lineno">2394</tt>  <tt class="py-line">            <tt id="link-856" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-856', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Links are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2395"></a><tt class="py-lineno">2395</tt>  <tt class="py-line"> </tt>
+<a name="L2396"></a><tt class="py-lineno">2396</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-857" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-857', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Hosts are correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2397"></a><tt class="py-lineno">2397</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2398"></a><tt class="py-lineno">2398</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2399"></a><tt class="py-lineno">2399</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">hostsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2400"></a><tt class="py-lineno">2400</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Hosts are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2401"></a><tt class="py-lineno">2401</tt>  <tt class="py-line">            <tt id="link-858" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-858', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Hosts are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2402"></a><tt class="py-lineno">2402</tt>  <tt class="py-line"> </tt>
+<a name="L2403"></a><tt class="py-lineno">2403</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: move this to an ONOS state case</tt> </tt>
+<a name="L2404"></a><tt class="py-lineno">2404</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-859" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-859', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Checking ONOS nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2405"></a><tt class="py-lineno">2405</tt>  <tt class="py-line">        <tt class="py-name">nodesOutput</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2406"></a><tt class="py-lineno">2406</tt>  <tt class="py-line">        <tt class="py-name">nodeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2407"></a><tt class="py-lineno">2407</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2408"></a><tt class="py-lineno">2408</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2409"></a><tt class="py-lineno">2409</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-860" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-860', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-861" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-861', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2410"></a><tt class="py-lineno">2410</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"nodes-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2411"></a><tt class="py-lineno">2411</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2412"></a><tt class="py-lineno">2412</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2413"></a><tt class="py-lineno">2413</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2414"></a><tt class="py-lineno">2414</tt>  <tt class="py-line"> </tt>
+<a name="L2415"></a><tt class="py-lineno">2415</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2416"></a><tt class="py-lineno">2416</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2417"></a><tt class="py-lineno">2417</tt>  <tt class="py-line">            <tt class="py-name">nodesOutput</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2418"></a><tt class="py-lineno">2418</tt>  <tt class="py-line">        <tt class="py-name">ips</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-862" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-862', 'nodes', 'link-9');">nodes</a></tt> <tt class="py-op">]</tt> </tt>
+<a name="L2419"></a><tt class="py-lineno">2419</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">nodesOutput</tt><tt class="py-op">:</tt> </tt>
+<a name="L2420"></a><tt class="py-lineno">2420</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2421"></a><tt class="py-lineno">2421</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2422"></a><tt class="py-lineno">2422</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L2423"></a><tt class="py-lineno">2423</tt>  <tt class="py-line">                    <tt class="py-name">currentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2424"></a><tt class="py-lineno">2424</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">node</tt><tt class="py-op">[</tt><tt class="py-string">'ip'</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ips</tt><tt class="py-op">:</tt>  <tt class="py-comment"># node in nodes() output is in cell</tt> </tt>
+<a name="L2425"></a><tt class="py-lineno">2425</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">node</tt><tt class="py-op">[</tt><tt class="py-string">'state'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'ACTIVE'</tt><tt class="py-op">:</tt> </tt>
+<a name="L2426"></a><tt class="py-lineno">2426</tt>  <tt class="py-line">                            <tt class="py-name">currentResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2427"></a><tt class="py-lineno">2427</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2428"></a><tt class="py-lineno">2428</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-863" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-863', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-864" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-864', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in ONOS node availability"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2429"></a><tt class="py-lineno">2429</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-865" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-865', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-866" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-866', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2430"></a><tt class="py-lineno">2430</tt>  <tt class="py-line">                                    <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt><tt class="py-op">,</tt> </tt>
+<a name="L2431"></a><tt class="py-lineno">2431</tt>  <tt class="py-line">                                                <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2432"></a><tt class="py-lineno">2432</tt>  <tt class="py-line">                                                <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L2433"></a><tt class="py-lineno">2433</tt>  <tt class="py-line">                                                <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2434"></a><tt class="py-lineno">2434</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
+<a name="L2435"></a><tt class="py-lineno">2435</tt>  <tt class="py-line">                    <tt class="py-name">nodeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">nodeResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentResult</tt> </tt>
+<a name="L2436"></a><tt class="py-lineno">2436</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2437"></a><tt class="py-lineno">2437</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-867" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-867', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-868" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-868', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing nodes output"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2438"></a><tt class="py-lineno">2438</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-869" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-869', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2439"></a><tt class="py-lineno">2439</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">nodeResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2440"></a><tt class="py-lineno">2440</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Nodes check successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2441"></a><tt class="py-lineno">2441</tt>  <tt class="py-line">                                 <tt id="link-870" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-870', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Nodes check NOT successful"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2442"></a><tt class="py-lineno">2442</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE9"></a><div id="HAsanity.CASE9-def"><a name="L2443"></a><tt class="py-lineno">2443</tt> <a class="py-toggle" href="#" id="HAsanity.CASE9-toggle" onclick="return toggle('HAsanity.CASE9');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE9">CASE9</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE9-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE9-expanded"><a name="L2444"></a><tt class="py-lineno">2444</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2445"></a><tt class="py-lineno">2445</tt>  <tt class="py-line"><tt class="py-docstring">        Link s3-s28 down</tt> </tt>
+<a name="L2446"></a><tt class="py-lineno">2446</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2447"></a><tt class="py-lineno">2447</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2448"></a><tt class="py-lineno">2448</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2449"></a><tt class="py-lineno">2449</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2450"></a><tt class="py-lineno">2450</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2451"></a><tt class="py-lineno">2451</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2452"></a><tt class="py-lineno">2452</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-871" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-871', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2453"></a><tt class="py-lineno">2453</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: You should probably run a topology check after this</tt> </tt>
+<a name="L2454"></a><tt class="py-lineno">2454</tt>  <tt class="py-line"> </tt>
+<a name="L2455"></a><tt class="py-lineno">2455</tt>  <tt class="py-line">        <tt class="py-name">linkSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2456"></a><tt class="py-lineno">2456</tt>  <tt class="py-line"> </tt>
+<a name="L2457"></a><tt class="py-lineno">2457</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Turn off a link to ensure that Link Discovery "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2458"></a><tt class="py-lineno">2458</tt>  <tt class="py-line">                      <tt class="py-string">"is working properly"</tt> </tt>
+<a name="L2459"></a><tt class="py-lineno">2459</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-872" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-872', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2460"></a><tt class="py-lineno">2460</tt>  <tt class="py-line"> </tt>
+<a name="L2461"></a><tt class="py-lineno">2461</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-873" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-873', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Kill Link between s3 and s28"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2462"></a><tt class="py-lineno">2462</tt>  <tt class="py-line">        <tt class="py-name">LinkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-874" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#link"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-874', 'link', 'link-874');">link</a></tt><tt class="py-op">(</tt> <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-string">"s3"</tt><tt class="py-op">,</tt> <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-string">"s28"</tt><tt class="py-op">,</tt> <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"down"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2463"></a><tt class="py-lineno">2463</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-875" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-875', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">linkSleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2464"></a><tt class="py-lineno">2464</tt>  <tt class="py-line">                       <tt class="py-string">" seconds for link down to be discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2465"></a><tt class="py-lineno">2465</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">linkSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2466"></a><tt class="py-lineno">2466</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">LinkDown</tt><tt class="py-op">,</tt> </tt>
+<a name="L2467"></a><tt class="py-lineno">2467</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link down successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2468"></a><tt class="py-lineno">2468</tt>  <tt class="py-line">                                 <tt id="link-876" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-876', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to bring link down"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2469"></a><tt class="py-lineno">2469</tt>  <tt class="py-line">        <tt class="py-comment"># TODO do some sort of check here</tt> </tt>
+<a name="L2470"></a><tt class="py-lineno">2470</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE10"></a><div id="HAsanity.CASE10-def"><a name="L2471"></a><tt class="py-lineno">2471</tt> <a class="py-toggle" href="#" id="HAsanity.CASE10-toggle" onclick="return toggle('HAsanity.CASE10');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE10">CASE10</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE10-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE10-expanded"><a name="L2472"></a><tt class="py-lineno">2472</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2473"></a><tt class="py-lineno">2473</tt>  <tt class="py-line"><tt class="py-docstring">        Link s3-s28 up</tt> </tt>
+<a name="L2474"></a><tt class="py-lineno">2474</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2475"></a><tt class="py-lineno">2475</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2476"></a><tt class="py-lineno">2476</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2477"></a><tt class="py-lineno">2477</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2478"></a><tt class="py-lineno">2478</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2479"></a><tt class="py-lineno">2479</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2480"></a><tt class="py-lineno">2480</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-877" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-877', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2481"></a><tt class="py-lineno">2481</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: You should probably run a topology check after this</tt> </tt>
+<a name="L2482"></a><tt class="py-lineno">2482</tt>  <tt class="py-line"> </tt>
+<a name="L2483"></a><tt class="py-lineno">2483</tt>  <tt class="py-line">        <tt class="py-name">linkSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2484"></a><tt class="py-lineno">2484</tt>  <tt class="py-line"> </tt>
+<a name="L2485"></a><tt class="py-lineno">2485</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Restore a link to ensure that Link Discovery is "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L2486"></a><tt class="py-lineno">2486</tt>  <tt class="py-line">                      <tt class="py-string">"working properly"</tt> </tt>
+<a name="L2487"></a><tt class="py-lineno">2487</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-878" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-878', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2488"></a><tt class="py-lineno">2488</tt>  <tt class="py-line"> </tt>
+<a name="L2489"></a><tt class="py-lineno">2489</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-879" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-879', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Bring link between s3 and s28 back up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2490"></a><tt class="py-lineno">2490</tt>  <tt class="py-line">        <tt class="py-name">LinkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-880" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-880', 'link', 'link-874');">link</a></tt><tt class="py-op">(</tt> <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-string">"s3"</tt><tt class="py-op">,</tt> <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-string">"s28"</tt><tt class="py-op">,</tt> <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2491"></a><tt class="py-lineno">2491</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-881" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-881', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">linkSleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2492"></a><tt class="py-lineno">2492</tt>  <tt class="py-line">                       <tt class="py-string">" seconds for link up to be discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2493"></a><tt class="py-lineno">2493</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">linkSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2494"></a><tt class="py-lineno">2494</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">LinkUp</tt><tt class="py-op">,</tt> </tt>
+<a name="L2495"></a><tt class="py-lineno">2495</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link up successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2496"></a><tt class="py-lineno">2496</tt>  <tt class="py-line">                                 <tt id="link-882" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-882', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to bring link up"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2497"></a><tt class="py-lineno">2497</tt>  <tt class="py-line">        <tt class="py-comment"># TODO do some sort of check here</tt> </tt>
+<a name="L2498"></a><tt class="py-lineno">2498</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE11"></a><div id="HAsanity.CASE11-def"><a name="L2499"></a><tt class="py-lineno">2499</tt> <a class="py-toggle" href="#" id="HAsanity.CASE11-toggle" onclick="return toggle('HAsanity.CASE11');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE11">CASE11</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE11-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE11-expanded"><a name="L2500"></a><tt class="py-lineno">2500</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2501"></a><tt class="py-lineno">2501</tt>  <tt class="py-line"><tt class="py-docstring">        Switch Down</tt> </tt>
+<a name="L2502"></a><tt class="py-lineno">2502</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2503"></a><tt class="py-lineno">2503</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: You should probably run a topology check after this</tt> </tt>
+<a name="L2504"></a><tt class="py-lineno">2504</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2505"></a><tt class="py-lineno">2505</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2506"></a><tt class="py-lineno">2506</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2507"></a><tt class="py-lineno">2507</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2508"></a><tt class="py-lineno">2508</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2509"></a><tt class="py-lineno">2509</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-883" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-883', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2510"></a><tt class="py-lineno">2510</tt>  <tt class="py-line"> </tt>
+<a name="L2511"></a><tt class="py-lineno">2511</tt>  <tt class="py-line">        <tt class="py-name">switchSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'SwitchDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2512"></a><tt class="py-lineno">2512</tt>  <tt class="py-line"> </tt>
+<a name="L2513"></a><tt class="py-lineno">2513</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Killing a switch to ensure it is discovered correctly"</tt> </tt>
+<a name="L2514"></a><tt class="py-lineno">2514</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-884" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-884', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2515"></a><tt class="py-lineno">2515</tt>  <tt class="py-line">        <tt class="py-name">switch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'switch'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2516"></a><tt class="py-lineno">2516</tt>  <tt class="py-line">        <tt class="py-name">switchDPID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'dpid'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2517"></a><tt class="py-lineno">2517</tt>  <tt class="py-line"> </tt>
+<a name="L2518"></a><tt class="py-lineno">2518</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Make this switch parameterizable</tt> </tt>
+<a name="L2519"></a><tt class="py-lineno">2519</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-885" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-885', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Kill "</tt> <tt class="py-op">+</tt> <tt class="py-name">switch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2520"></a><tt class="py-lineno">2520</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-886" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-886', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Deleting "</tt> <tt class="py-op">+</tt> <tt class="py-name">switch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2521"></a><tt class="py-lineno">2521</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-887" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.delSwitch()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delSwitch"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.delSwitch" class="py-name" href="#" onclick="return doclink('link-887', 'delSwitch', 'link-887');">delSwitch</a></tt><tt class="py-op">(</tt> <tt class="py-name">switch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2522"></a><tt class="py-lineno">2522</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-888" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-888', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">switchSleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2523"></a><tt class="py-lineno">2523</tt>  <tt class="py-line">                       <tt class="py-string">" seconds for switch down to be discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2524"></a><tt class="py-lineno">2524</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">switchSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2525"></a><tt class="py-lineno">2525</tt>  <tt class="py-line">        <tt class="py-name">device</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-889" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-889', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-name">switchDPID</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2526"></a><tt class="py-lineno">2526</tt>  <tt class="py-line">        <tt class="py-comment"># Peek at the deleted switch</tt> </tt>
+<a name="L2527"></a><tt class="py-lineno">2527</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-890" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-890', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">device</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2528"></a><tt class="py-lineno">2528</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2529"></a><tt class="py-lineno">2529</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">device</tt> <tt class="py-keyword">and</tt> <tt class="py-name">device</tt><tt class="py-op">[</tt> <tt class="py-string">'available'</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L2530"></a><tt class="py-lineno">2530</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2531"></a><tt class="py-lineno">2531</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt> </tt>
+<a name="L2532"></a><tt class="py-lineno">2532</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Kill switch successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2533"></a><tt class="py-lineno">2533</tt>  <tt class="py-line">                                 <tt id="link-891" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-891', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to kill switch?"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2534"></a><tt class="py-lineno">2534</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE12"></a><div id="HAsanity.CASE12-def"><a name="L2535"></a><tt class="py-lineno">2535</tt> <a class="py-toggle" href="#" id="HAsanity.CASE12-toggle" onclick="return toggle('HAsanity.CASE12');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE12">CASE12</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE12-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE12-expanded"><a name="L2536"></a><tt class="py-lineno">2536</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2537"></a><tt class="py-lineno">2537</tt>  <tt class="py-line"><tt class="py-docstring">        Switch Up</tt> </tt>
+<a name="L2538"></a><tt class="py-lineno">2538</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2539"></a><tt class="py-lineno">2539</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: You should probably run a topology check after this</tt> </tt>
+<a name="L2540"></a><tt class="py-lineno">2540</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2541"></a><tt class="py-lineno">2541</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2542"></a><tt class="py-lineno">2542</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2543"></a><tt class="py-lineno">2543</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2544"></a><tt class="py-lineno">2544</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2545"></a><tt class="py-lineno">2545</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-892" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-892', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2546"></a><tt class="py-lineno">2546</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS1Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS1Port not defined"</tt> </tt>
+<a name="L2547"></a><tt class="py-lineno">2547</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS2Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS2Port not defined"</tt> </tt>
+<a name="L2548"></a><tt class="py-lineno">2548</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS3Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS3Port not defined"</tt> </tt>
+<a name="L2549"></a><tt class="py-lineno">2549</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS4Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS4Port not defined"</tt> </tt>
+<a name="L2550"></a><tt class="py-lineno">2550</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS5Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS5Port not defined"</tt> </tt>
+<a name="L2551"></a><tt class="py-lineno">2551</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS6Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS6Port not defined"</tt> </tt>
+<a name="L2552"></a><tt class="py-lineno">2552</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">ONOS7Port</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOS7Port not defined"</tt> </tt>
+<a name="L2553"></a><tt class="py-lineno">2553</tt>  <tt class="py-line"> </tt>
+<a name="L2554"></a><tt class="py-lineno">2554</tt>  <tt class="py-line">        <tt class="py-name">switchSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'SwitchDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2555"></a><tt class="py-lineno">2555</tt>  <tt class="py-line">        <tt class="py-name">switch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'switch'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2556"></a><tt class="py-lineno">2556</tt>  <tt class="py-line">        <tt class="py-name">switchDPID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'dpid'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2557"></a><tt class="py-lineno">2557</tt>  <tt class="py-line">        <tt id="link-893" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-893', 'links', 'link-514');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'links'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2558"></a><tt class="py-lineno">2558</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Adding a switch to ensure it is discovered correctly"</tt> </tt>
+<a name="L2559"></a><tt class="py-lineno">2559</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-894" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-894', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2560"></a><tt class="py-lineno">2560</tt>  <tt class="py-line"> </tt>
+<a name="L2561"></a><tt class="py-lineno">2561</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-895" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-895', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add back "</tt> <tt class="py-op">+</tt> <tt class="py-name">switch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2562"></a><tt class="py-lineno">2562</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-896" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addSwitch"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-896', 'addSwitch', 'link-896');">addSwitch</a></tt><tt class="py-op">(</tt> <tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-name">switchDPID</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2563"></a><tt class="py-lineno">2563</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">peer</tt> <tt class="py-keyword">in</tt> <tt id="link-897" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-897', 'links', 'link-514');">links</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2564"></a><tt class="py-lineno">2564</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-898" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addLink"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-898', 'addLink', 'link-898');">addLink</a></tt><tt class="py-op">(</tt> <tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">peer</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2565"></a><tt class="py-lineno">2565</tt>  <tt class="py-line">        <tt class="py-name">ipList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2566"></a><tt class="py-lineno">2566</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2567"></a><tt class="py-lineno">2567</tt>  <tt class="py-line">            <tt class="py-name">ipList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-899" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-899', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2568"></a><tt class="py-lineno">2568</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-900" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController" class="py-name" href="#" onclick="return doclink('link-900', 'assignSwController', 'link-78');">assignSwController</a></tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt><tt class="py-op">=</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">ipList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2569"></a><tt class="py-lineno">2569</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-901" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-901', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">switchSleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2570"></a><tt class="py-lineno">2570</tt>  <tt class="py-line">                       <tt class="py-string">" seconds for switch up to be discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2571"></a><tt class="py-lineno">2571</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">switchSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2572"></a><tt class="py-lineno">2572</tt>  <tt class="py-line">        <tt class="py-name">device</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-902" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-902', 'getDevice', 'link-90');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-name">switchDPID</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2573"></a><tt class="py-lineno">2573</tt>  <tt class="py-line">        <tt class="py-comment"># Peek at the deleted switch</tt> </tt>
+<a name="L2574"></a><tt class="py-lineno">2574</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-903" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-903', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">device</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2575"></a><tt class="py-lineno">2575</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2576"></a><tt class="py-lineno">2576</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">device</tt> <tt class="py-keyword">and</tt> <tt class="py-name">device</tt><tt class="py-op">[</tt> <tt class="py-string">'available'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2577"></a><tt class="py-lineno">2577</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2578"></a><tt class="py-lineno">2578</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt> </tt>
+<a name="L2579"></a><tt class="py-lineno">2579</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"add switch successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2580"></a><tt class="py-lineno">2580</tt>  <tt class="py-line">                                 <tt id="link-904" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-904', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to add switch?"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2581"></a><tt class="py-lineno">2581</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE13"></a><div id="HAsanity.CASE13-def"><a name="L2582"></a><tt class="py-lineno">2582</tt> <a class="py-toggle" href="#" id="HAsanity.CASE13-toggle" onclick="return toggle('HAsanity.CASE13');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE13">CASE13</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE13-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE13-expanded"><a name="L2583"></a><tt class="py-lineno">2583</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2584"></a><tt class="py-lineno">2584</tt>  <tt class="py-line"><tt class="py-docstring">        Clean up</tt> </tt>
+<a name="L2585"></a><tt class="py-lineno">2585</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2586"></a><tt class="py-lineno">2586</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L2587"></a><tt class="py-lineno">2587</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2588"></a><tt class="py-lineno">2588</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2589"></a><tt class="py-lineno">2589</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2590"></a><tt class="py-lineno">2590</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2591"></a><tt class="py-lineno">2591</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2592"></a><tt class="py-lineno">2592</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-905" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-905', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2593"></a><tt class="py-lineno">2593</tt>  <tt class="py-line"> </tt>
+<a name="L2594"></a><tt class="py-lineno">2594</tt>  <tt class="py-line">        <tt class="py-comment"># printing colors to terminal</tt> </tt>
+<a name="L2595"></a><tt class="py-lineno">2595</tt>  <tt class="py-line">        <tt class="py-name">colors</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">'cyan'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[96m'</tt><tt class="py-op">,</tt> <tt class="py-string">'purple'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[95m'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2596"></a><tt class="py-lineno">2596</tt>  <tt class="py-line">                   <tt class="py-string">'blue'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[94m'</tt><tt class="py-op">,</tt> <tt class="py-string">'green'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[92m'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2597"></a><tt class="py-lineno">2597</tt>  <tt class="py-line">                   <tt class="py-string">'yellow'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[93m'</tt><tt class="py-op">,</tt> <tt class="py-string">'red'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[91m'</tt><tt class="py-op">,</tt> <tt class="py-string">'end'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[0m'</tt> <tt class="py-op">}</tt> </tt>
+<a name="L2598"></a><tt class="py-lineno">2598</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-906" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-906', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Test Cleanup"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2599"></a><tt class="py-lineno">2599</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-907" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-907', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Killing tcpdumps"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2600"></a><tt class="py-lineno">2600</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-908" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopTcpdump()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopTcpdump,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.stopTcpdump()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#stopTcpdump"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopTcpdump
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.stopTcpdump" class="py-name" href="#" onclick="return doclink('link-908', 'stopTcpdump', 'link-908');">stopTcpdump</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2601"></a><tt class="py-lineno">2601</tt>  <tt class="py-line"> </tt>
+<a name="L2602"></a><tt class="py-lineno">2602</tt>  <tt class="py-line">        <tt class="py-name">testname</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> </tt>
+<a name="L2603"></a><tt class="py-lineno">2603</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BACKUP'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"True"</tt><tt class="py-op">:</tt> </tt>
+<a name="L2604"></a><tt class="py-lineno">2604</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-909" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-909', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Copying MN pcap and ONOS log files to test station"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2605"></a><tt class="py-lineno">2605</tt>  <tt class="py-line">            <tt class="py-name">teststationUser</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BACKUP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'TESTONUSER'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2606"></a><tt class="py-lineno">2606</tt>  <tt class="py-line">            <tt class="py-name">teststationIP</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BACKUP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'TESTONIP'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2607"></a><tt class="py-lineno">2607</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: MN Pcap file is being saved to ~/packet_captures</tt> </tt>
+<a name="L2608"></a><tt class="py-lineno">2608</tt>  <tt class="py-line">            <tt class="py-comment">#       scp this file as MN and TestON aren't necessarily the same vm</tt> </tt>
+<a name="L2609"></a><tt class="py-lineno">2609</tt>  <tt class="py-line">            <tt class="py-comment"># FIXME: scp</tt> </tt>
+<a name="L2610"></a><tt class="py-lineno">2610</tt>  <tt class="py-line">            <tt class="py-comment"># mn files</tt> </tt>
+<a name="L2611"></a><tt class="py-lineno">2611</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: Load these from params</tt> </tt>
+<a name="L2612"></a><tt class="py-lineno">2612</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: must end in /</tt> </tt>
+<a name="L2613"></a><tt class="py-lineno">2613</tt>  <tt class="py-line">            <tt class="py-name">logFolder</tt> <tt class="py-op">=</tt> <tt class="py-string">"/opt/onos/log/"</tt> </tt>
+<a name="L2614"></a><tt class="py-lineno">2614</tt>  <tt class="py-line">            <tt class="py-name">logFiles</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">"karaf.log"</tt><tt class="py-op">,</tt> <tt class="py-string">"karaf.log.1"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2615"></a><tt class="py-lineno">2615</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: must end in /</tt> </tt>
+<a name="L2616"></a><tt class="py-lineno">2616</tt>  <tt class="py-line">            <tt class="py-name">dstDir</tt> <tt class="py-op">=</tt> <tt class="py-string">"~/packet_captures/"</tt> </tt>
+<a name="L2617"></a><tt class="py-lineno">2617</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">logFiles</tt><tt class="py-op">:</tt> </tt>
+<a name="L2618"></a><tt class="py-lineno">2618</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-910" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-910', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2619"></a><tt class="py-lineno">2619</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-911" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-911', 'sendline', 'link-911');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"scp sdn@"</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2620"></a><tt class="py-lineno">2620</tt>  <tt class="py-line">                                                    <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">logFolder</tt> <tt class="py-op">+</tt> <tt class="py-name">f</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2621"></a><tt class="py-lineno">2621</tt>  <tt class="py-line">                                                    <tt class="py-name">teststationUser</tt> <tt class="py-op">+</tt> <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2622"></a><tt class="py-lineno">2622</tt>  <tt class="py-line">                                                    <tt class="py-name">teststationIP</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2623"></a><tt class="py-lineno">2623</tt>  <tt class="py-line">                                                    <tt class="py-name">dstDir</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">testname</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2624"></a><tt class="py-lineno">2624</tt>  <tt class="py-line">                                                    <tt class="py-string">"-"</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">"-"</tt> <tt class="py-op">+</tt> <tt class="py-name">f</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2625"></a><tt class="py-lineno">2625</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2626"></a><tt class="py-lineno">2626</tt>  <tt class="py-line"> </tt>
+<a name="L2627"></a><tt class="py-lineno">2627</tt>  <tt class="py-line">            <tt class="py-comment"># std*.log's</tt> </tt>
+<a name="L2628"></a><tt class="py-lineno">2628</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: must end in /</tt> </tt>
+<a name="L2629"></a><tt class="py-lineno">2629</tt>  <tt class="py-line">            <tt class="py-name">logFolder</tt> <tt class="py-op">=</tt> <tt class="py-string">"/opt/onos/var/"</tt> </tt>
+<a name="L2630"></a><tt class="py-lineno">2630</tt>  <tt class="py-line">            <tt class="py-name">logFiles</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">"stderr.log"</tt><tt class="py-op">,</tt> <tt class="py-string">"stdout.log"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2631"></a><tt class="py-lineno">2631</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: must end in /</tt> </tt>
+<a name="L2632"></a><tt class="py-lineno">2632</tt>  <tt class="py-line">            <tt class="py-name">dstDir</tt> <tt class="py-op">=</tt> <tt class="py-string">"~/packet_captures/"</tt> </tt>
+<a name="L2633"></a><tt class="py-lineno">2633</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">logFiles</tt><tt class="py-op">:</tt> </tt>
+<a name="L2634"></a><tt class="py-lineno">2634</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-912" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-912', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2635"></a><tt class="py-lineno">2635</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-913" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-913', 'sendline', 'link-911');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"scp sdn@"</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2636"></a><tt class="py-lineno">2636</tt>  <tt class="py-line">                                                    <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">logFolder</tt> <tt class="py-op">+</tt> <tt class="py-name">f</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2637"></a><tt class="py-lineno">2637</tt>  <tt class="py-line">                                                    <tt class="py-name">teststationUser</tt> <tt class="py-op">+</tt> <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2638"></a><tt class="py-lineno">2638</tt>  <tt class="py-line">                                                    <tt class="py-name">teststationIP</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2639"></a><tt class="py-lineno">2639</tt>  <tt class="py-line">                                                    <tt class="py-name">dstDir</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">testname</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2640"></a><tt class="py-lineno">2640</tt>  <tt class="py-line">                                                    <tt class="py-string">"-"</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">"-"</tt> <tt class="py-op">+</tt> <tt class="py-name">f</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2641"></a><tt class="py-lineno">2641</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2642"></a><tt class="py-lineno">2642</tt>  <tt class="py-line">            <tt class="py-comment"># sleep so scp can finish</tt> </tt>
+<a name="L2643"></a><tt class="py-lineno">2643</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2644"></a><tt class="py-lineno">2644</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-914" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-914', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Packing and rotating pcap archives"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2645"></a><tt class="py-lineno">2645</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">system</tt><tt class="py-op">(</tt> <tt class="py-string">"~/TestON/dependencies/rotate.sh "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">testname</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2646"></a><tt class="py-lineno">2646</tt>  <tt class="py-line"> </tt>
+<a name="L2647"></a><tt class="py-lineno">2647</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-915" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-915', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Stopping Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2648"></a><tt class="py-lineno">2648</tt>  <tt class="py-line">        <tt class="py-name">mnResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-916" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet" class="py-name" href="#" onclick="return doclink('link-916', 'stopNet', 'link-916');">stopNet</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2649"></a><tt class="py-lineno">2649</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">mnResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2650"></a><tt class="py-lineno">2650</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Mininet stopped"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2651"></a><tt class="py-lineno">2651</tt>  <tt class="py-line">                                 <tt id="link-917" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-917', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"MN cleanup NOT successful"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2652"></a><tt class="py-lineno">2652</tt>  <tt class="py-line"> </tt>
+<a name="L2653"></a><tt class="py-lineno">2653</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-918" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-918', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Checking ONOS Logs for errors"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2654"></a><tt class="py-lineno">2654</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-919" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-919', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L2655"></a><tt class="py-lineno">2655</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt> <tt class="py-string">'purple'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"Checking logs for errors on "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L2656"></a><tt class="py-lineno">2656</tt>  <tt class="py-line">                <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt> <tt class="py-string">'end'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2657"></a><tt class="py-lineno">2657</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-920" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.checkLogs()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#checkLogs"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.checkLogs" class="py-name" href="#" onclick="return doclink('link-920', 'checkLogs', 'link-920');">checkLogs</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2658"></a><tt class="py-lineno">2658</tt>  <tt class="py-line"> </tt>
+<a name="L2659"></a><tt class="py-lineno">2659</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2660"></a><tt class="py-lineno">2660</tt>  <tt class="py-line">            <tt class="py-name">timerLog</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">+</tt> <tt class="py-string">"/Timers.csv"</tt><tt class="py-op">,</tt> <tt class="py-string">'w'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2661"></a><tt class="py-lineno">2661</tt>  <tt class="py-line">            <tt class="py-comment"># Overwrite with empty line and close</tt> </tt>
+<a name="L2662"></a><tt class="py-lineno">2662</tt>  <tt class="py-line">            <tt class="py-name">labels</tt> <tt class="py-op">=</tt> <tt class="py-string">"Gossip Intents"</tt> </tt>
+<a name="L2663"></a><tt class="py-lineno">2663</tt>  <tt class="py-line">            <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">gossipTime</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2664"></a><tt class="py-lineno">2664</tt>  <tt class="py-line">            <tt class="py-name">timerLog</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt> <tt class="py-name">labels</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-name">data</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2665"></a><tt class="py-lineno">2665</tt>  <tt class="py-line">            <tt class="py-name">timerLog</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2666"></a><tt class="py-lineno">2666</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L2667"></a><tt class="py-lineno">2667</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-921" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-921', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2668"></a><tt class="py-lineno">2668</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE14"></a><div id="HAsanity.CASE14-def"><a name="L2669"></a><tt class="py-lineno">2669</tt> <a class="py-toggle" href="#" id="HAsanity.CASE14-toggle" onclick="return toggle('HAsanity.CASE14');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE14">CASE14</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE14-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE14-expanded"><a name="L2670"></a><tt class="py-lineno">2670</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2671"></a><tt class="py-lineno">2671</tt>  <tt class="py-line"><tt class="py-docstring">        start election app on all onos nodes</tt> </tt>
+<a name="L2672"></a><tt class="py-lineno">2672</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2673"></a><tt class="py-lineno">2673</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2674"></a><tt class="py-lineno">2674</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2675"></a><tt class="py-lineno">2675</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2676"></a><tt class="py-lineno">2676</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2677"></a><tt class="py-lineno">2677</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-922" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-922', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2678"></a><tt class="py-lineno">2678</tt>  <tt class="py-line"> </tt>
+<a name="L2679"></a><tt class="py-lineno">2679</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-923" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-923', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Start Leadership Election app"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2680"></a><tt class="py-lineno">2680</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-924" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-924', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install leadership election app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2681"></a><tt class="py-lineno">2681</tt>  <tt class="py-line">        <tt class="py-name">appResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-925" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp" class="py-name" href="#" onclick="return doclink('link-925', 'activateApp', 'link-124');">activateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2682"></a><tt class="py-lineno">2682</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2683"></a><tt class="py-lineno">2683</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2684"></a><tt class="py-lineno">2684</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2685"></a><tt class="py-lineno">2685</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Election app installed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2686"></a><tt class="py-lineno">2686</tt>  <tt class="py-line">            <tt id="link-926" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-926', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something went wrong with installing Leadership election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2687"></a><tt class="py-lineno">2687</tt>  <tt class="py-line"> </tt>
+<a name="L2688"></a><tt class="py-lineno">2688</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-927" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-927', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Run for election on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2689"></a><tt class="py-lineno">2689</tt>  <tt class="py-line">        <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2690"></a><tt class="py-lineno">2690</tt>  <tt class="py-line">        <tt id="link-928" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-928', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2691"></a><tt class="py-lineno">2691</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-929" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-929', 'cli', 'link-223');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2692"></a><tt class="py-lineno">2692</tt>  <tt class="py-line">            <tt id="link-930" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-930', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt id="link-931" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestRun()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestRun"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestRun" class="py-name" href="#" onclick="return doclink('link-931', 'electionTestRun', 'link-931');">electionTestRun</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2693"></a><tt class="py-lineno">2693</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-932" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-932', 'cli', 'link-223');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2694"></a><tt class="py-lineno">2694</tt>  <tt class="py-line">            <tt class="py-name">leader</tt> <tt class="py-op">=</tt> <tt id="link-933" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-933', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt id="link-934" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-934', 'electionTestLeader', 'link-705');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2695"></a><tt class="py-lineno">2695</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">leader</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">leader</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2696"></a><tt class="py-lineno">2696</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-935" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-935', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-936" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-936', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt id="link-937" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-937', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": Leader for the election app "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2697"></a><tt class="py-lineno">2697</tt>  <tt class="py-line">                                 <tt class="py-string">"should be an ONOS node, instead got '"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2698"></a><tt class="py-lineno">2698</tt>  <tt class="py-line">                                 <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"'"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2699"></a><tt class="py-lineno">2699</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2700"></a><tt class="py-lineno">2700</tt>  <tt class="py-line">            <tt id="link-938" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-938', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2701"></a><tt class="py-lineno">2701</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2702"></a><tt class="py-lineno">2702</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2703"></a><tt class="py-lineno">2703</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">leaderResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2704"></a><tt class="py-lineno">2704</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully ran for leadership"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2705"></a><tt class="py-lineno">2705</tt>  <tt class="py-line">            <tt id="link-939" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-939', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to run for leadership"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2706"></a><tt class="py-lineno">2706</tt>  <tt class="py-line"> </tt>
+<a name="L2707"></a><tt class="py-lineno">2707</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-940" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-940', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check that each node shows the same leader"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2708"></a><tt class="py-lineno">2708</tt>  <tt class="py-line">        <tt class="py-name">sameLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2709"></a><tt class="py-lineno">2709</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt id="link-941" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-941', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2710"></a><tt class="py-lineno">2710</tt>  <tt class="py-line">            <tt class="py-name">sameLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2711"></a><tt class="py-lineno">2711</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-942" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-942', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-943" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-943', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Results of electionTestLeader is order of main.CLIs:"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2712"></a><tt class="py-lineno">2712</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-944" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-944', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2713"></a><tt class="py-lineno">2713</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2714"></a><tt class="py-lineno">2714</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2715"></a><tt class="py-lineno">2715</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">sameLeader</tt><tt class="py-op">,</tt> </tt>
+<a name="L2716"></a><tt class="py-lineno">2716</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Leadership is consistent for the election topic"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2717"></a><tt class="py-lineno">2717</tt>  <tt class="py-line">            <tt id="link-945" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-945', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Nodes have different leaders"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2718"></a><tt class="py-lineno">2718</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE15"></a><div id="HAsanity.CASE15-def"><a name="L2719"></a><tt class="py-lineno">2719</tt> <a class="py-toggle" href="#" id="HAsanity.CASE15-toggle" onclick="return toggle('HAsanity.CASE15');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE15">CASE15</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE15-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE15-expanded"><a name="L2720"></a><tt class="py-lineno">2720</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2721"></a><tt class="py-lineno">2721</tt>  <tt class="py-line"><tt class="py-docstring">        Check that Leadership Election is still functional</tt> </tt>
+<a name="L2722"></a><tt class="py-lineno">2722</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2723"></a><tt class="py-lineno">2723</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2724"></a><tt class="py-lineno">2724</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2725"></a><tt class="py-lineno">2725</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2726"></a><tt class="py-lineno">2726</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2727"></a><tt class="py-lineno">2727</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2728"></a><tt class="py-lineno">2728</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-946" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-946', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2729"></a><tt class="py-lineno">2729</tt>  <tt class="py-line"> </tt>
+<a name="L2730"></a><tt class="py-lineno">2730</tt>  <tt class="py-line">        <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2731"></a><tt class="py-lineno">2731</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Check that Leadership Election is still functional"</tt> </tt>
+<a name="L2732"></a><tt class="py-lineno">2732</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-947" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-947', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2733"></a><tt class="py-lineno">2733</tt>  <tt class="py-line"> </tt>
+<a name="L2734"></a><tt class="py-lineno">2734</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-948" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-948', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check that each node shows the same leader"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2735"></a><tt class="py-lineno">2735</tt>  <tt class="py-line">        <tt class="py-name">sameLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2736"></a><tt class="py-lineno">2736</tt>  <tt class="py-line">        <tt id="link-949" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-949', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2737"></a><tt class="py-lineno">2737</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-950" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-950', 'cli', 'link-223');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2738"></a><tt class="py-lineno">2738</tt>  <tt class="py-line">            <tt class="py-name">leader</tt> <tt class="py-op">=</tt> <tt id="link-951" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-951', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt id="link-952" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-952', 'electionTestLeader', 'link-705');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2739"></a><tt class="py-lineno">2739</tt>  <tt class="py-line">            <tt id="link-953" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-953', 'leaders', 'link-181');">leaders</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2740"></a><tt class="py-lineno">2740</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt id="link-954" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-954', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2741"></a><tt class="py-lineno">2741</tt>  <tt class="py-line">            <tt class="py-name">sameLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2742"></a><tt class="py-lineno">2742</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-955" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-955', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-956" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-956', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Results of electionTestLeader is order of main.CLIs:"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2743"></a><tt class="py-lineno">2743</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-957" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-957', 'leaders', 'link-181');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2744"></a><tt class="py-lineno">2744</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2745"></a><tt class="py-lineno">2745</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2746"></a><tt class="py-lineno">2746</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">sameLeader</tt><tt class="py-op">,</tt> </tt>
+<a name="L2747"></a><tt class="py-lineno">2747</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Leadership is consistent for the election topic"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2748"></a><tt class="py-lineno">2748</tt>  <tt class="py-line">            <tt id="link-958" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-958', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Nodes have different leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2749"></a><tt class="py-lineno">2749</tt>  <tt class="py-line"> </tt>
+<a name="L2750"></a><tt class="py-lineno">2750</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-959" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-959', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Find current leader and withdraw"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2751"></a><tt class="py-lineno">2751</tt>  <tt class="py-line">        <tt class="py-name">leader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-960" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-960', 'electionTestLeader', 'link-705');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2752"></a><tt class="py-lineno">2752</tt>  <tt class="py-line">        <tt class="py-comment"># do some sanity checking on leader before using it</tt> </tt>
+<a name="L2753"></a><tt class="py-lineno">2753</tt>  <tt class="py-line">        <tt class="py-name">withdrawResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2754"></a><tt class="py-lineno">2754</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">leader</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">leader</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2755"></a><tt class="py-lineno">2755</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-961" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-961', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-962" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-962', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2756"></a><tt class="py-lineno">2756</tt>  <tt class="py-line">                <tt class="py-string">"Leader for the election app should be an ONOS node,"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2757"></a><tt class="py-lineno">2757</tt>  <tt class="py-line">                <tt class="py-string">"instead got '"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"'"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2758"></a><tt class="py-lineno">2758</tt>  <tt class="py-line">            <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2759"></a><tt class="py-lineno">2759</tt>  <tt class="py-line">            <tt class="py-name">oldLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L2760"></a><tt class="py-lineno">2760</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2761"></a><tt class="py-lineno">2761</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">leader</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-963" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-963', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">:</tt> </tt>
+<a name="L2762"></a><tt class="py-lineno">2762</tt>  <tt class="py-line">                <tt class="py-name">oldLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2763"></a><tt class="py-lineno">2763</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L2764"></a><tt class="py-lineno">2764</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  <tt class="py-comment"># FOR/ELSE statement</tt> </tt>
+<a name="L2765"></a><tt class="py-lineno">2765</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-964" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-964', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-965" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-965', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Leader election, could not find current leader"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2766"></a><tt class="py-lineno">2766</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">oldLeader</tt><tt class="py-op">:</tt> </tt>
+<a name="L2767"></a><tt class="py-lineno">2767</tt>  <tt class="py-line">            <tt class="py-name">withdrawResult</tt> <tt class="py-op">=</tt> <tt class="py-name">oldLeader</tt><tt class="py-op">.</tt><tt id="link-966" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestWithdraw()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestWithdraw"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestWithdraw" class="py-name" href="#" onclick="return doclink('link-966', 'electionTestWithdraw', 'link-966');">electionTestWithdraw</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2768"></a><tt class="py-lineno">2768</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2769"></a><tt class="py-lineno">2769</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2770"></a><tt class="py-lineno">2770</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">withdrawResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2771"></a><tt class="py-lineno">2771</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Node was withdrawn from election"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2772"></a><tt class="py-lineno">2772</tt>  <tt class="py-line">            <tt id="link-967" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-967', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Node was not withdrawn from election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2773"></a><tt class="py-lineno">2773</tt>  <tt class="py-line"> </tt>
+<a name="L2774"></a><tt class="py-lineno">2774</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-968" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-968', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Make sure new leader is elected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2775"></a><tt class="py-lineno">2775</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: use threads</tt> </tt>
+<a name="L2776"></a><tt class="py-lineno">2776</tt>  <tt class="py-line">        <tt class="py-name">leaderList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2777"></a><tt class="py-lineno">2777</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-969" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-969', 'cli', 'link-223');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L2778"></a><tt class="py-lineno">2778</tt>  <tt class="py-line">            <tt class="py-name">leaderN</tt> <tt class="py-op">=</tt> <tt id="link-970" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-970', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt id="link-971" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-971', 'electionTestLeader', 'link-705');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2779"></a><tt class="py-lineno">2779</tt>  <tt class="py-line">            <tt class="py-name">leaderList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2780"></a><tt class="py-lineno">2780</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">==</tt> <tt class="py-name">leader</tt><tt class="py-op">:</tt> </tt>
+<a name="L2781"></a><tt class="py-lineno">2781</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-972" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-972', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-973" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-973', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt>  <tt id="link-974" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-974', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">" still sees "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2782"></a><tt class="py-lineno">2782</tt>  <tt class="py-line">                                  <tt class="py-string">" as leader after they withdrew"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2783"></a><tt class="py-lineno">2783</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2784"></a><tt class="py-lineno">2784</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2785"></a><tt class="py-lineno">2785</tt>  <tt class="py-line">                <tt class="py-comment"># error in  response</tt> </tt>
+<a name="L2786"></a><tt class="py-lineno">2786</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: add check for "Command not found:" in the driver, this</tt> </tt>
+<a name="L2787"></a><tt class="py-lineno">2787</tt>  <tt class="py-line">                <tt class="py-comment">#       means the app isn't loaded</tt> </tt>
+<a name="L2788"></a><tt class="py-lineno">2788</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-975" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-975', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-976" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-976', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Something is wrong with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2789"></a><tt class="py-lineno">2789</tt>  <tt class="py-line">                                 <tt class="py-string">"electionTestLeader function, "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2790"></a><tt class="py-lineno">2790</tt>  <tt class="py-line">                                 <tt class="py-string">"check the error logs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2791"></a><tt class="py-lineno">2791</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2792"></a><tt class="py-lineno">2792</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">leaderN</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L2793"></a><tt class="py-lineno">2793</tt>  <tt class="py-line">                <tt class="py-comment"># node may not have recieved the event yet</tt> </tt>
+<a name="L2794"></a><tt class="py-lineno">2794</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">7</tt><tt class="py-op">)</tt> </tt>
+<a name="L2795"></a><tt class="py-lineno">2795</tt>  <tt class="py-line">                <tt class="py-name">leaderN</tt> <tt class="py-op">=</tt> <tt id="link-977" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-977', 'cli', 'link-223');">cli</a></tt><tt class="py-op">.</tt><tt id="link-978" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-978', 'electionTestLeader', 'link-705');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2796"></a><tt class="py-lineno">2796</tt>  <tt class="py-line">                <tt class="py-name">leaderList</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2797"></a><tt class="py-lineno">2797</tt>  <tt class="py-line">                <tt class="py-name">leaderList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2798"></a><tt class="py-lineno">2798</tt>  <tt class="py-line">        <tt class="py-name">consistentLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2799"></a><tt class="py-lineno">2799</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">leaderList</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L2800"></a><tt class="py-lineno">2800</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-979" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-979', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Each Election-app sees '"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2801"></a><tt class="py-lineno">2801</tt>  <tt class="py-line">                           <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leaderList</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2802"></a><tt class="py-lineno">2802</tt>  <tt class="py-line">                           <tt class="py-string">"' as the leader"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2803"></a><tt class="py-lineno">2803</tt>  <tt class="py-line">            <tt class="py-name">consistentLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2804"></a><tt class="py-lineno">2804</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2805"></a><tt class="py-lineno">2805</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-980" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-980', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-981" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-981', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2806"></a><tt class="py-lineno">2806</tt>  <tt class="py-line">                <tt class="py-string">"Inconsistent responses for leader of Election-app:"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2807"></a><tt class="py-lineno">2807</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">leaderList</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2808"></a><tt class="py-lineno">2808</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-982" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-982', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-983" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-983', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">n</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2809"></a><tt class="py-lineno">2809</tt>  <tt class="py-line">                                 <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leaderList</tt><tt class="py-op">[</tt> <tt class="py-name">n</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2810"></a><tt class="py-lineno">2810</tt>  <tt class="py-line">        <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">leaderResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentLeader</tt> </tt>
+<a name="L2811"></a><tt class="py-lineno">2811</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2812"></a><tt class="py-lineno">2812</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2813"></a><tt class="py-lineno">2813</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">leaderResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2814"></a><tt class="py-lineno">2814</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Leadership election passed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2815"></a><tt class="py-lineno">2815</tt>  <tt class="py-line">            <tt id="link-984" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-984', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something went wrong with Leadership election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2816"></a><tt class="py-lineno">2816</tt>  <tt class="py-line"> </tt>
+<a name="L2817"></a><tt class="py-lineno">2817</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-985" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-985', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Run for election on old leader( just so everyone "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2818"></a><tt class="py-lineno">2818</tt>  <tt class="py-line">                   <tt class="py-string">"is in the hat )"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2819"></a><tt class="py-lineno">2819</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">oldLeader</tt><tt class="py-op">:</tt> </tt>
+<a name="L2820"></a><tt class="py-lineno">2820</tt>  <tt class="py-line">            <tt class="py-name">runResult</tt> <tt class="py-op">=</tt> <tt class="py-name">oldLeader</tt><tt class="py-op">.</tt><tt id="link-986" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestRun" class="py-name" href="#" onclick="return doclink('link-986', 'electionTestRun', 'link-931');">electionTestRun</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2821"></a><tt class="py-lineno">2821</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2822"></a><tt class="py-lineno">2822</tt>  <tt class="py-line">            <tt class="py-name">runResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2823"></a><tt class="py-lineno">2823</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2824"></a><tt class="py-lineno">2824</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2825"></a><tt class="py-lineno">2825</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">runResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2826"></a><tt class="py-lineno">2826</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App re-ran for election"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2827"></a><tt class="py-lineno">2827</tt>  <tt class="py-line">            <tt id="link-987" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-987', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"App failed to run for election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2828"></a><tt class="py-lineno">2828</tt>  <tt class="py-line"> </tt>
+<a name="L2829"></a><tt class="py-lineno">2829</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-988" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-988', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Leader did not change when old leader re-ran"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2830"></a><tt class="py-lineno">2830</tt>  <tt class="py-line">        <tt class="py-name">afterRun</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-989" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-989', 'electionTestLeader', 'link-705');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2831"></a><tt class="py-lineno">2831</tt>  <tt class="py-line">        <tt class="py-comment"># verify leader didn't just change</tt> </tt>
+<a name="L2832"></a><tt class="py-lineno">2832</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">afterRun</tt> <tt class="py-op">==</tt> <tt class="py-name">leaderList</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2833"></a><tt class="py-lineno">2833</tt>  <tt class="py-line">            <tt class="py-name">afterResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2834"></a><tt class="py-lineno">2834</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2835"></a><tt class="py-lineno">2835</tt>  <tt class="py-line">            <tt class="py-name">afterResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2836"></a><tt class="py-lineno">2836</tt>  <tt class="py-line"> </tt>
+<a name="L2837"></a><tt class="py-lineno">2837</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L2838"></a><tt class="py-lineno">2838</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2839"></a><tt class="py-lineno">2839</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">afterResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L2840"></a><tt class="py-lineno">2840</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Old leader successfully re-ran for election"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2841"></a><tt class="py-lineno">2841</tt>  <tt class="py-line">            <tt id="link-990" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-990', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something went wrong with Leadership election after "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2842"></a><tt class="py-lineno">2842</tt>  <tt class="py-line">                   <tt class="py-string">"the old leader re-ran for election"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L2843"></a><tt class="py-lineno">2843</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE16"></a><div id="HAsanity.CASE16-def"><a name="L2844"></a><tt class="py-lineno">2844</tt> <a class="py-toggle" href="#" id="HAsanity.CASE16-toggle" onclick="return toggle('HAsanity.CASE16');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE16">CASE16</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE16-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE16-expanded"><a name="L2845"></a><tt class="py-lineno">2845</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2846"></a><tt class="py-lineno">2846</tt>  <tt class="py-line"><tt class="py-docstring">        Install Distributed Primitives app</tt> </tt>
+<a name="L2847"></a><tt class="py-lineno">2847</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2848"></a><tt class="py-lineno">2848</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L2849"></a><tt class="py-lineno">2849</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2850"></a><tt class="py-lineno">2850</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2851"></a><tt class="py-lineno">2851</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2852"></a><tt class="py-lineno">2852</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2853"></a><tt class="py-lineno">2853</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-991" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-991', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2854"></a><tt class="py-lineno">2854</tt>  <tt class="py-line"> </tt>
+<a name="L2855"></a><tt class="py-lineno">2855</tt>  <tt class="py-line">        <tt class="py-comment"># Variables for the distributed primitives tests</tt> </tt>
+<a name="L2856"></a><tt class="py-lineno">2856</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">pCounterName</tt> </tt>
+<a name="L2857"></a><tt class="py-lineno">2857</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">iCounterName</tt> </tt>
+<a name="L2858"></a><tt class="py-lineno">2858</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">pCounterValue</tt> </tt>
+<a name="L2859"></a><tt class="py-lineno">2859</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">iCounterValue</tt> </tt>
+<a name="L2860"></a><tt class="py-lineno">2860</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">onosSet</tt> </tt>
+<a name="L2861"></a><tt class="py-lineno">2861</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">onosSetName</tt> </tt>
+<a name="L2862"></a><tt class="py-lineno">2862</tt>  <tt class="py-line">        <tt class="py-name">pCounterName</tt> <tt class="py-op">=</tt> <tt class="py-string">"TestON-Partitions"</tt> </tt>
+<a name="L2863"></a><tt class="py-lineno">2863</tt>  <tt class="py-line">        <tt class="py-name">iCounterName</tt> <tt class="py-op">=</tt> <tt class="py-string">"TestON-inMemory"</tt> </tt>
+<a name="L2864"></a><tt class="py-lineno">2864</tt>  <tt class="py-line">        <tt class="py-name">pCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2865"></a><tt class="py-lineno">2865</tt>  <tt class="py-line">        <tt class="py-name">iCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2866"></a><tt class="py-lineno">2866</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2867"></a><tt class="py-lineno">2867</tt>  <tt class="py-line">        <tt class="py-name">onosSetName</tt> <tt class="py-op">=</tt> <tt class="py-string">"TestON-set"</tt> </tt>
+<a name="L2868"></a><tt class="py-lineno">2868</tt>  <tt class="py-line"> </tt>
+<a name="L2869"></a><tt class="py-lineno">2869</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Install Primitives app"</tt> </tt>
+<a name="L2870"></a><tt class="py-lineno">2870</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-992" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-992', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2871"></a><tt class="py-lineno">2871</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-993" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-993', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install Primitives app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2872"></a><tt class="py-lineno">2872</tt>  <tt class="py-line">        <tt class="py-name">appName</tt> <tt class="py-op">=</tt> <tt class="py-string">"org.onosproject.distributedprimitives"</tt> </tt>
+<a name="L2873"></a><tt class="py-lineno">2873</tt>  <tt class="py-line">        <tt class="py-name">appResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-994" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp" class="py-name" href="#" onclick="return doclink('link-994', 'activateApp', 'link-124');">activateApp</a></tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2874"></a><tt class="py-lineno">2874</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2875"></a><tt class="py-lineno">2875</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2876"></a><tt class="py-lineno">2876</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Primitives app activated"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2877"></a><tt class="py-lineno">2877</tt>  <tt class="py-line">                                 <tt id="link-995" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-995', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Primitives app not activated"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2878"></a><tt class="py-lineno">2878</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">5</tt> <tt class="py-op">)</tt>  <tt class="py-comment"># To allow all nodes to activate</tt> </tt>
+</div><a name="L2879"></a><tt class="py-lineno">2879</tt>  <tt class="py-line"> </tt>
+<a name="HAsanity.CASE17"></a><div id="HAsanity.CASE17-def"><a name="L2880"></a><tt class="py-lineno">2880</tt> <a class="py-toggle" href="#" id="HAsanity.CASE17-toggle" onclick="return toggle('HAsanity.CASE17');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE17">CASE17</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsanity.CASE17-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsanity.CASE17-expanded"><a name="L2881"></a><tt class="py-lineno">2881</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L2882"></a><tt class="py-lineno">2882</tt>  <tt class="py-line"><tt class="py-docstring">        Check for basic functionality with distributed primitives</tt> </tt>
+<a name="L2883"></a><tt class="py-lineno">2883</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L2884"></a><tt class="py-lineno">2884</tt>  <tt class="py-line">        <tt class="py-comment"># Make sure variables are defined/set</tt> </tt>
+<a name="L2885"></a><tt class="py-lineno">2885</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2886"></a><tt class="py-lineno">2886</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2887"></a><tt class="py-lineno">2887</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2888"></a><tt class="py-lineno">2888</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2889"></a><tt class="py-lineno">2889</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-996" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-996', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2890"></a><tt class="py-lineno">2890</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">pCounterName</tt><tt class="py-op">,</tt> <tt class="py-string">"pCounterName not defined"</tt> </tt>
+<a name="L2891"></a><tt class="py-lineno">2891</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-string">"iCounterName not defined"</tt> </tt>
+<a name="L2892"></a><tt class="py-lineno">2892</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-string">"onosSetName not defined"</tt> </tt>
+<a name="L2893"></a><tt class="py-lineno">2893</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: assert fails if value is 0/None/Empty/False</tt> </tt>
+<a name="L2894"></a><tt class="py-lineno">2894</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2895"></a><tt class="py-lineno">2895</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> </tt>
+<a name="L2896"></a><tt class="py-lineno">2896</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2897"></a><tt class="py-lineno">2897</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-997" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-997', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-998" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-998', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pCounterValue not defined, setting to 0"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2898"></a><tt class="py-lineno">2898</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2899"></a><tt class="py-lineno">2899</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2900"></a><tt class="py-lineno">2900</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> </tt>
+<a name="L2901"></a><tt class="py-lineno">2901</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2902"></a><tt class="py-lineno">2902</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-999" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-999', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1000" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1000', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"iCounterValue not defined, setting to 0"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2903"></a><tt class="py-lineno">2903</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2904"></a><tt class="py-lineno">2904</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2905"></a><tt class="py-lineno">2905</tt>  <tt class="py-line">            <tt class="py-name">onosSet</tt> </tt>
+<a name="L2906"></a><tt class="py-lineno">2906</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2907"></a><tt class="py-lineno">2907</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1001" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1001', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1002" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1002', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onosSet not defined, setting to empty Set"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2908"></a><tt class="py-lineno">2908</tt>  <tt class="py-line">            <tt class="py-name">onosSet</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2909"></a><tt class="py-lineno">2909</tt>  <tt class="py-line">        <tt class="py-comment"># Variables for the distributed primitives tests. These are local only</tt> </tt>
+<a name="L2910"></a><tt class="py-lineno">2910</tt>  <tt class="py-line">        <tt class="py-name">addValue</tt> <tt class="py-op">=</tt> <tt class="py-string">"a"</tt> </tt>
+<a name="L2911"></a><tt class="py-lineno">2911</tt>  <tt class="py-line">        <tt class="py-name">addAllValue</tt> <tt class="py-op">=</tt> <tt class="py-string">"a b c d e f"</tt> </tt>
+<a name="L2912"></a><tt class="py-lineno">2912</tt>  <tt class="py-line">        <tt class="py-name">retainValue</tt> <tt class="py-op">=</tt> <tt class="py-string">"c d e f"</tt> </tt>
+<a name="L2913"></a><tt class="py-lineno">2913</tt>  <tt class="py-line"> </tt>
+<a name="L2914"></a><tt class="py-lineno">2914</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Check for basic functionality with distributed "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2915"></a><tt class="py-lineno">2915</tt>  <tt class="py-line">                      <tt class="py-string">"primitives"</tt> </tt>
+<a name="L2916"></a><tt class="py-lineno">2916</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1003" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1003', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2917"></a><tt class="py-lineno">2917</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Test the methods of the distributed "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2918"></a><tt class="py-lineno">2918</tt>  <tt class="py-line">                                <tt class="py-string">"primitives (counters and sets) throught the cli"</tt> </tt>
+<a name="L2919"></a><tt class="py-lineno">2919</tt>  <tt class="py-line">        <tt class="py-comment"># DISTRIBUTED ATOMIC COUNTERS</tt> </tt>
+<a name="L2920"></a><tt class="py-lineno">2920</tt>  <tt class="py-line">        <tt class="py-comment"># Partitioned counters</tt> </tt>
+<a name="L2921"></a><tt class="py-lineno">2921</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1004" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1004', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Increment then get a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2922"></a><tt class="py-lineno">2922</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2923"></a><tt class="py-lineno">2923</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2924"></a><tt class="py-lineno">2924</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2925"></a><tt class="py-lineno">2925</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2926"></a><tt class="py-lineno">2926</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1005" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1005', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1006" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counterTestAddAndGet"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1006', 'counterTestAddAndGet', 'link-1006');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2927"></a><tt class="py-lineno">2927</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterAddAndGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2928"></a><tt class="py-lineno">2928</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2929"></a><tt class="py-lineno">2929</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2930"></a><tt class="py-lineno">2930</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2931"></a><tt class="py-lineno">2931</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2932"></a><tt class="py-lineno">2932</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2933"></a><tt class="py-lineno">2933</tt>  <tt class="py-line"> </tt>
+<a name="L2934"></a><tt class="py-lineno">2934</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2935"></a><tt class="py-lineno">2935</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2936"></a><tt class="py-lineno">2936</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2937"></a><tt class="py-lineno">2937</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L2938"></a><tt class="py-lineno">2938</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2939"></a><tt class="py-lineno">2939</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L2940"></a><tt class="py-lineno">2940</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L2941"></a><tt class="py-lineno">2941</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L2942"></a><tt class="py-lineno">2942</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L2943"></a><tt class="py-lineno">2943</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1007" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1007', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1008" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1008', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L2944"></a><tt class="py-lineno">2944</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2945"></a><tt class="py-lineno">2945</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2946"></a><tt class="py-lineno">2946</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2947"></a><tt class="py-lineno">2947</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2948"></a><tt class="py-lineno">2948</tt>  <tt class="py-line">                                 <tt id="link-1009" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1009', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2949"></a><tt class="py-lineno">2949</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2950"></a><tt class="py-lineno">2950</tt>  <tt class="py-line"> </tt>
+<a name="L2951"></a><tt class="py-lineno">2951</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1010" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1010', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get then Increment a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2952"></a><tt class="py-lineno">2952</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2953"></a><tt class="py-lineno">2953</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2954"></a><tt class="py-lineno">2954</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2955"></a><tt class="py-lineno">2955</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2956"></a><tt class="py-lineno">2956</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1011" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1011', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1012" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counterTestGetAndAdd"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd" class="py-name" href="#" onclick="return doclink('link-1012', 'counterTestGetAndAdd', 'link-1012');">counterTestGetAndAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2957"></a><tt class="py-lineno">2957</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterGetAndAdd-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2958"></a><tt class="py-lineno">2958</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2959"></a><tt class="py-lineno">2959</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2960"></a><tt class="py-lineno">2960</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2961"></a><tt class="py-lineno">2961</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2962"></a><tt class="py-lineno">2962</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2963"></a><tt class="py-lineno">2963</tt>  <tt class="py-line"> </tt>
+<a name="L2964"></a><tt class="py-lineno">2964</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2965"></a><tt class="py-lineno">2965</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2966"></a><tt class="py-lineno">2966</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2967"></a><tt class="py-lineno">2967</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L2968"></a><tt class="py-lineno">2968</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2969"></a><tt class="py-lineno">2969</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L2970"></a><tt class="py-lineno">2970</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L2971"></a><tt class="py-lineno">2971</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L2972"></a><tt class="py-lineno">2972</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L2973"></a><tt class="py-lineno">2973</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1013" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1013', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1014" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1014', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L2974"></a><tt class="py-lineno">2974</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2975"></a><tt class="py-lineno">2975</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2976"></a><tt class="py-lineno">2976</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2977"></a><tt class="py-lineno">2977</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2978"></a><tt class="py-lineno">2978</tt>  <tt class="py-line">                                 <tt id="link-1015" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1015', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2979"></a><tt class="py-lineno">2979</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2980"></a><tt class="py-lineno">2980</tt>  <tt class="py-line"> </tt>
+<a name="L2981"></a><tt class="py-lineno">2981</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1016" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1016', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2982"></a><tt class="py-lineno">2982</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1017" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1017', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1018" class="py-name" targets="Function TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#counterCheck,Function TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#counterCheck,Function TestON.tests.HAsanity.dependencies.Counters.counterCheck()=TestON.tests.HAsanity.dependencies.Counters-module.html#counterCheck,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#counterCheck"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1018', 'counterCheck', 'link-1018');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">pCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2983"></a><tt class="py-lineno">2983</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2984"></a><tt class="py-lineno">2984</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L2985"></a><tt class="py-lineno">2985</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2986"></a><tt class="py-lineno">2986</tt>  <tt class="py-line">                                 <tt id="link-1019" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1019', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2987"></a><tt class="py-lineno">2987</tt>  <tt class="py-line"> </tt>
+<a name="L2988"></a><tt class="py-lineno">2988</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1020" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1020', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add -8 to then get a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2989"></a><tt class="py-lineno">2989</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2990"></a><tt class="py-lineno">2990</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2991"></a><tt class="py-lineno">2991</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2992"></a><tt class="py-lineno">2992</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2993"></a><tt class="py-lineno">2993</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1021" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1021', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1022" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1022', 'counterTestAddAndGet', 'link-1006');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2994"></a><tt class="py-lineno">2994</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2995"></a><tt class="py-lineno">2995</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2996"></a><tt class="py-lineno">2996</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-op">-</tt><tt class="py-number">8</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2997"></a><tt class="py-lineno">2997</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-op">-</tt><tt class="py-number">8</tt> </tt>
+<a name="L2998"></a><tt class="py-lineno">2998</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2999"></a><tt class="py-lineno">2999</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3000"></a><tt class="py-lineno">3000</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3001"></a><tt class="py-lineno">3001</tt>  <tt class="py-line"> </tt>
+<a name="L3002"></a><tt class="py-lineno">3002</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3003"></a><tt class="py-lineno">3003</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3004"></a><tt class="py-lineno">3004</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3005"></a><tt class="py-lineno">3005</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3006"></a><tt class="py-lineno">3006</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3007"></a><tt class="py-lineno">3007</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3008"></a><tt class="py-lineno">3008</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L3009"></a><tt class="py-lineno">3009</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3010"></a><tt class="py-lineno">3010</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3011"></a><tt class="py-lineno">3011</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1023" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1023', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1024" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1024', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L3012"></a><tt class="py-lineno">3012</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3013"></a><tt class="py-lineno">3013</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3014"></a><tt class="py-lineno">3014</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3015"></a><tt class="py-lineno">3015</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3016"></a><tt class="py-lineno">3016</tt>  <tt class="py-line">                                 <tt id="link-1025" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1025', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3017"></a><tt class="py-lineno">3017</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3018"></a><tt class="py-lineno">3018</tt>  <tt class="py-line"> </tt>
+<a name="L3019"></a><tt class="py-lineno">3019</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1026" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1026', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add 5 to then get a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3020"></a><tt class="py-lineno">3020</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3021"></a><tt class="py-lineno">3021</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3022"></a><tt class="py-lineno">3022</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3023"></a><tt class="py-lineno">3023</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3024"></a><tt class="py-lineno">3024</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1027" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1027', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1028" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1028', 'counterTestAddAndGet', 'link-1006');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3025"></a><tt class="py-lineno">3025</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3026"></a><tt class="py-lineno">3026</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3027"></a><tt class="py-lineno">3027</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-number">5</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3028"></a><tt class="py-lineno">3028</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L3029"></a><tt class="py-lineno">3029</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3030"></a><tt class="py-lineno">3030</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3031"></a><tt class="py-lineno">3031</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3032"></a><tt class="py-lineno">3032</tt>  <tt class="py-line"> </tt>
+<a name="L3033"></a><tt class="py-lineno">3033</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3034"></a><tt class="py-lineno">3034</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3035"></a><tt class="py-lineno">3035</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3036"></a><tt class="py-lineno">3036</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3037"></a><tt class="py-lineno">3037</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3038"></a><tt class="py-lineno">3038</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3039"></a><tt class="py-lineno">3039</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L3040"></a><tt class="py-lineno">3040</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3041"></a><tt class="py-lineno">3041</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3042"></a><tt class="py-lineno">3042</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1029" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1029', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1030" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1030', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L3043"></a><tt class="py-lineno">3043</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3044"></a><tt class="py-lineno">3044</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3045"></a><tt class="py-lineno">3045</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3046"></a><tt class="py-lineno">3046</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3047"></a><tt class="py-lineno">3047</tt>  <tt class="py-line">                                 <tt id="link-1031" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1031', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3048"></a><tt class="py-lineno">3048</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3049"></a><tt class="py-lineno">3049</tt>  <tt class="py-line"> </tt>
+<a name="L3050"></a><tt class="py-lineno">3050</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1032" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1032', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get then add 5 to a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3051"></a><tt class="py-lineno">3051</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3052"></a><tt class="py-lineno">3052</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3053"></a><tt class="py-lineno">3053</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3054"></a><tt class="py-lineno">3054</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3055"></a><tt class="py-lineno">3055</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1033" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1033', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1034" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd" class="py-name" href="#" onclick="return doclink('link-1034', 'counterTestGetAndAdd', 'link-1012');">counterTestGetAndAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3056"></a><tt class="py-lineno">3056</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3057"></a><tt class="py-lineno">3057</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3058"></a><tt class="py-lineno">3058</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-number">5</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3059"></a><tt class="py-lineno">3059</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3060"></a><tt class="py-lineno">3060</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L3061"></a><tt class="py-lineno">3061</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3062"></a><tt class="py-lineno">3062</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3063"></a><tt class="py-lineno">3063</tt>  <tt class="py-line"> </tt>
+<a name="L3064"></a><tt class="py-lineno">3064</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3065"></a><tt class="py-lineno">3065</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3066"></a><tt class="py-lineno">3066</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3067"></a><tt class="py-lineno">3067</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3068"></a><tt class="py-lineno">3068</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3069"></a><tt class="py-lineno">3069</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3070"></a><tt class="py-lineno">3070</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L3071"></a><tt class="py-lineno">3071</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3072"></a><tt class="py-lineno">3072</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3073"></a><tt class="py-lineno">3073</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1035" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1035', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1036" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1036', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L3074"></a><tt class="py-lineno">3074</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3075"></a><tt class="py-lineno">3075</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3076"></a><tt class="py-lineno">3076</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3077"></a><tt class="py-lineno">3077</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3078"></a><tt class="py-lineno">3078</tt>  <tt class="py-line">                                 <tt id="link-1037" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1037', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3079"></a><tt class="py-lineno">3079</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3080"></a><tt class="py-lineno">3080</tt>  <tt class="py-line"> </tt>
+<a name="L3081"></a><tt class="py-lineno">3081</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1038" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1038', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3082"></a><tt class="py-lineno">3082</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1039" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1039', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1040" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1040', 'counterCheck', 'link-1018');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">pCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3083"></a><tt class="py-lineno">3083</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3084"></a><tt class="py-lineno">3084</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L3085"></a><tt class="py-lineno">3085</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3086"></a><tt class="py-lineno">3086</tt>  <tt class="py-line">                                 <tt id="link-1041" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1041', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3087"></a><tt class="py-lineno">3087</tt>  <tt class="py-line"> </tt>
+<a name="L3088"></a><tt class="py-lineno">3088</tt>  <tt class="py-line">        <tt class="py-comment"># In-Memory counters</tt> </tt>
+<a name="L3089"></a><tt class="py-lineno">3089</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1042" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1042', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Increment and get an in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3090"></a><tt class="py-lineno">3090</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3091"></a><tt class="py-lineno">3091</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3092"></a><tt class="py-lineno">3092</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3093"></a><tt class="py-lineno">3093</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3094"></a><tt class="py-lineno">3094</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1043" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1043', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1044" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1044', 'counterTestAddAndGet', 'link-1006');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3095"></a><tt class="py-lineno">3095</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"icounterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3096"></a><tt class="py-lineno">3096</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3097"></a><tt class="py-lineno">3097</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3098"></a><tt class="py-lineno">3098</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L3099"></a><tt class="py-lineno">3099</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3100"></a><tt class="py-lineno">3100</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3101"></a><tt class="py-lineno">3101</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3102"></a><tt class="py-lineno">3102</tt>  <tt class="py-line"> </tt>
+<a name="L3103"></a><tt class="py-lineno">3103</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3104"></a><tt class="py-lineno">3104</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3105"></a><tt class="py-lineno">3105</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3106"></a><tt class="py-lineno">3106</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3107"></a><tt class="py-lineno">3107</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3108"></a><tt class="py-lineno">3108</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3109"></a><tt class="py-lineno">3109</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L3110"></a><tt class="py-lineno">3110</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3111"></a><tt class="py-lineno">3111</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3112"></a><tt class="py-lineno">3112</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1045" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1045', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1046" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1046', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in the in-memory "</tt> </tt>
+<a name="L3113"></a><tt class="py-lineno">3113</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3114"></a><tt class="py-lineno">3114</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3115"></a><tt class="py-lineno">3115</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">iCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3116"></a><tt class="py-lineno">3116</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3117"></a><tt class="py-lineno">3117</tt>  <tt class="py-line">                                 <tt id="link-1047" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1047', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3118"></a><tt class="py-lineno">3118</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3119"></a><tt class="py-lineno">3119</tt>  <tt class="py-line"> </tt>
+<a name="L3120"></a><tt class="py-lineno">3120</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1048" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1048', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get then Increment a in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3121"></a><tt class="py-lineno">3121</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3122"></a><tt class="py-lineno">3122</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3123"></a><tt class="py-lineno">3123</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3124"></a><tt class="py-lineno">3124</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3125"></a><tt class="py-lineno">3125</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1049" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1049', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1050" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd" class="py-name" href="#" onclick="return doclink('link-1050', 'counterTestGetAndAdd', 'link-1012');">counterTestGetAndAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3126"></a><tt class="py-lineno">3126</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterGetAndAdd-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3127"></a><tt class="py-lineno">3127</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3128"></a><tt class="py-lineno">3128</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3129"></a><tt class="py-lineno">3129</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3130"></a><tt class="py-lineno">3130</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L3131"></a><tt class="py-lineno">3131</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3132"></a><tt class="py-lineno">3132</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3133"></a><tt class="py-lineno">3133</tt>  <tt class="py-line"> </tt>
+<a name="L3134"></a><tt class="py-lineno">3134</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3135"></a><tt class="py-lineno">3135</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3136"></a><tt class="py-lineno">3136</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3137"></a><tt class="py-lineno">3137</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3138"></a><tt class="py-lineno">3138</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3139"></a><tt class="py-lineno">3139</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3140"></a><tt class="py-lineno">3140</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L3141"></a><tt class="py-lineno">3141</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3142"></a><tt class="py-lineno">3142</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3143"></a><tt class="py-lineno">3143</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1051" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1051', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1052" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1052', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in in-memory "</tt> </tt>
+<a name="L3144"></a><tt class="py-lineno">3144</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3145"></a><tt class="py-lineno">3145</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3146"></a><tt class="py-lineno">3146</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">iCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3147"></a><tt class="py-lineno">3147</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3148"></a><tt class="py-lineno">3148</tt>  <tt class="py-line">                                 <tt id="link-1053" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1053', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3149"></a><tt class="py-lineno">3149</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3150"></a><tt class="py-lineno">3150</tt>  <tt class="py-line"> </tt>
+<a name="L3151"></a><tt class="py-lineno">3151</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1054" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1054', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3152"></a><tt class="py-lineno">3152</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1055" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1055', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1056" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1056', 'counterCheck', 'link-1018');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3153"></a><tt class="py-lineno">3153</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3154"></a><tt class="py-lineno">3154</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L3155"></a><tt class="py-lineno">3155</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3156"></a><tt class="py-lineno">3156</tt>  <tt class="py-line">                                 <tt id="link-1057" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1057', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3157"></a><tt class="py-lineno">3157</tt>  <tt class="py-line"> </tt>
+<a name="L3158"></a><tt class="py-lineno">3158</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1058" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1058', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add -8 to then get a in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3159"></a><tt class="py-lineno">3159</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3160"></a><tt class="py-lineno">3160</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3161"></a><tt class="py-lineno">3161</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3162"></a><tt class="py-lineno">3162</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3163"></a><tt class="py-lineno">3163</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1059" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1059', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1060" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1060', 'counterTestAddAndGet', 'link-1006');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3164"></a><tt class="py-lineno">3164</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3165"></a><tt class="py-lineno">3165</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3166"></a><tt class="py-lineno">3166</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-op">-</tt><tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt>  <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3167"></a><tt class="py-lineno">3167</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-op">-</tt><tt class="py-number">8</tt> </tt>
+<a name="L3168"></a><tt class="py-lineno">3168</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3169"></a><tt class="py-lineno">3169</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3170"></a><tt class="py-lineno">3170</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3171"></a><tt class="py-lineno">3171</tt>  <tt class="py-line"> </tt>
+<a name="L3172"></a><tt class="py-lineno">3172</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3173"></a><tt class="py-lineno">3173</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3174"></a><tt class="py-lineno">3174</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3175"></a><tt class="py-lineno">3175</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3176"></a><tt class="py-lineno">3176</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3177"></a><tt class="py-lineno">3177</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3178"></a><tt class="py-lineno">3178</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L3179"></a><tt class="py-lineno">3179</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3180"></a><tt class="py-lineno">3180</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3181"></a><tt class="py-lineno">3181</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1061" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1061', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1062" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1062', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in in-memory "</tt> </tt>
+<a name="L3182"></a><tt class="py-lineno">3182</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3183"></a><tt class="py-lineno">3183</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3184"></a><tt class="py-lineno">3184</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3185"></a><tt class="py-lineno">3185</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3186"></a><tt class="py-lineno">3186</tt>  <tt class="py-line">                                 <tt id="link-1063" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1063', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3187"></a><tt class="py-lineno">3187</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3188"></a><tt class="py-lineno">3188</tt>  <tt class="py-line"> </tt>
+<a name="L3189"></a><tt class="py-lineno">3189</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1064" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1064', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add 5 to then get a in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3190"></a><tt class="py-lineno">3190</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3191"></a><tt class="py-lineno">3191</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3192"></a><tt class="py-lineno">3192</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3193"></a><tt class="py-lineno">3193</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3194"></a><tt class="py-lineno">3194</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1065" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1065', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1066" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-1066', 'counterTestAddAndGet', 'link-1006');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3195"></a><tt class="py-lineno">3195</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3196"></a><tt class="py-lineno">3196</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3197"></a><tt class="py-lineno">3197</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt>  <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3198"></a><tt class="py-lineno">3198</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L3199"></a><tt class="py-lineno">3199</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3200"></a><tt class="py-lineno">3200</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3201"></a><tt class="py-lineno">3201</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3202"></a><tt class="py-lineno">3202</tt>  <tt class="py-line"> </tt>
+<a name="L3203"></a><tt class="py-lineno">3203</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3204"></a><tt class="py-lineno">3204</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3205"></a><tt class="py-lineno">3205</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3206"></a><tt class="py-lineno">3206</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3207"></a><tt class="py-lineno">3207</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3208"></a><tt class="py-lineno">3208</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3209"></a><tt class="py-lineno">3209</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L3210"></a><tt class="py-lineno">3210</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3211"></a><tt class="py-lineno">3211</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3212"></a><tt class="py-lineno">3212</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1067" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1067', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1068" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1068', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in in-memory "</tt> </tt>
+<a name="L3213"></a><tt class="py-lineno">3213</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3214"></a><tt class="py-lineno">3214</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3215"></a><tt class="py-lineno">3215</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3216"></a><tt class="py-lineno">3216</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3217"></a><tt class="py-lineno">3217</tt>  <tt class="py-line">                                 <tt id="link-1069" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1069', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3218"></a><tt class="py-lineno">3218</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3219"></a><tt class="py-lineno">3219</tt>  <tt class="py-line"> </tt>
+<a name="L3220"></a><tt class="py-lineno">3220</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1070" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1070', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get then add 5 to a in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3221"></a><tt class="py-lineno">3221</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3222"></a><tt class="py-lineno">3222</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3223"></a><tt class="py-lineno">3223</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3224"></a><tt class="py-lineno">3224</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3225"></a><tt class="py-lineno">3225</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1071" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1071', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1072" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd" class="py-name" href="#" onclick="return doclink('link-1072', 'counterTestGetAndAdd', 'link-1012');">counterTestGetAndAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3226"></a><tt class="py-lineno">3226</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3227"></a><tt class="py-lineno">3227</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3228"></a><tt class="py-lineno">3228</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt>  <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3229"></a><tt class="py-lineno">3229</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3230"></a><tt class="py-lineno">3230</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L3231"></a><tt class="py-lineno">3231</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3232"></a><tt class="py-lineno">3232</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3233"></a><tt class="py-lineno">3233</tt>  <tt class="py-line"> </tt>
+<a name="L3234"></a><tt class="py-lineno">3234</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3235"></a><tt class="py-lineno">3235</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3236"></a><tt class="py-lineno">3236</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3237"></a><tt class="py-lineno">3237</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L3238"></a><tt class="py-lineno">3238</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3239"></a><tt class="py-lineno">3239</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L3240"></a><tt class="py-lineno">3240</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L3241"></a><tt class="py-lineno">3241</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L3242"></a><tt class="py-lineno">3242</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L3243"></a><tt class="py-lineno">3243</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1073" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1073', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1074" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1074', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in in-memory "</tt> </tt>
+<a name="L3244"></a><tt class="py-lineno">3244</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3245"></a><tt class="py-lineno">3245</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L3246"></a><tt class="py-lineno">3246</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">iCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3247"></a><tt class="py-lineno">3247</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3248"></a><tt class="py-lineno">3248</tt>  <tt class="py-line">                                 <tt id="link-1075" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1075', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3249"></a><tt class="py-lineno">3249</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3250"></a><tt class="py-lineno">3250</tt>  <tt class="py-line"> </tt>
+<a name="L3251"></a><tt class="py-lineno">3251</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1076" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1076', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3252"></a><tt class="py-lineno">3252</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1077" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1077', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1078" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1078', 'counterCheck', 'link-1018');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3253"></a><tt class="py-lineno">3253</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3254"></a><tt class="py-lineno">3254</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L3255"></a><tt class="py-lineno">3255</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3256"></a><tt class="py-lineno">3256</tt>  <tt class="py-line">                                 <tt id="link-1079" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1079', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3257"></a><tt class="py-lineno">3257</tt>  <tt class="py-line"> </tt>
+<a name="L3258"></a><tt class="py-lineno">3258</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1080" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1080', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check counters are consistant across nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3259"></a><tt class="py-lineno">3259</tt>  <tt class="py-line">        <tt class="py-name">onosCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3260"></a><tt class="py-lineno">3260</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3261"></a><tt class="py-lineno">3261</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3262"></a><tt class="py-lineno">3262</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1081" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1081', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1082" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counters"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters" class="py-name" href="#" onclick="return doclink('link-1082', 'counters', 'link-1082');">counters</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3263"></a><tt class="py-lineno">3263</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counters-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3264"></a><tt class="py-lineno">3264</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3265"></a><tt class="py-lineno">3265</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3266"></a><tt class="py-lineno">3266</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3267"></a><tt class="py-lineno">3267</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3268"></a><tt class="py-lineno">3268</tt>  <tt class="py-line">            <tt class="py-name">onosCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3269"></a><tt class="py-lineno">3269</tt>  <tt class="py-line">        <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosCounters</tt> <tt class="py-op">]</tt> </tt>
+<a name="L3270"></a><tt class="py-lineno">3270</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt> <tt class="py-name">tmp</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3271"></a><tt class="py-lineno">3271</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1083" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1083', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Counters are consistent across all nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3272"></a><tt class="py-lineno">3272</tt>  <tt class="py-line">            <tt class="py-name">consistentCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3273"></a><tt class="py-lineno">3273</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3274"></a><tt class="py-lineno">3274</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1084" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1084', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1085" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1085', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters are not consistent across all nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3275"></a><tt class="py-lineno">3275</tt>  <tt class="py-line">            <tt class="py-name">consistentCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3276"></a><tt class="py-lineno">3276</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3277"></a><tt class="py-lineno">3277</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3278"></a><tt class="py-lineno">3278</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS counters are consistent "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3279"></a><tt class="py-lineno">3279</tt>  <tt class="py-line">                                        <tt class="py-string">"across nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3280"></a><tt class="py-lineno">3280</tt>  <tt class="py-line">                                 <tt id="link-1086" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1086', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS Counters are inconsistent "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3281"></a><tt class="py-lineno">3281</tt>  <tt class="py-line">                                        <tt class="py-string">"across nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3282"></a><tt class="py-lineno">3282</tt>  <tt class="py-line"> </tt>
+<a name="L3283"></a><tt class="py-lineno">3283</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1087" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1087', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3284"></a><tt class="py-lineno">3284</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1088" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1088', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1089" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1089', 'counterCheck', 'link-1018');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3285"></a><tt class="py-lineno">3285</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">incrementCheck</tt> <tt class="py-keyword">and</tt> \ </tt>
+<a name="L3286"></a><tt class="py-lineno">3286</tt>  <tt class="py-line">                         <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1090" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-1090', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-1091" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-1091', 'counterCheck', 'link-1018');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3287"></a><tt class="py-lineno">3287</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3288"></a><tt class="py-lineno">3288</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L3289"></a><tt class="py-lineno">3289</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3290"></a><tt class="py-lineno">3290</tt>  <tt class="py-line">                                 <tt id="link-1092" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1092', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3291"></a><tt class="py-lineno">3291</tt>  <tt class="py-line"> </tt>
+<a name="L3292"></a><tt class="py-lineno">3292</tt>  <tt class="py-line">        <tt class="py-comment"># DISTRIBUTED SETS</tt> </tt>
+<a name="L3293"></a><tt class="py-lineno">3293</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1093" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1093', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set get"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3294"></a><tt class="py-lineno">3294</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3295"></a><tt class="py-lineno">3295</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3296"></a><tt class="py-lineno">3296</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3297"></a><tt class="py-lineno">3297</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3298"></a><tt class="py-lineno">3298</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1094" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1094', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1095" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestGet"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1095', 'setTestGet', 'link-1095');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3299"></a><tt class="py-lineno">3299</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3300"></a><tt class="py-lineno">3300</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3301"></a><tt class="py-lineno">3301</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3302"></a><tt class="py-lineno">3302</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3303"></a><tt class="py-lineno">3303</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3304"></a><tt class="py-lineno">3304</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3305"></a><tt class="py-lineno">3305</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3306"></a><tt class="py-lineno">3306</tt>  <tt class="py-line"> </tt>
+<a name="L3307"></a><tt class="py-lineno">3307</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3308"></a><tt class="py-lineno">3308</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3309"></a><tt class="py-lineno">3309</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3310"></a><tt class="py-lineno">3310</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3311"></a><tt class="py-lineno">3311</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3312"></a><tt class="py-lineno">3312</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3313"></a><tt class="py-lineno">3313</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3314"></a><tt class="py-lineno">3314</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1096" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1096', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1097" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1097', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3315"></a><tt class="py-lineno">3315</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3316"></a><tt class="py-lineno">3316</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3317"></a><tt class="py-lineno">3317</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3318"></a><tt class="py-lineno">3318</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1098" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1098', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3319"></a><tt class="py-lineno">3319</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1099" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1099', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3320"></a><tt class="py-lineno">3320</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3321"></a><tt class="py-lineno">3321</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3322"></a><tt class="py-lineno">3322</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3323"></a><tt class="py-lineno">3323</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1100" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1100', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1101" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1101', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3324"></a><tt class="py-lineno">3324</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3325"></a><tt class="py-lineno">3325</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3326"></a><tt class="py-lineno">3326</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3327"></a><tt class="py-lineno">3327</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3328"></a><tt class="py-lineno">3328</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3329"></a><tt class="py-lineno">3329</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3330"></a><tt class="py-lineno">3330</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3331"></a><tt class="py-lineno">3331</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">getResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3332"></a><tt class="py-lineno">3332</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set elements are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3333"></a><tt class="py-lineno">3333</tt>  <tt class="py-line">                                 <tt id="link-1102" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1102', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set elements are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3334"></a><tt class="py-lineno">3334</tt>  <tt class="py-line"> </tt>
+<a name="L3335"></a><tt class="py-lineno">3335</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1103" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1103', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set size"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3336"></a><tt class="py-lineno">3336</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3337"></a><tt class="py-lineno">3337</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3338"></a><tt class="py-lineno">3338</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3339"></a><tt class="py-lineno">3339</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1104" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1104', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1105" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestSize"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1105', 'setTestSize', 'link-1105');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3340"></a><tt class="py-lineno">3340</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3341"></a><tt class="py-lineno">3341</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3342"></a><tt class="py-lineno">3342</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3343"></a><tt class="py-lineno">3343</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3344"></a><tt class="py-lineno">3344</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3345"></a><tt class="py-lineno">3345</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3346"></a><tt class="py-lineno">3346</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3347"></a><tt class="py-lineno">3347</tt>  <tt class="py-line"> </tt>
+<a name="L3348"></a><tt class="py-lineno">3348</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3349"></a><tt class="py-lineno">3349</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3350"></a><tt class="py-lineno">3350</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3351"></a><tt class="py-lineno">3351</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3352"></a><tt class="py-lineno">3352</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1106" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1106', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1107" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1107', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3353"></a><tt class="py-lineno">3353</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3354"></a><tt class="py-lineno">3354</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3355"></a><tt class="py-lineno">3355</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3356"></a><tt class="py-lineno">3356</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3357"></a><tt class="py-lineno">3357</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">sizeResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3358"></a><tt class="py-lineno">3358</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set sizes are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3359"></a><tt class="py-lineno">3359</tt>  <tt class="py-line">                                 <tt id="link-1108" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1108', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set sizes are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3360"></a><tt class="py-lineno">3360</tt>  <tt class="py-line"> </tt>
+<a name="L3361"></a><tt class="py-lineno">3361</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1109" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1109', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set add()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3362"></a><tt class="py-lineno">3362</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">add</tt><tt class="py-op">(</tt> <tt class="py-name">addValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3363"></a><tt class="py-lineno">3363</tt>  <tt class="py-line">        <tt class="py-name">addResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3364"></a><tt class="py-lineno">3364</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3365"></a><tt class="py-lineno">3365</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3366"></a><tt class="py-lineno">3366</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1110" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1110', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1111" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestAdd"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd" class="py-name" href="#" onclick="return doclink('link-1111', 'setTestAdd', 'link-1111');">setTestAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3367"></a><tt class="py-lineno">3367</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestAdd-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3368"></a><tt class="py-lineno">3368</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3369"></a><tt class="py-lineno">3369</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3370"></a><tt class="py-lineno">3370</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3371"></a><tt class="py-lineno">3371</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3372"></a><tt class="py-lineno">3372</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3373"></a><tt class="py-lineno">3373</tt>  <tt class="py-line">            <tt class="py-name">addResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3374"></a><tt class="py-lineno">3374</tt>  <tt class="py-line"> </tt>
+<a name="L3375"></a><tt class="py-lineno">3375</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3376"></a><tt class="py-lineno">3376</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3377"></a><tt class="py-lineno">3377</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3378"></a><tt class="py-lineno">3378</tt>  <tt class="py-line">        <tt class="py-name">addResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3379"></a><tt class="py-lineno">3379</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3380"></a><tt class="py-lineno">3380</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3381"></a><tt class="py-lineno">3381</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3382"></a><tt class="py-lineno">3382</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3383"></a><tt class="py-lineno">3383</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3384"></a><tt class="py-lineno">3384</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L3385"></a><tt class="py-lineno">3385</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3386"></a><tt class="py-lineno">3386</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3387"></a><tt class="py-lineno">3387</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3388"></a><tt class="py-lineno">3388</tt>  <tt class="py-line">                <tt class="py-name">addResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3389"></a><tt class="py-lineno">3389</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3390"></a><tt class="py-lineno">3390</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3391"></a><tt class="py-lineno">3391</tt>  <tt class="py-line">                <tt class="py-name">addResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3392"></a><tt class="py-lineno">3392</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">addResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3393"></a><tt class="py-lineno">3393</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1112" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1112', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1113" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1113', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set add"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3394"></a><tt class="py-lineno">3394</tt>  <tt class="py-line"> </tt>
+<a name="L3395"></a><tt class="py-lineno">3395</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3396"></a><tt class="py-lineno">3396</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3397"></a><tt class="py-lineno">3397</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3398"></a><tt class="py-lineno">3398</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3399"></a><tt class="py-lineno">3399</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3400"></a><tt class="py-lineno">3400</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1114" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1114', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1115" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1115', 'setTestGet', 'link-1095');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3401"></a><tt class="py-lineno">3401</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3402"></a><tt class="py-lineno">3402</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3403"></a><tt class="py-lineno">3403</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3404"></a><tt class="py-lineno">3404</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3405"></a><tt class="py-lineno">3405</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3406"></a><tt class="py-lineno">3406</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3407"></a><tt class="py-lineno">3407</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3408"></a><tt class="py-lineno">3408</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3409"></a><tt class="py-lineno">3409</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3410"></a><tt class="py-lineno">3410</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3411"></a><tt class="py-lineno">3411</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3412"></a><tt class="py-lineno">3412</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3413"></a><tt class="py-lineno">3413</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3414"></a><tt class="py-lineno">3414</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3415"></a><tt class="py-lineno">3415</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1116" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1116', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1117" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1117', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3416"></a><tt class="py-lineno">3416</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3417"></a><tt class="py-lineno">3417</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3418"></a><tt class="py-lineno">3418</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3419"></a><tt class="py-lineno">3419</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1118" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1118', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3420"></a><tt class="py-lineno">3420</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1119" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1119', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3421"></a><tt class="py-lineno">3421</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3422"></a><tt class="py-lineno">3422</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3423"></a><tt class="py-lineno">3423</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3424"></a><tt class="py-lineno">3424</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1120" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1120', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1121" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1121', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3425"></a><tt class="py-lineno">3425</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3426"></a><tt class="py-lineno">3426</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3427"></a><tt class="py-lineno">3427</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3428"></a><tt class="py-lineno">3428</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3429"></a><tt class="py-lineno">3429</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3430"></a><tt class="py-lineno">3430</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3431"></a><tt class="py-lineno">3431</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3432"></a><tt class="py-lineno">3432</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3433"></a><tt class="py-lineno">3433</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3434"></a><tt class="py-lineno">3434</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1122" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1122', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1123" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1123', 'setTestSize', 'link-1105');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3435"></a><tt class="py-lineno">3435</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3436"></a><tt class="py-lineno">3436</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3437"></a><tt class="py-lineno">3437</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3438"></a><tt class="py-lineno">3438</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3439"></a><tt class="py-lineno">3439</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3440"></a><tt class="py-lineno">3440</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3441"></a><tt class="py-lineno">3441</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3442"></a><tt class="py-lineno">3442</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3443"></a><tt class="py-lineno">3443</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3444"></a><tt class="py-lineno">3444</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3445"></a><tt class="py-lineno">3445</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3446"></a><tt class="py-lineno">3446</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1124" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1124', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1125" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1125', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3447"></a><tt class="py-lineno">3447</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3448"></a><tt class="py-lineno">3448</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3449"></a><tt class="py-lineno">3449</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3450"></a><tt class="py-lineno">3450</tt>  <tt class="py-line">        <tt class="py-name">addResults</tt> <tt class="py-op">=</tt> <tt class="py-name">addResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3451"></a><tt class="py-lineno">3451</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3452"></a><tt class="py-lineno">3452</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">addResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3453"></a><tt class="py-lineno">3453</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set add correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3454"></a><tt class="py-lineno">3454</tt>  <tt class="py-line">                                 <tt id="link-1126" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1126', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set add was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3455"></a><tt class="py-lineno">3455</tt>  <tt class="py-line"> </tt>
+<a name="L3456"></a><tt class="py-lineno">3456</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1127" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1127', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set addAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3457"></a><tt class="py-lineno">3457</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt id="link-1128" class="py-name" targets="Method TestON.core.dicttoobject.DictToObject.update()=TestON.core.dicttoobject.DictToObject-class.html#update,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#update"><a title="TestON.core.dicttoobject.DictToObject.update
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update" class="py-name" href="#" onclick="return doclink('link-1128', 'update', 'link-1128');">update</a></tt><tt class="py-op">(</tt> <tt class="py-name">addAllValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3458"></a><tt class="py-lineno">3458</tt>  <tt class="py-line">        <tt class="py-name">addResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3459"></a><tt class="py-lineno">3459</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3460"></a><tt class="py-lineno">3460</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3461"></a><tt class="py-lineno">3461</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1129" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1129', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1130" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd" class="py-name" href="#" onclick="return doclink('link-1130', 'setTestAdd', 'link-1111');">setTestAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3462"></a><tt class="py-lineno">3462</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestAddAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3463"></a><tt class="py-lineno">3463</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3464"></a><tt class="py-lineno">3464</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3465"></a><tt class="py-lineno">3465</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3466"></a><tt class="py-lineno">3466</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3467"></a><tt class="py-lineno">3467</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3468"></a><tt class="py-lineno">3468</tt>  <tt class="py-line">            <tt class="py-name">addResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3469"></a><tt class="py-lineno">3469</tt>  <tt class="py-line"> </tt>
+<a name="L3470"></a><tt class="py-lineno">3470</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3471"></a><tt class="py-lineno">3471</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3472"></a><tt class="py-lineno">3472</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3473"></a><tt class="py-lineno">3473</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3474"></a><tt class="py-lineno">3474</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3475"></a><tt class="py-lineno">3475</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3476"></a><tt class="py-lineno">3476</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3477"></a><tt class="py-lineno">3477</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3478"></a><tt class="py-lineno">3478</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3479"></a><tt class="py-lineno">3479</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L3480"></a><tt class="py-lineno">3480</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3481"></a><tt class="py-lineno">3481</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3482"></a><tt class="py-lineno">3482</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3483"></a><tt class="py-lineno">3483</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3484"></a><tt class="py-lineno">3484</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3485"></a><tt class="py-lineno">3485</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3486"></a><tt class="py-lineno">3486</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3487"></a><tt class="py-lineno">3487</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">addAllResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3488"></a><tt class="py-lineno">3488</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1131" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1131', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1132" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1132', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set addAll"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3489"></a><tt class="py-lineno">3489</tt>  <tt class="py-line"> </tt>
+<a name="L3490"></a><tt class="py-lineno">3490</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3491"></a><tt class="py-lineno">3491</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3492"></a><tt class="py-lineno">3492</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3493"></a><tt class="py-lineno">3493</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3494"></a><tt class="py-lineno">3494</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3495"></a><tt class="py-lineno">3495</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1133" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1133', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1134" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1134', 'setTestGet', 'link-1095');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3496"></a><tt class="py-lineno">3496</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3497"></a><tt class="py-lineno">3497</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3498"></a><tt class="py-lineno">3498</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3499"></a><tt class="py-lineno">3499</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3500"></a><tt class="py-lineno">3500</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3501"></a><tt class="py-lineno">3501</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3502"></a><tt class="py-lineno">3502</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3503"></a><tt class="py-lineno">3503</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3504"></a><tt class="py-lineno">3504</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3505"></a><tt class="py-lineno">3505</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3506"></a><tt class="py-lineno">3506</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3507"></a><tt class="py-lineno">3507</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3508"></a><tt class="py-lineno">3508</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3509"></a><tt class="py-lineno">3509</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3510"></a><tt class="py-lineno">3510</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1135" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1135', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1136" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1136', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3511"></a><tt class="py-lineno">3511</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3512"></a><tt class="py-lineno">3512</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3513"></a><tt class="py-lineno">3513</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3514"></a><tt class="py-lineno">3514</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1137" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1137', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3515"></a><tt class="py-lineno">3515</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1138" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1138', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3516"></a><tt class="py-lineno">3516</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3517"></a><tt class="py-lineno">3517</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3518"></a><tt class="py-lineno">3518</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3519"></a><tt class="py-lineno">3519</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1139" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1139', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1140" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1140', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3520"></a><tt class="py-lineno">3520</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3521"></a><tt class="py-lineno">3521</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3522"></a><tt class="py-lineno">3522</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3523"></a><tt class="py-lineno">3523</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3524"></a><tt class="py-lineno">3524</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3525"></a><tt class="py-lineno">3525</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3526"></a><tt class="py-lineno">3526</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3527"></a><tt class="py-lineno">3527</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3528"></a><tt class="py-lineno">3528</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3529"></a><tt class="py-lineno">3529</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1141" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1141', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1142" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1142', 'setTestSize', 'link-1105');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3530"></a><tt class="py-lineno">3530</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3531"></a><tt class="py-lineno">3531</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3532"></a><tt class="py-lineno">3532</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3533"></a><tt class="py-lineno">3533</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3534"></a><tt class="py-lineno">3534</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3535"></a><tt class="py-lineno">3535</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3536"></a><tt class="py-lineno">3536</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3537"></a><tt class="py-lineno">3537</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3538"></a><tt class="py-lineno">3538</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3539"></a><tt class="py-lineno">3539</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3540"></a><tt class="py-lineno">3540</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3541"></a><tt class="py-lineno">3541</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1143" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1143', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1144" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1144', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3542"></a><tt class="py-lineno">3542</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3543"></a><tt class="py-lineno">3543</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3544"></a><tt class="py-lineno">3544</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3545"></a><tt class="py-lineno">3545</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">addAllResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3546"></a><tt class="py-lineno">3546</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3547"></a><tt class="py-lineno">3547</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">addAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3548"></a><tt class="py-lineno">3548</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3549"></a><tt class="py-lineno">3549</tt>  <tt class="py-line">                                 <tt id="link-1145" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1145', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3550"></a><tt class="py-lineno">3550</tt>  <tt class="py-line"> </tt>
+<a name="L3551"></a><tt class="py-lineno">3551</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1146" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1146', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set contains()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3552"></a><tt class="py-lineno">3552</tt>  <tt class="py-line">        <tt class="py-name">containsResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3553"></a><tt class="py-lineno">3553</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3554"></a><tt class="py-lineno">3554</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3555"></a><tt class="py-lineno">3555</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1147" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1147', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1148" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1148', 'setTestGet', 'link-1095');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3556"></a><tt class="py-lineno">3556</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setContains-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3557"></a><tt class="py-lineno">3557</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3558"></a><tt class="py-lineno">3558</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"values"</tt><tt class="py-op">:</tt> <tt class="py-name">addValue</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3559"></a><tt class="py-lineno">3559</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3560"></a><tt class="py-lineno">3560</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3561"></a><tt class="py-lineno">3561</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3562"></a><tt class="py-lineno">3562</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3563"></a><tt class="py-lineno">3563</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: This is the tuple</tt> </tt>
+<a name="L3564"></a><tt class="py-lineno">3564</tt>  <tt class="py-line">            <tt class="py-name">containsResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3565"></a><tt class="py-lineno">3565</tt>  <tt class="py-line"> </tt>
+<a name="L3566"></a><tt class="py-lineno">3566</tt>  <tt class="py-line">        <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3567"></a><tt class="py-lineno">3567</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3568"></a><tt class="py-lineno">3568</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">containsResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3569"></a><tt class="py-lineno">3569</tt>  <tt class="py-line">                <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3570"></a><tt class="py-lineno">3570</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3571"></a><tt class="py-lineno">3571</tt>  <tt class="py-line">                <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">containsResults</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L3572"></a><tt class="py-lineno">3572</tt>  <tt class="py-line">                                  <tt class="py-name">containsResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L3573"></a><tt class="py-lineno">3573</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3574"></a><tt class="py-lineno">3574</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">containsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3575"></a><tt class="py-lineno">3575</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set contains is functional"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3576"></a><tt class="py-lineno">3576</tt>  <tt class="py-line">                                 <tt id="link-1149" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1149', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set contains failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3577"></a><tt class="py-lineno">3577</tt>  <tt class="py-line"> </tt>
+<a name="L3578"></a><tt class="py-lineno">3578</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1150" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1150', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set containsAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3579"></a><tt class="py-lineno">3579</tt>  <tt class="py-line">        <tt class="py-name">containsAllResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3580"></a><tt class="py-lineno">3580</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3581"></a><tt class="py-lineno">3581</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3582"></a><tt class="py-lineno">3582</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1151" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1151', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1152" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1152', 'setTestGet', 'link-1095');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3583"></a><tt class="py-lineno">3583</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setContainsAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3584"></a><tt class="py-lineno">3584</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3585"></a><tt class="py-lineno">3585</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"values"</tt><tt class="py-op">:</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3586"></a><tt class="py-lineno">3586</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3587"></a><tt class="py-lineno">3587</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3588"></a><tt class="py-lineno">3588</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3589"></a><tt class="py-lineno">3589</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3590"></a><tt class="py-lineno">3590</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: This is the tuple</tt> </tt>
+<a name="L3591"></a><tt class="py-lineno">3591</tt>  <tt class="py-line">            <tt class="py-name">containsAllResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3592"></a><tt class="py-lineno">3592</tt>  <tt class="py-line"> </tt>
+<a name="L3593"></a><tt class="py-lineno">3593</tt>  <tt class="py-line">        <tt class="py-name">containsAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3594"></a><tt class="py-lineno">3594</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3595"></a><tt class="py-lineno">3595</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">containsResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3596"></a><tt class="py-lineno">3596</tt>  <tt class="py-line">                <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3597"></a><tt class="py-lineno">3597</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3598"></a><tt class="py-lineno">3598</tt>  <tt class="py-line">                <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">containsResults</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L3599"></a><tt class="py-lineno">3599</tt>  <tt class="py-line">                                  <tt class="py-name">containsResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L3600"></a><tt class="py-lineno">3600</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3601"></a><tt class="py-lineno">3601</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">containsAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3602"></a><tt class="py-lineno">3602</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set containsAll is functional"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3603"></a><tt class="py-lineno">3603</tt>  <tt class="py-line">                                 <tt id="link-1153" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1153', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set containsAll failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3604"></a><tt class="py-lineno">3604</tt>  <tt class="py-line"> </tt>
+<a name="L3605"></a><tt class="py-lineno">3605</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1154" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1154', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set remove()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3606"></a><tt class="py-lineno">3606</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt> <tt class="py-name">addValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3607"></a><tt class="py-lineno">3607</tt>  <tt class="py-line">        <tt class="py-name">removeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3608"></a><tt class="py-lineno">3608</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3609"></a><tt class="py-lineno">3609</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3610"></a><tt class="py-lineno">3610</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1155" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1155', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1156" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestRemove"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove" class="py-name" href="#" onclick="return doclink('link-1156', 'setTestRemove', 'link-1156');">setTestRemove</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3611"></a><tt class="py-lineno">3611</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestRemove-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3612"></a><tt class="py-lineno">3612</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3613"></a><tt class="py-lineno">3613</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3614"></a><tt class="py-lineno">3614</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3615"></a><tt class="py-lineno">3615</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3616"></a><tt class="py-lineno">3616</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3617"></a><tt class="py-lineno">3617</tt>  <tt class="py-line">            <tt class="py-name">removeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3618"></a><tt class="py-lineno">3618</tt>  <tt class="py-line"> </tt>
+<a name="L3619"></a><tt class="py-lineno">3619</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3620"></a><tt class="py-lineno">3620</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3621"></a><tt class="py-lineno">3621</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3622"></a><tt class="py-lineno">3622</tt>  <tt class="py-line">        <tt class="py-name">removeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3623"></a><tt class="py-lineno">3623</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3624"></a><tt class="py-lineno">3624</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">removeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3625"></a><tt class="py-lineno">3625</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3626"></a><tt class="py-lineno">3626</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3627"></a><tt class="py-lineno">3627</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">removeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3628"></a><tt class="py-lineno">3628</tt>  <tt class="py-line">                <tt class="py-comment"># not in set, probably fine</tt> </tt>
+<a name="L3629"></a><tt class="py-lineno">3629</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3630"></a><tt class="py-lineno">3630</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">removeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3631"></a><tt class="py-lineno">3631</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3632"></a><tt class="py-lineno">3632</tt>  <tt class="py-line">                <tt class="py-name">removeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3633"></a><tt class="py-lineno">3633</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3634"></a><tt class="py-lineno">3634</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3635"></a><tt class="py-lineno">3635</tt>  <tt class="py-line">                <tt class="py-name">removeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3636"></a><tt class="py-lineno">3636</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">removeResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3637"></a><tt class="py-lineno">3637</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1157" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1157', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1158" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1158', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set remove"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3638"></a><tt class="py-lineno">3638</tt>  <tt class="py-line"> </tt>
+<a name="L3639"></a><tt class="py-lineno">3639</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3640"></a><tt class="py-lineno">3640</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3641"></a><tt class="py-lineno">3641</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3642"></a><tt class="py-lineno">3642</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3643"></a><tt class="py-lineno">3643</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3644"></a><tt class="py-lineno">3644</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1159" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1159', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1160" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1160', 'setTestGet', 'link-1095');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3645"></a><tt class="py-lineno">3645</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3646"></a><tt class="py-lineno">3646</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3647"></a><tt class="py-lineno">3647</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3648"></a><tt class="py-lineno">3648</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3649"></a><tt class="py-lineno">3649</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3650"></a><tt class="py-lineno">3650</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3651"></a><tt class="py-lineno">3651</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3652"></a><tt class="py-lineno">3652</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3653"></a><tt class="py-lineno">3653</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3654"></a><tt class="py-lineno">3654</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3655"></a><tt class="py-lineno">3655</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3656"></a><tt class="py-lineno">3656</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3657"></a><tt class="py-lineno">3657</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3658"></a><tt class="py-lineno">3658</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3659"></a><tt class="py-lineno">3659</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1161" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1161', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1162" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1162', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3660"></a><tt class="py-lineno">3660</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3661"></a><tt class="py-lineno">3661</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3662"></a><tt class="py-lineno">3662</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3663"></a><tt class="py-lineno">3663</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1163" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1163', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3664"></a><tt class="py-lineno">3664</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1164" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1164', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3665"></a><tt class="py-lineno">3665</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3666"></a><tt class="py-lineno">3666</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3667"></a><tt class="py-lineno">3667</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3668"></a><tt class="py-lineno">3668</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1165" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1165', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1166" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1166', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3669"></a><tt class="py-lineno">3669</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3670"></a><tt class="py-lineno">3670</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3671"></a><tt class="py-lineno">3671</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3672"></a><tt class="py-lineno">3672</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3673"></a><tt class="py-lineno">3673</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3674"></a><tt class="py-lineno">3674</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3675"></a><tt class="py-lineno">3675</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3676"></a><tt class="py-lineno">3676</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3677"></a><tt class="py-lineno">3677</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3678"></a><tt class="py-lineno">3678</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1167" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1167', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1168" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1168', 'setTestSize', 'link-1105');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3679"></a><tt class="py-lineno">3679</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3680"></a><tt class="py-lineno">3680</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3681"></a><tt class="py-lineno">3681</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3682"></a><tt class="py-lineno">3682</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3683"></a><tt class="py-lineno">3683</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3684"></a><tt class="py-lineno">3684</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3685"></a><tt class="py-lineno">3685</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3686"></a><tt class="py-lineno">3686</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3687"></a><tt class="py-lineno">3687</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3688"></a><tt class="py-lineno">3688</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3689"></a><tt class="py-lineno">3689</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3690"></a><tt class="py-lineno">3690</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1169" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1169', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1170" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1170', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3691"></a><tt class="py-lineno">3691</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3692"></a><tt class="py-lineno">3692</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3693"></a><tt class="py-lineno">3693</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3694"></a><tt class="py-lineno">3694</tt>  <tt class="py-line">        <tt class="py-name">removeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">removeResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3695"></a><tt class="py-lineno">3695</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3696"></a><tt class="py-lineno">3696</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">removeResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3697"></a><tt class="py-lineno">3697</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set remove correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3698"></a><tt class="py-lineno">3698</tt>  <tt class="py-line">                                 <tt id="link-1171" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1171', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set remove was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3699"></a><tt class="py-lineno">3699</tt>  <tt class="py-line"> </tt>
+<a name="L3700"></a><tt class="py-lineno">3700</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1172" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1172', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set removeAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3701"></a><tt class="py-lineno">3701</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">difference_update</tt><tt class="py-op">(</tt> <tt class="py-name">addAllValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3702"></a><tt class="py-lineno">3702</tt>  <tt class="py-line">        <tt class="py-name">removeAllResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3703"></a><tt class="py-lineno">3703</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3704"></a><tt class="py-lineno">3704</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3705"></a><tt class="py-lineno">3705</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3706"></a><tt class="py-lineno">3706</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1173" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1173', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1174" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove" class="py-name" href="#" onclick="return doclink('link-1174', 'setTestRemove', 'link-1156');">setTestRemove</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3707"></a><tt class="py-lineno">3707</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestRemoveAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3708"></a><tt class="py-lineno">3708</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3709"></a><tt class="py-lineno">3709</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3710"></a><tt class="py-lineno">3710</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3711"></a><tt class="py-lineno">3711</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3712"></a><tt class="py-lineno">3712</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3713"></a><tt class="py-lineno">3713</tt>  <tt class="py-line">                <tt class="py-name">removeAllResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3714"></a><tt class="py-lineno">3714</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L3715"></a><tt class="py-lineno">3715</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1175" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1175', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
+<a name="L3716"></a><tt class="py-lineno">3716</tt>  <tt class="py-line"> </tt>
+<a name="L3717"></a><tt class="py-lineno">3717</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3718"></a><tt class="py-lineno">3718</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3719"></a><tt class="py-lineno">3719</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3720"></a><tt class="py-lineno">3720</tt>  <tt class="py-line">        <tt class="py-name">removeAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3721"></a><tt class="py-lineno">3721</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3722"></a><tt class="py-lineno">3722</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">removeAllResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3723"></a><tt class="py-lineno">3723</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3724"></a><tt class="py-lineno">3724</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3725"></a><tt class="py-lineno">3725</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">removeAllResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3726"></a><tt class="py-lineno">3726</tt>  <tt class="py-line">                <tt class="py-comment"># not in set, probably fine</tt> </tt>
+<a name="L3727"></a><tt class="py-lineno">3727</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3728"></a><tt class="py-lineno">3728</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">removeAllResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3729"></a><tt class="py-lineno">3729</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3730"></a><tt class="py-lineno">3730</tt>  <tt class="py-line">                <tt class="py-name">removeAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3731"></a><tt class="py-lineno">3731</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3732"></a><tt class="py-lineno">3732</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3733"></a><tt class="py-lineno">3733</tt>  <tt class="py-line">                <tt class="py-name">removeAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3734"></a><tt class="py-lineno">3734</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">removeAllResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3735"></a><tt class="py-lineno">3735</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1176" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1176', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1177" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1177', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set removeAll"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3736"></a><tt class="py-lineno">3736</tt>  <tt class="py-line"> </tt>
+<a name="L3737"></a><tt class="py-lineno">3737</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3738"></a><tt class="py-lineno">3738</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3739"></a><tt class="py-lineno">3739</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3740"></a><tt class="py-lineno">3740</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3741"></a><tt class="py-lineno">3741</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3742"></a><tt class="py-lineno">3742</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1178" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1178', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1179" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1179', 'setTestGet', 'link-1095');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3743"></a><tt class="py-lineno">3743</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3744"></a><tt class="py-lineno">3744</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3745"></a><tt class="py-lineno">3745</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3746"></a><tt class="py-lineno">3746</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3747"></a><tt class="py-lineno">3747</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3748"></a><tt class="py-lineno">3748</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3749"></a><tt class="py-lineno">3749</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3750"></a><tt class="py-lineno">3750</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3751"></a><tt class="py-lineno">3751</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3752"></a><tt class="py-lineno">3752</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3753"></a><tt class="py-lineno">3753</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3754"></a><tt class="py-lineno">3754</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3755"></a><tt class="py-lineno">3755</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3756"></a><tt class="py-lineno">3756</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3757"></a><tt class="py-lineno">3757</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1180" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1180', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1181" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1181', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3758"></a><tt class="py-lineno">3758</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3759"></a><tt class="py-lineno">3759</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3760"></a><tt class="py-lineno">3760</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3761"></a><tt class="py-lineno">3761</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1182" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1182', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3762"></a><tt class="py-lineno">3762</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1183" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1183', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3763"></a><tt class="py-lineno">3763</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3764"></a><tt class="py-lineno">3764</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3765"></a><tt class="py-lineno">3765</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3766"></a><tt class="py-lineno">3766</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1184" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1184', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1185" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1185', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3767"></a><tt class="py-lineno">3767</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3768"></a><tt class="py-lineno">3768</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3769"></a><tt class="py-lineno">3769</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3770"></a><tt class="py-lineno">3770</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3771"></a><tt class="py-lineno">3771</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3772"></a><tt class="py-lineno">3772</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3773"></a><tt class="py-lineno">3773</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3774"></a><tt class="py-lineno">3774</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3775"></a><tt class="py-lineno">3775</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3776"></a><tt class="py-lineno">3776</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1186" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1186', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1187" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1187', 'setTestSize', 'link-1105');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3777"></a><tt class="py-lineno">3777</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3778"></a><tt class="py-lineno">3778</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3779"></a><tt class="py-lineno">3779</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3780"></a><tt class="py-lineno">3780</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3781"></a><tt class="py-lineno">3781</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3782"></a><tt class="py-lineno">3782</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3783"></a><tt class="py-lineno">3783</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3784"></a><tt class="py-lineno">3784</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3785"></a><tt class="py-lineno">3785</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3786"></a><tt class="py-lineno">3786</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3787"></a><tt class="py-lineno">3787</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3788"></a><tt class="py-lineno">3788</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1188" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1188', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1189" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1189', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3789"></a><tt class="py-lineno">3789</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3790"></a><tt class="py-lineno">3790</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3791"></a><tt class="py-lineno">3791</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3792"></a><tt class="py-lineno">3792</tt>  <tt class="py-line">        <tt class="py-name">removeAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">removeAllResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3793"></a><tt class="py-lineno">3793</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3794"></a><tt class="py-lineno">3794</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">removeAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3795"></a><tt class="py-lineno">3795</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set removeAll correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3796"></a><tt class="py-lineno">3796</tt>  <tt class="py-line">                                 <tt id="link-1190" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1190', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set removeAll was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3797"></a><tt class="py-lineno">3797</tt>  <tt class="py-line"> </tt>
+<a name="L3798"></a><tt class="py-lineno">3798</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1191" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1191', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set addAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3799"></a><tt class="py-lineno">3799</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt id="link-1192" class="py-name"><a title="TestON.core.dicttoobject.DictToObject.update
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update" class="py-name" href="#" onclick="return doclink('link-1192', 'update', 'link-1128');">update</a></tt><tt class="py-op">(</tt> <tt class="py-name">addAllValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3800"></a><tt class="py-lineno">3800</tt>  <tt class="py-line">        <tt class="py-name">addResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3801"></a><tt class="py-lineno">3801</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3802"></a><tt class="py-lineno">3802</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3803"></a><tt class="py-lineno">3803</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1193" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1193', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1194" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd" class="py-name" href="#" onclick="return doclink('link-1194', 'setTestAdd', 'link-1111');">setTestAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3804"></a><tt class="py-lineno">3804</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestAddAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3805"></a><tt class="py-lineno">3805</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3806"></a><tt class="py-lineno">3806</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3807"></a><tt class="py-lineno">3807</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3808"></a><tt class="py-lineno">3808</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3809"></a><tt class="py-lineno">3809</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3810"></a><tt class="py-lineno">3810</tt>  <tt class="py-line">            <tt class="py-name">addResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3811"></a><tt class="py-lineno">3811</tt>  <tt class="py-line"> </tt>
+<a name="L3812"></a><tt class="py-lineno">3812</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3813"></a><tt class="py-lineno">3813</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3814"></a><tt class="py-lineno">3814</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3815"></a><tt class="py-lineno">3815</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3816"></a><tt class="py-lineno">3816</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3817"></a><tt class="py-lineno">3817</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3818"></a><tt class="py-lineno">3818</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3819"></a><tt class="py-lineno">3819</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3820"></a><tt class="py-lineno">3820</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3821"></a><tt class="py-lineno">3821</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L3822"></a><tt class="py-lineno">3822</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3823"></a><tt class="py-lineno">3823</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3824"></a><tt class="py-lineno">3824</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3825"></a><tt class="py-lineno">3825</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3826"></a><tt class="py-lineno">3826</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3827"></a><tt class="py-lineno">3827</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3828"></a><tt class="py-lineno">3828</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3829"></a><tt class="py-lineno">3829</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">addAllResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3830"></a><tt class="py-lineno">3830</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1195" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1195', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1196" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1196', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set addAll"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3831"></a><tt class="py-lineno">3831</tt>  <tt class="py-line"> </tt>
+<a name="L3832"></a><tt class="py-lineno">3832</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3833"></a><tt class="py-lineno">3833</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3834"></a><tt class="py-lineno">3834</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3835"></a><tt class="py-lineno">3835</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3836"></a><tt class="py-lineno">3836</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3837"></a><tt class="py-lineno">3837</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1197" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1197', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1198" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1198', 'setTestGet', 'link-1095');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3838"></a><tt class="py-lineno">3838</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3839"></a><tt class="py-lineno">3839</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3840"></a><tt class="py-lineno">3840</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3841"></a><tt class="py-lineno">3841</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3842"></a><tt class="py-lineno">3842</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3843"></a><tt class="py-lineno">3843</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3844"></a><tt class="py-lineno">3844</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3845"></a><tt class="py-lineno">3845</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3846"></a><tt class="py-lineno">3846</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3847"></a><tt class="py-lineno">3847</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3848"></a><tt class="py-lineno">3848</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3849"></a><tt class="py-lineno">3849</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3850"></a><tt class="py-lineno">3850</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3851"></a><tt class="py-lineno">3851</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3852"></a><tt class="py-lineno">3852</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1199" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1199', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1200" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1200', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3853"></a><tt class="py-lineno">3853</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3854"></a><tt class="py-lineno">3854</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3855"></a><tt class="py-lineno">3855</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3856"></a><tt class="py-lineno">3856</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1201" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1201', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3857"></a><tt class="py-lineno">3857</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1202" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1202', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3858"></a><tt class="py-lineno">3858</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3859"></a><tt class="py-lineno">3859</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3860"></a><tt class="py-lineno">3860</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3861"></a><tt class="py-lineno">3861</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1203" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1203', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1204" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1204', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3862"></a><tt class="py-lineno">3862</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3863"></a><tt class="py-lineno">3863</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3864"></a><tt class="py-lineno">3864</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3865"></a><tt class="py-lineno">3865</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3866"></a><tt class="py-lineno">3866</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3867"></a><tt class="py-lineno">3867</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3868"></a><tt class="py-lineno">3868</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3869"></a><tt class="py-lineno">3869</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3870"></a><tt class="py-lineno">3870</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3871"></a><tt class="py-lineno">3871</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1205" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1205', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1206" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1206', 'setTestSize', 'link-1105');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3872"></a><tt class="py-lineno">3872</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3873"></a><tt class="py-lineno">3873</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3874"></a><tt class="py-lineno">3874</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3875"></a><tt class="py-lineno">3875</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3876"></a><tt class="py-lineno">3876</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3877"></a><tt class="py-lineno">3877</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3878"></a><tt class="py-lineno">3878</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3879"></a><tt class="py-lineno">3879</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3880"></a><tt class="py-lineno">3880</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3881"></a><tt class="py-lineno">3881</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3882"></a><tt class="py-lineno">3882</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3883"></a><tt class="py-lineno">3883</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1207" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1207', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1208" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1208', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3884"></a><tt class="py-lineno">3884</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3885"></a><tt class="py-lineno">3885</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3886"></a><tt class="py-lineno">3886</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3887"></a><tt class="py-lineno">3887</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">addAllResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3888"></a><tt class="py-lineno">3888</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3889"></a><tt class="py-lineno">3889</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">addAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3890"></a><tt class="py-lineno">3890</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3891"></a><tt class="py-lineno">3891</tt>  <tt class="py-line">                                 <tt id="link-1209" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1209', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3892"></a><tt class="py-lineno">3892</tt>  <tt class="py-line"> </tt>
+<a name="L3893"></a><tt class="py-lineno">3893</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1210" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1210', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set clear()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3894"></a><tt class="py-lineno">3894</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">clear</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3895"></a><tt class="py-lineno">3895</tt>  <tt class="py-line">        <tt class="py-name">clearResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3896"></a><tt class="py-lineno">3896</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3897"></a><tt class="py-lineno">3897</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3898"></a><tt class="py-lineno">3898</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1211" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1211', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1212" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove" class="py-name" href="#" onclick="return doclink('link-1212', 'setTestRemove', 'link-1156');">setTestRemove</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3899"></a><tt class="py-lineno">3899</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestClear-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3900"></a><tt class="py-lineno">3900</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-string">" "</tt><tt class="py-op">]</tt><tt class="py-op">,</tt>  <tt class="py-comment"># Values doesn't matter</tt> </tt>
+<a name="L3901"></a><tt class="py-lineno">3901</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"clear"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3902"></a><tt class="py-lineno">3902</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3903"></a><tt class="py-lineno">3903</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3904"></a><tt class="py-lineno">3904</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3905"></a><tt class="py-lineno">3905</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3906"></a><tt class="py-lineno">3906</tt>  <tt class="py-line">            <tt class="py-name">clearResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3907"></a><tt class="py-lineno">3907</tt>  <tt class="py-line"> </tt>
+<a name="L3908"></a><tt class="py-lineno">3908</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3909"></a><tt class="py-lineno">3909</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3910"></a><tt class="py-lineno">3910</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3911"></a><tt class="py-lineno">3911</tt>  <tt class="py-line">        <tt class="py-name">clearResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3912"></a><tt class="py-lineno">3912</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3913"></a><tt class="py-lineno">3913</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">clearResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3914"></a><tt class="py-lineno">3914</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3915"></a><tt class="py-lineno">3915</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3916"></a><tt class="py-lineno">3916</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">clearResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3917"></a><tt class="py-lineno">3917</tt>  <tt class="py-line">                <tt class="py-comment"># Nothing set, probably fine</tt> </tt>
+<a name="L3918"></a><tt class="py-lineno">3918</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3919"></a><tt class="py-lineno">3919</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">clearResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3920"></a><tt class="py-lineno">3920</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3921"></a><tt class="py-lineno">3921</tt>  <tt class="py-line">                <tt class="py-name">clearResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3922"></a><tt class="py-lineno">3922</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3923"></a><tt class="py-lineno">3923</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3924"></a><tt class="py-lineno">3924</tt>  <tt class="py-line">                <tt class="py-name">clearResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3925"></a><tt class="py-lineno">3925</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">clearResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3926"></a><tt class="py-lineno">3926</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1213" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1213', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1214" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1214', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set clear"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3927"></a><tt class="py-lineno">3927</tt>  <tt class="py-line"> </tt>
+<a name="L3928"></a><tt class="py-lineno">3928</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3929"></a><tt class="py-lineno">3929</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3930"></a><tt class="py-lineno">3930</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3931"></a><tt class="py-lineno">3931</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3932"></a><tt class="py-lineno">3932</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3933"></a><tt class="py-lineno">3933</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1215" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1215', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1216" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1216', 'setTestGet', 'link-1095');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3934"></a><tt class="py-lineno">3934</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3935"></a><tt class="py-lineno">3935</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3936"></a><tt class="py-lineno">3936</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3937"></a><tt class="py-lineno">3937</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3938"></a><tt class="py-lineno">3938</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3939"></a><tt class="py-lineno">3939</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3940"></a><tt class="py-lineno">3940</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3941"></a><tt class="py-lineno">3941</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3942"></a><tt class="py-lineno">3942</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3943"></a><tt class="py-lineno">3943</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3944"></a><tt class="py-lineno">3944</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3945"></a><tt class="py-lineno">3945</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3946"></a><tt class="py-lineno">3946</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3947"></a><tt class="py-lineno">3947</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3948"></a><tt class="py-lineno">3948</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1217" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1217', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1218" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1218', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3949"></a><tt class="py-lineno">3949</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3950"></a><tt class="py-lineno">3950</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3951"></a><tt class="py-lineno">3951</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3952"></a><tt class="py-lineno">3952</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1219" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1219', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3953"></a><tt class="py-lineno">3953</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1220" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1220', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3954"></a><tt class="py-lineno">3954</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3955"></a><tt class="py-lineno">3955</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3956"></a><tt class="py-lineno">3956</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3957"></a><tt class="py-lineno">3957</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1221" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1221', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1222" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1222', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3958"></a><tt class="py-lineno">3958</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3959"></a><tt class="py-lineno">3959</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3960"></a><tt class="py-lineno">3960</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3961"></a><tt class="py-lineno">3961</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3962"></a><tt class="py-lineno">3962</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3963"></a><tt class="py-lineno">3963</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3964"></a><tt class="py-lineno">3964</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3965"></a><tt class="py-lineno">3965</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3966"></a><tt class="py-lineno">3966</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3967"></a><tt class="py-lineno">3967</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1223" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1223', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1224" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1224', 'setTestSize', 'link-1105');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3968"></a><tt class="py-lineno">3968</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3969"></a><tt class="py-lineno">3969</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3970"></a><tt class="py-lineno">3970</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3971"></a><tt class="py-lineno">3971</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3972"></a><tt class="py-lineno">3972</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3973"></a><tt class="py-lineno">3973</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3974"></a><tt class="py-lineno">3974</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3975"></a><tt class="py-lineno">3975</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3976"></a><tt class="py-lineno">3976</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3977"></a><tt class="py-lineno">3977</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3978"></a><tt class="py-lineno">3978</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3979"></a><tt class="py-lineno">3979</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1225" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1225', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1226" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1226', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3980"></a><tt class="py-lineno">3980</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3981"></a><tt class="py-lineno">3981</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3982"></a><tt class="py-lineno">3982</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3983"></a><tt class="py-lineno">3983</tt>  <tt class="py-line">        <tt class="py-name">clearResults</tt> <tt class="py-op">=</tt> <tt class="py-name">clearResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3984"></a><tt class="py-lineno">3984</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3985"></a><tt class="py-lineno">3985</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">clearResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3986"></a><tt class="py-lineno">3986</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set clear correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3987"></a><tt class="py-lineno">3987</tt>  <tt class="py-line">                                 <tt id="link-1227" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1227', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set clear was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3988"></a><tt class="py-lineno">3988</tt>  <tt class="py-line"> </tt>
+<a name="L3989"></a><tt class="py-lineno">3989</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1228" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1228', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set addAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3990"></a><tt class="py-lineno">3990</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt id="link-1229" class="py-name"><a title="TestON.core.dicttoobject.DictToObject.update
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update" class="py-name" href="#" onclick="return doclink('link-1229', 'update', 'link-1128');">update</a></tt><tt class="py-op">(</tt> <tt class="py-name">addAllValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3991"></a><tt class="py-lineno">3991</tt>  <tt class="py-line">        <tt class="py-name">addResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3992"></a><tt class="py-lineno">3992</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3993"></a><tt class="py-lineno">3993</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3994"></a><tt class="py-lineno">3994</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1230" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1230', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1231" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd" class="py-name" href="#" onclick="return doclink('link-1231', 'setTestAdd', 'link-1111');">setTestAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3995"></a><tt class="py-lineno">3995</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestAddAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3996"></a><tt class="py-lineno">3996</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3997"></a><tt class="py-lineno">3997</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3998"></a><tt class="py-lineno">3998</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3999"></a><tt class="py-lineno">3999</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4000"></a><tt class="py-lineno">4000</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4001"></a><tt class="py-lineno">4001</tt>  <tt class="py-line">            <tt class="py-name">addResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4002"></a><tt class="py-lineno">4002</tt>  <tt class="py-line"> </tt>
+<a name="L4003"></a><tt class="py-lineno">4003</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L4004"></a><tt class="py-lineno">4004</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L4005"></a><tt class="py-lineno">4005</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L4006"></a><tt class="py-lineno">4006</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4007"></a><tt class="py-lineno">4007</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4008"></a><tt class="py-lineno">4008</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4009"></a><tt class="py-lineno">4009</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L4010"></a><tt class="py-lineno">4010</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L4011"></a><tt class="py-lineno">4011</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4012"></a><tt class="py-lineno">4012</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L4013"></a><tt class="py-lineno">4013</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L4014"></a><tt class="py-lineno">4014</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L4015"></a><tt class="py-lineno">4015</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L4016"></a><tt class="py-lineno">4016</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4017"></a><tt class="py-lineno">4017</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L4018"></a><tt class="py-lineno">4018</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L4019"></a><tt class="py-lineno">4019</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4020"></a><tt class="py-lineno">4020</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">addAllResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4021"></a><tt class="py-lineno">4021</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1232" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1232', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1233" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1233', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set addAll"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4022"></a><tt class="py-lineno">4022</tt>  <tt class="py-line"> </tt>
+<a name="L4023"></a><tt class="py-lineno">4023</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L4024"></a><tt class="py-lineno">4024</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4025"></a><tt class="py-lineno">4025</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4026"></a><tt class="py-lineno">4026</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4027"></a><tt class="py-lineno">4027</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4028"></a><tt class="py-lineno">4028</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1234" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1234', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1235" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1235', 'setTestGet', 'link-1095');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4029"></a><tt class="py-lineno">4029</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4030"></a><tt class="py-lineno">4030</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4031"></a><tt class="py-lineno">4031</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4032"></a><tt class="py-lineno">4032</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4033"></a><tt class="py-lineno">4033</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4034"></a><tt class="py-lineno">4034</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4035"></a><tt class="py-lineno">4035</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4036"></a><tt class="py-lineno">4036</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4037"></a><tt class="py-lineno">4037</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4038"></a><tt class="py-lineno">4038</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4039"></a><tt class="py-lineno">4039</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4040"></a><tt class="py-lineno">4040</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4041"></a><tt class="py-lineno">4041</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L4042"></a><tt class="py-lineno">4042</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L4043"></a><tt class="py-lineno">4043</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1236" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1236', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1237" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1237', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4044"></a><tt class="py-lineno">4044</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4045"></a><tt class="py-lineno">4045</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4046"></a><tt class="py-lineno">4046</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4047"></a><tt class="py-lineno">4047</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1238" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1238', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4048"></a><tt class="py-lineno">4048</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1239" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1239', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4049"></a><tt class="py-lineno">4049</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4050"></a><tt class="py-lineno">4050</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L4051"></a><tt class="py-lineno">4051</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L4052"></a><tt class="py-lineno">4052</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1240" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1240', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1241" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1241', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4053"></a><tt class="py-lineno">4053</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4054"></a><tt class="py-lineno">4054</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4055"></a><tt class="py-lineno">4055</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4056"></a><tt class="py-lineno">4056</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4057"></a><tt class="py-lineno">4057</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L4058"></a><tt class="py-lineno">4058</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4059"></a><tt class="py-lineno">4059</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4060"></a><tt class="py-lineno">4060</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4061"></a><tt class="py-lineno">4061</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4062"></a><tt class="py-lineno">4062</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1242" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1242', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1243" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1243', 'setTestSize', 'link-1105');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4063"></a><tt class="py-lineno">4063</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4064"></a><tt class="py-lineno">4064</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4065"></a><tt class="py-lineno">4065</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4066"></a><tt class="py-lineno">4066</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4067"></a><tt class="py-lineno">4067</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4068"></a><tt class="py-lineno">4068</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4069"></a><tt class="py-lineno">4069</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4070"></a><tt class="py-lineno">4070</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4071"></a><tt class="py-lineno">4071</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4072"></a><tt class="py-lineno">4072</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L4073"></a><tt class="py-lineno">4073</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4074"></a><tt class="py-lineno">4074</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1244" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1244', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1245" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1245', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4075"></a><tt class="py-lineno">4075</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4076"></a><tt class="py-lineno">4076</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4077"></a><tt class="py-lineno">4077</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4078"></a><tt class="py-lineno">4078</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">addAllResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L4079"></a><tt class="py-lineno">4079</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L4080"></a><tt class="py-lineno">4080</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">addAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L4081"></a><tt class="py-lineno">4081</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L4082"></a><tt class="py-lineno">4082</tt>  <tt class="py-line">                                 <tt id="link-1246" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1246', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4083"></a><tt class="py-lineno">4083</tt>  <tt class="py-line"> </tt>
+<a name="L4084"></a><tt class="py-lineno">4084</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1247" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-1247', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set retain()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4085"></a><tt class="py-lineno">4085</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">intersection_update</tt><tt class="py-op">(</tt> <tt class="py-name">retainValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4086"></a><tt class="py-lineno">4086</tt>  <tt class="py-line">        <tt class="py-name">retainResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4087"></a><tt class="py-lineno">4087</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4088"></a><tt class="py-lineno">4088</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4089"></a><tt class="py-lineno">4089</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1248" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1248', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1249" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove" class="py-name" href="#" onclick="return doclink('link-1249', 'setTestRemove', 'link-1156');">setTestRemove</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4090"></a><tt class="py-lineno">4090</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestRetain-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4091"></a><tt class="py-lineno">4091</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">retainValue</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L4092"></a><tt class="py-lineno">4092</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"retain"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4093"></a><tt class="py-lineno">4093</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4094"></a><tt class="py-lineno">4094</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4095"></a><tt class="py-lineno">4095</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4096"></a><tt class="py-lineno">4096</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4097"></a><tt class="py-lineno">4097</tt>  <tt class="py-line">            <tt class="py-name">retainResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4098"></a><tt class="py-lineno">4098</tt>  <tt class="py-line"> </tt>
+<a name="L4099"></a><tt class="py-lineno">4099</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L4100"></a><tt class="py-lineno">4100</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L4101"></a><tt class="py-lineno">4101</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L4102"></a><tt class="py-lineno">4102</tt>  <tt class="py-line">        <tt class="py-name">retainResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4103"></a><tt class="py-lineno">4103</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4104"></a><tt class="py-lineno">4104</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">retainResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4105"></a><tt class="py-lineno">4105</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L4106"></a><tt class="py-lineno">4106</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L4107"></a><tt class="py-lineno">4107</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">retainResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4108"></a><tt class="py-lineno">4108</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L4109"></a><tt class="py-lineno">4109</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L4110"></a><tt class="py-lineno">4110</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">retainResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L4111"></a><tt class="py-lineno">4111</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L4112"></a><tt class="py-lineno">4112</tt>  <tt class="py-line">                <tt class="py-name">retainResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4113"></a><tt class="py-lineno">4113</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L4114"></a><tt class="py-lineno">4114</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L4115"></a><tt class="py-lineno">4115</tt>  <tt class="py-line">                <tt class="py-name">retainResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4116"></a><tt class="py-lineno">4116</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">retainResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L4117"></a><tt class="py-lineno">4117</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1250" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1250', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1251" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1251', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set retain"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4118"></a><tt class="py-lineno">4118</tt>  <tt class="py-line"> </tt>
+<a name="L4119"></a><tt class="py-lineno">4119</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L4120"></a><tt class="py-lineno">4120</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4121"></a><tt class="py-lineno">4121</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4122"></a><tt class="py-lineno">4122</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4123"></a><tt class="py-lineno">4123</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4124"></a><tt class="py-lineno">4124</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1252" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1252', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1253" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1253', 'setTestGet', 'link-1095');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4125"></a><tt class="py-lineno">4125</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4126"></a><tt class="py-lineno">4126</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4127"></a><tt class="py-lineno">4127</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4128"></a><tt class="py-lineno">4128</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4129"></a><tt class="py-lineno">4129</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4130"></a><tt class="py-lineno">4130</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4131"></a><tt class="py-lineno">4131</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4132"></a><tt class="py-lineno">4132</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4133"></a><tt class="py-lineno">4133</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4134"></a><tt class="py-lineno">4134</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4135"></a><tt class="py-lineno">4135</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4136"></a><tt class="py-lineno">4136</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4137"></a><tt class="py-lineno">4137</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L4138"></a><tt class="py-lineno">4138</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L4139"></a><tt class="py-lineno">4139</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1254" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1254', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1255" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1255', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4140"></a><tt class="py-lineno">4140</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4141"></a><tt class="py-lineno">4141</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4142"></a><tt class="py-lineno">4142</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4143"></a><tt class="py-lineno">4143</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1256" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1256', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4144"></a><tt class="py-lineno">4144</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1257" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1257', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4145"></a><tt class="py-lineno">4145</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4146"></a><tt class="py-lineno">4146</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L4147"></a><tt class="py-lineno">4147</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L4148"></a><tt class="py-lineno">4148</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1258" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1258', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1259" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1259', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4149"></a><tt class="py-lineno">4149</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4150"></a><tt class="py-lineno">4150</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4151"></a><tt class="py-lineno">4151</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4152"></a><tt class="py-lineno">4152</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4153"></a><tt class="py-lineno">4153</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L4154"></a><tt class="py-lineno">4154</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4155"></a><tt class="py-lineno">4155</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4156"></a><tt class="py-lineno">4156</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4157"></a><tt class="py-lineno">4157</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4158"></a><tt class="py-lineno">4158</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1260" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1260', 'Thread', 'link-56');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1261" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1261', 'setTestSize', 'link-1105');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L4159"></a><tt class="py-lineno">4159</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4160"></a><tt class="py-lineno">4160</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4161"></a><tt class="py-lineno">4161</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4162"></a><tt class="py-lineno">4162</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4163"></a><tt class="py-lineno">4163</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L4164"></a><tt class="py-lineno">4164</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4165"></a><tt class="py-lineno">4165</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4166"></a><tt class="py-lineno">4166</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L4167"></a><tt class="py-lineno">4167</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4168"></a><tt class="py-lineno">4168</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L4169"></a><tt class="py-lineno">4169</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L4170"></a><tt class="py-lineno">4170</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1262" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1262', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1263" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1263', 'error', 'link-50');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4171"></a><tt class="py-lineno">4171</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4172"></a><tt class="py-lineno">4172</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L4173"></a><tt class="py-lineno">4173</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L4174"></a><tt class="py-lineno">4174</tt>  <tt class="py-line">        <tt class="py-name">retainResults</tt> <tt class="py-op">=</tt> <tt class="py-name">retainResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L4175"></a><tt class="py-lineno">4175</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L4176"></a><tt class="py-lineno">4176</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">retainResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L4177"></a><tt class="py-lineno">4177</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set retain correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L4178"></a><tt class="py-lineno">4178</tt>  <tt class="py-line">                                 <tt id="link-1264" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1264', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set retain was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+</div></div><a name="L4179"></a><tt class="py-lineno">4179</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.HAsanity.HAsanity-class.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.HAsanity.HAsanity-class.html
new file mode 100644
index 0000000..e619aed
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.HAsanity.HAsanity-class.html
@@ -0,0 +1,538 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAsanity.HAsanity.HAsanity</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAsanity-module.html">Package&nbsp;HAsanity</a> ::
+        <a href="TestON.tests.HAsanity.HAsanity-module.html">Module&nbsp;HAsanity</a> ::
+        Class&nbsp;HAsanity
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class HAsanity</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity">source&nbsp;code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE1" class="summary-sig-name">CASE1</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      CASE1 is to compile ONOS and push it to the test machines</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE1">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE2"></a><span class="summary-sig-name">CASE2</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Assign devices to controllers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE2">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE21"></a><span class="summary-sig-name">CASE21</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Assign mastership to controllers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE21">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE3"></a><span class="summary-sig-name">CASE3</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Assign intents</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE3">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE4"></a><span class="summary-sig-name">CASE4</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Ping across added host intents</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE4">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE5"></a><span class="summary-sig-name">CASE5</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Reading state of ONOS</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE5">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE6" class="summary-sig-name">CASE6</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      The Failure case.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE6">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE7"></a><span class="summary-sig-name">CASE7</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Check state after ONOS failure</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE7">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE8"></a><span class="summary-sig-name">CASE8</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Compare topo</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE8">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE9"></a><span class="summary-sig-name">CASE9</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Link s3-s28 down</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE9">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE10"></a><span class="summary-sig-name">CASE10</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Link s3-s28 up</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE10">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE11"></a><span class="summary-sig-name">CASE11</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Switch Down</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE11">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE12"></a><span class="summary-sig-name">CASE12</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Switch Up</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE12">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE13"></a><span class="summary-sig-name">CASE13</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Clean up</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE13">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE14"></a><span class="summary-sig-name">CASE14</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      start election app on all onos nodes</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE14">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE15"></a><span class="summary-sig-name">CASE15</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Check that Leadership Election is still functional</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE15">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE16"></a><span class="summary-sig-name">CASE16</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Install Distributed Primitives app</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE16">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE17"></a><span class="summary-sig-name">CASE17</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Check for basic functionality with distributed primitives</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE17">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="CASE1"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">CASE1</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">main</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE1">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>CASE1 is to compile ONOS and push it to the test machines</p>
+  <p>Startup sequence: cell &lt;name&gt; onos-verify-cell NOTE: temporary -
+  onos-remove-raft-logs onos-uninstall start mininet git pull mvn clean 
+  install onos-package onos-install -f onos-wait-for-start start cli 
+  sessions start tcpdump</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="CASE6"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">CASE6</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">main</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.tests.HAsanity.HAsanity-pysrc.html#HAsanity.CASE6">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>The Failure case. Since this is the Sanity test, we do nothing.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies-module.html
similarity index 63%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies-module.html
index 186f4ef..0545956 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.HAsanity.dependencies</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        <a href="TestON.tests.HAsanity-module.html">Package&nbsp;HAsanity</a> ::
+        Package&nbsp;dependencies
       </span>
     </td>
     <td>
@@ -49,14 +55,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsanity.dependencies-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Package dependencies</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAsanity.dependencies-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== SUBMODULES ==================== -->
 <a name="section-Submodules"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -76,11 +82,38 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.PoxTest.PoxTest-module.html">TestON.tests.PoxTest.PoxTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.dependencies.Counters-module.html">TestON.tests.HAsanity.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.dependencies.obelisk-module.html">TestON.tests.HAsanity.dependencies.obelisk</a></strong>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +134,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies-pysrc.html
similarity index 78%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies-pysrc.html
index ab359bb..47d675c 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.HAsanity.dependencies</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        <a href="TestON.tests.HAsanity-module.html">Package&nbsp;HAsanity</a> ::
+        Package&nbsp;dependencies
       </span>
     </td>
     <td>
@@ -49,13 +55,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsanity.dependencies-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAsanity.dependencies-module.html">Package TestON.tests.HAsanity.dependencies</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +91,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest.MininetTest-class.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies.Counters-module.html
similarity index 62%
copy from TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest.MininetTest-class.html
copy to TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies.Counters-module.html
index f271fbb..50c9b52 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest.MininetTest-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies.Counters-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.MininetTest.MininetTest.MininetTest</title>
+  <title>TestON.tests.HAsanity.dependencies.Counters</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,9 +44,9 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.MininetTest-module.html">Package&nbsp;MininetTest</a> ::
-        <a href="TestON.tests.MininetTest.MininetTest-module.html">Module&nbsp;MininetTest</a> ::
-        Class&nbsp;MininetTest
+        <a href="TestON.tests.HAsanity-module.html">Package&nbsp;HAsanity</a> ::
+        <a href="TestON.tests.HAsanity.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        Module&nbsp;Counters
       </span>
     </td>
     <td>
@@ -51,27 +56,25 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsanity.dependencies.Counters-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class MininetTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest">source&nbsp;code</a></span></p>
-<p>Testing of the some basic Mininet functions included here</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module Counters</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAsanity.dependencies.Counters-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
 <tr bgcolor="#70b0f0" class="table-header">
   <td colspan="2" class="table-header">
     <table border="0" cellpadding="0" cellspacing="0" width="100%">
       <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="left"><span class="table-header">Functions</span></td>
         <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
+         ><span class="options">[<a href="#section-Functions"
          class="privatelink" onclick="toggle_private();"
          >hide private</a>]</span></td>
       </tr>
@@ -86,7 +89,7 @@
         <tr>
           <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest.__init__">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.HAsanity.dependencies.Counters-pysrc.html#__init__">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -100,12 +103,11 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">main</span>)</span><br />
-      Testing the configuration of the host by using checkIP functionof 
-      Mininet driver</td>
+          <td><span class="summary-sig"><a name="counterCheck"></a><span class="summary-sig-name">counterCheck</span>(<span class="summary-sig-arg">counterName</span>,
+        <span class="summary-sig-arg">counterValue</span>)</span><br />
+      Add Text here</td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest.CASE1">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.HAsanity.dependencies.Counters-pysrc.html#counterCheck">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -113,23 +115,30 @@
       
     </td>
   </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
 <tr>
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="CASE2"></a><span class="summary-sig-name">CASE2</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">main</span>)</span><br />
-      Testing of the reachability of the hosts by using pingall of Mininet 
-      driver</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest.CASE2">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
     </td>
   </tr>
 </table>
@@ -153,13 +162,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies.Counters-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies.Counters-pysrc.html
new file mode 100644
index 0000000..16becc5
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies.Counters-pysrc.html
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAsanity.dependencies.Counters</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAsanity-module.html">Package&nbsp;HAsanity</a> ::
+        <a href="TestON.tests.HAsanity.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        Module&nbsp;Counters
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsanity.dependencies.Counters-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAsanity.dependencies.Counters-module.html">Module TestON.tests.HAsanity.dependencies.Counters</a></h1>
+<pre class="py-src">
+<a name="__init__"></a><div id="__init__-def"><a name="L1"></a><tt class="py-lineno"> 1</tt> <a class="py-toggle" href="#" id="__init__-toggle" onclick="return toggle('__init__');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.dependencies.Counters-module.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="__init__-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="__init__-expanded"><a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"> </tt>
+<a name="counterCheck"></a><div id="counterCheck-def"><a name="L4"></a><tt class="py-lineno"> 4</tt> <a class="py-toggle" href="#" id="counterCheck-toggle" onclick="return toggle('counterCheck');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.dependencies.Counters-module.html#counterCheck">counterCheck</a><tt class="py-op">(</tt> <tt class="py-param">counterName</tt><tt class="py-op">,</tt> <tt class="py-param">counterValue</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="counterCheck-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="counterCheck-expanded"><a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">    Add Text here</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">    <tt class="py-name">correctResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">    <tt class="py-comment"># Get onos counters results</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">    <tt class="py-name">onosCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">    <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">        <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module TestON.core.Thread=TestON.core.Thread-module.html,Class TestON.core.Thread.Thread=TestON.core.Thread.Thread-class.html"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1', 'Thread', 'link-1');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counters"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters" class="py-name" href="#" onclick="return doclink('link-2', 'counters', 'link-2');">counters</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">                         <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counters-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">        <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">        <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">        <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-name">onosCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">    <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosCounters</tt> <tt class="py-op">]</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt> <tt class="py-name">tmp</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-name">consistent</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-name">consistent</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-3', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-4', 'error', 'link-4');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS nodes have different values for counters"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">:</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-5', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt> <tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">    <tt class="py-comment"># Check for correct values</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">            <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-6', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-7', 'error', 'link-4');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Could not parse counters response from ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-8', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt class="py-name">onosValue</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">database</tt> <tt class="py-keyword">in</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">                <tt class="py-name">database</tt> <tt class="py-op">=</tt> <tt class="py-name">database</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">counter</tt> <tt class="py-keyword">in</tt> <tt class="py-name">database</tt><tt class="py-op">:</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">counter</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'name'</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">counterName</tt><tt class="py-op">:</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">                        <tt class="py-name">onosValue</tt> <tt class="py-op">=</tt> <tt class="py-name">counter</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'value'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-10', 'error', 'link-4');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" counters result "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">                            <tt class="py-string">"is not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">            <tt class="py-name">correctResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">onosValue</tt> <tt class="py-op">==</tt> <tt class="py-name">counterValue</tt><tt class="py-op">:</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-11', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">counterName</tt> <tt class="py-op">+</tt> <tt class="py-string">" counter value is correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-12', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-13', 'error', 'link-4');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">counterName</tt> <tt class="py-op">+</tt> <tt class="py-string">" counter value is incorrect,"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">                            <tt class="py-string">" expected value: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">counterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">                            <tt class="py-op">+</tt> <tt class="py-string">" current value: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosValue</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">            <tt class="py-name">correctResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">consistent</tt> <tt class="py-keyword">and</tt> <tt class="py-name">correctResults</tt> </tt>
+</div><a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies.obelisk-module.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies.obelisk-module.html
new file mode 100644
index 0000000..6a244f5
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies.obelisk-module.html
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAsanity.dependencies.obelisk</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAsanity-module.html">Package&nbsp;HAsanity</a> ::
+        <a href="TestON.tests.HAsanity.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        Module&nbsp;obelisk
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsanity.dependencies.obelisk-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module obelisk</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAsanity.dependencies.obelisk-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html" class="summary-name">ObeliskTopo</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="run"></a><span class="summary-sig-name">run</span>()</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.dependencies.obelisk-pysrc.html#run">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="topos"></a><span class="summary-name">topos</span> = <code title="{'obelisk':(lambda: ObeliskTopo())}">{'obelisk':(lambda: ObeliskTopo())}</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.tests.HAsanity.dependencies'"><code class="variable-quote">'</code><code class="variable-string">TestON.tests.HAsanity.dependencies</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies.obelisk-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies.obelisk-pysrc.html
new file mode 100644
index 0000000..6d0f34c
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies.obelisk-pysrc.html
@@ -0,0 +1,273 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAsanity.dependencies.obelisk</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAsanity-module.html">Package&nbsp;HAsanity</a> ::
+        <a href="TestON.tests.HAsanity.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        Module&nbsp;obelisk
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsanity.dependencies.obelisk-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAsanity.dependencies.obelisk-module.html">Module TestON.tests.HAsanity.dependencies.obelisk</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">mininet</tt><tt class="py-op">.</tt><tt class="py-name">topo</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Topo</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"> </tt>
+<a name="ObeliskTopo"></a><div id="ObeliskTopo-def"><a name="L5"></a><tt class="py-lineno"> 5</tt> <a class="py-toggle" href="#" id="ObeliskTopo-toggle" onclick="return toggle('ObeliskTopo');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html">ObeliskTopo</a><tt class="py-op">(</tt> <tt class="py-base-class">Topo</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObeliskTopo-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="ObeliskTopo-expanded"><a name="ObeliskTopo.__init__"></a><div id="ObeliskTopo.__init__-def"><a name="L6"></a><tt class="py-lineno"> 6</tt> <a class="py-toggle" href="#" id="ObeliskTopo.__init__-toggle" onclick="return toggle('ObeliskTopo.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObeliskTopo.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ObeliskTopo.__init__-expanded"><a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line">        <tt class="py-name">Topo</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-0', '__init__', 'link-0');">__init__</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line">        <tt class="py-name">topSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addSwitch"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-1', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s1'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'1000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">        <tt class="py-name">leftTopSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-2', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s2'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'2000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">        <tt class="py-name">rightTopSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-3', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s5'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'5000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">        <tt class="py-name">leftBotSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-4', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s3'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'3000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">        <tt class="py-name">rightBotSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-5', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s6'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'6000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">        <tt class="py-name">midBotSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-6', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s28'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'2800'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">        <tt class="py-name">topHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addHost"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-7', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt> <tt class="py-string">'h1'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">        <tt class="py-name">leftTopHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-8', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h2'</tt><tt class="py-op">)</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">        <tt class="py-name">rightTopHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-9', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h5'</tt><tt class="py-op">)</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">        <tt class="py-name">leftBotHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-10', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h3'</tt><tt class="py-op">)</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">        <tt class="py-name">rightBotHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-11', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h6'</tt><tt class="py-op">)</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-name">midBotHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-12', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h28'</tt><tt class="py-op">)</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addLink"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-13', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">topSwitch</tt><tt class="py-op">,</tt><tt class="py-name">topHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-14', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">leftTopHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-15', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">rightTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightTopHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-16', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">leftBotHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-17', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">rightBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightBotHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-18', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">midBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">midBotHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-19', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightTopSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-20', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">topSwitch</tt><tt class="py-op">,</tt><tt class="py-name">leftTopSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-21', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">topSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightTopSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-22', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">leftBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-23', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">rightTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-24', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">midBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-25', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">midBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">        <tt class="py-name">agg1Switch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-26', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s4'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'3004'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">        <tt class="py-name">agg2Switch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-27', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s7'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'6007'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-name">agg1Host</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-28', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h4'</tt><tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt class="py-name">agg2Host</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-29', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h7'</tt><tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-30', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">agg1Switch</tt><tt class="py-op">,</tt><tt class="py-name">agg1Host</tt><tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-31', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">agg2Switch</tt><tt class="py-op">,</tt><tt class="py-name">agg2Host</tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-32', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">agg1Switch</tt><tt class="py-op">,</tt> <tt class="py-name">leftBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-33', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">agg2Switch</tt><tt class="py-op">,</tt> <tt class="py-name">rightBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">            <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">8</tt><tt class="py-op">)</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">            <tt class="py-name">switch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-34', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'30'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">            <tt class="py-name">host</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-35', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-36', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">host</tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-37', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">agg1Switch</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">            <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">18</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">            <tt class="py-name">switch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-38', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'60'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">            <tt class="py-name">host</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-39', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-40', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">host</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-41', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">agg2Switch</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line"> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line"><tt id="link-42" class="py-name" targets="Variable TestON.tests.HAclusterRestart.dependencies.obelisk.topos=TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#topos,Variable TestON.tests.HAminorityRestart.dependencies.obelisk.topos=TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#topos,Variable TestON.tests.HAsanity.dependencies.obelisk.topos=TestON.tests.HAsanity.dependencies.obelisk-module.html#topos,Variable TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.topos=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#topos"><a title="TestON.tests.HAclusterRestart.dependencies.obelisk.topos
+TestON.tests.HAminorityRestart.dependencies.obelisk.topos
+TestON.tests.HAsanity.dependencies.obelisk.topos
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.topos" class="py-name" href="#" onclick="return doclink('link-42', 'topos', 'link-42');">topos</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">'obelisk'</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt class="py-keyword">lambda</tt><tt class="py-op">:</tt> <tt id="link-43" class="py-name" targets="Class TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html,Class TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html,Class TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html,Class TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html"><a title="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo" class="py-name" href="#" onclick="return doclink('link-43', 'ObeliskTopo', 'link-43');">ObeliskTopo</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line"> </tt>
+<a name="run"></a><div id="run-def"><a name="L60"></a><tt class="py-lineno">60</tt> <a class="py-toggle" href="#" id="run-toggle" onclick="return toggle('run');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsanity.dependencies.obelisk-module.html#run">run</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="run-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="run-expanded"><a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">    <tt class="py-name">topo</tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo" class="py-name" href="#" onclick="return doclink('link-44', 'ObeliskTopo', 'link-43');">ObeliskTopo</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">    <tt id="link-45" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#net"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-45', 'net', 'link-45');">net</a></tt> <tt class="py-op">=</tt> <tt class="py-name">Mininet</tt><tt class="py-op">(</tt> <tt class="py-name">topo</tt><tt class="py-op">=</tt><tt class="py-name">topo</tt><tt class="py-op">,</tt> <tt id="link-46" class="py-name" targets="Package TestON.drivers.common.api.controller=TestON.drivers.common.api.controller-module.html"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-46', 'controller', 'link-46');">controller</a></tt><tt class="py-op">=</tt><tt class="py-name">RemoteController</tt><tt class="py-op">,</tt> <tt class="py-name">autoSetMacs</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">    <tt id="link-47" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-47', 'net', 'link-45');">net</a></tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">    <tt id="link-48" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-48', 'CLI', 'link-48');">CLI</a></tt><tt class="py-op">(</tt> <tt id="link-49" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-49', 'net', 'link-45');">net</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">    <tt id="link-50" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-50', 'net', 'link-45');">net</a></tt><tt class="py-op">.</tt><tt id="link-51" class="py-name" targets="Method TestON.bin.cli.TestThread.stop()=TestON.bin.cli.TestThread-class.html#stop"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-51', 'stop', 'link-51');">stop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line"> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line">    <tt class="py-name">setLogLevel</tt><tt class="py-op">(</tt> <tt class="py-string">'info'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line">    <tt id="link-52" class="py-name" targets="Method TestON.bin.cli.TestThread.run()=TestON.bin.cli.TestThread-class.html#run,Method TestON.core.Thread.Thread.run()=TestON.core.Thread.Thread-class.html#run,Method TestON.core.teston.TestON.run()=TestON.core.teston.TestON-class.html#run,Function TestON.tests.HAclusterRestart.dependencies.obelisk.run()=TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#run,Function TestON.tests.HAminorityRestart.dependencies.obelisk.run()=TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#run,Function TestON.tests.HAsanity.dependencies.obelisk.run()=TestON.tests.HAsanity.dependencies.obelisk-module.html#run,Function TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#run"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-52', 'run', 'link-52');">run</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html
new file mode 100644
index 0000000..e3d93c1
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html
@@ -0,0 +1,298 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAsanity-module.html">Package&nbsp;HAsanity</a> ::
+        <a href="TestON.tests.HAsanity.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        <a href="TestON.tests.HAsanity.dependencies.obelisk-module.html">Module&nbsp;obelisk</a> ::
+        Class&nbsp;ObeliskTopo
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class ObeliskTopo</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAsanity.dependencies.obelisk-pysrc.html#ObeliskTopo">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_obelisktop_3" name="class_hierarchy_for_obelisktop_3">
+<area shape="rect" id="node1" href="TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html" title="ObeliskTopo" alt="" coords="21,62,115,87"/>
+<area shape="rect" id="node2" href="javascript:void(0);" title="mininet.topo.Topo" alt="" coords="5,6,131,31"/>
+</map>
+  <img src="class_hierarchy_for_obelisktop_3.gif" alt='' usemap="#class_hierarchy_for_obelisktop_3" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Topo object.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsanity.dependencies.obelisk-pysrc.html#ObeliskTopo.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>mininet.topo.Topo</code></b>:
+      <code>addHost</code>,
+      <code>addLink</code>,
+      <code>addNode</code>,
+      <code>addPort</code>,
+      <code>addSwitch</code>,
+      <code>build</code>,
+      <code>convertTo</code>,
+      <code>hosts</code>,
+      <code>isSwitch</code>,
+      <code>iterLinks</code>,
+      <code>linkInfo</code>,
+      <code>links</code>,
+      <code>nodeInfo</code>,
+      <code>nodes</code>,
+      <code>port</code>,
+      <code>setNodeInfo</code>,
+      <code>setlinkInfo</code>,
+      <code>switches</code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>mininet.topo.Topo</code></b> (private):
+      <code>_linkEntry</code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>mininet.topo.Topo</code></b>:
+      <code>sorted</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.tests.HAsanity.dependencies.obelisk-pysrc.html#ObeliskTopo.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Topo object. Optional named parameters: hinfo: default host options 
+  sopts: default switch options lopts: default link options calls 
+  build()</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart-module.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart-module.html
new file mode 100644
index 0000000..2532258
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart-module.html
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAsingleInstanceRestart</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        Package&nbsp;HAsingleInstanceRestart
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsingleInstanceRestart-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PACKAGE DESCRIPTION ==================== -->
+<h1 class="epydoc">Package HAsingleInstanceRestart</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== SUBMODULES ==================== -->
+<a name="section-Submodules"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Submodules</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Submodules"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr><td class="summary">
+  <ul class="nomargin">
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html">TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart</a></strong>: <em class="summary">Description: This test is to determine if a single
+    instance ONOS 'cluster' can handle a restart</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html">TestON.tests.HAsingleInstanceRestart.dependencies</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html">TestON.tests.HAsingleInstanceRestart.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html">TestON.tests.HAsingleInstanceRestart.dependencies.obelisk</a></strong>    </li>
+    </ul>
+    </li>
+  </ul></td></tr>
+</table>
+
+<br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart-pysrc.html
similarity index 79%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart-pysrc.html
index ab359bb..458fb7b 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.HAsingleInstanceRestart</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;HAsingleInstanceRestart
       </span>
     </td>
     <td>
@@ -49,13 +54,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsingleInstanceRestart-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAsingleInstanceRestart-module.html">Package TestON.tests.HAsingleInstanceRestart</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html
new file mode 100644
index 0000000..752fba5
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAsingleInstanceRestart-module.html">Package&nbsp;HAsingleInstanceRestart</a> ::
+        Module&nbsp;HAsingleInstanceRestart
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module HAsingleInstanceRestart</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
+
+Description: This test is to determine if a single
+    instance ONOS 'cluster' can handle a restart
+
+List of test cases:
+CASE1: Compile ONOS and push it to the test machines
+CASE2: Assign devices to controllers
+CASE21: Assign mastership to controllers
+CASE3: Assign intents
+CASE4: Ping across added host intents
+CASE5: Reading state of ONOS
+CASE6: The Failure case.
+CASE7: Check state after control plane failure
+CASE8: Compare topo
+CASE9: Link s3-s28 down
+CASE10: Link s3-s28 up
+CASE11: Switch down
+CASE12: Switch up
+CASE13: Clean up
+CASE14: start election app on all onos nodes
+CASE15: Check that Leadership Election is still functional
+CASE16: Install Distributed Primitives app
+CASE17: Check for basic functionality with distributed primitives
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html" class="summary-name">HAsingleInstanceRestart</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html
new file mode 100644
index 0000000..8db3836
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html
@@ -0,0 +1,3706 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAsingleInstanceRestart-module.html">Package&nbsp;HAsingleInstanceRestart</a> ::
+        Module&nbsp;HAsingleInstanceRestart
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html">Module TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"><tt class="py-docstring">Description: This test is to determine if a single</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">   3</tt>  <tt class="py-line"><tt class="py-docstring">    instance ONOS 'cluster' can handle a restart</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno">   5</tt>  <tt class="py-line"><tt class="py-docstring">List of test cases:</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line"><tt class="py-docstring">CASE1: Compile ONOS and push it to the test machines</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"><tt class="py-docstring">CASE2: Assign devices to controllers</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">   8</tt>  <tt class="py-line"><tt class="py-docstring">CASE21: Assign mastership to controllers</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">   9</tt>  <tt class="py-line"><tt class="py-docstring">CASE3: Assign intents</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line"><tt class="py-docstring">CASE4: Ping across added host intents</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">  11</tt>  <tt class="py-line"><tt class="py-docstring">CASE5: Reading state of ONOS</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line"><tt class="py-docstring">CASE6: The Failure case.</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"><tt class="py-docstring">CASE7: Check state after control plane failure</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line"><tt class="py-docstring">CASE8: Compare topo</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line"><tt class="py-docstring">CASE9: Link s3-s28 down</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt class="py-docstring">CASE10: Link s3-s28 up</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt class="py-docstring">CASE11: Switch down</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-docstring">CASE12: Switch up</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"><tt class="py-docstring">CASE13: Clean up</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"><tt class="py-docstring">CASE14: start election app on all onos nodes</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"><tt class="py-docstring">CASE15: Check that Leadership Election is still functional</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">  22</tt>  <tt class="py-line"><tt class="py-docstring">CASE16: Install Distributed Primitives app</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line"><tt class="py-docstring">CASE17: Check for basic functionality with distributed primitives</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">  26</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart"></a><div id="HAsingleInstanceRestart-def"><a name="L27"></a><tt class="py-lineno">  27</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart-toggle" onclick="return toggle('HAsingleInstanceRestart');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HAsingleInstanceRestart-expanded"><a name="L28"></a><tt class="py-lineno">  28</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.__init__"></a><div id="HAsingleInstanceRestart.__init__-def"><a name="L29"></a><tt class="py-lineno">  29</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.__init__-toggle" onclick="return toggle('HAsingleInstanceRestart.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.__init__-expanded"><a name="L30"></a><tt class="py-lineno">  30</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE1"></a><div id="HAsingleInstanceRestart.CASE1-def"><a name="L32"></a><tt class="py-lineno">  32</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE1-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE1">CASE1</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE1-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE1-expanded"><a name="L33"></a><tt class="py-lineno">  33</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line"><tt class="py-docstring">        CASE1 is to compile ONOS and push it to the test machines</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L36"></a><tt class="py-lineno">  36</tt>  <tt class="py-line"><tt class="py-docstring">        Startup sequence:</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line"><tt class="py-docstring">        cell &lt;name&gt;</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">  38</tt>  <tt class="py-line"><tt class="py-docstring">        onos-verify-cell</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">  39</tt>  <tt class="py-line"><tt class="py-docstring">        NOTE: temporary - onos-remove-raft-logs</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line"><tt class="py-docstring">        onos-uninstall</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line"><tt class="py-docstring">        start mininet</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line"><tt class="py-docstring">        git pull</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">  43</tt>  <tt class="py-line"><tt class="py-docstring">        mvn clean install</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line"><tt class="py-docstring">        onos-package</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line"><tt class="py-docstring">        onos-install -f</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line"><tt class="py-docstring">        onos-wait-for-start</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">  47</tt>  <tt class="py-line"><tt class="py-docstring">        start cli sessions</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">  48</tt>  <tt class="py-line"><tt class="py-docstring">        start tcpdump</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">imp</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">  51</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS Single node cluster restart "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">  52</tt>  <tt class="py-line">                         <tt class="py-string">"HA test - initialization"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-2', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Setting up test environment"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Setup the test environment including "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L55"></a><tt class="py-lineno">  55</tt>  <tt class="py-line">                                <tt class="py-string">"installing ONOS, starting Mininet and ONOS"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L56"></a><tt class="py-lineno">  56</tt>  <tt class="py-line">                                <tt class="py-string">"cli sessions."</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: save all the timers and output them for plotting</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">  58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line">        <tt class="py-comment"># load some variables from the params file</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">  60</tt>  <tt class="py-line">        <tt class="py-name">PULLCODE</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">  61</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'Git'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'True'</tt><tt class="py-op">:</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">  62</tt>  <tt class="py-line">            <tt class="py-name">PULLCODE</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">  63</tt>  <tt class="py-line">        <tt class="py-name">gitBranch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'branch'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line"> </tt>
+<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'num_controllers'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">  70</tt>  <tt class="py-line"> </tt>
+<a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line">            <tt class="py-name">fileName</tt> <tt class="py-op">=</tt> <tt class="py-string">"Counters"</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line">            <tt id="link-3" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-3', 'path', 'link-3');">path</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'imports'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'path'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">  74</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Module TestON.tests.HAclusterRestart.dependencies.Counters=TestON.tests.HAclusterRestart.dependencies.Counters-module.html,Module TestON.tests.HAminorityRestart.dependencies.Counters=TestON.tests.HAminorityRestart.dependencies.Counters-module.html,Module TestON.tests.HAsanity.dependencies.Counters=TestON.tests.HAsanity.dependencies.Counters-module.html,Module TestON.tests.HAsingleInstanceRestart.dependencies.Counters=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-4', 'Counters', 'link-4');">Counters</a></tt> <tt class="py-op">=</tt> <tt class="py-name">imp</tt><tt class="py-op">.</tt><tt class="py-name">load_source</tt><tt class="py-op">(</tt> <tt class="py-name">fileName</tt><tt class="py-op">,</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line">                                             <tt id="link-5" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-5', 'path', 'link-3');">path</a></tt> <tt class="py-op">+</tt> <tt class="py-name">fileName</tt> <tt class="py-op">+</tt> <tt class="py-string">".py"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt> <tt class="py-keyword">as</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-6', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-name">e</tt> <tt class="py-op">)</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">  78</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-7', 'cleanup', 'link-7');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-8', 'exit', 'link-8');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line"> </tt>
+<a name="L81"></a><tt class="py-lineno">  81</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L82"></a><tt class="py-lineno">  82</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#nodes,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#nodes"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-9', 'nodes', 'link-9');">nodes</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L83"></a><tt class="py-lineno">  83</tt>  <tt class="py-line">        <tt class="py-name">ipList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L86"></a><tt class="py-lineno">  86</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">'ONOScli'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L87"></a><tt class="py-lineno">  87</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-10', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">'ONOS'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line">                <tt class="py-name">ipList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-11', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L90"></a><tt class="py-lineno">  90</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line"> </tt>
+<a name="L92"></a><tt class="py-lineno">  92</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-12', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Create cell file"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line">        <tt class="py-name">cellAppString</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'appString'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L94"></a><tt class="py-lineno">  94</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile" class="py-name" href="#" onclick="return doclink('link-13', 'createCellFile', 'link-13');">createCellFile</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-name">cellName</tt><tt class="py-op">,</tt> </tt>
+<a name="L95"></a><tt class="py-lineno">  95</tt>  <tt class="py-line">                                       <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line">                                       <tt class="py-name">cellAppString</tt><tt class="py-op">,</tt> <tt class="py-name">ipList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-14', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Applying cell variable to environment"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno">  98</tt>  <tt class="py-line">        <tt class="py-name">cellResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell,Method TestON.drivers.common.cli.onosdriver.OnosDriver.setCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.setCell" class="py-name" href="#" onclick="return doclink('link-15', 'setCell', 'link-15');">setCell</a></tt><tt class="py-op">(</tt> <tt class="py-name">cellName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line">        <tt class="py-name">verifyResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifyCell"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell" class="py-name" href="#" onclick="return doclink('link-16', 'verifyCell', 'link-16');">verifyCell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno"> 100</tt>  <tt class="py-line"> </tt>
+<a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME:this is short term fix</tt> </tt>
+<a name="L102"></a><tt class="py-lineno"> 102</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-17', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Removing raft logs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno"> 103</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosRemoveRaftLogs()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosRemoveRaftLogs"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosRemoveRaftLogs" class="py-name" href="#" onclick="return doclink('link-18', 'onosRemoveRaftLogs', 'link-18');">onosRemoveRaftLogs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line"> </tt>
+<a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-19', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Uninstalling ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno"> 106</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-20', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno"> 107</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosUninstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall" class="py-name" href="#" onclick="return doclink('link-21', 'onosUninstall', 'link-21');">onosUninstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line"> </tt>
+<a name="L109"></a><tt class="py-lineno"> 109</tt>  <tt class="py-line">        <tt class="py-comment"># Make sure ONOS is DEAD</tt> </tt>
+<a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-22', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Killing any ONOS processes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno"> 111</tt>  <tt class="py-line">        <tt class="py-name">killResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L112"></a><tt class="py-lineno"> 112</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-23', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L113"></a><tt class="py-lineno"> 113</tt>  <tt class="py-line">            <tt class="py-name">killed</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosKill()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosKill"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosKill" class="py-name" href="#" onclick="return doclink('link-24', 'onosKill', 'link-24');">onosKill</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line">            <tt class="py-name">killResults</tt> <tt class="py-op">=</tt> <tt class="py-name">killResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">killed</tt> </tt>
+<a name="L115"></a><tt class="py-lineno"> 115</tt>  <tt class="py-line"> </tt>
+<a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line">        <tt class="py-name">cleanInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L117"></a><tt class="py-lineno"> 117</tt>  <tt class="py-line">        <tt class="py-name">gitPullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L118"></a><tt class="py-lineno"> 118</tt>  <tt class="py-line"> </tt>
+<a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-25', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line">        <tt class="py-comment"># scp topo file to mininet</tt> </tt>
+<a name="L121"></a><tt class="py-lineno"> 121</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: move to params?</tt> </tt>
+<a name="L122"></a><tt class="py-lineno"> 122</tt>  <tt class="py-line">        <tt class="py-name">topoName</tt> <tt class="py-op">=</tt> <tt class="py-string">"obelisk.py"</tt> </tt>
+<a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line">        <tt class="py-name">filePath</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">home</tt> <tt class="py-op">+</tt> <tt class="py-string">"/tools/test/topos/"</tt> </tt>
+<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.copyMininetFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#copyMininetFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.copyMininetFile" class="py-name" href="#" onclick="return doclink('link-26', 'copyMininetFile', 'link-26');">copyMininetFile</a></tt><tt class="py-op">(</tt> <tt class="py-name">topoName</tt><tt class="py-op">,</tt> <tt class="py-name">filePath</tt><tt class="py-op">,</tt> </tt>
+<a name="L125"></a><tt class="py-lineno"> 125</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno"> 127</tt>  <tt class="py-line">        <tt class="py-name">mnResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet" class="py-name" href="#" onclick="return doclink('link-27', 'startNet', 'link-27');">startNet</a></tt><tt class="py-op">(</tt> <tt class="py-op">)</tt> </tt>
+<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">mnResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Mininet Started"</tt><tt class="py-op">,</tt> </tt>
+<a name="L130"></a><tt class="py-lineno"> 130</tt>  <tt class="py-line">                                 <tt id="link-28" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-28', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error starting Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line"> </tt>
+<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-29', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Git checkout and pull "</tt> <tt class="py-op">+</tt> <tt class="py-name">gitBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">PULLCODE</tt><tt class="py-op">:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno"> 134</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitCheckout"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout" class="py-name" href="#" onclick="return doclink('link-30', 'gitCheckout', 'link-30');">gitCheckout</a></tt><tt class="py-op">(</tt> <tt class="py-name">gitBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line">            <tt class="py-name">gitPullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-31', 'gitPull', 'link-31');">gitPull</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line">            <tt class="py-comment"># values of 1 or 3 are good</tt> </tt>
+<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_lesser</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">gitPullResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line">                                      <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Git pull successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line">                                      <tt id="link-32" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-32', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Git pull failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno"> 140</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getVersion,Method TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getVersion"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion
+TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion" class="py-name" href="#" onclick="return doclink('link-33', 'getVersion', 'link-33');">getVersion</a></tt><tt class="py-op">(</tt> <tt class="py-name">report</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line"> </tt>
+<a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-34', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Using mvn clean install"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno"> 143</tt>  <tt class="py-line">        <tt class="py-name">cleanInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">PULLCODE</tt> <tt class="py-keyword">and</tt> <tt class="py-name">gitPullResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line">            <tt class="py-name">cleanInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cleanInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall" class="py-name" href="#" onclick="return doclink('link-35', 'cleanInstall', 'link-35');">cleanInstall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno"> 146</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L147"></a><tt class="py-lineno"> 147</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-36', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Did not pull new code so skipping mvn "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L148"></a><tt class="py-lineno"> 148</tt>  <tt class="py-line">                           <tt class="py-string">"clean install"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">cleanInstallResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"MCI successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line">                                 <tt id="link-37" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-37', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"MCI failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L153"></a><tt class="py-lineno"> 153</tt>  <tt class="py-line">        <tt class="py-comment"># GRAPHS</tt> </tt>
+<a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: important params here:</tt> </tt>
+<a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line">        <tt class="py-comment">#       job = name of Jenkins job</tt> </tt>
+<a name="L156"></a><tt class="py-lineno"> 156</tt>  <tt class="py-line">        <tt class="py-comment">#       Plot Name = Plot-HA, only can be used if multiple plots</tt> </tt>
+<a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line">        <tt class="py-comment">#       index = The number of the graph under plot name</tt> </tt>
+<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line">        <tt class="py-name">job</tt> <tt class="py-op">=</tt> <tt class="py-string">"HAsingleInstanceRestart"</tt> </tt>
+<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line">        <tt class="py-name">plotName</tt> <tt class="py-op">=</tt> <tt class="py-string">"Plot-HA"</tt> </tt>
+<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">=</tt> <tt class="py-string">'&lt;ac:structured-macro ac:name="html"&gt;\n'</tt> </tt>
+<a name="L161"></a><tt class="py-lineno"> 161</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">+=</tt> <tt class="py-string">'&lt;ac:plain-text-body&gt;&lt;![CDATA[\n'</tt> </tt>
+<a name="L162"></a><tt class="py-lineno"> 162</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">+=</tt> <tt class="py-string">'&lt;iframe src="https://onos-jenkins.onlab.us/job/'</tt> <tt class="py-op">+</tt> <tt class="py-name">job</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line">                  <tt class="py-string">'/plot/'</tt> <tt class="py-op">+</tt> <tt class="py-name">plotName</tt> <tt class="py-op">+</tt> <tt class="py-string">'/getPlot?index=0'</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L164"></a><tt class="py-lineno"> 164</tt>  <tt class="py-line">                  <tt class="py-string">'&amp;width=500&amp;height=300"'</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L165"></a><tt class="py-lineno"> 165</tt>  <tt class="py-line">                  <tt class="py-string">'noborder="0" width="500" height="300" scrolling="yes" '</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line">                  <tt class="py-string">'seamless="seamless"&gt;&lt;/iframe&gt;\n'</tt> </tt>
+<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">+=</tt> <tt class="py-string">']]&gt;&lt;/ac:plain-text-body&gt;\n'</tt> </tt>
+<a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line">        <tt class="py-name">graphs</tt> <tt class="py-op">+=</tt> <tt class="py-string">'&lt;/ac:structured-macro&gt;\n'</tt> </tt>
+<a name="L169"></a><tt class="py-lineno"> 169</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-38', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">wiki</tt><tt class="py-op">(</tt><tt class="py-name">graphs</tt><tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line"> </tt>
+<a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L172"></a><tt class="py-lineno"> 172</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-39', 'nodes', 'link-9');">nodes</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L173"></a><tt class="py-lineno"> 173</tt>  <tt class="py-line">        <tt class="py-name">ipList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">'ONOScli'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L176"></a><tt class="py-lineno"> 176</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-40', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">'ONOS'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line">            <tt class="py-name">ipList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-41', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line"> </tt>
+<a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile" class="py-name" href="#" onclick="return doclink('link-42', 'createCellFile', 'link-13');">createCellFile</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-string">"SingleHA"</tt><tt class="py-op">,</tt> </tt>
+<a name="L180"></a><tt class="py-lineno"> 180</tt>  <tt class="py-line">                                       <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line">                                       <tt class="py-name">cellAppString</tt><tt class="py-op">,</tt> <tt class="py-name">ipList</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line">        <tt class="py-name">cellResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.setCell" class="py-name" href="#" onclick="return doclink('link-43', 'setCell', 'link-15');">setCell</a></tt><tt class="py-op">(</tt> <tt class="py-string">"SingleHA"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line">        <tt class="py-name">verifyResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell" class="py-name" href="#" onclick="return doclink('link-44', 'verifyCell', 'link-16');">verifyCell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-45', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Creating ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L185"></a><tt class="py-lineno"> 185</tt>  <tt class="py-line">        <tt class="py-name">packageResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage" class="py-name" href="#" onclick="return doclink('link-46', 'onosPackage', 'link-46');">onosPackage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L186"></a><tt class="py-lineno"> 186</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">packageResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS package successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line">                                 <tt id="link-47" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-47', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS package failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line"> </tt>
+<a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-48', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Installing ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno"> 191</tt>  <tt class="py-line">        <tt class="py-name">onosInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall" class="py-name" href="#" onclick="return doclink('link-49', 'onosInstall', 'link-49');">onosInstall</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line">                <tt class="py-name">options</tt><tt class="py-op">=</tt><tt class="py-string">"-f"</tt><tt class="py-op">,</tt> <tt class="py-name">node</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-50', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">onosInstallResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS install successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L195"></a><tt class="py-lineno"> 195</tt>  <tt class="py-line">                                 <tt id="link-51" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-51', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS install failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L196"></a><tt class="py-lineno"> 196</tt>  <tt class="py-line"> </tt>
+<a name="L197"></a><tt class="py-lineno"> 197</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-52', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Checking if ONOS is up yet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line">            <tt class="py-name">onos1Isup</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.isup()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#isup"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-53', 'isup', 'link-53');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-54', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">onos1Isup</tt><tt class="py-op">:</tt> </tt>
+<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">onos1Isup</tt><tt class="py-op">,</tt> </tt>
+<a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS startup successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L204"></a><tt class="py-lineno"> 204</tt>  <tt class="py-line">                                 <tt id="link-55" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-55', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS startup failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno"> 205</tt>  <tt class="py-line"> </tt>
+<a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-56', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-57', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting ONOS CLI sessions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno"> 207</tt>  <tt class="py-line">        <tt class="py-name">cliResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#startOnosCli"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli" class="py-name" href="#" onclick="return doclink('link-58', 'startOnosCli', 'link-58');">startOnosCli</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-59', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">cliResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS cli startup successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line">                                 <tt id="link-60" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-60', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS cli startup failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno"> 211</tt>  <tt class="py-line"> </tt>
+<a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'tcpdump'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">"true"</tt><tt class="py-op">:</tt> </tt>
+<a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-61', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Start Packet Capture MN"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startTcpdump()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startTcpdump,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.startTcpdump()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#startTcpdump"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startTcpdump
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.startTcpdump" class="py-name" href="#" onclick="return doclink('link-62', 'startTcpdump', 'link-62');">startTcpdump</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MNtcpdump'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'folder'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> <tt class="py-op">)</tt> </tt>
+<a name="L216"></a><tt class="py-lineno"> 216</tt>  <tt class="py-line">                <tt class="py-op">+</tt> <tt class="py-string">"-MN.pcap"</tt><tt class="py-op">,</tt> </tt>
+<a name="L217"></a><tt class="py-lineno"> 217</tt>  <tt class="py-line">                <tt class="py-name">intf</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MNtcpdump'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'intf'</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L218"></a><tt class="py-lineno"> 218</tt>  <tt class="py-line">                <tt class="py-name">port</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MNtcpdump'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line"> </tt>
+<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-63', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"App Ids check"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line">        <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appToIDCheck"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-64', 'appToIDCheck', 'link-64');">appToIDCheck</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-65', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#apps,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#apps"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-66', 'apps', 'link-66');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-67', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appIDs"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-68', 'appIDs', 'link-68');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L226"></a><tt class="py-lineno"> 226</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line">                                 <tt id="link-69" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-69', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L228"></a><tt class="py-lineno"> 228</tt>  <tt class="py-line"> </tt>
+<a name="L229"></a><tt class="py-lineno"> 229</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">cliResults</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-70', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-71" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-71', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Failed to start ONOS, stopping test"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-72', 'cleanup', 'link-7');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L232"></a><tt class="py-lineno"> 232</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-73', 'exit', 'link-8');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE2"></a><div id="HAsingleInstanceRestart.CASE2-def"><a name="L234"></a><tt class="py-lineno"> 234</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE2-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE2">CASE2</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE2-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE2-expanded"><a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line"><tt class="py-docstring">        Assign devices to controllers</tt> </tt>
+<a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line"> </tt>
+<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-74', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assigning devices to controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Assign switches to ONOS using 'ovs-vsctl' "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line">                                <tt class="py-string">"and check that an ONOS node becomes the "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line">                                <tt class="py-string">"master of the device."</tt> </tt>
+<a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-75', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assign switches to controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line"> </tt>
+<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line">        <tt class="py-name">ipList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line">            <tt class="py-name">ipList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-76', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">        <tt class="py-name">swList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line">            <tt class="py-name">swList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignSwController"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController" class="py-name" href="#" onclick="return doclink('link-77', 'assignSwController', 'link-77');">assignSwController</a></tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt><tt class="py-op">=</tt><tt class="py-name">swList</tt><tt class="py-op">,</tt> <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">ipList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line"> </tt>
+<a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line">        <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwController()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwController"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwController" class="py-name" href="#" onclick="return doclink('link-78', 'getSwController', 'link-78');">getSwController</a></tt><tt class="py-op">(</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-79', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-80', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt> <tt class="py-string">"tcp:"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-81', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L265"></a><tt class="py-lineno"> 265</tt>  <tt class="py-line">                <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">mastershipCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line">                <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">mastershipCheck</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-82', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Switch mastership assigned correctly"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L272"></a><tt class="py-lineno"> 272</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">mastershipCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Switch mastership assigned correctly"</tt><tt class="py-op">,</tt> </tt>
+<a name="L274"></a><tt class="py-lineno"> 274</tt>  <tt class="py-line">            <tt id="link-83" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-83', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Switches not assigned correctly to controllers"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE21"></a><div id="HAsingleInstanceRestart.CASE21-def"><a name="L276"></a><tt class="py-lineno"> 276</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE21-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE21');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE21">CASE21</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE21-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE21-expanded"><a name="L277"></a><tt class="py-lineno"> 277</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line"><tt class="py-docstring">        Assign mastership to controllers</tt> </tt>
+<a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L280"></a><tt class="py-lineno"> 280</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-84', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line"> </tt>
+<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-85', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assigning Controller roles for switches"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Check that ONOS is connected to each "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line">                                <tt class="py-string">"device. Then manually assign"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line">                                <tt class="py-string">" mastership to specific ONOS nodes using"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line">                                <tt class="py-string">" 'device-role'"</tt> </tt>
+<a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-86', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Assign mastership of switches to specific controllers"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line">        <tt class="py-name">roleCall</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line">        <tt class="py-name">roleCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># switches 1 through 28</tt> </tt>
+<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line">                <tt class="py-name">ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-87', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt>  <tt class="py-comment"># ONOS1</tt> </tt>
+<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line">                <tt class="py-comment"># set up correct variables:</tt> </tt>
+<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getDevice"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-88', 'getDevice', 'link-88');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"1000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-89', 'getDevice', 'link-88');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"2000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-90', 'getDevice', 'link-88');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"3000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-91', 'getDevice', 'link-88');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"3004"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">5</tt><tt class="py-op">:</tt> </tt>
+<a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-92', 'getDevice', 'link-88');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"5000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">6</tt><tt class="py-op">:</tt> </tt>
+<a name="L309"></a><tt class="py-lineno"> 309</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-93', 'getDevice', 'link-88');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"6000"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L310"></a><tt class="py-lineno"> 310</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">7</tt><tt class="py-op">:</tt> </tt>
+<a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-94', 'getDevice', 'link-88');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"6007"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">8</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">17</tt><tt class="py-op">:</tt> </tt>
+<a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line">                    <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'3'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L314"></a><tt class="py-lineno"> 314</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-95', 'getDevice', 'link-88');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L315"></a><tt class="py-lineno"> 315</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">18</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">27</tt><tt class="py-op">:</tt> </tt>
+<a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line">                    <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'6'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L317"></a><tt class="py-lineno"> 317</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-96', 'getDevice', 'link-88');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L318"></a><tt class="py-lineno"> 318</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">28</tt><tt class="py-op">:</tt> </tt>
+<a name="L319"></a><tt class="py-lineno"> 319</tt>  <tt class="py-line">                    <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-97', 'getDevice', 'link-88');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-string">"2800"</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L320"></a><tt class="py-lineno"> 320</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-98', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-99', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"You didn't write an else statement for "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L322"></a><tt class="py-lineno"> 322</tt>  <tt class="py-line">                                    <tt class="py-string">"switch s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line">                <tt class="py-comment"># Assign switch</tt> </tt>
+<a name="L324"></a><tt class="py-lineno"> 324</tt>  <tt class="py-line">                <tt class="py-keyword">assert</tt> <tt class="py-name">deviceId</tt><tt class="py-op">,</tt> <tt class="py-string">"No device id for s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" in ONOS"</tt> </tt>
+<a name="L325"></a><tt class="py-lineno"> 325</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: make this controller dynamic</tt> </tt>
+<a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line">                <tt class="py-name">roleCall</tt> <tt class="py-op">=</tt> <tt class="py-name">roleCall</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deviceRole()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deviceRole"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deviceRole" class="py-name" href="#" onclick="return doclink('link-100', 'deviceRole', 'link-100');">deviceRole</a></tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt><tt class="py-op">,</tt> </tt>
+<a name="L327"></a><tt class="py-lineno"> 327</tt>  <tt class="py-line">                                                                  <tt class="py-name">ip</tt> <tt class="py-op">)</tt> </tt>
+<a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line">                <tt class="py-comment"># Check assignment</tt> </tt>
+<a name="L329"></a><tt class="py-lineno"> 329</tt>  <tt class="py-line">                <tt class="py-name">master</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getRole()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getRole"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getRole" class="py-name" href="#" onclick="return doclink('link-101', 'getRole', 'link-101');">getRole</a></tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'master'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L330"></a><tt class="py-lineno"> 330</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ip</tt> <tt class="py-keyword">in</tt> <tt class="py-name">master</tt><tt class="py-op">:</tt> </tt>
+<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line">                    <tt class="py-name">roleCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">roleCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L332"></a><tt class="py-lineno"> 332</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L333"></a><tt class="py-lineno"> 333</tt>  <tt class="py-line">                    <tt class="py-name">roleCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">roleCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-102', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-103', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, controller "</tt> <tt class="py-op">+</tt> <tt class="py-name">ip</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line">                                    <tt class="py-string">" master "</tt> <tt class="py-op">+</tt> <tt class="py-string">"of device "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">deviceId</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">". Master is "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line">                                    <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">master</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L338"></a><tt class="py-lineno"> 338</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt class="py-name">AssertionError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-104', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Something is wrong with ONOS device view"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L340"></a><tt class="py-lineno"> 340</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-105', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#devices"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-106', 'devices', 'link-106');">devices</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L341"></a><tt class="py-lineno"> 341</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">roleCall</tt><tt class="py-op">,</tt> </tt>
+<a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Re-assigned switch mastership to designated controller"</tt><tt class="py-op">,</tt> </tt>
+<a name="L345"></a><tt class="py-lineno"> 345</tt>  <tt class="py-line">            <tt id="link-107" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-107', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something wrong with deviceRole calls"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line"> </tt>
+<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-108', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check mastership was correctly assigned"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L349"></a><tt class="py-lineno"> 349</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L350"></a><tt class="py-lineno"> 350</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">roleCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Switches were successfully reassigned to designated "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line">                   <tt class="py-string">"controller"</tt><tt class="py-op">,</tt> </tt>
+<a name="L353"></a><tt class="py-lineno"> 353</tt>  <tt class="py-line">            <tt id="link-109" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-109', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Switches were not successfully reassigned"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE3"></a><div id="HAsingleInstanceRestart.CASE3-def"><a name="L355"></a><tt class="py-lineno"> 355</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE3-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE3');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE3">CASE3</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE3-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE3-expanded"><a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L357"></a><tt class="py-lineno"> 357</tt>  <tt class="py-line"><tt class="py-docstring">        Assign intents</tt> </tt>
+<a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L362"></a><tt class="py-lineno"> 362</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L364"></a><tt class="py-lineno"> 364</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: we must reinstall intents until we have a persistant intent</tt> </tt>
+<a name="L365"></a><tt class="py-lineno"> 365</tt>  <tt class="py-line">        <tt class="py-comment">#        datastore!</tt> </tt>
+<a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-110', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Adding host Intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L367"></a><tt class="py-lineno"> 367</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Discover hosts by using pingall then "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line">                                <tt class="py-string">"assign predetermined host-to-host intents."</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line">                                <tt class="py-string">" After installation, check that the intent"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line">                                <tt class="py-string">" is distributed to all nodes and the state"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line">                                <tt class="py-string">" is INSTALLED"</tt> </tt>
+<a name="L372"></a><tt class="py-lineno"> 372</tt>  <tt class="py-line"> </tt>
+<a name="L373"></a><tt class="py-lineno"> 373</tt>  <tt class="py-line">        <tt class="py-comment"># install onos-app-fwd</tt> </tt>
+<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-111', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install reactive forwarding app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line">        <tt class="py-name">installResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#activateApp,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#activateApp"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp" class="py-name" href="#" onclick="return doclink('link-112', 'activateApp', 'link-112');">activateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.fwd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L376"></a><tt class="py-lineno"> 376</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">installResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Install fwd successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line">                                 <tt id="link-113" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-113', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Install fwd failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line"> </tt>
+<a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-114', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check app ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L381"></a><tt class="py-lineno"> 381</tt>  <tt class="py-line">        <tt class="py-name">appCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-115', 'appToIDCheck', 'link-64');">appToIDCheck</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L382"></a><tt class="py-lineno"> 382</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L383"></a><tt class="py-lineno"> 383</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-116', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-117', 'apps', 'link-66');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L384"></a><tt class="py-lineno"> 384</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-118', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-119', 'appIDs', 'link-68');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L385"></a><tt class="py-lineno"> 385</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L386"></a><tt class="py-lineno"> 386</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line">                                 <tt id="link-120" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-120', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line"> </tt>
+<a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-121', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Discovering Hosts( Via pingall for now )"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: Once we have a host discovery mechanism, use that instead</tt> </tt>
+<a name="L391"></a><tt class="py-lineno"> 391</tt>  <tt class="py-line">        <tt class="py-comment"># REACTIVE FWD test</tt> </tt>
+<a name="L392"></a><tt class="py-lineno"> 392</tt>  <tt class="py-line">        <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># Retry if pingall fails first time</tt> </tt>
+<a name="L394"></a><tt class="py-lineno"> 394</tt>  <tt class="py-line">            <tt class="py-name">time1</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L395"></a><tt class="py-lineno"> 395</tt>  <tt class="py-line">            <tt class="py-name">pingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingall"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-122', 'pingall', 'link-122');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L396"></a><tt class="py-lineno"> 396</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line">                <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L398"></a><tt class="py-lineno"> 398</tt>  <tt class="py-line">                    <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L399"></a><tt class="py-lineno"> 399</tt>  <tt class="py-line">                    <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line">                    <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Reactive Pingall test passed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L401"></a><tt class="py-lineno"> 401</tt>  <tt class="py-line">                    <tt id="link-123" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-123', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Reactive Pingall failed, "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L402"></a><tt class="py-lineno"> 402</tt>  <tt class="py-line">                           <tt class="py-string">"one or more ping pairs failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line">            <tt class="py-name">time2</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L404"></a><tt class="py-lineno"> 404</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-124', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Time for pingall: %2f seconds"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L405"></a><tt class="py-lineno"> 405</tt>  <tt class="py-line">                           <tt class="py-op">(</tt> <tt class="py-name">time2</tt> <tt class="py-op">-</tt> <tt class="py-name">time1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L406"></a><tt class="py-lineno"> 406</tt>  <tt class="py-line">        <tt class="py-comment"># timeout for fwd flows</tt> </tt>
+<a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">11</tt> <tt class="py-op">)</tt> </tt>
+<a name="L408"></a><tt class="py-lineno"> 408</tt>  <tt class="py-line">        <tt class="py-comment"># uninstall onos-app-fwd</tt> </tt>
+<a name="L409"></a><tt class="py-lineno"> 409</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-125', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Uninstall reactive forwarding app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L410"></a><tt class="py-lineno"> 410</tt>  <tt class="py-line">        <tt class="py-name">uninstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.deactivateApp()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#deactivateApp,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deactivateApp()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deactivateApp"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.deactivateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deactivateApp" class="py-name" href="#" onclick="return doclink('link-126', 'deactivateApp', 'link-126');">deactivateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.fwd"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L411"></a><tt class="py-lineno"> 411</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">uninstallResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Uninstall fwd successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line">                                 <tt id="link-127" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-127', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Uninstall fwd failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line"> </tt>
+<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-128', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check app ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line">        <tt class="py-name">appCheck2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck" class="py-name" href="#" onclick="return doclink('link-129', 'appToIDCheck', 'link-64');">appToIDCheck</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">appCheck2</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L418"></a><tt class="py-lineno"> 418</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-130', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-131', 'apps', 'link-66');">apps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-132', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs" class="py-name" href="#" onclick="return doclink('link-133', 'appIDs', 'link-68');">appIDs</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appCheck2</tt><tt class="py-op">,</tt> </tt>
+<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App Ids seem to be correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L422"></a><tt class="py-lineno"> 422</tt>  <tt class="py-line">                                 <tt id="link-134" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-134', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something is wrong with app Ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line"> </tt>
+<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-135', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add host intents via cli"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L425"></a><tt class="py-lineno"> 425</tt>  <tt class="py-line">        <tt class="py-name">intentIds</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line">        <tt class="py-comment"># TODO:  move the host numbers to params</tt> </tt>
+<a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line">        <tt class="py-comment">#        Maybe look at all the paths we ping?</tt> </tt>
+<a name="L428"></a><tt class="py-lineno"> 428</tt>  <tt class="py-line">        <tt class="py-name">intentAddResult</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line">        <tt class="py-name">hostResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-number">18</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-136', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Adding host intent between h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line">                           <tt class="py-string">" and h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line">            <tt class="py-name">host1</tt> <tt class="py-op">=</tt> <tt class="py-string">"00:00:00:00:00:"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hex</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line">            <tt class="py-name">host2</tt> <tt class="py-op">=</tt> <tt class="py-string">"00:00:00:00:00:"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L436"></a><tt class="py-lineno"> 436</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">hex</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: getHost can return None</tt> </tt>
+<a name="L438"></a><tt class="py-lineno"> 438</tt>  <tt class="py-line">            <tt class="py-name">host1Dict</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getHost()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getHost,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getHost()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getHost"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getHost
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getHost" class="py-name" href="#" onclick="return doclink('link-137', 'getHost', 'link-137');">getHost</a></tt><tt class="py-op">(</tt> <tt class="py-name">host1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L439"></a><tt class="py-lineno"> 439</tt>  <tt class="py-line">            <tt class="py-name">host2Dict</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getHost
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getHost" class="py-name" href="#" onclick="return doclink('link-138', 'getHost', 'link-137');">getHost</a></tt><tt class="py-op">(</tt> <tt class="py-name">host2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line">            <tt class="py-name">host1Id</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line">            <tt class="py-name">host2Id</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">host1Dict</tt> <tt class="py-keyword">and</tt> <tt class="py-name">host2Dict</tt><tt class="py-op">:</tt> </tt>
+<a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line">                <tt class="py-name">host1Id</tt> <tt class="py-op">=</tt> <tt class="py-name">host1Dict</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L444"></a><tt class="py-lineno"> 444</tt>  <tt class="py-line">                <tt class="py-name">host2Id</tt> <tt class="py-op">=</tt> <tt class="py-name">host2Dict</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">host1Id</tt> <tt class="py-keyword">and</tt> <tt class="py-name">host2Id</tt><tt class="py-op">:</tt> </tt>
+<a name="L446"></a><tt class="py-lineno"> 446</tt>  <tt class="py-line">                <tt class="py-name">tmpId</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addHostIntent()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addHostIntent,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addHostIntent()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addHostIntent"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addHostIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addHostIntent" class="py-name" href="#" onclick="return doclink('link-139', 'addHostIntent', 'link-139');">addHostIntent</a></tt><tt class="py-op">(</tt> <tt class="py-name">host1Id</tt><tt class="py-op">,</tt> <tt class="py-name">host2Id</tt> <tt class="py-op">)</tt> </tt>
+<a name="L447"></a><tt class="py-lineno"> 447</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">tmpId</tt><tt class="py-op">:</tt> </tt>
+<a name="L448"></a><tt class="py-lineno"> 448</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-140', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Added intent with id: "</tt> <tt class="py-op">+</tt> <tt class="py-name">tmpId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line">                    <tt class="py-name">intentIds</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">tmpId</tt> <tt class="py-op">)</tt> </tt>
+<a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L451"></a><tt class="py-lineno"> 451</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-141', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-142', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"addHostIntent returned: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L452"></a><tt class="py-lineno"> 452</tt>  <tt class="py-line">                                     <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">tmpId</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L453"></a><tt class="py-lineno"> 453</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-143', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-144', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error, getHost() failed for h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line">                                <tt class="py-string">" and/or h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L456"></a><tt class="py-lineno"> 456</tt>  <tt class="py-line">                <tt id="link-145" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#hosts,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#hosts"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-145', 'hosts', 'link-145');">hosts</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-146', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-147', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Hosts output: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-148', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-149" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-149', 'hosts', 'link-145');">hosts</a></tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L461"></a><tt class="py-lineno"> 461</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L462"></a><tt class="py-lineno"> 462</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L463"></a><tt class="py-lineno"> 463</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L464"></a><tt class="py-lineno"> 464</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-150', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-151" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-151', 'hosts', 'link-145');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line">                <tt class="py-name">hostResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L466"></a><tt class="py-lineno"> 466</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">hostResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Found a host id for each host"</tt><tt class="py-op">,</tt> </tt>
+<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line">                                 <tt id="link-152" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-152', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error looking up host ids"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line"> </tt>
+<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line">        <tt class="py-name">intentStart</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L471"></a><tt class="py-lineno"> 471</tt>  <tt class="py-line">        <tt class="py-name">onosIds</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllIntentsId"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId" class="py-name" href="#" onclick="return doclink('link-153', 'getAllIntentsId', 'link-153');">getAllIntentsId</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L472"></a><tt class="py-lineno"> 472</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-154', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Submitted intents: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">intentIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L473"></a><tt class="py-lineno"> 473</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-155', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents in ONOS: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-156" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intent"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-156', 'intent', 'link-156');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentIds</tt><tt class="py-op">:</tt> </tt>
+<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-157" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-157', 'intent', 'link-156');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosIds</tt><tt class="py-op">:</tt> </tt>
+<a name="L476"></a><tt class="py-lineno"> 476</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt>  <tt class="py-comment"># intent submitted is in onos</tt> </tt>
+<a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L478"></a><tt class="py-lineno"> 478</tt>  <tt class="py-line">                <tt class="py-name">intentAddResult</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L479"></a><tt class="py-lineno"> 479</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">intentAddResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line">            <tt class="py-name">intentStop</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L481"></a><tt class="py-lineno"> 481</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line">            <tt class="py-name">intentStop</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L483"></a><tt class="py-lineno"> 483</tt>  <tt class="py-line">        <tt class="py-comment"># Print the intent states</tt> </tt>
+<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line">        <tt id="link-158" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intents,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intents"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-158', 'intents', 'link-158');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-159', 'intents', 'link-158');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L485"></a><tt class="py-lineno"> 485</tt>  <tt class="py-line">        <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line">        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-160', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> <tt class="py-string">'Count'</tt><tt class="py-op">,</tt> <tt class="py-string">'ID'</tt><tt class="py-op">,</tt> <tt class="py-string">'State'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line">        <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L490"></a><tt class="py-lineno"> 490</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-161" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-161', 'intent', 'link-156');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-162" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-162', 'intents', 'link-158');">intents</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line">                <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-163" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-163', 'intent', 'link-156');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-string">"INSTALLED"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state</tt><tt class="py-op">:</tt> </tt>
+<a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line">                    <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L494"></a><tt class="py-lineno"> 494</tt>  <tt class="py-line">                <tt class="py-name">intentId</tt> <tt class="py-op">=</tt> <tt id="link-164" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-164', 'intent', 'link-156');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line">                <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L497"></a><tt class="py-lineno"> 497</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-165', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line">        <tt class="py-comment"># add submitted intents not in the store</tt> </tt>
+<a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line">        <tt class="py-name">tmplist</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt> <tt class="py-op">]</tt> </tt>
+<a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line">        <tt class="py-name">missingIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentIds</tt><tt class="py-op">:</tt> </tt>
+<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tmplist</tt><tt class="py-op">:</tt> </tt>
+<a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line">                <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-string">" - "</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L504"></a><tt class="py-lineno"> 504</tt>  <tt class="py-line">                <tt class="py-name">missingIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line">        <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt><tt class="py-op">:</tt> </tt>
+<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-166', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L509"></a><tt class="py-lineno"> 509</tt>  <tt class="py-line">                           <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">s</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line">        <tt id="link-167" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#leaders"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-167', 'leaders', 'link-167');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-168', 'leaders', 'link-167');">leaders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L512"></a><tt class="py-lineno"> 512</tt>  <tt class="py-line">            <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-169" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-169', 'leaders', 'link-167');">leaders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line">                <tt class="py-name">parsedLeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-170" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-170', 'leaders', 'link-167');">leaders</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-171', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedLeaders</tt><tt class="py-op">,</tt> </tt>
+<a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L517"></a><tt class="py-lineno"> 517</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L519"></a><tt class="py-lineno"> 519</tt>  <tt class="py-line">                <tt class="py-comment"># check for all intent partitions</tt> </tt>
+<a name="L520"></a><tt class="py-lineno"> 520</tt>  <tt class="py-line">                <tt class="py-name">topics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L521"></a><tt class="py-lineno"> 521</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">14</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L522"></a><tt class="py-lineno"> 522</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"intent-partition-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-172', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">topics</tt> <tt class="py-op">)</tt> </tt>
+<a name="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line">                <tt class="py-name">ONOStopics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">j</tt><tt class="py-op">[</tt><tt class="py-string">'topic'</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsedLeaders</tt> <tt class="py-op">]</tt> </tt>
+<a name="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">in</tt> <tt class="py-name">topics</tt><tt class="py-op">:</tt> </tt>
+<a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOStopics</tt><tt class="py-op">:</tt> </tt>
+<a name="L527"></a><tt class="py-lineno"> 527</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-173', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-174', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error: "</tt> <tt class="py-op">+</tt> <tt class="py-name">topic</tt> <tt class="py-op">+</tt> </tt>
+<a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line">                                        <tt class="py-string">" not in leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line">                        <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L530"></a><tt class="py-lineno"> 530</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-175', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-176', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"leaders() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L532"></a><tt class="py-lineno"> 532</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-177', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L534"></a><tt class="py-lineno"> 534</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-178', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-179', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-180" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-180', 'leaders', 'link-167');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L535"></a><tt class="py-lineno"> 535</tt>  <tt class="py-line">        <tt class="py-comment"># Check all nodes</tt> </tt>
+<a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">missing</tt><tt class="py-op">:</tt> </tt>
+<a name="L537"></a><tt class="py-lineno"> 537</tt>  <tt class="py-line">            <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-181', 'leaders', 'link-167');">leaders</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-182', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS1 leaders output: \n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line">                           <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line"> </tt>
+<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line">        <tt id="link-183" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#partitions"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-183', 'partitions', 'link-183');">partitions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-184', 'partitions', 'link-183');">partitions</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L542"></a><tt class="py-lineno"> 542</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-185" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-185', 'partitions', 'link-183');">partitions</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line">                <tt class="py-name">parsedPartitions</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-186" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-186', 'partitions', 'link-183');">partitions</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-187', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPartitions</tt><tt class="py-op">,</tt> </tt>
+<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check for a leader in all paritions</tt> </tt>
+<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check for consistency among nodes</tt> </tt>
+<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-188', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-189', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"partitions() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-190', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing partitions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-191', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-192', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-193" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-193', 'partitions', 'link-183');">partitions</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line">        <tt id="link-194" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#pendingMap"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-194', 'pendingMap', 'link-194');">pendingMap</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-195', 'pendingMap', 'link-194');">pendingMap</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-196" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-196', 'pendingMap', 'link-194');">pendingMap</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line">                <tt class="py-name">parsedPending</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-197" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-197', 'pendingMap', 'link-194');">pendingMap</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-198', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPending</tt><tt class="py-op">,</tt> </tt>
+<a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check something here?</tt> </tt>
+<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-199', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-200', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pendingMap() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-201', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing pending map"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-202', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-203', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-204" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-204', 'pendingMap', 'link-194');">pendingMap</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L570"></a><tt class="py-lineno"> 570</tt>  <tt class="py-line"> </tt>
+<a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line">        <tt class="py-name">intentAddResult</tt> <tt class="py-op">=</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt> <tt class="py-name">intentAddResult</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">missingIntents</tt> <tt class="py-keyword">and</tt> </tt>
+<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line">                                <tt class="py-name">installedCheck</tt> <tt class="py-op">)</tt> </tt>
+<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">intentAddResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-205" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-205', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-206', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in pushing host intents to ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line"> </tt>
+<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-207', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Intent Anti-Entropy dispersion"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">100</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line">            <tt class="py-name">correct</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-208', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Submitted intents: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">intentIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L580"></a><tt class="py-lineno"> 580</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-209" class="py-name" targets="Module TestON.bin.cli=TestON.bin.cli-module.html,Package TestON.drivers.common.cli=TestON.drivers.common.cli-module.html"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-209', 'cli', 'link-209');">cli</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">                <tt class="py-name">onosIds</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line">                <tt class="py-name">ids</tt> <tt class="py-op">=</tt> <tt id="link-210" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-210', 'cli', 'link-209');">cli</a></tt><tt class="py-op">.</tt><tt id="link-211" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId" class="py-name" href="#" onclick="return doclink('link-211', 'getAllIntentsId', 'link-153');">getAllIntentsId</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line">                <tt class="py-name">onosIds</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">ids</tt> <tt class="py-op">)</tt> </tt>
+<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-212', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents in "</tt> <tt class="py-op">+</tt> <tt id="link-213" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-213', 'cli', 'link-209');">cli</a></tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">onosIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">ids</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt> <tt class="py-name">intentIds</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-214', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Set of intent IDs doesn't match"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line">                    <tt class="py-name">correct</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line">                    <tt id="link-215" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-215', 'intents', 'link-158');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-216" class="py-name"><a title="TestON.bin.cli
+TestON.drivers.common.cli" class="py-name" href="#" onclick="return doclink('link-216', 'cli', 'link-209');">cli</a></tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-217', 'intents', 'link-158');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt id="link-218" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-218', 'intent', 'link-156');">intent</a></tt> <tt class="py-keyword">in</tt> <tt id="link-219" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-219', 'intents', 'link-158');">intents</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L593"></a><tt class="py-lineno"> 593</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt id="link-220" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-220', 'intent', 'link-156');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">"INSTALLED"</tt><tt class="py-op">:</tt> </tt>
+<a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-221', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Intent "</tt> <tt class="py-op">+</tt> <tt id="link-222" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-222', 'intent', 'link-156');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> </tt>
+<a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line">                                           <tt class="py-string">" is "</tt> <tt class="py-op">+</tt> <tt id="link-223" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-223', 'intent', 'link-156');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line">                            <tt class="py-name">correct</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
+<a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">correct</tt><tt class="py-op">:</tt> </tt>
+<a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L600"></a><tt class="py-lineno"> 600</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">intentStop</tt><tt class="py-op">:</tt> </tt>
+<a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line">            <tt class="py-name">intentStop</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">gossipTime</tt> </tt>
+<a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line">        <tt class="py-name">gossipTime</tt> <tt class="py-op">=</tt> <tt class="py-name">intentStop</tt> <tt class="py-op">-</tt> <tt class="py-name">intentStart</tt> </tt>
+<a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-224" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-224', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"It took about "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">gossipTime</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">                        <tt class="py-string">" seconds for all intents to appear in each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: make this time configurable/calculate based off of number of</tt> </tt>
+<a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line">        <tt class="py-comment">#        nodes and gossip rounds</tt> </tt>
+<a name="L610"></a><tt class="py-lineno"> 610</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_greater_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line">                <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-number">40</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">gossipTime</tt><tt class="py-op">,</tt> </tt>
+<a name="L612"></a><tt class="py-lineno"> 612</tt>  <tt class="py-line">                <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ECM anti-entropy for intents worked within "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line">                       <tt class="py-string">"expected time"</tt><tt class="py-op">,</tt> </tt>
+<a name="L614"></a><tt class="py-lineno"> 614</tt>  <tt class="py-line">                <tt id="link-225" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-225', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intent ECM anti-entropy took too long"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">gossipTime</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">40</tt><tt class="py-op">:</tt> </tt>
+<a name="L616"></a><tt class="py-lineno"> 616</tt>  <tt class="py-line">            <tt class="py-name">intentAddResult</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line"> </tt>
+<a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">intentAddResult</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"key"</tt> <tt class="py-keyword">in</tt> <tt id="link-226" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-226', 'pendingMap', 'link-194');">pendingMap</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line">            <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line">            <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-227', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Sleeping 60 seconds to see if intents are found"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line">            <tt class="py-name">onosIds</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId" class="py-name" href="#" onclick="return doclink('link-228', 'getAllIntentsId', 'link-153');">getAllIntentsId</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-229', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Submitted intents: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">intentIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-230" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-230', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Intents in ONOS: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosIds</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line">            <tt class="py-comment"># Print the intent states</tt> </tt>
+<a name="L627"></a><tt class="py-lineno"> 627</tt>  <tt class="py-line">            <tt id="link-231" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-231', 'intents', 'link-158');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-232" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-232', 'intents', 'link-158');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-233', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> <tt class="py-string">'Count'</tt><tt class="py-op">,</tt> <tt class="py-string">'ID'</tt><tt class="py-op">,</tt> <tt class="py-string">'State'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-234" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-234', 'intent', 'link-156');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-235" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-235', 'intents', 'link-158');">intents</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line">                    <tt class="py-comment"># Iter through intents of a node</tt> </tt>
+<a name="L634"></a><tt class="py-lineno"> 634</tt>  <tt class="py-line">                    <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-236" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-236', 'intent', 'link-156');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-string">"INSTALLED"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state</tt><tt class="py-op">:</tt> </tt>
+<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">                        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line">                    <tt class="py-name">intentId</tt> <tt class="py-op">=</tt> <tt id="link-237" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-237', 'intent', 'link-156');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L638"></a><tt class="py-lineno"> 638</tt>  <tt class="py-line">                    <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-238', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line">            <tt class="py-comment"># add submitted intents not in the store</tt> </tt>
+<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line">            <tt class="py-name">tmplist</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt> <tt class="py-op">]</tt> </tt>
+<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentIds</tt><tt class="py-op">:</tt> </tt>
+<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tmplist</tt><tt class="py-op">:</tt> </tt>
+<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line">                    <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-string">" - "</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt><tt class="py-op">:</tt> </tt>
+<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line">                <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-239" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-239', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line">                               <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">s</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line">            <tt id="link-240" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-240', 'leaders', 'link-167');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-241" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-241', 'leaders', 'link-167');">leaders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L653"></a><tt class="py-lineno"> 653</tt>  <tt class="py-line">                <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-242" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-242', 'leaders', 'link-167');">leaders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line">                    <tt class="py-name">parsedLeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-243" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-243', 'leaders', 'link-167');">leaders</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-244', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedLeaders</tt><tt class="py-op">,</tt> </tt>
+<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line">                    <tt class="py-comment"># check for all intent partitions</tt> </tt>
+<a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line">                    <tt class="py-comment"># check for election</tt> </tt>
+<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L663"></a><tt class="py-lineno"> 663</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">14</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line">                        <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"intent-partition-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line">                    <tt class="py-comment"># FIXME: this should only be after we start the app</tt> </tt>
+<a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-245" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-245', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">topics</tt> <tt class="py-op">)</tt> </tt>
+<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line">                    <tt class="py-name">ONOStopics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">j</tt><tt class="py-op">[</tt><tt class="py-string">'topic'</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsedLeaders</tt> <tt class="py-op">]</tt> </tt>
+<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">in</tt> <tt class="py-name">topics</tt><tt class="py-op">:</tt> </tt>
+<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOStopics</tt><tt class="py-op">:</tt> </tt>
+<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-246" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-246', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-247" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-247', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error: "</tt> <tt class="py-op">+</tt> <tt class="py-name">topic</tt> <tt class="py-op">+</tt> </tt>
+<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line">                                            <tt class="py-string">" not in leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line">                            <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-248', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-249" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-249', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"leaders() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-250" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-250', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-251" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-251', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-252" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-252', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-253" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-253', 'leaders', 'link-167');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line">            <tt class="py-comment"># Check all nodes</tt> </tt>
+<a name="L680"></a><tt class="py-lineno"> 680</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">missing</tt><tt class="py-op">:</tt> </tt>
+<a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-254" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-254', 'leaders', 'link-167');">leaders</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-255" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-255', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS1 leaders output: \n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line">            <tt id="link-256" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-256', 'partitions', 'link-183');">partitions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-257" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-257', 'partitions', 'link-183');">partitions</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-258" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-258', 'partitions', 'link-183');">partitions</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line">                    <tt class="py-name">parsedPartitions</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-259" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-259', 'partitions', 'link-183');">partitions</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-260" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-260', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPartitions</tt><tt class="py-op">,</tt> </tt>
+<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L692"></a><tt class="py-lineno"> 692</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check for a leader in all paritions</tt> </tt>
+<a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check for consistency among nodes</tt> </tt>
+<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-261" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-261', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-262', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"partitions() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-263" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-263', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing partitions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-264" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-264', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-265" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-265', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-266" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-266', 'partitions', 'link-183');">partitions</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line">            <tt id="link-267" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-267', 'pendingMap', 'link-194');">pendingMap</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-268" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-268', 'pendingMap', 'link-194');">pendingMap</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-269" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-269', 'pendingMap', 'link-194');">pendingMap</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line">                    <tt class="py-name">parsedPending</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-270" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-270', 'pendingMap', 'link-194');">pendingMap</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-271" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-271', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPending</tt><tt class="py-op">,</tt> </tt>
+<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check something here?</tt> </tt>
+<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-272" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-272', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-273" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-273', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pendingMap() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-274" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-274', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing pending map"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-275" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-275', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-276" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-276', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-277" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-277', 'pendingMap', 'link-194');">pendingMap</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE4"></a><div id="HAsingleInstanceRestart.CASE4-def"><a name="L714"></a><tt class="py-lineno"> 714</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE4-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE4');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE4">CASE4</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE4-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE4-expanded"><a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line"><tt class="py-docstring">        Ping across added host intents</tt> </tt>
+<a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-278" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-278', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Verify connectivity by sendind traffic across Intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Ping across added host intents to check "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line">                                <tt class="py-string">"functionality and check the state of "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line">                                <tt class="py-string">"the intent"</tt> </tt>
+<a name="L727"></a><tt class="py-lineno"> 727</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-279" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-279', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Ping across added host intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line">        <tt class="py-name">PingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-number">18</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line">            <tt class="py-name">ping</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-280" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingHost,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingHost()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingHost"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingHost" class="py-name" href="#" onclick="return doclink('link-280', 'pingHost', 'link-280');">pingHost</a></tt><tt class="py-op">(</tt> <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-string">"h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line">                                           <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-string">"h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line">            <tt class="py-name">PingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">PingResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ping</tt> </tt>
+<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ping</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-281" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-281', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Ping failed between h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line">                               <tt class="py-string">" and h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">ping</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-282', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Ping test passed!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line">                <tt class="py-comment"># Don't set PingResult or you'd override failures</tt> </tt>
+<a name="L739"></a><tt class="py-lineno"> 739</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">PingResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-283" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-283', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-284" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-284', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line">                <tt class="py-string">"Intents have not been installed correctly, pings failed."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: pretty print</tt> </tt>
+<a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-285" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-285', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS1 intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line">                <tt class="py-name">tmpIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-286" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-286', 'intents', 'link-158');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-287" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-287', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">tmpIntents</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-288', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">tmpIntents</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">PingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents have been installed correctly and pings work"</tt><tt class="py-op">,</tt> </tt>
+<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line">            <tt id="link-289" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-289', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intents have not been installed correctly, pings failed."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line"> </tt>
+<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-290" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-290', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check Intent state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line">        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line">        <tt class="py-comment"># Print the intent states</tt> </tt>
+<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line">        <tt id="link-291" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-291', 'intents', 'link-158');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-292', 'intents', 'link-158');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line">        <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-293" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-293', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> <tt class="py-string">'Count'</tt><tt class="py-op">,</tt> <tt class="py-string">'ID'</tt><tt class="py-op">,</tt> <tt class="py-string">'State'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line">        <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line">        <tt class="py-comment"># Iter through intents of a node</tt> </tt>
+<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-294" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-294', 'intent', 'link-156');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-295" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-295', 'intents', 'link-158');">intents</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line">                <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-296" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-296', 'intent', 'link-156');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L769"></a><tt class="py-lineno"> 769</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-string">"INSTALLED"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state</tt><tt class="py-op">:</tt> </tt>
+<a name="L770"></a><tt class="py-lineno"> 770</tt>  <tt class="py-line">                    <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line">                <tt class="py-name">intentId</tt> <tt class="py-op">=</tt> <tt id="link-297" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-297', 'intent', 'link-156');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line">                <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-298" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-298', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing intents."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line">        <tt class="py-comment"># Print states</tt> </tt>
+<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line">        <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt><tt class="py-op">:</tt> </tt>
+<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-299" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-299', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line">                           <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">s</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L781"></a><tt class="py-lineno"> 781</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">installedCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents are all INSTALLED"</tt><tt class="py-op">,</tt> </tt>
+<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line">                                 <tt id="link-300" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-300', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intents are not all in "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line">                                        <tt class="py-string">"INSTALLED state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line"> </tt>
+<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-301" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-301', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check leadership of topics"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line">        <tt id="link-302" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-302', 'leaders', 'link-167');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-303" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-303', 'leaders', 'link-167');">leaders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line">        <tt class="py-name">topicCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-304" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-304', 'leaders', 'link-167');">leaders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line">                <tt class="py-name">parsedLeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-305" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-305', 'leaders', 'link-167');">leaders</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-306" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-306', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedLeaders</tt><tt class="py-op">,</tt> </tt>
+<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line">                <tt class="py-comment"># check for all intent partitions</tt> </tt>
+<a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line">                <tt class="py-comment"># check for election</tt> </tt>
+<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line">                <tt class="py-comment"># TODO: Look at Devices as topics now that it uses this system</tt> </tt>
+<a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line">                <tt class="py-name">topics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">14</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"intent-partition-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: this should only be after we start the app</tt> </tt>
+<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: topics.append( "org.onosproject.election" )</tt> </tt>
+<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line">                <tt class="py-comment"># Print leaders output</tt> </tt>
+<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-307', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">topics</tt> <tt class="py-op">)</tt> </tt>
+<a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line">                <tt class="py-name">ONOStopics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">j</tt><tt class="py-op">[</tt><tt class="py-string">'topic'</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsedLeaders</tt> <tt class="py-op">]</tt> </tt>
+<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">in</tt> <tt class="py-name">topics</tt><tt class="py-op">:</tt> </tt>
+<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOStopics</tt><tt class="py-op">:</tt> </tt>
+<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-308" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-308', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-309" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-309', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error: "</tt> <tt class="py-op">+</tt> <tt class="py-name">topic</tt> <tt class="py-op">+</tt> </tt>
+<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line">                                        <tt class="py-string">" not in leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">                        <tt class="py-name">topicCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-310" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-310', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-311" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-311', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"leaders() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">                <tt class="py-name">topicCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line">            <tt class="py-name">topicCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-312" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-312', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-313" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-313', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-314" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-314', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-315" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-315', 'leaders', 'link-167');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: Check for a leader of these topics</tt> </tt>
+<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">topicCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"intent Partitions is in leaders"</tt><tt class="py-op">,</tt> </tt>
+<a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line">                                 <tt id="link-316" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-316', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Some topics were lost "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line">        <tt class="py-comment"># Print partitions</tt> </tt>
+<a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line">        <tt id="link-317" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-317', 'partitions', 'link-183');">partitions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-318" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-318', 'partitions', 'link-183');">partitions</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-319" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-319', 'partitions', 'link-183');">partitions</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line">                <tt class="py-name">parsedPartitions</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-320" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-320', 'partitions', 'link-183');">partitions</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-321" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-321', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPartitions</tt><tt class="py-op">,</tt> </tt>
+<a name="L829"></a><tt class="py-lineno"> 829</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check for a leader in all paritions</tt> </tt>
+<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check for consistency among nodes</tt> </tt>
+<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-322', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-323" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-323', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"partitions() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-324" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-324', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing partitions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-325" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-325', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-326" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-326', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-327" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-327', 'partitions', 'link-183');">partitions</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line">        <tt class="py-comment"># Print Pending Map</tt> </tt>
+<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line">        <tt id="link-328" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-328', 'pendingMap', 'link-194');">pendingMap</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-329" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-329', 'pendingMap', 'link-194');">pendingMap</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-330" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-330', 'pendingMap', 'link-194');">pendingMap</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line">                <tt class="py-name">parsedPending</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-331" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-331', 'pendingMap', 'link-194');">pendingMap</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-332" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-332', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPending</tt><tt class="py-op">,</tt> </tt>
+<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line">                <tt class="py-comment"># TODO check something here?</tt> </tt>
+<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-333" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-333', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-334" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-334', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pendingMap() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-335" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-335', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing pending map"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-336" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-336', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-337" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-337', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-338" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-338', 'pendingMap', 'link-194');">pendingMap</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line"> </tt>
+<a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">installedCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L856"></a><tt class="py-lineno"> 856</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-339" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-339', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting 60 seconds to see if the state of "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line">                           <tt class="py-string">"intents change"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">60</tt> <tt class="py-op">)</tt> </tt>
+<a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line">            <tt class="py-comment"># Print the intent states</tt> </tt>
+<a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line">            <tt id="link-340" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-340', 'intents', 'link-158');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-341" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-341', 'intents', 'link-158');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-342" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-342', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> <tt class="py-string">'Count'</tt><tt class="py-op">,</tt> <tt class="py-string">'ID'</tt><tt class="py-op">,</tt> <tt class="py-string">'State'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">            <tt class="py-comment"># Iter through intents of a node</tt> </tt>
+<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-343" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-343', 'intent', 'link-156');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-344" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-344', 'intents', 'link-158');">intents</a></tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line">                    <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt id="link-345" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-345', 'intent', 'link-156');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'state'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-string">"INSTALLED"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">state</tt><tt class="py-op">:</tt> </tt>
+<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line">                        <tt class="py-name">installedCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line">                    <tt class="py-name">intentId</tt> <tt class="py-op">=</tt> <tt id="link-346" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-346', 'intent', 'link-156');">intent</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> <tt class="py-op">)</tt> </tt>
+<a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line">                    <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt> <tt class="py-name">intentId</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-347" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-347', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing intents."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L874"></a><tt class="py-lineno"> 874</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentStates</tt><tt class="py-op">:</tt> </tt>
+<a name="L876"></a><tt class="py-lineno"> 876</tt>  <tt class="py-line">                <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-348" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-348', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"%-6s%-15s%-15s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line">                               <tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">s</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line">            <tt id="link-349" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-349', 'leaders', 'link-167');">leaders</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-350" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-350', 'leaders', 'link-167');">leaders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line">                <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-351" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-351', 'leaders', 'link-167');">leaders</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line">                    <tt class="py-name">parsedLeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-352" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-352', 'leaders', 'link-167');">leaders</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-353" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-353', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedLeaders</tt><tt class="py-op">,</tt> </tt>
+<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line">                    <tt class="py-comment"># check for all intent partitions</tt> </tt>
+<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line">                    <tt class="py-comment"># check for election</tt> </tt>
+<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">14</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line">                        <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"intent-partition-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line">                    <tt class="py-comment"># FIXME: this should only be after we start the app</tt> </tt>
+<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line">                    <tt class="py-name">topics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-354" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-354', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">topics</tt> <tt class="py-op">)</tt> </tt>
+<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line">                    <tt class="py-name">ONOStopics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">j</tt><tt class="py-op">[</tt><tt class="py-string">'topic'</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsedLeaders</tt> <tt class="py-op">]</tt> </tt>
+<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">in</tt> <tt class="py-name">topics</tt><tt class="py-op">:</tt> </tt>
+<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">topic</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOStopics</tt><tt class="py-op">:</tt> </tt>
+<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-355" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-355', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-356" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-356', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error: "</tt> <tt class="py-op">+</tt> <tt class="py-name">topic</tt> <tt class="py-op">+</tt> </tt>
+<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line">                                            <tt class="py-string">" not in leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line">                            <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-357" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-357', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-358" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-358', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"leaders() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-359" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-359', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing leaders"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L906"></a><tt class="py-lineno"> 906</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-360" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-360', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-361" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-361', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-362" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-362', 'leaders', 'link-167');">leaders</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">missing</tt><tt class="py-op">:</tt> </tt>
+<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line">                <tt class="py-name">response</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-363" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-363', 'leaders', 'link-167');">leaders</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-364" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-364', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS1 leaders output: \n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">response</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line">            <tt id="link-365" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-365', 'partitions', 'link-183');">partitions</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-366" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-366', 'partitions', 'link-183');">partitions</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-367" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-367', 'partitions', 'link-183');">partitions</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line">                    <tt class="py-name">parsedPartitions</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-368" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-368', 'partitions', 'link-183');">partitions</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-369" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-369', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPartitions</tt><tt class="py-op">,</tt> </tt>
+<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L919"></a><tt class="py-lineno"> 919</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check for a leader in all paritions</tt> </tt>
+<a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check for consistency among nodes</tt> </tt>
+<a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-370" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-370', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-371" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-371', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"partitions() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-372" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-372', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing partitions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-373" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-373', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-374" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-374', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-375" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions" class="py-name" href="#" onclick="return doclink('link-375', 'partitions', 'link-183');">partitions</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line">            <tt id="link-376" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-376', 'pendingMap', 'link-194');">pendingMap</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-377" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-377', 'pendingMap', 'link-194');">pendingMap</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-378" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-378', 'pendingMap', 'link-194');">pendingMap</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line">                    <tt class="py-name">parsedPending</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-379" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-379', 'pendingMap', 'link-194');">pendingMap</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-380" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-380', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">parsedPending</tt><tt class="py-op">,</tt> </tt>
+<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">                                               <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line">                                               <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line">                                               <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line">                    <tt class="py-comment"># TODO check something here?</tt> </tt>
+<a name="L935"></a><tt class="py-lineno"> 935</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-381" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-381', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-382" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-382', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pendingMap() returned None"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-383" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-383', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing pending map"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-384" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-384', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-385" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-385', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-386" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap" class="py-name" href="#" onclick="return doclink('link-386', 'pendingMap', 'link-194');">pendingMap</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line">        <tt class="py-comment"># Print flowrules</tt> </tt>
+<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-387" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-387', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-388" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#flows,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#flows"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-388', 'flows', 'link-388');">flows</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-389" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-389', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Wait a minute then ping again"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line">        <tt class="py-comment"># the wait is above</tt> </tt>
+<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line">        <tt class="py-name">PingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-number">18</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line">            <tt class="py-name">ping</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-390" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingHost" class="py-name" href="#" onclick="return doclink('link-390', 'pingHost', 'link-280');">pingHost</a></tt><tt class="py-op">(</tt> <tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-string">"h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L947"></a><tt class="py-lineno"> 947</tt>  <tt class="py-line">                                           <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-string">"h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line">            <tt class="py-name">PingResult</tt> <tt class="py-op">=</tt> <tt class="py-name">PingResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ping</tt> </tt>
+<a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ping</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-391" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-391', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Ping failed between h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line">                               <tt class="py-string">" and h"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">ping</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-392" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-392', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Ping test passed!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line">                <tt class="py-comment"># Don't set PingResult or you'd override failures</tt> </tt>
+<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">PingResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-393" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-393', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-394" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-394', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line">                <tt class="py-string">"Intents have not been installed correctly, pings failed."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: pretty print</tt> </tt>
+<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-395" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-395', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS1 intents: "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line">                <tt class="py-name">tmpIntents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-396" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-396', 'intents', 'link-158');">intents</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-397" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-397', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">tmpIntents</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L963"></a><tt class="py-lineno"> 963</tt>  <tt class="py-line">                                           <tt class="py-name">sort_keys</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line">                                           <tt class="py-name">indent</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line">                                           <tt class="py-name">separators</tt><tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-string">','</tt><tt class="py-op">,</tt> <tt class="py-string">': '</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-398" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-398', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">tmpIntents</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L969"></a><tt class="py-lineno"> 969</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">PingResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents have been installed correctly and pings work"</tt><tt class="py-op">,</tt> </tt>
+<a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line">            <tt id="link-399" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-399', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Intents have not been installed correctly, pings failed."</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE5"></a><div id="HAsingleInstanceRestart.CASE5-def"><a name="L974"></a><tt class="py-lineno"> 974</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE5-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE5');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE5">CASE5</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE5-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE5-expanded"><a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line"><tt class="py-docstring">        Reading state of ONOS</tt> </tt>
+<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line"> </tt>
+<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-400" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-400', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Setting up and gathering data for current state"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line">        <tt class="py-comment"># The general idea for this test case is to pull the state of</tt> </tt>
+<a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line">        <tt class="py-comment"># ( intents,flows, topology,... ) from each ONOS node</tt> </tt>
+<a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line">        <tt class="py-comment"># We can then compare them with each other and also with past states</tt> </tt>
+<a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line"> </tt>
+<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-401" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-401', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check that each switch has a master"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">mastershipState</tt> </tt>
+<a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line">        <tt class="py-name">mastershipState</tt> <tt class="py-op">=</tt> <tt class="py-string">'[]'</tt> </tt>
+<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line"> </tt>
+<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line">        <tt class="py-comment"># Assert that each device has a master</tt> </tt>
+<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line">        <tt id="link-402" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#rolesNotNull"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-402', 'rolesNotNull', 'link-402');">rolesNotNull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-403" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-403', 'rolesNotNull', 'link-402');">rolesNotNull</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt id="link-404" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-404', 'rolesNotNull', 'link-402');">rolesNotNull</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Each device has a master"</tt><tt class="py-op">,</tt> </tt>
+<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line">            <tt id="link-405" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-405', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Some devices don't have a master assigned"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line"> </tt>
+<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-406" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-406', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the Mastership of each switch"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line">        <tt class="py-name">ONOS1Mastership</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-407" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.roles()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#roles"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.roles" class="py-name" href="#" onclick="return doclink('link-407', 'roles', 'link-407');">roles</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Make this a meaningful check</tt> </tt>
+<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOS1Mastership</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOS1Mastership</tt><tt class="py-op">:</tt> </tt>
+<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-408" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-408', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-409" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-409', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS roles"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-410" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-410', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> </tt>
+<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">                <tt class="py-string">"ONOS1 mastership response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line">                <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOS1Mastership</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1008"></a><tt class="py-lineno">1008</tt>  <tt class="py-line">            <tt class="py-name">consistentMastership</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line">            <tt class="py-name">mastershipState</tt> <tt class="py-op">=</tt> <tt class="py-name">ONOS1Mastership</tt> </tt>
+<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line">            <tt class="py-name">consistentMastership</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line"> </tt>
+<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-411" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-411', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the intents from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">intentState</tt> </tt>
+<a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line">        <tt class="py-name">intentState</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line">        <tt class="py-name">ONOS1Intents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-412" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-412', 'intents', 'link-158');">intents</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1017"></a><tt class="py-lineno">1017</tt>  <tt class="py-line">        <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOS1Intents</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOS1Intents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-413" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-413', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-414" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-414', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-415" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-415', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS1 intents response: "</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOS1Intents</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1022"></a><tt class="py-lineno">1022</tt>  <tt class="py-line">            <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1023"></a><tt class="py-lineno">1023</tt>  <tt class="py-line"> </tt>
+<a name="L1024"></a><tt class="py-lineno">1024</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-416" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-416', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the flows from each controller"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">flowState</tt> </tt>
+<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line">        <tt class="py-name">flowState</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line">        <tt class="py-name">flowCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line">        <tt class="py-name">ONOS1Flows</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-417" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-417', 'flows', 'link-388');">flows</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOS1Flows</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOS1Flows</tt><tt class="py-op">:</tt> </tt>
+<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-418" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-418', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-419" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-419', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS flows"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-420" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-420', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS1 flows repsponse: "</tt> <tt class="py-op">+</tt> <tt class="py-name">ONOS1Flows</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: Do a better check, maybe compare flows on switches?</tt> </tt>
+<a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line">            <tt class="py-name">flowState</tt> <tt class="py-op">=</tt> <tt class="py-name">ONOS1Flows</tt> </tt>
+<a name="L1035"></a><tt class="py-lineno">1035</tt>  <tt class="py-line">            <tt class="py-name">flowCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line"> </tt>
+<a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-421" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-421', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the OF Table entries"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt id="link-422" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-422', 'flows', 'link-388');">flows</a></tt> </tt>
+<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line">        <tt id="link-423" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-423', 'flows', 'link-388');">flows</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line">            <tt id="link-424" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-424', 'flows', 'link-388');">flows</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-425" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getFlowTable()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getFlowTable"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getFlowTable" class="py-name" href="#" onclick="return doclink('link-425', 'getFlowTable', 'link-425');">getFlowTable</a></tt><tt class="py-op">(</tt> <tt class="py-number">1.3</tt><tt class="py-op">,</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">flowCheck</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">table</tt> <tt class="py-keyword">in</tt> <tt id="link-426" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-426', 'flows', 'link-388');">flows</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L1044"></a><tt class="py-lineno">1044</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-427" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-427', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">table</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1045"></a><tt class="py-lineno">1045</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Compare switch flow tables with ONOS flow tables</tt> </tt>
+<a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line"> </tt>
+<a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-428" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-428', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Collecting topology information from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line">        <tt id="link-429" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-429', 'devices', 'link-106');">devices</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line">        <tt id="link-430" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-430', 'devices', 'link-106');">devices</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-431" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-431', 'devices', 'link-106');">devices</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line">        <tt id="link-432" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-432', 'hosts', 'link-145');">hosts</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1051"></a><tt class="py-lineno">1051</tt>  <tt class="py-line">        <tt id="link-433" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-433', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-434" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-434', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line">        <tt id="link-435" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#ports"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-435', 'ports', 'link-435');">ports</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1053"></a><tt class="py-lineno">1053</tt>  <tt class="py-line">        <tt id="link-436" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-436', 'ports', 'link-435');">ports</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-437" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-437', 'ports', 'link-435');">ports</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line">        <tt id="link-438" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#links,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#links"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-438', 'links', 'link-438');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line">        <tt id="link-439" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-439', 'links', 'link-438');">links</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-440" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-440', 'links', 'link-438');">links</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line">        <tt id="link-441" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#clusters"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-441', 'clusters', 'link-441');">clusters</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line">        <tt id="link-442" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-442', 'clusters', 'link-441');">clusters</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-443" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-443', 'clusters', 'link-441');">clusters</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line"> </tt>
+<a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-444" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-444', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Each host has an IP address"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1060"></a><tt class="py-lineno">1060</tt>  <tt class="py-line">        <tt class="py-name">ipResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-445" class="py-name" targets="Package TestON.drivers.common.api.controller=TestON.drivers.common.api.controller-module.html"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-445', 'controller', 'link-445');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-446" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-446', 'hosts', 'link-145');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1062"></a><tt class="py-lineno">1062</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-447" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-447', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">host</tt> <tt class="py-keyword">in</tt> <tt id="link-448" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-448', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-449" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-449', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">host</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">host</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'ipAddresses'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1065"></a><tt class="py-lineno">1065</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-450" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-450', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-451" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-451', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1066"></a><tt class="py-lineno">1066</tt>  <tt class="py-line">                        <tt class="py-string">"DEBUG:Error with host ips on controller"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1067"></a><tt class="py-lineno">1067</tt>  <tt class="py-line">                        <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1068"></a><tt class="py-lineno">1068</tt>  <tt class="py-line">                    <tt class="py-name">ipResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1069"></a><tt class="py-lineno">1069</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1070"></a><tt class="py-lineno">1070</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1071"></a><tt class="py-lineno">1071</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">ipResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1072"></a><tt class="py-lineno">1072</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"The ips of the hosts aren't empty"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1073"></a><tt class="py-lineno">1073</tt>  <tt class="py-line">            <tt id="link-452" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-452', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"The ip of at least one host is missing"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1074"></a><tt class="py-lineno">1074</tt>  <tt class="py-line"> </tt>
+<a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line">        <tt class="py-comment"># there should always only be one cluster</tt> </tt>
+<a name="L1076"></a><tt class="py-lineno">1076</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-453" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-453', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"There is only one dataplane cluster"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1077"></a><tt class="py-lineno">1077</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line">            <tt class="py-name">numClusters</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-454" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-454', 'clusters', 'link-441');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-455" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-455', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Error parsing clusters[0]: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1081"></a><tt class="py-lineno">1081</tt>  <tt class="py-line">                                <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-456" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-456', 'clusters', 'link-441');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line">        <tt class="py-name">clusterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">numClusters</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line">            <tt class="py-name">clusterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1087"></a><tt class="py-lineno">1087</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">numClusters</tt><tt class="py-op">,</tt> </tt>
+<a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS shows 1 SCC"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line">            <tt id="link-457" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-457', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS shows "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">numClusters</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" SCCs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1090"></a><tt class="py-lineno">1090</tt>  <tt class="py-line"> </tt>
+<a name="L1091"></a><tt class="py-lineno">1091</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-458" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-458', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Comparing ONOS topology to MN"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1092"></a><tt class="py-lineno">1092</tt>  <tt class="py-line">        <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1093"></a><tt class="py-lineno">1093</tt>  <tt class="py-line">        <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1094"></a><tt class="py-lineno">1094</tt>  <tt class="py-line">        <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1095"></a><tt class="py-lineno">1095</tt>  <tt class="py-line">        <tt class="py-name">mnSwitches</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-459" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitches()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitches"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitches" class="py-name" href="#" onclick="return doclink('link-459', 'getSwitches', 'link-459');">getSwitches</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1096"></a><tt class="py-lineno">1096</tt>  <tt class="py-line">        <tt class="py-name">mnLinks</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-460" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getLinks()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getLinks"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getLinks" class="py-name" href="#" onclick="return doclink('link-460', 'getLinks', 'link-460');">getLinks</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1097"></a><tt class="py-lineno">1097</tt>  <tt class="py-line">        <tt class="py-name">mnHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-461" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHosts()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getHosts"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHosts" class="py-name" href="#" onclick="return doclink('link-461', 'getHosts', 'link-461');">getHosts</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1098"></a><tt class="py-lineno">1098</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-462" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-462', 'controller', 'link-445');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1099"></a><tt class="py-lineno">1099</tt>  <tt class="py-line">            <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-463" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-463', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1100"></a><tt class="py-lineno">1100</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-464" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-464', 'devices', 'link-106');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-465" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-465', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt id="link-466" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-466', 'ports', 'link-435');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-467" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-467', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L1101"></a><tt class="py-lineno">1101</tt>  <tt class="py-line">                <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-468" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-468', 'devices', 'link-106');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-469" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-469', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L1102"></a><tt class="py-lineno">1102</tt>  <tt class="py-line">                <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-470" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-470', 'ports', 'link-435');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-471" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-471', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1103"></a><tt class="py-lineno">1103</tt>  <tt class="py-line"> </tt>
+<a name="L1104"></a><tt class="py-lineno">1104</tt>  <tt class="py-line">                <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-472" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareSwitches()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareSwitches"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareSwitches" class="py-name" href="#" onclick="return doclink('link-472', 'compareSwitches', 'link-472');">compareSwitches</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1105"></a><tt class="py-lineno">1105</tt>  <tt class="py-line">                        <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> </tt>
+<a name="L1106"></a><tt class="py-lineno">1106</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-473" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-473', 'devices', 'link-106');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-474" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-474', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1107"></a><tt class="py-lineno">1107</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-475" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-475', 'ports', 'link-435');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-476" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-476', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1108"></a><tt class="py-lineno">1108</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1109"></a><tt class="py-lineno">1109</tt>  <tt class="py-line">                <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1110"></a><tt class="py-lineno">1110</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1111"></a><tt class="py-lineno">1111</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentDevicesResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1112"></a><tt class="py-lineno">1112</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1113"></a><tt class="py-lineno">1113</tt>  <tt class="py-line">                                     <tt class="py-string">" Switches view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1114"></a><tt class="py-lineno">1114</tt>  <tt class="py-line">                                     <tt id="link-477" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-477', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1115"></a><tt class="py-lineno">1115</tt>  <tt class="py-line">                                     <tt class="py-string">" Switches view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1116"></a><tt class="py-lineno">1116</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-478" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-478', 'links', 'link-438');">links</a></tt><tt class="py-op">[</tt> <tt id="link-479" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-479', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-480" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-480', 'links', 'link-438');">links</a></tt><tt class="py-op">[</tt> <tt id="link-481" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-481', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1117"></a><tt class="py-lineno">1117</tt>  <tt class="py-line">                <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-482" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareLinks()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareLinks"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareLinks" class="py-name" href="#" onclick="return doclink('link-482', 'compareLinks', 'link-482');">compareLinks</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1118"></a><tt class="py-lineno">1118</tt>  <tt class="py-line">                        <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> <tt class="py-name">mnLinks</tt><tt class="py-op">,</tt> </tt>
+<a name="L1119"></a><tt class="py-lineno">1119</tt>  <tt class="py-line">                        <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-483" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-483', 'links', 'link-438');">links</a></tt><tt class="py-op">[</tt> <tt id="link-484" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-484', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1120"></a><tt class="py-lineno">1120</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1121"></a><tt class="py-lineno">1121</tt>  <tt class="py-line">                <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1122"></a><tt class="py-lineno">1122</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1123"></a><tt class="py-lineno">1123</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentLinksResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1124"></a><tt class="py-lineno">1124</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1125"></a><tt class="py-lineno">1125</tt>  <tt class="py-line">                                     <tt class="py-string">" links view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1126"></a><tt class="py-lineno">1126</tt>  <tt class="py-line">                                     <tt id="link-485" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-485', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1127"></a><tt class="py-lineno">1127</tt>  <tt class="py-line">                                     <tt class="py-string">" links view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1128"></a><tt class="py-lineno">1128</tt>  <tt class="py-line"> </tt>
+<a name="L1129"></a><tt class="py-lineno">1129</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-486" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-486', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-487" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-487', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-488" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-488', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-489" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-489', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1130"></a><tt class="py-lineno">1130</tt>  <tt class="py-line">                <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-490" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareHosts()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareHosts"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareHosts" class="py-name" href="#" onclick="return doclink('link-490', 'compareHosts', 'link-490');">compareHosts</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1131"></a><tt class="py-lineno">1131</tt>  <tt class="py-line">                        <tt class="py-name">mnHosts</tt><tt class="py-op">,</tt> </tt>
+<a name="L1132"></a><tt class="py-lineno">1132</tt>  <tt class="py-line">                        <tt id="link-491" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-491', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-492" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-492', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1133"></a><tt class="py-lineno">1133</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1134"></a><tt class="py-lineno">1134</tt>  <tt class="py-line">                <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1135"></a><tt class="py-lineno">1135</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1136"></a><tt class="py-lineno">1136</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentHostsResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1137"></a><tt class="py-lineno">1137</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1138"></a><tt class="py-lineno">1138</tt>  <tt class="py-line">                                     <tt class="py-string">" hosts exist in Mininet"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1139"></a><tt class="py-lineno">1139</tt>  <tt class="py-line">                                     <tt id="link-493" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-493', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1140"></a><tt class="py-lineno">1140</tt>  <tt class="py-line">                                     <tt class="py-string">" hosts don't match Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1141"></a><tt class="py-lineno">1141</tt>  <tt class="py-line"> </tt>
+<a name="L1142"></a><tt class="py-lineno">1142</tt>  <tt class="py-line">            <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">devicesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentDevicesResult</tt> </tt>
+<a name="L1143"></a><tt class="py-lineno">1143</tt>  <tt class="py-line">            <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">linksResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentLinksResult</tt> </tt>
+<a name="L1144"></a><tt class="py-lineno">1144</tt>  <tt class="py-line">            <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentHostsResult</tt> </tt>
+<a name="L1145"></a><tt class="py-lineno">1145</tt>  <tt class="py-line"> </tt>
+<a name="L1146"></a><tt class="py-lineno">1146</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-494" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-494', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Device information is correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1147"></a><tt class="py-lineno">1147</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1148"></a><tt class="py-lineno">1148</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1149"></a><tt class="py-lineno">1149</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">devicesResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1150"></a><tt class="py-lineno">1150</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Device information is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1151"></a><tt class="py-lineno">1151</tt>  <tt class="py-line">            <tt id="link-495" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-495', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Device information is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1152"></a><tt class="py-lineno">1152</tt>  <tt class="py-line"> </tt>
+<a name="L1153"></a><tt class="py-lineno">1153</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-496" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-496', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Links are correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1154"></a><tt class="py-lineno">1154</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1155"></a><tt class="py-lineno">1155</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1156"></a><tt class="py-lineno">1156</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">linksResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1157"></a><tt class="py-lineno">1157</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1158"></a><tt class="py-lineno">1158</tt>  <tt class="py-line">            <tt id="link-497" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-497', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Links are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1159"></a><tt class="py-lineno">1159</tt>  <tt class="py-line"> </tt>
+<a name="L1160"></a><tt class="py-lineno">1160</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-498" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-498', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Hosts are correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1161"></a><tt class="py-lineno">1161</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1162"></a><tt class="py-lineno">1162</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1163"></a><tt class="py-lineno">1163</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">hostsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1164"></a><tt class="py-lineno">1164</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Hosts are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1165"></a><tt class="py-lineno">1165</tt>  <tt class="py-line">            <tt id="link-499" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-499', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Hosts are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1166"></a><tt class="py-lineno">1166</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE6"></a><div id="HAsingleInstanceRestart.CASE6-def"><a name="L1167"></a><tt class="py-lineno">1167</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE6-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE6');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE6">CASE6</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE6-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE6-expanded"><a name="L1168"></a><tt class="py-lineno">1168</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1169"></a><tt class="py-lineno">1169</tt>  <tt class="py-line"><tt class="py-docstring">        The Failure case.</tt> </tt>
+<a name="L1170"></a><tt class="py-lineno">1170</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1171"></a><tt class="py-lineno">1171</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1172"></a><tt class="py-lineno">1172</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1173"></a><tt class="py-lineno">1173</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1174"></a><tt class="py-lineno">1174</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1175"></a><tt class="py-lineno">1175</tt>  <tt class="py-line"> </tt>
+<a name="L1176"></a><tt class="py-lineno">1176</tt>  <tt class="py-line">        <tt class="py-comment"># Reset non-persistent variables</tt> </tt>
+<a name="L1177"></a><tt class="py-lineno">1177</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1178"></a><tt class="py-lineno">1178</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L1179"></a><tt class="py-lineno">1179</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1180"></a><tt class="py-lineno">1180</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-500" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-500', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-501" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-501', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"iCounterValue not defined, setting to 0"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1181"></a><tt class="py-lineno">1181</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L1182"></a><tt class="py-lineno">1182</tt>  <tt class="py-line"> </tt>
+<a name="L1183"></a><tt class="py-lineno">1183</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-502" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-502', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Restart ONOS node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1184"></a><tt class="py-lineno">1184</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Killing ONOS process and restart cli "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1185"></a><tt class="py-lineno">1185</tt>  <tt class="py-line">                                <tt class="py-string">"sessions once onos is up."</tt> </tt>
+<a name="L1186"></a><tt class="py-lineno">1186</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-503" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-503', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Killing ONOS processes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1187"></a><tt class="py-lineno">1187</tt>  <tt class="py-line">        <tt class="py-name">killResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-504" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosKill" class="py-name" href="#" onclick="return doclink('link-504', 'onosKill', 'link-24');">onosKill</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-505" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-505', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1188"></a><tt class="py-lineno">1188</tt>  <tt class="py-line">        <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1189"></a><tt class="py-lineno">1189</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">killResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1190"></a><tt class="py-lineno">1190</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS Killed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1191"></a><tt class="py-lineno">1191</tt>  <tt class="py-line">                                 <tt id="link-506" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-506', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error killing ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1192"></a><tt class="py-lineno">1192</tt>  <tt class="py-line"> </tt>
+<a name="L1193"></a><tt class="py-lineno">1193</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-507" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-507', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Checking if ONOS is up yet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1194"></a><tt class="py-lineno">1194</tt>  <tt class="py-line">        <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L1195"></a><tt class="py-lineno">1195</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">count</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">10</tt><tt class="py-op">:</tt> </tt>
+<a name="L1196"></a><tt class="py-lineno">1196</tt>  <tt class="py-line">            <tt class="py-name">onos1Isup</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-508" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-508', 'isup', 'link-53');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-509" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-509', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1197"></a><tt class="py-lineno">1197</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">onos1Isup</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1198"></a><tt class="py-lineno">1198</tt>  <tt class="py-line">                <tt class="py-name">elapsed</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt> </tt>
+<a name="L1199"></a><tt class="py-lineno">1199</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L1200"></a><tt class="py-lineno">1200</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1201"></a><tt class="py-lineno">1201</tt>  <tt class="py-line">                <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-name">count</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1202"></a><tt class="py-lineno">1202</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">onos1Isup</tt><tt class="py-op">,</tt> </tt>
+<a name="L1203"></a><tt class="py-lineno">1203</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS is back up"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1204"></a><tt class="py-lineno">1204</tt>  <tt class="py-line">                                 <tt id="link-510" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-510', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS failed to start"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1205"></a><tt class="py-lineno">1205</tt>  <tt class="py-line"> </tt>
+<a name="L1206"></a><tt class="py-lineno">1206</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-511" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-511', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-512" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-512', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting ONOS CLI sessions"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1207"></a><tt class="py-lineno">1207</tt>  <tt class="py-line">        <tt class="py-name">cliResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-513" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli" class="py-name" href="#" onclick="return doclink('link-513', 'startOnosCli', 'link-58');">startOnosCli</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-514" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-514', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1208"></a><tt class="py-lineno">1208</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">cliResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1209"></a><tt class="py-lineno">1209</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS cli startup successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1210"></a><tt class="py-lineno">1210</tt>  <tt class="py-line">                                 <tt id="link-515" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-515', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS cli startup failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1211"></a><tt class="py-lineno">1211</tt>  <tt class="py-line"> </tt>
+<a name="L1212"></a><tt class="py-lineno">1212</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">elapsed</tt><tt class="py-op">:</tt> </tt>
+<a name="L1213"></a><tt class="py-lineno">1213</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-516" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-516', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"ESTIMATE: ONOS took %s seconds to restart"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L1214"></a><tt class="py-lineno">1214</tt>  <tt class="py-line">                           <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">elapsed</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1215"></a><tt class="py-lineno">1215</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">restartTime</tt> <tt class="py-op">=</tt> <tt class="py-name">elapsed</tt> </tt>
+<a name="L1216"></a><tt class="py-lineno">1216</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1217"></a><tt class="py-lineno">1217</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">restartTime</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
+<a name="L1218"></a><tt class="py-lineno">1218</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1219"></a><tt class="py-lineno">1219</tt>  <tt class="py-line">        <tt class="py-comment"># rerun on election apps</tt> </tt>
+<a name="L1220"></a><tt class="py-lineno">1220</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-517" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestRun()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestRun"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestRun" class="py-name" href="#" onclick="return doclink('link-517', 'electionTestRun', 'link-517');">electionTestRun</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1221"></a><tt class="py-lineno">1221</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE7"></a><div id="HAsingleInstanceRestart.CASE7-def"><a name="L1222"></a><tt class="py-lineno">1222</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE7-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE7');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE7">CASE7</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE7-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE7-expanded"><a name="L1223"></a><tt class="py-lineno">1223</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1224"></a><tt class="py-lineno">1224</tt>  <tt class="py-line"><tt class="py-docstring">        Check state after ONOS failure</tt> </tt>
+<a name="L1225"></a><tt class="py-lineno">1225</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1226"></a><tt class="py-lineno">1226</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L1227"></a><tt class="py-lineno">1227</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1228"></a><tt class="py-lineno">1228</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1229"></a><tt class="py-lineno">1229</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1230"></a><tt class="py-lineno">1230</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-518" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-518', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Running ONOS Constant State Tests"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1231"></a><tt class="py-lineno">1231</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-519" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-519', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check that each switch has a master"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1232"></a><tt class="py-lineno">1232</tt>  <tt class="py-line">        <tt class="py-comment"># Assert that each device has a master</tt> </tt>
+<a name="L1233"></a><tt class="py-lineno">1233</tt>  <tt class="py-line">        <tt id="link-520" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-520', 'rolesNotNull', 'link-402');">rolesNotNull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-521" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-521', 'rolesNotNull', 'link-402');">rolesNotNull</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1234"></a><tt class="py-lineno">1234</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1235"></a><tt class="py-lineno">1235</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1236"></a><tt class="py-lineno">1236</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt id="link-522" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull" class="py-name" href="#" onclick="return doclink('link-522', 'rolesNotNull', 'link-402');">rolesNotNull</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1237"></a><tt class="py-lineno">1237</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Each device has a master"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1238"></a><tt class="py-lineno">1238</tt>  <tt class="py-line">            <tt id="link-523" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-523', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Some devices don't have a master assigned"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1239"></a><tt class="py-lineno">1239</tt>  <tt class="py-line"> </tt>
+<a name="L1240"></a><tt class="py-lineno">1240</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-524" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-524', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check if switch roles are consistent across all nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1241"></a><tt class="py-lineno">1241</tt>  <tt class="py-line">        <tt class="py-name">ONOS1Mastership</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-525" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.roles" class="py-name" href="#" onclick="return doclink('link-525', 'roles', 'link-407');">roles</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1242"></a><tt class="py-lineno">1242</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: Refactor this whole case for single instance</tt> </tt>
+<a name="L1243"></a><tt class="py-lineno">1243</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOS1Mastership</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOS1Mastership</tt><tt class="py-op">:</tt> </tt>
+<a name="L1244"></a><tt class="py-lineno">1244</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-526" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-526', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-527" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-527', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS mastership"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1245"></a><tt class="py-lineno">1245</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-528" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-528', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS1 mastership response: "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1246"></a><tt class="py-lineno">1246</tt>  <tt class="py-line">                           <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOS1Mastership</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1247"></a><tt class="py-lineno">1247</tt>  <tt class="py-line">            <tt class="py-name">consistentMastership</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1248"></a><tt class="py-lineno">1248</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1249"></a><tt class="py-lineno">1249</tt>  <tt class="py-line">            <tt class="py-name">consistentMastership</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1250"></a><tt class="py-lineno">1250</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1251"></a><tt class="py-lineno">1251</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1252"></a><tt class="py-lineno">1252</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentMastership</tt><tt class="py-op">,</tt> </tt>
+<a name="L1253"></a><tt class="py-lineno">1253</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Switch roles are consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1254"></a><tt class="py-lineno">1254</tt>  <tt class="py-line">            <tt id="link-529" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-529', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of switch roles"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1255"></a><tt class="py-lineno">1255</tt>  <tt class="py-line"> </tt>
+<a name="L1256"></a><tt class="py-lineno">1256</tt>  <tt class="py-line">        <tt class="py-name">description2</tt> <tt class="py-op">=</tt> <tt class="py-string">"Compare switch roles from before failure"</tt> </tt>
+<a name="L1257"></a><tt class="py-lineno">1257</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-530" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-530', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-name">description2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1258"></a><tt class="py-lineno">1258</tt>  <tt class="py-line"> </tt>
+<a name="L1259"></a><tt class="py-lineno">1259</tt>  <tt class="py-line">        <tt class="py-name">currentJson</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">ONOS1Mastership</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1260"></a><tt class="py-lineno">1260</tt>  <tt class="py-line">        <tt class="py-name">oldJson</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">mastershipState</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1261"></a><tt class="py-lineno">1261</tt>  <tt class="py-line">        <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1262"></a><tt class="py-lineno">1262</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1263"></a><tt class="py-lineno">1263</tt>  <tt class="py-line">            <tt class="py-name">switchDPID</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> </tt>
+<a name="L1264"></a><tt class="py-lineno">1264</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-531" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitchDPID()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitchDPID"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitchDPID" class="py-name" href="#" onclick="return doclink('link-531', 'getSwitchDPID', 'link-531');">getSwitchDPID</a></tt><tt class="py-op">(</tt> <tt class="py-name">switch</tt><tt class="py-op">=</tt><tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1265"></a><tt class="py-lineno">1265</tt>  <tt class="py-line"> </tt>
+<a name="L1266"></a><tt class="py-lineno">1266</tt>  <tt class="py-line">            <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">switch</tt><tt class="py-op">[</tt> <tt class="py-string">'master'</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">currentJson</tt> </tt>
+<a name="L1267"></a><tt class="py-lineno">1267</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">switchDPID</tt> <tt class="py-keyword">in</tt> <tt class="py-name">switch</tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1268"></a><tt class="py-lineno">1268</tt>  <tt class="py-line">            <tt class="py-name">old</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">switch</tt><tt class="py-op">[</tt> <tt class="py-string">'master'</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">switch</tt> <tt class="py-keyword">in</tt> <tt class="py-name">oldJson</tt> </tt>
+<a name="L1269"></a><tt class="py-lineno">1269</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">switchDPID</tt> <tt class="py-keyword">in</tt> <tt class="py-name">switch</tt><tt class="py-op">[</tt> <tt class="py-string">'id'</tt> <tt class="py-op">]</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1270"></a><tt class="py-lineno">1270</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">current</tt> <tt class="py-op">==</tt> <tt class="py-name">old</tt><tt class="py-op">:</tt> </tt>
+<a name="L1271"></a><tt class="py-lineno">1271</tt>  <tt class="py-line">                <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">mastershipCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1272"></a><tt class="py-lineno">1272</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1273"></a><tt class="py-lineno">1273</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-532" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-532', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Mastership of switch %s changed"</tt> <tt class="py-op">%</tt> <tt class="py-name">switchDPID</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1274"></a><tt class="py-lineno">1274</tt>  <tt class="py-line">                <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1275"></a><tt class="py-lineno">1275</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1276"></a><tt class="py-lineno">1276</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1277"></a><tt class="py-lineno">1277</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">mastershipCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L1278"></a><tt class="py-lineno">1278</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Mastership of Switches was not changed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1279"></a><tt class="py-lineno">1279</tt>  <tt class="py-line">            <tt id="link-533" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-533', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Mastership of some switches changed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1280"></a><tt class="py-lineno">1280</tt>  <tt class="py-line">        <tt class="py-name">mastershipCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">mastershipCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-name">consistentMastership</tt> </tt>
+<a name="L1281"></a><tt class="py-lineno">1281</tt>  <tt class="py-line"> </tt>
+<a name="L1282"></a><tt class="py-lineno">1282</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-534" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-534', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the intents and compare across all nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1283"></a><tt class="py-lineno">1283</tt>  <tt class="py-line">        <tt class="py-name">ONOS1Intents</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-535" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-535', 'intents', 'link-158');">intents</a></tt><tt class="py-op">(</tt> <tt class="py-name">jsonFormat</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1284"></a><tt class="py-lineno">1284</tt>  <tt class="py-line">        <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1285"></a><tt class="py-lineno">1285</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ONOS1Intents</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">ONOS1Intents</tt><tt class="py-op">:</tt> </tt>
+<a name="L1286"></a><tt class="py-lineno">1286</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-536" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-536', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-537" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-537', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error in getting ONOS intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1287"></a><tt class="py-lineno">1287</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-538" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-538', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS1 intents response: "</tt> <tt class="py-op">+</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">ONOS1Intents</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1288"></a><tt class="py-lineno">1288</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1289"></a><tt class="py-lineno">1289</tt>  <tt class="py-line">            <tt class="py-name">intentCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1290"></a><tt class="py-lineno">1290</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1291"></a><tt class="py-lineno">1291</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1292"></a><tt class="py-lineno">1292</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">intentCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L1293"></a><tt class="py-lineno">1293</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Intents are consistent across all ONOS nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1294"></a><tt class="py-lineno">1294</tt>  <tt class="py-line">            <tt id="link-539" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-539', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS nodes have different views of intents"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1295"></a><tt class="py-lineno">1295</tt>  <tt class="py-line">        <tt class="py-comment"># Print the intent states</tt> </tt>
+<a name="L1296"></a><tt class="py-lineno">1296</tt>  <tt class="py-line">        <tt id="link-540" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-540', 'intents', 'link-158');">intents</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1297"></a><tt class="py-lineno">1297</tt>  <tt class="py-line">        <tt id="link-541" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-541', 'intents', 'link-158');">intents</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">ONOS1Intents</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1298"></a><tt class="py-lineno">1298</tt>  <tt class="py-line">        <tt class="py-name">intentStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1299"></a><tt class="py-lineno">1299</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt id="link-542" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-542', 'intents', 'link-158');">intents</a></tt><tt class="py-op">:</tt>  <tt class="py-comment"># Iter through ONOS nodes</tt> </tt>
+<a name="L1300"></a><tt class="py-lineno">1300</tt>  <tt class="py-line">            <tt class="py-name">nodeStates</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1301"></a><tt class="py-lineno">1301</tt>  <tt class="py-line">            <tt class="py-comment"># Iter through intents of a node</tt> </tt>
+<a name="L1302"></a><tt class="py-lineno">1302</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-543" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-543', 'intent', 'link-156');">intent</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1303"></a><tt class="py-lineno">1303</tt>  <tt class="py-line">                <tt class="py-name">nodeStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-544" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent" class="py-name" href="#" onclick="return doclink('link-544', 'intent', 'link-156');">intent</a></tt><tt class="py-op">[</tt> <tt class="py-string">'state'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1304"></a><tt class="py-lineno">1304</tt>  <tt class="py-line">            <tt class="py-name">intentStates</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStates</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1305"></a><tt class="py-lineno">1305</tt>  <tt class="py-line">            <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">nodeStates</tt><tt class="py-op">.</tt><tt class="py-name">count</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">nodeStates</tt> <tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1306"></a><tt class="py-lineno">1306</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-545" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-545', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt> <tt class="py-name">out</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1307"></a><tt class="py-lineno">1307</tt>  <tt class="py-line"> </tt>
+<a name="L1308"></a><tt class="py-lineno">1308</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: Store has no durability, so intents are lost across system</tt> </tt>
+<a name="L1309"></a><tt class="py-lineno">1309</tt>  <tt class="py-line">        <tt class="py-comment">#       restarts</tt> </tt>
+<a name="L1310"></a><tt class="py-lineno">1310</tt>  <tt class="py-line">        <tt class="py-string">"""</tt> </tt>
+<a name="L1311"></a><tt class="py-lineno">1311</tt>  <tt class="py-line"><tt class="py-string">        main.step( "Compare current intents with intents before the failure" )</tt> </tt>
+<a name="L1312"></a><tt class="py-lineno">1312</tt>  <tt class="py-line"><tt class="py-string">        # NOTE: this requires case 5 to pass for intentState to be set.</tt> </tt>
+<a name="L1313"></a><tt class="py-lineno">1313</tt>  <tt class="py-line"><tt class="py-string">        #      maybe we should stop the test if that fails?</tt> </tt>
+<a name="L1314"></a><tt class="py-lineno">1314</tt>  <tt class="py-line"><tt class="py-string">        sameIntents = main.FALSE</tt> </tt>
+<a name="L1315"></a><tt class="py-lineno">1315</tt>  <tt class="py-line"><tt class="py-string">        if intentState and intentState == ONOSIntents[ 0 ]:</tt> </tt>
+<a name="L1316"></a><tt class="py-lineno">1316</tt>  <tt class="py-line"><tt class="py-string">            sameIntents = main.TRUE</tt> </tt>
+<a name="L1317"></a><tt class="py-lineno">1317</tt>  <tt class="py-line"><tt class="py-string">            main.log.info( "Intents are consistent with before failure" )</tt> </tt>
+<a name="L1318"></a><tt class="py-lineno">1318</tt>  <tt class="py-line"><tt class="py-string">        # TODO: possibly the states have changed? we may need to figure out</tt> </tt>
+<a name="L1319"></a><tt class="py-lineno">1319</tt>  <tt class="py-line"><tt class="py-string">        #       what the acceptable states are</tt> </tt>
+<a name="L1320"></a><tt class="py-lineno">1320</tt>  <tt class="py-line"><tt class="py-string">        elif len( intentState ) == len( ONOSIntents[ 0 ] ):</tt> </tt>
+<a name="L1321"></a><tt class="py-lineno">1321</tt>  <tt class="py-line"><tt class="py-string">            sameIntents = main.TRUE</tt> </tt>
+<a name="L1322"></a><tt class="py-lineno">1322</tt>  <tt class="py-line"><tt class="py-string">            try:</tt> </tt>
+<a name="L1323"></a><tt class="py-lineno">1323</tt>  <tt class="py-line"><tt class="py-string">                before = json.loads( intentState )</tt> </tt>
+<a name="L1324"></a><tt class="py-lineno">1324</tt>  <tt class="py-line"><tt class="py-string">                after = json.loads( ONOSIntents[ 0 ] )</tt> </tt>
+<a name="L1325"></a><tt class="py-lineno">1325</tt>  <tt class="py-line"><tt class="py-string">                for intent in before:</tt> </tt>
+<a name="L1326"></a><tt class="py-lineno">1326</tt>  <tt class="py-line"><tt class="py-string">                    if intent not in after:</tt> </tt>
+<a name="L1327"></a><tt class="py-lineno">1327</tt>  <tt class="py-line"><tt class="py-string">                        sameIntents = main.FALSE</tt> </tt>
+<a name="L1328"></a><tt class="py-lineno">1328</tt>  <tt class="py-line"><tt class="py-string">                        main.log.debug( "Intent is not currently in ONOS " +</tt> </tt>
+<a name="L1329"></a><tt class="py-lineno">1329</tt>  <tt class="py-line"><tt class="py-string">                                        "(at least in the same form):" )</tt> </tt>
+<a name="L1330"></a><tt class="py-lineno">1330</tt>  <tt class="py-line"><tt class="py-string">                        main.log.debug( json.dumps( intent ) )</tt> </tt>
+<a name="L1331"></a><tt class="py-lineno">1331</tt>  <tt class="py-line"><tt class="py-string">            except ( ValueError, TypeError ):</tt> </tt>
+<a name="L1332"></a><tt class="py-lineno">1332</tt>  <tt class="py-line"><tt class="py-string">                main.log.exception( "Exception printing intents" )</tt> </tt>
+<a name="L1333"></a><tt class="py-lineno">1333</tt>  <tt class="py-line"><tt class="py-string">                main.log.debug( repr( ONOSIntents[0] ) )</tt> </tt>
+<a name="L1334"></a><tt class="py-lineno">1334</tt>  <tt class="py-line"><tt class="py-string">                main.log.debug( repr( intentState ) )</tt> </tt>
+<a name="L1335"></a><tt class="py-lineno">1335</tt>  <tt class="py-line"><tt class="py-string">        if sameIntents == main.FALSE:</tt> </tt>
+<a name="L1336"></a><tt class="py-lineno">1336</tt>  <tt class="py-line"><tt class="py-string">            try:</tt> </tt>
+<a name="L1337"></a><tt class="py-lineno">1337</tt>  <tt class="py-line"><tt class="py-string">                main.log.debug( "ONOS intents before: " )</tt> </tt>
+<a name="L1338"></a><tt class="py-lineno">1338</tt>  <tt class="py-line"><tt class="py-string">                main.log.debug( json.dumps( json.loads( intentState ),</tt> </tt>
+<a name="L1339"></a><tt class="py-lineno">1339</tt>  <tt class="py-line"><tt class="py-string">                                            sort_keys=True, indent=4,</tt> </tt>
+<a name="L1340"></a><tt class="py-lineno">1340</tt>  <tt class="py-line"><tt class="py-string">                                            separators=( ',', ': ' ) ) )</tt> </tt>
+<a name="L1341"></a><tt class="py-lineno">1341</tt>  <tt class="py-line"><tt class="py-string">                main.log.debug( "Current ONOS intents: " )</tt> </tt>
+<a name="L1342"></a><tt class="py-lineno">1342</tt>  <tt class="py-line"><tt class="py-string">                main.log.debug( json.dumps( json.loads( ONOSIntents[ 0 ] ),</tt> </tt>
+<a name="L1343"></a><tt class="py-lineno">1343</tt>  <tt class="py-line"><tt class="py-string">                                            sort_keys=True, indent=4,</tt> </tt>
+<a name="L1344"></a><tt class="py-lineno">1344</tt>  <tt class="py-line"><tt class="py-string">                                            separators=( ',', ': ' ) ) )</tt> </tt>
+<a name="L1345"></a><tt class="py-lineno">1345</tt>  <tt class="py-line"><tt class="py-string">            except ( ValueError, TypeError ):</tt> </tt>
+<a name="L1346"></a><tt class="py-lineno">1346</tt>  <tt class="py-line"><tt class="py-string">                main.log.exception( "Exception printing intents" )</tt> </tt>
+<a name="L1347"></a><tt class="py-lineno">1347</tt>  <tt class="py-line"><tt class="py-string">                main.log.debug( repr( ONOSIntents[0] ) )</tt> </tt>
+<a name="L1348"></a><tt class="py-lineno">1348</tt>  <tt class="py-line"><tt class="py-string">                main.log.debug( repr( intentState ) )</tt> </tt>
+<a name="L1349"></a><tt class="py-lineno">1349</tt>  <tt class="py-line"><tt class="py-string">        utilities.assert_equals(</tt> </tt>
+<a name="L1350"></a><tt class="py-lineno">1350</tt>  <tt class="py-line"><tt class="py-string">            expect=main.TRUE,</tt> </tt>
+<a name="L1351"></a><tt class="py-lineno">1351</tt>  <tt class="py-line"><tt class="py-string">            actual=sameIntents,</tt> </tt>
+<a name="L1352"></a><tt class="py-lineno">1352</tt>  <tt class="py-line"><tt class="py-string">            onpass="Intents are consistent with before failure",</tt> </tt>
+<a name="L1353"></a><tt class="py-lineno">1353</tt>  <tt class="py-line"><tt class="py-string">            onfail="The Intents changed during failure" )</tt> </tt>
+<a name="L1354"></a><tt class="py-lineno">1354</tt>  <tt class="py-line"><tt class="py-string">        intentCheck = intentCheck and sameIntents</tt> </tt>
+<a name="L1355"></a><tt class="py-lineno">1355</tt>  <tt class="py-line"><tt class="py-string">        """</tt> </tt>
+<a name="L1356"></a><tt class="py-lineno">1356</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-546" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-546', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get the OF Table entries and compare to before "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1357"></a><tt class="py-lineno">1357</tt>  <tt class="py-line">                   <tt class="py-string">"component failure"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1358"></a><tt class="py-lineno">1358</tt>  <tt class="py-line">        <tt class="py-name">FlowTables</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1359"></a><tt class="py-lineno">1359</tt>  <tt class="py-line">        <tt class="py-name">flows2</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1360"></a><tt class="py-lineno">1360</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">28</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1361"></a><tt class="py-lineno">1361</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-547" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-547', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Checking flow table on s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1362"></a><tt class="py-lineno">1362</tt>  <tt class="py-line">            <tt class="py-name">tmpFlows</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-548" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getFlowTable" class="py-name" href="#" onclick="return doclink('link-548', 'getFlowTable', 'link-425');">getFlowTable</a></tt><tt class="py-op">(</tt> <tt class="py-number">1.3</tt><tt class="py-op">,</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1363"></a><tt class="py-lineno">1363</tt>  <tt class="py-line">            <tt class="py-name">flows2</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">tmpFlows</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1364"></a><tt class="py-lineno">1364</tt>  <tt class="py-line">            <tt class="py-name">tempResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-549" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.flowComp()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#flowComp"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.flowComp" class="py-name" href="#" onclick="return doclink('link-549', 'flowComp', 'link-549');">flowComp</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1365"></a><tt class="py-lineno">1365</tt>  <tt class="py-line">                <tt class="py-name">flow1</tt><tt class="py-op">=</tt><tt id="link-550" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-550', 'flows', 'link-388');">flows</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1366"></a><tt class="py-lineno">1366</tt>  <tt class="py-line">                <tt class="py-name">flow2</tt><tt class="py-op">=</tt><tt class="py-name">tmpFlows</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1367"></a><tt class="py-lineno">1367</tt>  <tt class="py-line">            <tt class="py-name">FlowTables</tt> <tt class="py-op">=</tt> <tt class="py-name">FlowTables</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tempResult</tt> </tt>
+<a name="L1368"></a><tt class="py-lineno">1368</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">FlowTables</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1369"></a><tt class="py-lineno">1369</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-551" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-551', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Differences in flow table for switch: s"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1370"></a><tt class="py-lineno">1370</tt>  <tt class="py-line">                               <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1371"></a><tt class="py-lineno">1371</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1372"></a><tt class="py-lineno">1372</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1373"></a><tt class="py-lineno">1373</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">FlowTables</tt><tt class="py-op">,</tt> </tt>
+<a name="L1374"></a><tt class="py-lineno">1374</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"No changes were found in the flow tables"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1375"></a><tt class="py-lineno">1375</tt>  <tt class="py-line">            <tt id="link-552" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-552', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Changes were found in the flow tables"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1376"></a><tt class="py-lineno">1376</tt>  <tt class="py-line"> </tt>
+<a name="L1377"></a><tt class="py-lineno">1377</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-553" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-553', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Leadership Election is still functional"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1378"></a><tt class="py-lineno">1378</tt>  <tt class="py-line">        <tt class="py-comment"># Test of LeadershipElection</tt> </tt>
+<a name="L1379"></a><tt class="py-lineno">1379</tt>  <tt class="py-line"> </tt>
+<a name="L1380"></a><tt class="py-lineno">1380</tt>  <tt class="py-line">        <tt class="py-name">leader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-554" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-554', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> </tt>
+<a name="L1381"></a><tt class="py-lineno">1381</tt>  <tt class="py-line">        <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1382"></a><tt class="py-lineno">1382</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-555" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-555', 'controller', 'link-445');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1383"></a><tt class="py-lineno">1383</tt>  <tt class="py-line">            <tt class="py-comment"># loop through ONOScli handlers</tt> </tt>
+<a name="L1384"></a><tt class="py-lineno">1384</tt>  <tt class="py-line">            <tt class="py-name">node</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt> <tt class="py-string">'ONOScli'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-556" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-556', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1385"></a><tt class="py-lineno">1385</tt>  <tt class="py-line">            <tt class="py-name">leaderN</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-557" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestLeader"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-557', 'electionTestLeader', 'link-557');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1386"></a><tt class="py-lineno">1386</tt>  <tt class="py-line">            <tt class="py-comment"># verify leader is ONOS1</tt> </tt>
+<a name="L1387"></a><tt class="py-lineno">1387</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE even though we restarted ONOS, it is the only one so onos 1</tt> </tt>
+<a name="L1388"></a><tt class="py-lineno">1388</tt>  <tt class="py-line">            <tt class="py-comment"># must be leader</tt> </tt>
+<a name="L1389"></a><tt class="py-lineno">1389</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">==</tt> <tt class="py-name">leader</tt><tt class="py-op">:</tt> </tt>
+<a name="L1390"></a><tt class="py-lineno">1390</tt>  <tt class="py-line">                <tt class="py-comment"># all is well</tt> </tt>
+<a name="L1391"></a><tt class="py-lineno">1391</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L1392"></a><tt class="py-lineno">1392</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1393"></a><tt class="py-lineno">1393</tt>  <tt class="py-line">                <tt class="py-comment"># error in response</tt> </tt>
+<a name="L1394"></a><tt class="py-lineno">1394</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-558" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-558', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-559" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-559', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Something is wrong with "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1395"></a><tt class="py-lineno">1395</tt>  <tt class="py-line">                                 <tt class="py-string">"electionTestLeader function, check the"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1396"></a><tt class="py-lineno">1396</tt>  <tt class="py-line">                                 <tt class="py-string">" error logs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1397"></a><tt class="py-lineno">1397</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1398"></a><tt class="py-lineno">1398</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">leader</tt> <tt class="py-op">!=</tt> <tt class="py-name">leaderN</tt><tt class="py-op">:</tt> </tt>
+<a name="L1399"></a><tt class="py-lineno">1399</tt>  <tt class="py-line">                <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1400"></a><tt class="py-lineno">1400</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-560" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-560', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-561" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-561', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-562" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-562', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" sees "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1401"></a><tt class="py-lineno">1401</tt>  <tt class="py-line">                                 <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1402"></a><tt class="py-lineno">1402</tt>  <tt class="py-line">                                 <tt class="py-string">" as the leader of the election app. "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1403"></a><tt class="py-lineno">1403</tt>  <tt class="py-line">                                 <tt class="py-string">"Leader should be "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1404"></a><tt class="py-lineno">1404</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1405"></a><tt class="py-lineno">1405</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1406"></a><tt class="py-lineno">1406</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">leaderResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1407"></a><tt class="py-lineno">1407</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Leadership election passed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1408"></a><tt class="py-lineno">1408</tt>  <tt class="py-line">            <tt id="link-563" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-563', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something went wrong with Leadership election"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1409"></a><tt class="py-lineno">1409</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE8"></a><div id="HAsingleInstanceRestart.CASE8-def"><a name="L1410"></a><tt class="py-lineno">1410</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE8-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE8');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE8">CASE8</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE8-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE8-expanded"><a name="L1411"></a><tt class="py-lineno">1411</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1412"></a><tt class="py-lineno">1412</tt>  <tt class="py-line"><tt class="py-docstring">        Compare topo</tt> </tt>
+<a name="L1413"></a><tt class="py-lineno">1413</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1414"></a><tt class="py-lineno">1414</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L1415"></a><tt class="py-lineno">1415</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1416"></a><tt class="py-lineno">1416</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1417"></a><tt class="py-lineno">1417</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1418"></a><tt class="py-lineno">1418</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1419"></a><tt class="py-lineno">1419</tt>  <tt class="py-line"> </tt>
+<a name="L1420"></a><tt class="py-lineno">1420</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-564" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-564', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Compare ONOS Topology view to Mininet topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1421"></a><tt class="py-lineno">1421</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Compare topology objects between Mininet"</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1422"></a><tt class="py-lineno">1422</tt>  <tt class="py-line">                                <tt class="py-string">" and ONOS"</tt> </tt>
+<a name="L1423"></a><tt class="py-lineno">1423</tt>  <tt class="py-line"> </tt>
+<a name="L1424"></a><tt class="py-lineno">1424</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-565" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-565', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Comparing ONOS topology to MN"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1425"></a><tt class="py-lineno">1425</tt>  <tt class="py-line">        <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1426"></a><tt class="py-lineno">1426</tt>  <tt class="py-line">        <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1427"></a><tt class="py-lineno">1427</tt>  <tt class="py-line">        <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1428"></a><tt class="py-lineno">1428</tt>  <tt class="py-line">        <tt class="py-name">hostAttachmentResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1429"></a><tt class="py-lineno">1429</tt>  <tt class="py-line">        <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1430"></a><tt class="py-lineno">1430</tt>  <tt class="py-line">        <tt class="py-name">elapsed</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L1431"></a><tt class="py-lineno">1431</tt>  <tt class="py-line">        <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L1432"></a><tt class="py-lineno">1432</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-566" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-566', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Collecting topology information from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1433"></a><tt class="py-lineno">1433</tt>  <tt class="py-line">        <tt class="py-name">startTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1434"></a><tt class="py-lineno">1434</tt>  <tt class="py-line">        <tt class="py-comment"># Give time for Gossip to work</tt> </tt>
+<a name="L1435"></a><tt class="py-lineno">1435</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">topoResult</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> <tt class="py-keyword">and</tt> <tt class="py-name">elapsed</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">60</tt><tt class="py-op">:</tt> </tt>
+<a name="L1436"></a><tt class="py-lineno">1436</tt>  <tt class="py-line">            <tt class="py-name">count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1437"></a><tt class="py-lineno">1437</tt>  <tt class="py-line">            <tt class="py-name">cliStart</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1438"></a><tt class="py-lineno">1438</tt>  <tt class="py-line">            <tt id="link-567" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-567', 'devices', 'link-106');">devices</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1439"></a><tt class="py-lineno">1439</tt>  <tt class="py-line">            <tt id="link-568" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-568', 'devices', 'link-106');">devices</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-569" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-569', 'devices', 'link-106');">devices</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1440"></a><tt class="py-lineno">1440</tt>  <tt class="py-line">            <tt id="link-570" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-570', 'hosts', 'link-145');">hosts</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1441"></a><tt class="py-lineno">1441</tt>  <tt class="py-line">            <tt id="link-571" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-571', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-572" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-572', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1442"></a><tt class="py-lineno">1442</tt>  <tt class="py-line">            <tt class="py-name">ipResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1443"></a><tt class="py-lineno">1443</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-573" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-573', 'controller', 'link-445');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt id="link-574" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-574', 'hosts', 'link-145');">hosts</a></tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1444"></a><tt class="py-lineno">1444</tt>  <tt class="py-line">                <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-575" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-575', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1445"></a><tt class="py-lineno">1445</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">host</tt> <tt class="py-keyword">in</tt> <tt id="link-576" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-576', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-577" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-577', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1446"></a><tt class="py-lineno">1446</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">host</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">host</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'ipAddresses'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1447"></a><tt class="py-lineno">1447</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-578" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-578', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-579" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-579', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1448"></a><tt class="py-lineno">1448</tt>  <tt class="py-line">                            <tt class="py-string">"DEBUG:Error with host ips on controller"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1449"></a><tt class="py-lineno">1449</tt>  <tt class="py-line">                            <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> <tt class="py-string">": "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1450"></a><tt class="py-lineno">1450</tt>  <tt class="py-line">                        <tt class="py-name">ipResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1451"></a><tt class="py-lineno">1451</tt>  <tt class="py-line">            <tt id="link-580" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-580', 'ports', 'link-435');">ports</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1452"></a><tt class="py-lineno">1452</tt>  <tt class="py-line">            <tt id="link-581" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-581', 'ports', 'link-435');">ports</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-582" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-582', 'ports', 'link-435');">ports</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1453"></a><tt class="py-lineno">1453</tt>  <tt class="py-line">            <tt id="link-583" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-583', 'links', 'link-438');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1454"></a><tt class="py-lineno">1454</tt>  <tt class="py-line">            <tt id="link-584" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-584', 'links', 'link-438');">links</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-585" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-585', 'links', 'link-438');">links</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1455"></a><tt class="py-lineno">1455</tt>  <tt class="py-line">            <tt id="link-586" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-586', 'clusters', 'link-441');">clusters</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1456"></a><tt class="py-lineno">1456</tt>  <tt class="py-line">            <tt id="link-587" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-587', 'clusters', 'link-441');">clusters</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-588" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-588', 'clusters', 'link-441');">clusters</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1457"></a><tt class="py-lineno">1457</tt>  <tt class="py-line"> </tt>
+<a name="L1458"></a><tt class="py-lineno">1458</tt>  <tt class="py-line">            <tt class="py-name">elapsed</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">startTime</tt> </tt>
+<a name="L1459"></a><tt class="py-lineno">1459</tt>  <tt class="py-line">            <tt class="py-name">cliTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">cliStart</tt> </tt>
+<a name="L1460"></a><tt class="py-lineno">1460</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"CLI time: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">cliTime</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1461"></a><tt class="py-lineno">1461</tt>  <tt class="py-line"> </tt>
+<a name="L1462"></a><tt class="py-lineno">1462</tt>  <tt class="py-line">            <tt class="py-name">mnSwitches</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-589" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitches" class="py-name" href="#" onclick="return doclink('link-589', 'getSwitches', 'link-459');">getSwitches</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1463"></a><tt class="py-lineno">1463</tt>  <tt class="py-line">            <tt class="py-name">mnLinks</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-590" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getLinks" class="py-name" href="#" onclick="return doclink('link-590', 'getLinks', 'link-460');">getLinks</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1464"></a><tt class="py-lineno">1464</tt>  <tt class="py-line">            <tt class="py-name">mnHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-591" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHosts" class="py-name" href="#" onclick="return doclink('link-591', 'getHosts', 'link-461');">getHosts</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1465"></a><tt class="py-lineno">1465</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-592" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-592', 'controller', 'link-445');">controller</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1466"></a><tt class="py-lineno">1466</tt>  <tt class="py-line">                <tt class="py-name">controllerStr</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-593" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-593', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1467"></a><tt class="py-lineno">1467</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-594" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-594', 'devices', 'link-106');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-595" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-595', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt id="link-596" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-596', 'ports', 'link-435');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-597" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-597', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L1468"></a><tt class="py-lineno">1468</tt>  <tt class="py-line">                    <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-598" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-598', 'devices', 'link-106');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-599" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-599', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L1469"></a><tt class="py-lineno">1469</tt>  <tt class="py-line">                    <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-600" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-600', 'ports', 'link-435');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-601" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-601', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1470"></a><tt class="py-lineno">1470</tt>  <tt class="py-line"> </tt>
+<a name="L1471"></a><tt class="py-lineno">1471</tt>  <tt class="py-line">                    <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-602" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareSwitches" class="py-name" href="#" onclick="return doclink('link-602', 'compareSwitches', 'link-472');">compareSwitches</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1472"></a><tt class="py-lineno">1472</tt>  <tt class="py-line">                            <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> </tt>
+<a name="L1473"></a><tt class="py-lineno">1473</tt>  <tt class="py-line">                            <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-603" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-603', 'devices', 'link-106');">devices</a></tt><tt class="py-op">[</tt> <tt id="link-604" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-604', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1474"></a><tt class="py-lineno">1474</tt>  <tt class="py-line">                            <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-605" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports" class="py-name" href="#" onclick="return doclink('link-605', 'ports', 'link-435');">ports</a></tt><tt class="py-op">[</tt> <tt id="link-606" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-606', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1475"></a><tt class="py-lineno">1475</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1476"></a><tt class="py-lineno">1476</tt>  <tt class="py-line">                    <tt class="py-name">currentDevicesResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1477"></a><tt class="py-lineno">1477</tt>  <tt class="py-line">                <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1478"></a><tt class="py-lineno">1478</tt>  <tt class="py-line">                                         <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentDevicesResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1479"></a><tt class="py-lineno">1479</tt>  <tt class="py-line">                                         <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1480"></a><tt class="py-lineno">1480</tt>  <tt class="py-line">                                         <tt class="py-string">" Switches view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1481"></a><tt class="py-lineno">1481</tt>  <tt class="py-line">                                         <tt id="link-607" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-607', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1482"></a><tt class="py-lineno">1482</tt>  <tt class="py-line">                                         <tt class="py-string">" Switches view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1483"></a><tt class="py-lineno">1483</tt>  <tt class="py-line"> </tt>
+<a name="L1484"></a><tt class="py-lineno">1484</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-608" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-608', 'links', 'link-438');">links</a></tt><tt class="py-op">[</tt> <tt id="link-609" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-609', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-610" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-610', 'links', 'link-438');">links</a></tt><tt class="py-op">[</tt> <tt id="link-611" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-611', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1485"></a><tt class="py-lineno">1485</tt>  <tt class="py-line">                    <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-612" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareLinks" class="py-name" href="#" onclick="return doclink('link-612', 'compareLinks', 'link-482');">compareLinks</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1486"></a><tt class="py-lineno">1486</tt>  <tt class="py-line">                            <tt class="py-name">mnSwitches</tt><tt class="py-op">,</tt> <tt class="py-name">mnLinks</tt><tt class="py-op">,</tt> </tt>
+<a name="L1487"></a><tt class="py-lineno">1487</tt>  <tt class="py-line">                            <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-613" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-613', 'links', 'link-438');">links</a></tt><tt class="py-op">[</tt> <tt id="link-614" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-614', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1488"></a><tt class="py-lineno">1488</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1489"></a><tt class="py-lineno">1489</tt>  <tt class="py-line">                    <tt class="py-name">currentLinksResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1490"></a><tt class="py-lineno">1490</tt>  <tt class="py-line">                <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1491"></a><tt class="py-lineno">1491</tt>  <tt class="py-line">                                         <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentLinksResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1492"></a><tt class="py-lineno">1492</tt>  <tt class="py-line">                                         <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1493"></a><tt class="py-lineno">1493</tt>  <tt class="py-line">                                         <tt class="py-string">" links view is correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1494"></a><tt class="py-lineno">1494</tt>  <tt class="py-line">                                         <tt id="link-615" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-615', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1495"></a><tt class="py-lineno">1495</tt>  <tt class="py-line">                                         <tt class="py-string">" links view is incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1496"></a><tt class="py-lineno">1496</tt>  <tt class="py-line"> </tt>
+<a name="L1497"></a><tt class="py-lineno">1497</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-616" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-616', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-617" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-617', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-618" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-618', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-619" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-619', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1498"></a><tt class="py-lineno">1498</tt>  <tt class="py-line">                    <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-620" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareHosts" class="py-name" href="#" onclick="return doclink('link-620', 'compareHosts', 'link-490');">compareHosts</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1499"></a><tt class="py-lineno">1499</tt>  <tt class="py-line">                            <tt class="py-name">mnHosts</tt><tt class="py-op">,</tt> </tt>
+<a name="L1500"></a><tt class="py-lineno">1500</tt>  <tt class="py-line">                            <tt id="link-621" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-621', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-622" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-622', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1501"></a><tt class="py-lineno">1501</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1502"></a><tt class="py-lineno">1502</tt>  <tt class="py-line">                    <tt class="py-name">currentHostsResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1503"></a><tt class="py-lineno">1503</tt>  <tt class="py-line">                <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1504"></a><tt class="py-lineno">1504</tt>  <tt class="py-line">                                         <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">currentHostsResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1505"></a><tt class="py-lineno">1505</tt>  <tt class="py-line">                                         <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1506"></a><tt class="py-lineno">1506</tt>  <tt class="py-line">                                         <tt class="py-string">" hosts exist in Mininet"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1507"></a><tt class="py-lineno">1507</tt>  <tt class="py-line">                                         <tt id="link-623" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-623', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">controllerStr</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1508"></a><tt class="py-lineno">1508</tt>  <tt class="py-line">                                         <tt class="py-string">" hosts don't match Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1509"></a><tt class="py-lineno">1509</tt>  <tt class="py-line">                <tt class="py-comment"># CHECKING HOST ATTACHMENT POINTS</tt> </tt>
+<a name="L1510"></a><tt class="py-lineno">1510</tt>  <tt class="py-line">                <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1511"></a><tt class="py-lineno">1511</tt>  <tt class="py-line">                <tt class="py-name">zeroHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1512"></a><tt class="py-lineno">1512</tt>  <tt class="py-line">                <tt class="py-comment"># FIXME: topo-HA/obelisk specific mappings:</tt> </tt>
+<a name="L1513"></a><tt class="py-lineno">1513</tt>  <tt class="py-line">                <tt class="py-comment"># key is mac and value is dpid</tt> </tt>
+<a name="L1514"></a><tt class="py-lineno">1514</tt>  <tt class="py-line">                <tt class="py-name">mappings</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1515"></a><tt class="py-lineno">1515</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">29</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt>  <tt class="py-comment"># hosts 1 through 28</tt> </tt>
+<a name="L1516"></a><tt class="py-lineno">1516</tt>  <tt class="py-line">                    <tt class="py-comment"># set up correct variables:</tt> </tt>
+<a name="L1517"></a><tt class="py-lineno">1517</tt>  <tt class="py-line">                    <tt class="py-name">macId</tt> <tt class="py-op">=</tt> <tt class="py-string">"00:"</tt> <tt class="py-op">*</tt> <tt class="py-number">5</tt> <tt class="py-op">+</tt> <tt class="py-name">hex</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">"0x"</tt> <tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L1518"></a><tt class="py-lineno">1518</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1519"></a><tt class="py-lineno">1519</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"1000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L1520"></a><tt class="py-lineno">1520</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L1521"></a><tt class="py-lineno">1521</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"2000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L1522"></a><tt class="py-lineno">1522</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L1523"></a><tt class="py-lineno">1523</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"3000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L1524"></a><tt class="py-lineno">1524</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L1525"></a><tt class="py-lineno">1525</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"3004"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L1526"></a><tt class="py-lineno">1526</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">5</tt><tt class="py-op">:</tt> </tt>
+<a name="L1527"></a><tt class="py-lineno">1527</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"5000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L1528"></a><tt class="py-lineno">1528</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">6</tt><tt class="py-op">:</tt> </tt>
+<a name="L1529"></a><tt class="py-lineno">1529</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"6000"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L1530"></a><tt class="py-lineno">1530</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">7</tt><tt class="py-op">:</tt> </tt>
+<a name="L1531"></a><tt class="py-lineno">1531</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"6007"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L1532"></a><tt class="py-lineno">1532</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">8</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">17</tt><tt class="py-op">:</tt> </tt>
+<a name="L1533"></a><tt class="py-lineno">1533</tt>  <tt class="py-line">                        <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'3'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1534"></a><tt class="py-lineno">1534</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">dpid</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L1535"></a><tt class="py-lineno">1535</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">18</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">27</tt><tt class="py-op">:</tt> </tt>
+<a name="L1536"></a><tt class="py-lineno">1536</tt>  <tt class="py-line">                        <tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'6'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt> <tt class="py-number">3</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1537"></a><tt class="py-lineno">1537</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">dpid</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L1538"></a><tt class="py-lineno">1538</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">28</tt><tt class="py-op">:</tt> </tt>
+<a name="L1539"></a><tt class="py-lineno">1539</tt>  <tt class="py-line">                        <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-string">"2800"</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L1540"></a><tt class="py-lineno">1540</tt>  <tt class="py-line">                    <tt class="py-name">mappings</tt><tt class="py-op">[</tt> <tt class="py-name">macId</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceId</tt> </tt>
+<a name="L1541"></a><tt class="py-lineno">1541</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-624" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-624', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-625" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-625', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">"Error"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-626" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-626', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-627" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-627', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1542"></a><tt class="py-lineno">1542</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt id="link-628" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-628', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-629" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-629', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1543"></a><tt class="py-lineno">1543</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-630" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-630', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"There are no hosts discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1544"></a><tt class="py-lineno">1544</tt>  <tt class="py-line">                        <tt class="py-name">zeroHosts</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1545"></a><tt class="py-lineno">1545</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1546"></a><tt class="py-lineno">1546</tt>  <tt class="py-line">                        <tt class="py-keyword">for</tt> <tt class="py-name">host</tt> <tt class="py-keyword">in</tt> <tt id="link-631" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-631', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-632" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-632', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1547"></a><tt class="py-lineno">1547</tt>  <tt class="py-line">                            <tt class="py-name">mac</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1548"></a><tt class="py-lineno">1548</tt>  <tt class="py-line">                            <tt id="link-633" class="py-name" targets="Variable TestON.bin.cli.location=TestON.bin.cli-module.html#location,Variable TestON.core.teston.location=TestON.core.teston-module.html#location"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-633', 'location', 'link-633');">location</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1549"></a><tt class="py-lineno">1549</tt>  <tt class="py-line">                            <tt class="py-name">device</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1550"></a><tt class="py-lineno">1550</tt>  <tt class="py-line">                            <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1551"></a><tt class="py-lineno">1551</tt>  <tt class="py-line">                            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1552"></a><tt class="py-lineno">1552</tt>  <tt class="py-line">                                <tt class="py-name">mac</tt> <tt class="py-op">=</tt> <tt class="py-name">host</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'mac'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1553"></a><tt class="py-lineno">1553</tt>  <tt class="py-line">                                <tt class="py-keyword">assert</tt> <tt class="py-name">mac</tt><tt class="py-op">,</tt> <tt class="py-string">"mac field could not be found for this host object"</tt> </tt>
+<a name="L1554"></a><tt class="py-lineno">1554</tt>  <tt class="py-line"> </tt>
+<a name="L1555"></a><tt class="py-lineno">1555</tt>  <tt class="py-line">                                <tt id="link-634" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-634', 'location', 'link-633');">location</a></tt> <tt class="py-op">=</tt> <tt class="py-name">host</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'location'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1556"></a><tt class="py-lineno">1556</tt>  <tt class="py-line">                                <tt class="py-keyword">assert</tt> <tt id="link-635" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-635', 'location', 'link-633');">location</a></tt><tt class="py-op">,</tt> <tt class="py-string">"location field could not be found for this host object"</tt> </tt>
+<a name="L1557"></a><tt class="py-lineno">1557</tt>  <tt class="py-line"> </tt>
+<a name="L1558"></a><tt class="py-lineno">1558</tt>  <tt class="py-line">                                <tt class="py-comment"># Trim the protocol identifier off deviceId</tt> </tt>
+<a name="L1559"></a><tt class="py-lineno">1559</tt>  <tt class="py-line">                                <tt class="py-name">device</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt id="link-636" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-636', 'location', 'link-633');">location</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'elementId'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">':'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L1560"></a><tt class="py-lineno">1560</tt>  <tt class="py-line">                                <tt class="py-keyword">assert</tt> <tt class="py-name">device</tt><tt class="py-op">,</tt> <tt class="py-string">"elementId field could not be found for this host location object"</tt> </tt>
+<a name="L1561"></a><tt class="py-lineno">1561</tt>  <tt class="py-line"> </tt>
+<a name="L1562"></a><tt class="py-lineno">1562</tt>  <tt class="py-line">                                <tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt id="link-637" class="py-name"><a title="TestON.bin.cli.location
+TestON.core.teston.location" class="py-name" href="#" onclick="return doclink('link-637', 'location', 'link-633');">location</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'port'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1563"></a><tt class="py-lineno">1563</tt>  <tt class="py-line">                                <tt class="py-keyword">assert</tt> <tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-string">"port field could not be found for this host location object"</tt> </tt>
+<a name="L1564"></a><tt class="py-lineno">1564</tt>  <tt class="py-line"> </tt>
+<a name="L1565"></a><tt class="py-lineno">1565</tt>  <tt class="py-line">                                <tt class="py-comment"># Now check if this matches where they should be</tt> </tt>
+<a name="L1566"></a><tt class="py-lineno">1566</tt>  <tt class="py-line">                                <tt class="py-keyword">if</tt> <tt class="py-name">mac</tt> <tt class="py-keyword">and</tt> <tt class="py-name">device</tt> <tt class="py-keyword">and</tt> <tt class="py-name">port</tt><tt class="py-op">:</tt> </tt>
+<a name="L1567"></a><tt class="py-lineno">1567</tt>  <tt class="py-line">                                    <tt class="py-keyword">if</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt> <tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-string">"1"</tt><tt class="py-op">:</tt> </tt>
+<a name="L1568"></a><tt class="py-lineno">1568</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-638" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-638', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-639" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-639', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"The attachment port is incorrect for "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1569"></a><tt class="py-lineno">1569</tt>  <tt class="py-line">                                                        <tt class="py-string">"host "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1570"></a><tt class="py-lineno">1570</tt>  <tt class="py-line">                                                        <tt class="py-string">". Expected: 1 Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">port</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1571"></a><tt class="py-lineno">1571</tt>  <tt class="py-line">                                        <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1572"></a><tt class="py-lineno">1572</tt>  <tt class="py-line">                                    <tt class="py-keyword">if</tt> <tt class="py-name">device</tt> <tt class="py-op">!=</tt> <tt class="py-name">mappings</tt><tt class="py-op">[</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1573"></a><tt class="py-lineno">1573</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-640" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-640', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-641" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-641', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"The attachment device is incorrect for "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1574"></a><tt class="py-lineno">1574</tt>  <tt class="py-line">                                                        <tt class="py-string">"host "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1575"></a><tt class="py-lineno">1575</tt>  <tt class="py-line">                                                        <tt class="py-string">". Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">mappings</tt><tt class="py-op">[</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">mac</tt> <tt class="py-op">)</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1576"></a><tt class="py-lineno">1576</tt>  <tt class="py-line">                                                        <tt class="py-string">" Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">device</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1577"></a><tt class="py-lineno">1577</tt>  <tt class="py-line">                                        <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1578"></a><tt class="py-lineno">1578</tt>  <tt class="py-line">                                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1579"></a><tt class="py-lineno">1579</tt>  <tt class="py-line">                                    <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1580"></a><tt class="py-lineno">1580</tt>  <tt class="py-line">                            <tt class="py-keyword">except</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">:</tt> </tt>
+<a name="L1581"></a><tt class="py-lineno">1581</tt>  <tt class="py-line">                                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-642" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-642', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt> <tt class="py-string">"Json object not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1582"></a><tt class="py-lineno">1582</tt>  <tt class="py-line">                                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-643" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-643', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-644" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-644', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">host</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1583"></a><tt class="py-lineno">1583</tt>  <tt class="py-line">                                <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L1584"></a><tt class="py-lineno">1584</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1585"></a><tt class="py-lineno">1585</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-645" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-645', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-646" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-646', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"No hosts json output or \"Error\""</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1586"></a><tt class="py-lineno">1586</tt>  <tt class="py-line">                                    <tt class="py-string">" in output. hosts = "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1587"></a><tt class="py-lineno">1587</tt>  <tt class="py-line">                                    <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt id="link-647" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts" class="py-name" href="#" onclick="return doclink('link-647', 'hosts', 'link-145');">hosts</a></tt><tt class="py-op">[</tt> <tt id="link-648" class="py-name"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-648', 'controller', 'link-445');">controller</a></tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1588"></a><tt class="py-lineno">1588</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">zeroHosts</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L1589"></a><tt class="py-lineno">1589</tt>  <tt class="py-line">                    <tt class="py-name">hostAttachment</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1590"></a><tt class="py-lineno">1590</tt>  <tt class="py-line"> </tt>
+<a name="L1591"></a><tt class="py-lineno">1591</tt>  <tt class="py-line">                <tt class="py-name">devicesResults</tt> <tt class="py-op">=</tt> <tt class="py-name">devicesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentDevicesResult</tt> </tt>
+<a name="L1592"></a><tt class="py-lineno">1592</tt>  <tt class="py-line">                <tt class="py-name">linksResults</tt> <tt class="py-op">=</tt> <tt class="py-name">linksResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentLinksResult</tt> </tt>
+<a name="L1593"></a><tt class="py-lineno">1593</tt>  <tt class="py-line">                <tt class="py-name">hostsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">currentHostsResult</tt> </tt>
+<a name="L1594"></a><tt class="py-lineno">1594</tt>  <tt class="py-line">                <tt class="py-name">hostAttachmentResults</tt> <tt class="py-op">=</tt> <tt class="py-name">hostAttachmentResults</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L1595"></a><tt class="py-lineno">1595</tt>  <tt class="py-line">                                        <tt class="py-name">hostAttachment</tt> </tt>
+<a name="L1596"></a><tt class="py-lineno">1596</tt>  <tt class="py-line"> </tt>
+<a name="L1597"></a><tt class="py-lineno">1597</tt>  <tt class="py-line">                <tt class="py-comment"># "consistent" results don't make sense for single instance</tt> </tt>
+<a name="L1598"></a><tt class="py-lineno">1598</tt>  <tt class="py-line">            <tt class="py-comment"># there should always only be one cluster</tt> </tt>
+<a name="L1599"></a><tt class="py-lineno">1599</tt>  <tt class="py-line">            <tt class="py-name">numClusters</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt id="link-649" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters" class="py-name" href="#" onclick="return doclink('link-649', 'clusters', 'link-441');">clusters</a></tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1600"></a><tt class="py-lineno">1600</tt>  <tt class="py-line">            <tt class="py-name">clusterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1601"></a><tt class="py-lineno">1601</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">numClusters</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1602"></a><tt class="py-lineno">1602</tt>  <tt class="py-line">                <tt class="py-name">clusterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1603"></a><tt class="py-lineno">1603</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1604"></a><tt class="py-lineno">1604</tt>  <tt class="py-line">                <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1605"></a><tt class="py-lineno">1605</tt>  <tt class="py-line">                <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">numClusters</tt><tt class="py-op">,</tt> </tt>
+<a name="L1606"></a><tt class="py-lineno">1606</tt>  <tt class="py-line">                <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS shows 1 SCC"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1607"></a><tt class="py-lineno">1607</tt>  <tt class="py-line">                <tt id="link-650" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-650', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS shows "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">numClusters</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" SCCs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1608"></a><tt class="py-lineno">1608</tt>  <tt class="py-line"> </tt>
+<a name="L1609"></a><tt class="py-lineno">1609</tt>  <tt class="py-line">            <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">devicesResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">linksResults</tt> </tt>
+<a name="L1610"></a><tt class="py-lineno">1610</tt>  <tt class="py-line">                           <tt class="py-keyword">and</tt> <tt class="py-name">hostsResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ipResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">clusterResults</tt> <tt class="py-keyword">and</tt> </tt>
+<a name="L1611"></a><tt class="py-lineno">1611</tt>  <tt class="py-line">                           <tt class="py-name">hostAttachmentResults</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1612"></a><tt class="py-lineno">1612</tt>  <tt class="py-line"> </tt>
+<a name="L1613"></a><tt class="py-lineno">1613</tt>  <tt class="py-line">        <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-name">topoResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">&lt;=</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1614"></a><tt class="py-lineno">1614</tt>  <tt class="py-line">        <tt class="py-name">note</tt> <tt class="py-op">=</tt> <tt class="py-string">"note it takes about "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">cliTime</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L1615"></a><tt class="py-lineno">1615</tt>  <tt class="py-line">            <tt class="py-string">" seconds for the test to make all the cli calls to fetch "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1616"></a><tt class="py-lineno">1616</tt>  <tt class="py-line">            <tt class="py-string">"the topology from each ONOS instance"</tt> </tt>
+<a name="L1617"></a><tt class="py-lineno">1617</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-651" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-651', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L1618"></a><tt class="py-lineno">1618</tt>  <tt class="py-line">            <tt class="py-string">"Very crass estimate for topology discovery/convergence( "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1619"></a><tt class="py-lineno">1619</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">note</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ): "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">elapsed</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" seconds, "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1620"></a><tt class="py-lineno">1620</tt>  <tt class="py-line">            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">count</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" tries"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1621"></a><tt class="py-lineno">1621</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">topoResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1622"></a><tt class="py-lineno">1622</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Topology Check Test successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1623"></a><tt class="py-lineno">1623</tt>  <tt class="py-line">                                 <tt id="link-652" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-652', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Topology Check Test NOT successful"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1624"></a><tt class="py-lineno">1624</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE9"></a><div id="HAsingleInstanceRestart.CASE9-def"><a name="L1625"></a><tt class="py-lineno">1625</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE9-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE9');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE9">CASE9</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE9-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE9-expanded"><a name="L1626"></a><tt class="py-lineno">1626</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1627"></a><tt class="py-lineno">1627</tt>  <tt class="py-line"><tt class="py-docstring">        Link s3-s28 down</tt> </tt>
+<a name="L1628"></a><tt class="py-lineno">1628</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1629"></a><tt class="py-lineno">1629</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1630"></a><tt class="py-lineno">1630</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1631"></a><tt class="py-lineno">1631</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1632"></a><tt class="py-lineno">1632</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1633"></a><tt class="py-lineno">1633</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: You should probably run a topology check after this</tt> </tt>
+<a name="L1634"></a><tt class="py-lineno">1634</tt>  <tt class="py-line"> </tt>
+<a name="L1635"></a><tt class="py-lineno">1635</tt>  <tt class="py-line">        <tt class="py-name">linkSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1636"></a><tt class="py-lineno">1636</tt>  <tt class="py-line"> </tt>
+<a name="L1637"></a><tt class="py-lineno">1637</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Turn off a link to ensure that Link Discovery "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L1638"></a><tt class="py-lineno">1638</tt>  <tt class="py-line">                      <tt class="py-string">"is working properly"</tt> </tt>
+<a name="L1639"></a><tt class="py-lineno">1639</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-653" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-653', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1640"></a><tt class="py-lineno">1640</tt>  <tt class="py-line"> </tt>
+<a name="L1641"></a><tt class="py-lineno">1641</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-654" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-654', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Kill Link between s3 and s28"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1642"></a><tt class="py-lineno">1642</tt>  <tt class="py-line">        <tt class="py-name">LinkDown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-655" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#link"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-655', 'link', 'link-655');">link</a></tt><tt class="py-op">(</tt> <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-string">"s3"</tt><tt class="py-op">,</tt> <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-string">"s28"</tt><tt class="py-op">,</tt> <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"down"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1643"></a><tt class="py-lineno">1643</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-656" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-656', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">linkSleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1644"></a><tt class="py-lineno">1644</tt>  <tt class="py-line">                       <tt class="py-string">" seconds for link down to be discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1645"></a><tt class="py-lineno">1645</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">linkSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1646"></a><tt class="py-lineno">1646</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">LinkDown</tt><tt class="py-op">,</tt> </tt>
+<a name="L1647"></a><tt class="py-lineno">1647</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link down successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1648"></a><tt class="py-lineno">1648</tt>  <tt class="py-line">                                 <tt id="link-657" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-657', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to bring link down"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1649"></a><tt class="py-lineno">1649</tt>  <tt class="py-line">        <tt class="py-comment"># TODO do some sort of check here</tt> </tt>
+<a name="L1650"></a><tt class="py-lineno">1650</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE10"></a><div id="HAsingleInstanceRestart.CASE10-def"><a name="L1651"></a><tt class="py-lineno">1651</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE10-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE10');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE10">CASE10</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE10-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE10-expanded"><a name="L1652"></a><tt class="py-lineno">1652</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1653"></a><tt class="py-lineno">1653</tt>  <tt class="py-line"><tt class="py-docstring">        Link s3-s28 up</tt> </tt>
+<a name="L1654"></a><tt class="py-lineno">1654</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1655"></a><tt class="py-lineno">1655</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1656"></a><tt class="py-lineno">1656</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1657"></a><tt class="py-lineno">1657</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1658"></a><tt class="py-lineno">1658</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1659"></a><tt class="py-lineno">1659</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: You should probably run a topology check after this</tt> </tt>
+<a name="L1660"></a><tt class="py-lineno">1660</tt>  <tt class="py-line"> </tt>
+<a name="L1661"></a><tt class="py-lineno">1661</tt>  <tt class="py-line">        <tt class="py-name">linkSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'LinkDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1662"></a><tt class="py-lineno">1662</tt>  <tt class="py-line"> </tt>
+<a name="L1663"></a><tt class="py-lineno">1663</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Restore a link to ensure that Link Discovery is "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L1664"></a><tt class="py-lineno">1664</tt>  <tt class="py-line">                      <tt class="py-string">"working properly"</tt> </tt>
+<a name="L1665"></a><tt class="py-lineno">1665</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-658" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-658', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1666"></a><tt class="py-lineno">1666</tt>  <tt class="py-line"> </tt>
+<a name="L1667"></a><tt class="py-lineno">1667</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-659" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-659', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Bring link between s3 and s28 back up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1668"></a><tt class="py-lineno">1668</tt>  <tt class="py-line">        <tt class="py-name">LinkUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-660" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link" class="py-name" href="#" onclick="return doclink('link-660', 'link', 'link-655');">link</a></tt><tt class="py-op">(</tt> <tt class="py-name">END1</tt><tt class="py-op">=</tt><tt class="py-string">"s3"</tt><tt class="py-op">,</tt> <tt class="py-name">END2</tt><tt class="py-op">=</tt><tt class="py-string">"s28"</tt><tt class="py-op">,</tt> <tt class="py-name">OPTION</tt><tt class="py-op">=</tt><tt class="py-string">"up"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1669"></a><tt class="py-lineno">1669</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-661" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-661', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">linkSleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1670"></a><tt class="py-lineno">1670</tt>  <tt class="py-line">                       <tt class="py-string">" seconds for link up to be discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1671"></a><tt class="py-lineno">1671</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">linkSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1672"></a><tt class="py-lineno">1672</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">LinkUp</tt><tt class="py-op">,</tt> </tt>
+<a name="L1673"></a><tt class="py-lineno">1673</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Link up successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1674"></a><tt class="py-lineno">1674</tt>  <tt class="py-line">                                 <tt id="link-662" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-662', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to bring link up"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1675"></a><tt class="py-lineno">1675</tt>  <tt class="py-line">        <tt class="py-comment"># TODO do some sort of check here</tt> </tt>
+<a name="L1676"></a><tt class="py-lineno">1676</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE11"></a><div id="HAsingleInstanceRestart.CASE11-def"><a name="L1677"></a><tt class="py-lineno">1677</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE11-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE11');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE11">CASE11</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE11-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE11-expanded"><a name="L1678"></a><tt class="py-lineno">1678</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1679"></a><tt class="py-lineno">1679</tt>  <tt class="py-line"><tt class="py-docstring">        Switch Down</tt> </tt>
+<a name="L1680"></a><tt class="py-lineno">1680</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1681"></a><tt class="py-lineno">1681</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: You should probably run a topology check after this</tt> </tt>
+<a name="L1682"></a><tt class="py-lineno">1682</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1683"></a><tt class="py-lineno">1683</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1684"></a><tt class="py-lineno">1684</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1685"></a><tt class="py-lineno">1685</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1686"></a><tt class="py-lineno">1686</tt>  <tt class="py-line"> </tt>
+<a name="L1687"></a><tt class="py-lineno">1687</tt>  <tt class="py-line">        <tt class="py-name">switchSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'SwitchDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1688"></a><tt class="py-lineno">1688</tt>  <tt class="py-line"> </tt>
+<a name="L1689"></a><tt class="py-lineno">1689</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Killing a switch to ensure it is discovered correctly"</tt> </tt>
+<a name="L1690"></a><tt class="py-lineno">1690</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-663" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-663', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1691"></a><tt class="py-lineno">1691</tt>  <tt class="py-line">        <tt class="py-name">switch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'switch'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1692"></a><tt class="py-lineno">1692</tt>  <tt class="py-line">        <tt class="py-name">switchDPID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'dpid'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1693"></a><tt class="py-lineno">1693</tt>  <tt class="py-line"> </tt>
+<a name="L1694"></a><tt class="py-lineno">1694</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Make this switch parameterizable</tt> </tt>
+<a name="L1695"></a><tt class="py-lineno">1695</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-664" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-664', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Kill "</tt> <tt class="py-op">+</tt> <tt class="py-name">switch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1696"></a><tt class="py-lineno">1696</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-665" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-665', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Deleting "</tt> <tt class="py-op">+</tt> <tt class="py-name">switch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1697"></a><tt class="py-lineno">1697</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-666" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.delSwitch()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delSwitch"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.delSwitch" class="py-name" href="#" onclick="return doclink('link-666', 'delSwitch', 'link-666');">delSwitch</a></tt><tt class="py-op">(</tt> <tt class="py-name">switch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1698"></a><tt class="py-lineno">1698</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-667" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-667', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">switchSleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1699"></a><tt class="py-lineno">1699</tt>  <tt class="py-line">                       <tt class="py-string">" seconds for switch down to be discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1700"></a><tt class="py-lineno">1700</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">switchSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1701"></a><tt class="py-lineno">1701</tt>  <tt class="py-line">        <tt class="py-name">device</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-668" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-668', 'getDevice', 'link-88');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-name">switchDPID</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1702"></a><tt class="py-lineno">1702</tt>  <tt class="py-line">        <tt class="py-comment"># Peek at the deleted switch</tt> </tt>
+<a name="L1703"></a><tt class="py-lineno">1703</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-669" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-669', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">device</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1704"></a><tt class="py-lineno">1704</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1705"></a><tt class="py-lineno">1705</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">device</tt> <tt class="py-keyword">and</tt> <tt class="py-name">device</tt><tt class="py-op">[</tt> <tt class="py-string">'available'</tt> <tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L1706"></a><tt class="py-lineno">1706</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1707"></a><tt class="py-lineno">1707</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt> </tt>
+<a name="L1708"></a><tt class="py-lineno">1708</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Kill switch successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1709"></a><tt class="py-lineno">1709</tt>  <tt class="py-line">                                 <tt id="link-670" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-670', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to kill switch?"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1710"></a><tt class="py-lineno">1710</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE12"></a><div id="HAsingleInstanceRestart.CASE12-def"><a name="L1711"></a><tt class="py-lineno">1711</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE12-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE12');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE12">CASE12</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE12-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE12-expanded"><a name="L1712"></a><tt class="py-lineno">1712</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1713"></a><tt class="py-lineno">1713</tt>  <tt class="py-line"><tt class="py-docstring">        Switch Up</tt> </tt>
+<a name="L1714"></a><tt class="py-lineno">1714</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1715"></a><tt class="py-lineno">1715</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: You should probably run a topology check after this</tt> </tt>
+<a name="L1716"></a><tt class="py-lineno">1716</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1717"></a><tt class="py-lineno">1717</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1718"></a><tt class="py-lineno">1718</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1719"></a><tt class="py-lineno">1719</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1720"></a><tt class="py-lineno">1720</tt>  <tt class="py-line"> </tt>
+<a name="L1721"></a><tt class="py-lineno">1721</tt>  <tt class="py-line">        <tt class="py-name">switchSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'timers'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'SwitchDiscovery'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1722"></a><tt class="py-lineno">1722</tt>  <tt class="py-line">        <tt class="py-name">switch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'switch'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1723"></a><tt class="py-lineno">1723</tt>  <tt class="py-line">        <tt class="py-name">switchDPID</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'dpid'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1724"></a><tt class="py-lineno">1724</tt>  <tt class="py-line">        <tt id="link-671" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-671', 'links', 'link-438');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'kill'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'links'</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1725"></a><tt class="py-lineno">1725</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Adding a switch to ensure it is discovered correctly"</tt> </tt>
+<a name="L1726"></a><tt class="py-lineno">1726</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-672" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-672', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1727"></a><tt class="py-lineno">1727</tt>  <tt class="py-line"> </tt>
+<a name="L1728"></a><tt class="py-lineno">1728</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-673" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-673', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add back "</tt> <tt class="py-op">+</tt> <tt class="py-name">switch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1729"></a><tt class="py-lineno">1729</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-674" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addSwitch"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-674', 'addSwitch', 'link-674');">addSwitch</a></tt><tt class="py-op">(</tt> <tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-name">switchDPID</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1730"></a><tt class="py-lineno">1730</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">peer</tt> <tt class="py-keyword">in</tt> <tt id="link-675" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-675', 'links', 'link-438');">links</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L1731"></a><tt class="py-lineno">1731</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-676" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addLink"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-676', 'addLink', 'link-676');">addLink</a></tt><tt class="py-op">(</tt> <tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">peer</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1732"></a><tt class="py-lineno">1732</tt>  <tt class="py-line">        <tt class="py-name">ipList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1733"></a><tt class="py-lineno">1733</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1734"></a><tt class="py-lineno">1734</tt>  <tt class="py-line">            <tt class="py-name">ipList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-677" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-677', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1735"></a><tt class="py-lineno">1735</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-678" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController" class="py-name" href="#" onclick="return doclink('link-678', 'assignSwController', 'link-77');">assignSwController</a></tt><tt class="py-op">(</tt> <tt class="py-name">sw</tt><tt class="py-op">=</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">ipList</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1736"></a><tt class="py-lineno">1736</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-679" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-679', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Waiting "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">switchSleep</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1737"></a><tt class="py-lineno">1737</tt>  <tt class="py-line">                       <tt class="py-string">" seconds for switch up to be discovered"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1738"></a><tt class="py-lineno">1738</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">switchSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1739"></a><tt class="py-lineno">1739</tt>  <tt class="py-line">        <tt class="py-name">device</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-680" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice" class="py-name" href="#" onclick="return doclink('link-680', 'getDevice', 'link-88');">getDevice</a></tt><tt class="py-op">(</tt> <tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-name">switchDPID</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1740"></a><tt class="py-lineno">1740</tt>  <tt class="py-line">        <tt class="py-comment"># Peek at the deleted switch</tt> </tt>
+<a name="L1741"></a><tt class="py-lineno">1741</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-681" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-681', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">device</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1742"></a><tt class="py-lineno">1742</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1743"></a><tt class="py-lineno">1743</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">device</tt> <tt class="py-keyword">and</tt> <tt class="py-name">device</tt><tt class="py-op">[</tt> <tt class="py-string">'available'</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1744"></a><tt class="py-lineno">1744</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1745"></a><tt class="py-lineno">1745</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt> </tt>
+<a name="L1746"></a><tt class="py-lineno">1746</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"add switch successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1747"></a><tt class="py-lineno">1747</tt>  <tt class="py-line">                                 <tt id="link-682" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-682', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to add switch?"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1748"></a><tt class="py-lineno">1748</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE13"></a><div id="HAsingleInstanceRestart.CASE13-def"><a name="L1749"></a><tt class="py-lineno">1749</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE13-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE13');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE13">CASE13</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE13-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE13-expanded"><a name="L1750"></a><tt class="py-lineno">1750</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1751"></a><tt class="py-lineno">1751</tt>  <tt class="py-line"><tt class="py-docstring">        Clean up</tt> </tt>
+<a name="L1752"></a><tt class="py-lineno">1752</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1753"></a><tt class="py-lineno">1753</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L1754"></a><tt class="py-lineno">1754</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L1755"></a><tt class="py-lineno">1755</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1756"></a><tt class="py-lineno">1756</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1757"></a><tt class="py-lineno">1757</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1758"></a><tt class="py-lineno">1758</tt>  <tt class="py-line">        <tt class="py-comment"># printing colors to terminal</tt> </tt>
+<a name="L1759"></a><tt class="py-lineno">1759</tt>  <tt class="py-line">        <tt class="py-name">colors</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">'cyan'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[96m'</tt><tt class="py-op">,</tt> <tt class="py-string">'purple'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[95m'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1760"></a><tt class="py-lineno">1760</tt>  <tt class="py-line">                   <tt class="py-string">'blue'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[94m'</tt><tt class="py-op">,</tt> <tt class="py-string">'green'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[92m'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1761"></a><tt class="py-lineno">1761</tt>  <tt class="py-line">                   <tt class="py-string">'yellow'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[93m'</tt><tt class="py-op">,</tt> <tt class="py-string">'red'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[91m'</tt><tt class="py-op">,</tt> <tt class="py-string">'end'</tt><tt class="py-op">:</tt> <tt class="py-string">'\033[0m'</tt> <tt class="py-op">}</tt> </tt>
+<a name="L1762"></a><tt class="py-lineno">1762</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-683" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-683', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Test Cleanup"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1763"></a><tt class="py-lineno">1763</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-684" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-684', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Killing tcpdumps"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1764"></a><tt class="py-lineno">1764</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet2</tt><tt class="py-op">.</tt><tt id="link-685" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopTcpdump()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopTcpdump,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.stopTcpdump()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#stopTcpdump"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopTcpdump
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.stopTcpdump" class="py-name" href="#" onclick="return doclink('link-685', 'stopTcpdump', 'link-685');">stopTcpdump</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1765"></a><tt class="py-lineno">1765</tt>  <tt class="py-line"> </tt>
+<a name="L1766"></a><tt class="py-lineno">1766</tt>  <tt class="py-line">        <tt class="py-name">testname</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TEST</tt> </tt>
+<a name="L1767"></a><tt class="py-lineno">1767</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BACKUP'</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"True"</tt><tt class="py-op">:</tt> </tt>
+<a name="L1768"></a><tt class="py-lineno">1768</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-686" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-686', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Copying MN pcap and ONOS log files to test station"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1769"></a><tt class="py-lineno">1769</tt>  <tt class="py-line">            <tt class="py-name">teststationUser</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BACKUP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'TESTONUSER'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1770"></a><tt class="py-lineno">1770</tt>  <tt class="py-line">            <tt class="py-name">teststationIP</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BACKUP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'TESTONIP'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1771"></a><tt class="py-lineno">1771</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: MN Pcap file is being saved to ~/packet_captures</tt> </tt>
+<a name="L1772"></a><tt class="py-lineno">1772</tt>  <tt class="py-line">            <tt class="py-comment">#       scp this file as MN and TestON aren't necessarily the same vm</tt> </tt>
+<a name="L1773"></a><tt class="py-lineno">1773</tt>  <tt class="py-line">            <tt class="py-comment"># FIXME: scp</tt> </tt>
+<a name="L1774"></a><tt class="py-lineno">1774</tt>  <tt class="py-line">            <tt class="py-comment"># mn files</tt> </tt>
+<a name="L1775"></a><tt class="py-lineno">1775</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: Load these from params</tt> </tt>
+<a name="L1776"></a><tt class="py-lineno">1776</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: must end in /</tt> </tt>
+<a name="L1777"></a><tt class="py-lineno">1777</tt>  <tt class="py-line">            <tt class="py-name">logFolder</tt> <tt class="py-op">=</tt> <tt class="py-string">"/opt/onos/log/"</tt> </tt>
+<a name="L1778"></a><tt class="py-lineno">1778</tt>  <tt class="py-line">            <tt class="py-name">logFiles</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">"karaf.log"</tt><tt class="py-op">,</tt> <tt class="py-string">"karaf.log.1"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1779"></a><tt class="py-lineno">1779</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: must end in /</tt> </tt>
+<a name="L1780"></a><tt class="py-lineno">1780</tt>  <tt class="py-line">            <tt class="py-name">dstDir</tt> <tt class="py-op">=</tt> <tt class="py-string">"~/packet_captures/"</tt> </tt>
+<a name="L1781"></a><tt class="py-lineno">1781</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">logFiles</tt><tt class="py-op">:</tt> </tt>
+<a name="L1782"></a><tt class="py-lineno">1782</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-687" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-687', 'sendline', 'link-687');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"scp sdn@"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-688" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-688', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1783"></a><tt class="py-lineno">1783</tt>  <tt class="py-line">                                                <tt class="py-name">logFolder</tt> <tt class="py-op">+</tt> <tt class="py-name">f</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1784"></a><tt class="py-lineno">1784</tt>  <tt class="py-line">                                                <tt class="py-name">teststationUser</tt> <tt class="py-op">+</tt> <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1785"></a><tt class="py-lineno">1785</tt>  <tt class="py-line">                                                <tt class="py-name">teststationIP</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">dstDir</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1786"></a><tt class="py-lineno">1786</tt>  <tt class="py-line">                                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">testname</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"-ONOS1-"</tt> <tt class="py-op">+</tt> <tt class="py-name">f</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1787"></a><tt class="py-lineno">1787</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1788"></a><tt class="py-lineno">1788</tt>  <tt class="py-line"> </tt>
+<a name="L1789"></a><tt class="py-lineno">1789</tt>  <tt class="py-line">            <tt class="py-comment"># std*.log's</tt> </tt>
+<a name="L1790"></a><tt class="py-lineno">1790</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: must end in /</tt> </tt>
+<a name="L1791"></a><tt class="py-lineno">1791</tt>  <tt class="py-line">            <tt class="py-name">logFolder</tt> <tt class="py-op">=</tt> <tt class="py-string">"/opt/onos/var/"</tt> </tt>
+<a name="L1792"></a><tt class="py-lineno">1792</tt>  <tt class="py-line">            <tt class="py-name">logFiles</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-string">"stderr.log"</tt><tt class="py-op">,</tt> <tt class="py-string">"stdout.log"</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1793"></a><tt class="py-lineno">1793</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: must end in /</tt> </tt>
+<a name="L1794"></a><tt class="py-lineno">1794</tt>  <tt class="py-line">            <tt class="py-name">dstDir</tt> <tt class="py-op">=</tt> <tt class="py-string">"~/packet_captures/"</tt> </tt>
+<a name="L1795"></a><tt class="py-lineno">1795</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">logFiles</tt><tt class="py-op">:</tt> </tt>
+<a name="L1796"></a><tt class="py-lineno">1796</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-689" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-689', 'sendline', 'link-687');">sendline</a></tt><tt class="py-op">(</tt> <tt class="py-string">"scp sdn@"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-690" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-690', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1797"></a><tt class="py-lineno">1797</tt>  <tt class="py-line">                                                <tt class="py-name">logFolder</tt> <tt class="py-op">+</tt> <tt class="py-name">f</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1798"></a><tt class="py-lineno">1798</tt>  <tt class="py-line">                                                <tt class="py-name">teststationUser</tt> <tt class="py-op">+</tt> <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1799"></a><tt class="py-lineno">1799</tt>  <tt class="py-line">                                                <tt class="py-name">teststationIP</tt> <tt class="py-op">+</tt> <tt class="py-string">":"</tt> <tt class="py-op">+</tt> <tt class="py-name">dstDir</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1800"></a><tt class="py-lineno">1800</tt>  <tt class="py-line">                                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">testname</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"-ONOS1-"</tt> <tt class="py-op">+</tt> <tt class="py-name">f</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1801"></a><tt class="py-lineno">1801</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt> <tt class="py-string">"\$"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1802"></a><tt class="py-lineno">1802</tt>  <tt class="py-line">            <tt class="py-comment"># sleep so scp can finish</tt> </tt>
+<a name="L1803"></a><tt class="py-lineno">1803</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1804"></a><tt class="py-lineno">1804</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-691" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-691', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Packing and rotating pcap archives"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1805"></a><tt class="py-lineno">1805</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">system</tt><tt class="py-op">(</tt> <tt class="py-string">"~/TestON/dependencies/rotate.sh "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">testname</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1806"></a><tt class="py-lineno">1806</tt>  <tt class="py-line"> </tt>
+<a name="L1807"></a><tt class="py-lineno">1807</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-692" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-692', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Stopping Mininet"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1808"></a><tt class="py-lineno">1808</tt>  <tt class="py-line">        <tt class="py-name">mnResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-693" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet" class="py-name" href="#" onclick="return doclink('link-693', 'stopNet', 'link-693');">stopNet</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1809"></a><tt class="py-lineno">1809</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">mnResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1810"></a><tt class="py-lineno">1810</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Mininet stopped"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1811"></a><tt class="py-lineno">1811</tt>  <tt class="py-line">                                 <tt id="link-694" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-694', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"MN cleanup NOT successful"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1812"></a><tt class="py-lineno">1812</tt>  <tt class="py-line"> </tt>
+<a name="L1813"></a><tt class="py-lineno">1813</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-695" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-695', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Checking ONOS Logs for errors"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1814"></a><tt class="py-lineno">1814</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">colors</tt><tt class="py-op">[</tt> <tt class="py-string">'purple'</tt> <tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"Checking logs for errors on ONOS1:"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L1815"></a><tt class="py-lineno">1815</tt>  <tt class="py-line">            <tt class="py-name">colors</tt><tt class="py-op">[</tt> <tt class="py-string">'end'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L1816"></a><tt class="py-lineno">1816</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-696" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.checkLogs()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#checkLogs"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.checkLogs" class="py-name" href="#" onclick="return doclink('link-696', 'checkLogs', 'link-696');">checkLogs</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-697" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-697', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-name">restart</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1817"></a><tt class="py-lineno">1817</tt>  <tt class="py-line"> </tt>
+<a name="L1818"></a><tt class="py-lineno">1818</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1819"></a><tt class="py-lineno">1819</tt>  <tt class="py-line">            <tt class="py-name">timerLog</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">logdir</tt> <tt class="py-op">+</tt> <tt class="py-string">"/Timers.csv"</tt><tt class="py-op">,</tt> <tt class="py-string">'w'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1820"></a><tt class="py-lineno">1820</tt>  <tt class="py-line">            <tt class="py-comment"># Overwrite with empty line and close</tt> </tt>
+<a name="L1821"></a><tt class="py-lineno">1821</tt>  <tt class="py-line">            <tt class="py-name">labels</tt> <tt class="py-op">=</tt> <tt class="py-string">"Gossip Intents, Restart"</tt> </tt>
+<a name="L1822"></a><tt class="py-lineno">1822</tt>  <tt class="py-line">            <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">gossipTime</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">", "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">restartTime</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1823"></a><tt class="py-lineno">1823</tt>  <tt class="py-line">            <tt class="py-name">timerLog</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt> <tt class="py-name">labels</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-op">+</tt> <tt class="py-name">data</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1824"></a><tt class="py-lineno">1824</tt>  <tt class="py-line">            <tt class="py-name">timerLog</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1825"></a><tt class="py-lineno">1825</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L1826"></a><tt class="py-lineno">1826</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-698" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-698', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1827"></a><tt class="py-lineno">1827</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE14"></a><div id="HAsingleInstanceRestart.CASE14-def"><a name="L1828"></a><tt class="py-lineno">1828</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE14-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE14');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE14">CASE14</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE14-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE14-expanded"><a name="L1829"></a><tt class="py-lineno">1829</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1830"></a><tt class="py-lineno">1830</tt>  <tt class="py-line"><tt class="py-docstring">        start election app on all onos nodes</tt> </tt>
+<a name="L1831"></a><tt class="py-lineno">1831</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1832"></a><tt class="py-lineno">1832</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1833"></a><tt class="py-lineno">1833</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1834"></a><tt class="py-lineno">1834</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1835"></a><tt class="py-lineno">1835</tt>  <tt class="py-line"> </tt>
+<a name="L1836"></a><tt class="py-lineno">1836</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-699" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-699', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Start Leadership Election app"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1837"></a><tt class="py-lineno">1837</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-700" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-700', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install leadership election app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1838"></a><tt class="py-lineno">1838</tt>  <tt class="py-line">        <tt class="py-name">appResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-701" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp" class="py-name" href="#" onclick="return doclink('link-701', 'activateApp', 'link-112');">activateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">"org.onosproject.election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1839"></a><tt class="py-lineno">1839</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1840"></a><tt class="py-lineno">1840</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1841"></a><tt class="py-lineno">1841</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1842"></a><tt class="py-lineno">1842</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Election app installed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1843"></a><tt class="py-lineno">1843</tt>  <tt class="py-line">            <tt id="link-702" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-702', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something went wrong with installing Leadership election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1844"></a><tt class="py-lineno">1844</tt>  <tt class="py-line"> </tt>
+<a name="L1845"></a><tt class="py-lineno">1845</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-703" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-703', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Run for election on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1846"></a><tt class="py-lineno">1846</tt>  <tt class="py-line">        <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-704" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestRun" class="py-name" href="#" onclick="return doclink('link-704', 'electionTestRun', 'link-517');">electionTestRun</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1847"></a><tt class="py-lineno">1847</tt>  <tt class="py-line">        <tt class="py-comment"># check for leader</tt> </tt>
+<a name="L1848"></a><tt class="py-lineno">1848</tt>  <tt class="py-line">        <tt class="py-name">leader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-705" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-705', 'electionTestLeader', 'link-557');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1849"></a><tt class="py-lineno">1849</tt>  <tt class="py-line">        <tt class="py-comment"># verify leader is ONOS1</tt> </tt>
+<a name="L1850"></a><tt class="py-lineno">1850</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">leader</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-706" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-706', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">:</tt> </tt>
+<a name="L1851"></a><tt class="py-lineno">1851</tt>  <tt class="py-line">            <tt class="py-comment"># all is well</tt> </tt>
+<a name="L1852"></a><tt class="py-lineno">1852</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L1853"></a><tt class="py-lineno">1853</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">leader</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1854"></a><tt class="py-lineno">1854</tt>  <tt class="py-line">            <tt class="py-comment"># No leader elected</tt> </tt>
+<a name="L1855"></a><tt class="py-lineno">1855</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-707" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-707', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-708" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-708', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"No leader was elected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1856"></a><tt class="py-lineno">1856</tt>  <tt class="py-line">            <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1857"></a><tt class="py-lineno">1857</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">leader</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1858"></a><tt class="py-lineno">1858</tt>  <tt class="py-line">            <tt class="py-comment"># error in  response</tt> </tt>
+<a name="L1859"></a><tt class="py-lineno">1859</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: add check for "Command not found:" in the driver, this</tt> </tt>
+<a name="L1860"></a><tt class="py-lineno">1860</tt>  <tt class="py-line">            <tt class="py-comment"># means the app isn't loaded</tt> </tt>
+<a name="L1861"></a><tt class="py-lineno">1861</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-709" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-709', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-710" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-710', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Something is wrong with electionTestLeader"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1862"></a><tt class="py-lineno">1862</tt>  <tt class="py-line">                             <tt class="py-string">" function, check the error logs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1863"></a><tt class="py-lineno">1863</tt>  <tt class="py-line">            <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1864"></a><tt class="py-lineno">1864</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1865"></a><tt class="py-lineno">1865</tt>  <tt class="py-line">            <tt class="py-comment"># error in  response</tt> </tt>
+<a name="L1866"></a><tt class="py-lineno">1866</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-711" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-711', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-712" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-712', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1867"></a><tt class="py-lineno">1867</tt>  <tt class="py-line">                <tt class="py-string">"Unexpected response from electionTestLeader function:'"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1868"></a><tt class="py-lineno">1868</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1869"></a><tt class="py-lineno">1869</tt>  <tt class="py-line">                <tt class="py-string">"'"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1870"></a><tt class="py-lineno">1870</tt>  <tt class="py-line">            <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1871"></a><tt class="py-lineno">1871</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1872"></a><tt class="py-lineno">1872</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1873"></a><tt class="py-lineno">1873</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">leaderResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1874"></a><tt class="py-lineno">1874</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully ran for leadership"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1875"></a><tt class="py-lineno">1875</tt>  <tt class="py-line">            <tt id="link-713" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-713', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to run for leadership"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1876"></a><tt class="py-lineno">1876</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE15"></a><div id="HAsingleInstanceRestart.CASE15-def"><a name="L1877"></a><tt class="py-lineno">1877</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE15-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE15');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE15">CASE15</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE15-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE15-expanded"><a name="L1878"></a><tt class="py-lineno">1878</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1879"></a><tt class="py-lineno">1879</tt>  <tt class="py-line"><tt class="py-docstring">        Check that Leadership Election is still functional</tt> </tt>
+<a name="L1880"></a><tt class="py-lineno">1880</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1881"></a><tt class="py-lineno">1881</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1882"></a><tt class="py-lineno">1882</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1883"></a><tt class="py-lineno">1883</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1884"></a><tt class="py-lineno">1884</tt>  <tt class="py-line">        <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1885"></a><tt class="py-lineno">1885</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Check that Leadership Election is still functional"</tt> </tt>
+<a name="L1886"></a><tt class="py-lineno">1886</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-714" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-714', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1887"></a><tt class="py-lineno">1887</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-715" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-715', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Find current leader and withdraw"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1888"></a><tt class="py-lineno">1888</tt>  <tt class="py-line">        <tt class="py-name">leader</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-716" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-716', 'electionTestLeader', 'link-557');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1889"></a><tt class="py-lineno">1889</tt>  <tt class="py-line">        <tt class="py-comment"># do some sanity checking on leader before using it</tt> </tt>
+<a name="L1890"></a><tt class="py-lineno">1890</tt>  <tt class="py-line">        <tt class="py-name">withdrawResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1891"></a><tt class="py-lineno">1891</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">leader</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-717" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-717', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">:</tt> </tt>
+<a name="L1892"></a><tt class="py-lineno">1892</tt>  <tt class="py-line">            <tt class="py-name">oldLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"ONOScli1"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1893"></a><tt class="py-lineno">1893</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">leader</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">leader</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1894"></a><tt class="py-lineno">1894</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-718" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-718', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-719" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-719', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1895"></a><tt class="py-lineno">1895</tt>  <tt class="py-line">                <tt class="py-string">"Leader for the election app should be an ONOS node,"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1896"></a><tt class="py-lineno">1896</tt>  <tt class="py-line">                <tt class="py-string">"instead got '"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leader</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"'"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1897"></a><tt class="py-lineno">1897</tt>  <tt class="py-line">            <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1898"></a><tt class="py-lineno">1898</tt>  <tt class="py-line">            <tt class="py-name">oldLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1899"></a><tt class="py-lineno">1899</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1900"></a><tt class="py-lineno">1900</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-720" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-720', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-721" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-721', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Leader election --- why am I HERE?!?"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1901"></a><tt class="py-lineno">1901</tt>  <tt class="py-line">            <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1902"></a><tt class="py-lineno">1902</tt>  <tt class="py-line">            <tt class="py-name">oldLeader</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1903"></a><tt class="py-lineno">1903</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">oldLeader</tt><tt class="py-op">:</tt> </tt>
+<a name="L1904"></a><tt class="py-lineno">1904</tt>  <tt class="py-line">            <tt class="py-name">withdrawResult</tt> <tt class="py-op">=</tt> <tt class="py-name">oldLeader</tt><tt class="py-op">.</tt><tt id="link-722" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestWithdraw()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestWithdraw"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestWithdraw" class="py-name" href="#" onclick="return doclink('link-722', 'electionTestWithdraw', 'link-722');">electionTestWithdraw</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1905"></a><tt class="py-lineno">1905</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1906"></a><tt class="py-lineno">1906</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1907"></a><tt class="py-lineno">1907</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">withdrawResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1908"></a><tt class="py-lineno">1908</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Node was withdrawn from election"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1909"></a><tt class="py-lineno">1909</tt>  <tt class="py-line">            <tt id="link-723" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-723', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Node was not withdrawn from election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1910"></a><tt class="py-lineno">1910</tt>  <tt class="py-line"> </tt>
+<a name="L1911"></a><tt class="py-lineno">1911</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-724" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-724', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Make sure new leader is elected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1912"></a><tt class="py-lineno">1912</tt>  <tt class="py-line">        <tt class="py-name">leaderN</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-725" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-725', 'electionTestLeader', 'link-557');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1913"></a><tt class="py-lineno">1913</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">==</tt> <tt class="py-name">leader</tt><tt class="py-op">:</tt> </tt>
+<a name="L1914"></a><tt class="py-lineno">1914</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-726" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-726', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-727" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-727', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS still sees "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1915"></a><tt class="py-lineno">1915</tt>  <tt class="py-line">                             <tt class="py-string">" as leader after they withdrew"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1916"></a><tt class="py-lineno">1916</tt>  <tt class="py-line">            <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1917"></a><tt class="py-lineno">1917</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">leaderN</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L1918"></a><tt class="py-lineno">1918</tt>  <tt class="py-line">            <tt class="py-comment"># error in  response</tt> </tt>
+<a name="L1919"></a><tt class="py-lineno">1919</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: add check for "Command not found:" in the driver, this</tt> </tt>
+<a name="L1920"></a><tt class="py-lineno">1920</tt>  <tt class="py-line">            <tt class="py-comment"># means the app isn't loaded</tt> </tt>
+<a name="L1921"></a><tt class="py-lineno">1921</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-728" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-728', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-729" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-729', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Something is wrong with electionTestLeader "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1922"></a><tt class="py-lineno">1922</tt>  <tt class="py-line">                             <tt class="py-string">"function, check the error logs"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1923"></a><tt class="py-lineno">1923</tt>  <tt class="py-line">            <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1924"></a><tt class="py-lineno">1924</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">leaderN</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1925"></a><tt class="py-lineno">1925</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-730" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-730', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> </tt>
+<a name="L1926"></a><tt class="py-lineno">1926</tt>  <tt class="py-line">                <tt class="py-string">"There is no leader after the app withdrew from election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1927"></a><tt class="py-lineno">1927</tt>  <tt class="py-line">            <tt class="py-name">leaderResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1928"></a><tt class="py-lineno">1928</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1929"></a><tt class="py-lineno">1929</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1930"></a><tt class="py-lineno">1930</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">leaderResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1931"></a><tt class="py-lineno">1931</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Leadership election passed"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1932"></a><tt class="py-lineno">1932</tt>  <tt class="py-line">            <tt id="link-731" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-731', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something went wrong with Leadership election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1933"></a><tt class="py-lineno">1933</tt>  <tt class="py-line"> </tt>
+<a name="L1934"></a><tt class="py-lineno">1934</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-732" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-732', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Run for election on old leader( just so everyone "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1935"></a><tt class="py-lineno">1935</tt>  <tt class="py-line">                   <tt class="py-string">"is in the hat )"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1936"></a><tt class="py-lineno">1936</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">oldLeader</tt><tt class="py-op">:</tt> </tt>
+<a name="L1937"></a><tt class="py-lineno">1937</tt>  <tt class="py-line">            <tt class="py-name">runResult</tt> <tt class="py-op">=</tt> <tt class="py-name">oldLeader</tt><tt class="py-op">.</tt><tt id="link-733" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestRun" class="py-name" href="#" onclick="return doclink('link-733', 'electionTestRun', 'link-517');">electionTestRun</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1938"></a><tt class="py-lineno">1938</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1939"></a><tt class="py-lineno">1939</tt>  <tt class="py-line">            <tt class="py-name">runResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1940"></a><tt class="py-lineno">1940</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1941"></a><tt class="py-lineno">1941</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1942"></a><tt class="py-lineno">1942</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">runResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1943"></a><tt class="py-lineno">1943</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"App re-ran for election"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1944"></a><tt class="py-lineno">1944</tt>  <tt class="py-line">            <tt id="link-734" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-734', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"App failed to run for election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1945"></a><tt class="py-lineno">1945</tt>  <tt class="py-line"> </tt>
+<a name="L1946"></a><tt class="py-lineno">1946</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-735" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-735', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Node became leader when it ran for election"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1947"></a><tt class="py-lineno">1947</tt>  <tt class="py-line">        <tt class="py-name">afterRun</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOScli1</tt><tt class="py-op">.</tt><tt id="link-736" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader" class="py-name" href="#" onclick="return doclink('link-736', 'electionTestLeader', 'link-557');">electionTestLeader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1948"></a><tt class="py-lineno">1948</tt>  <tt class="py-line">        <tt class="py-comment"># verify leader is ONOS1</tt> </tt>
+<a name="L1949"></a><tt class="py-lineno">1949</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">afterRun</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-737" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-737', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">:</tt> </tt>
+<a name="L1950"></a><tt class="py-lineno">1950</tt>  <tt class="py-line">            <tt class="py-name">afterResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L1951"></a><tt class="py-lineno">1951</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1952"></a><tt class="py-lineno">1952</tt>  <tt class="py-line">            <tt class="py-name">afterResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L1953"></a><tt class="py-lineno">1953</tt>  <tt class="py-line"> </tt>
+<a name="L1954"></a><tt class="py-lineno">1954</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> </tt>
+<a name="L1955"></a><tt class="py-lineno">1955</tt>  <tt class="py-line">            <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1956"></a><tt class="py-lineno">1956</tt>  <tt class="py-line">            <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">afterResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L1957"></a><tt class="py-lineno">1957</tt>  <tt class="py-line">            <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Old leader successfully re-ran for election"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1958"></a><tt class="py-lineno">1958</tt>  <tt class="py-line">            <tt id="link-738" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-738', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Something went wrong with Leadership election after "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L1959"></a><tt class="py-lineno">1959</tt>  <tt class="py-line">                   <tt class="py-string">"the old leader re-ran for election"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1960"></a><tt class="py-lineno">1960</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE16"></a><div id="HAsingleInstanceRestart.CASE16-def"><a name="L1961"></a><tt class="py-lineno">1961</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE16-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE16');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE16">CASE16</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE16-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE16-expanded"><a name="L1962"></a><tt class="py-lineno">1962</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1963"></a><tt class="py-lineno">1963</tt>  <tt class="py-line"><tt class="py-docstring">        Install Distributed Primitives app</tt> </tt>
+<a name="L1964"></a><tt class="py-lineno">1964</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1965"></a><tt class="py-lineno">1965</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L1966"></a><tt class="py-lineno">1966</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L1967"></a><tt class="py-lineno">1967</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L1968"></a><tt class="py-lineno">1968</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L1969"></a><tt class="py-lineno">1969</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-739" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-739', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L1970"></a><tt class="py-lineno">1970</tt>  <tt class="py-line"> </tt>
+<a name="L1971"></a><tt class="py-lineno">1971</tt>  <tt class="py-line">        <tt class="py-comment"># Variables for the distributed primitives tests</tt> </tt>
+<a name="L1972"></a><tt class="py-lineno">1972</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">pCounterName</tt> </tt>
+<a name="L1973"></a><tt class="py-lineno">1973</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">iCounterName</tt> </tt>
+<a name="L1974"></a><tt class="py-lineno">1974</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">pCounterValue</tt> </tt>
+<a name="L1975"></a><tt class="py-lineno">1975</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">iCounterValue</tt> </tt>
+<a name="L1976"></a><tt class="py-lineno">1976</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">onosSet</tt> </tt>
+<a name="L1977"></a><tt class="py-lineno">1977</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">onosSetName</tt> </tt>
+<a name="L1978"></a><tt class="py-lineno">1978</tt>  <tt class="py-line">        <tt class="py-name">pCounterName</tt> <tt class="py-op">=</tt> <tt class="py-string">"TestON-Partitions"</tt> </tt>
+<a name="L1979"></a><tt class="py-lineno">1979</tt>  <tt class="py-line">        <tt class="py-name">iCounterName</tt> <tt class="py-op">=</tt> <tt class="py-string">"TestON-inMemory"</tt> </tt>
+<a name="L1980"></a><tt class="py-lineno">1980</tt>  <tt class="py-line">        <tt class="py-name">pCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L1981"></a><tt class="py-lineno">1981</tt>  <tt class="py-line">        <tt class="py-name">iCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L1982"></a><tt class="py-lineno">1982</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1983"></a><tt class="py-lineno">1983</tt>  <tt class="py-line">        <tt class="py-name">onosSetName</tt> <tt class="py-op">=</tt> <tt class="py-string">"TestON-set"</tt> </tt>
+<a name="L1984"></a><tt class="py-lineno">1984</tt>  <tt class="py-line"> </tt>
+<a name="L1985"></a><tt class="py-lineno">1985</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Install Primitives app"</tt> </tt>
+<a name="L1986"></a><tt class="py-lineno">1986</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-740" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-740', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1987"></a><tt class="py-lineno">1987</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-741" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-741', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Install Primitives app"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1988"></a><tt class="py-lineno">1988</tt>  <tt class="py-line">        <tt class="py-name">appName</tt> <tt class="py-op">=</tt> <tt class="py-string">"org.onosproject.distributedprimitives"</tt> </tt>
+<a name="L1989"></a><tt class="py-lineno">1989</tt>  <tt class="py-line">        <tt class="py-name">appResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-742" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp" class="py-name" href="#" onclick="return doclink('link-742', 'activateApp', 'link-112');">activateApp</a></tt><tt class="py-op">(</tt> <tt class="py-name">appName</tt> <tt class="py-op">)</tt> </tt>
+<a name="L1990"></a><tt class="py-lineno">1990</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L1991"></a><tt class="py-lineno">1991</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">appResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L1992"></a><tt class="py-lineno">1992</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Primitives app activated"</tt><tt class="py-op">,</tt> </tt>
+<a name="L1993"></a><tt class="py-lineno">1993</tt>  <tt class="py-line">                                 <tt id="link-743" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-743', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Primitives app not activated"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L1994"></a><tt class="py-lineno">1994</tt>  <tt class="py-line"> </tt>
+<a name="HAsingleInstanceRestart.CASE17"></a><div id="HAsingleInstanceRestart.CASE17-def"><a name="L1995"></a><tt class="py-lineno">1995</tt> <a class="py-toggle" href="#" id="HAsingleInstanceRestart.CASE17-toggle" onclick="return toggle('HAsingleInstanceRestart.CASE17');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE17">CASE17</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HAsingleInstanceRestart.CASE17-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HAsingleInstanceRestart.CASE17-expanded"><a name="L1996"></a><tt class="py-lineno">1996</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L1997"></a><tt class="py-lineno">1997</tt>  <tt class="py-line"><tt class="py-docstring">        Check for basic functionality with distributed primitives</tt> </tt>
+<a name="L1998"></a><tt class="py-lineno">1998</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L1999"></a><tt class="py-lineno">1999</tt>  <tt class="py-line">        <tt class="py-comment"># Make sure variables are defined/set</tt> </tt>
+<a name="L2000"></a><tt class="py-lineno">2000</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt><tt class="py-op">,</tt> <tt class="py-string">"main.numCtrls not defined"</tt> </tt>
+<a name="L2001"></a><tt class="py-lineno">2001</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">"main not defined"</tt> </tt>
+<a name="L2002"></a><tt class="py-lineno">2002</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">,</tt> <tt class="py-string">"utilities.assert_equals not defined"</tt> </tt>
+<a name="L2003"></a><tt class="py-lineno">2003</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">,</tt> <tt class="py-string">"main.CLIs not defined"</tt> </tt>
+<a name="L2004"></a><tt class="py-lineno">2004</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-744" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes" class="py-name" href="#" onclick="return doclink('link-744', 'nodes', 'link-9');">nodes</a></tt><tt class="py-op">,</tt> <tt class="py-string">"main.nodes not defined"</tt> </tt>
+<a name="L2005"></a><tt class="py-lineno">2005</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">pCounterName</tt><tt class="py-op">,</tt> <tt class="py-string">"pCounterName not defined"</tt> </tt>
+<a name="L2006"></a><tt class="py-lineno">2006</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-string">"iCounterName not defined"</tt> </tt>
+<a name="L2007"></a><tt class="py-lineno">2007</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-string">"onosSetName not defined"</tt> </tt>
+<a name="L2008"></a><tt class="py-lineno">2008</tt>  <tt class="py-line">        <tt class="py-comment"># NOTE: assert fails if value is 0/None/Empty/False</tt> </tt>
+<a name="L2009"></a><tt class="py-lineno">2009</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2010"></a><tt class="py-lineno">2010</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> </tt>
+<a name="L2011"></a><tt class="py-lineno">2011</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2012"></a><tt class="py-lineno">2012</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-745" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-745', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-746" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-746', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"pCounterValue not defined, setting to 0"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2013"></a><tt class="py-lineno">2013</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2014"></a><tt class="py-lineno">2014</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2015"></a><tt class="py-lineno">2015</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> </tt>
+<a name="L2016"></a><tt class="py-lineno">2016</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2017"></a><tt class="py-lineno">2017</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-747" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-747', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-748" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-748', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"iCounterValue not defined, setting to 0"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2018"></a><tt class="py-lineno">2018</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L2019"></a><tt class="py-lineno">2019</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2020"></a><tt class="py-lineno">2020</tt>  <tt class="py-line">            <tt class="py-name">onosSet</tt> </tt>
+<a name="L2021"></a><tt class="py-lineno">2021</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L2022"></a><tt class="py-lineno">2022</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-749" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-749', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-750" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-750', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"onosSet not defined, setting to empty Set"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2023"></a><tt class="py-lineno">2023</tt>  <tt class="py-line">            <tt class="py-name">onosSet</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L2024"></a><tt class="py-lineno">2024</tt>  <tt class="py-line">        <tt class="py-comment"># Variables for the distributed primitives tests. These are local only</tt> </tt>
+<a name="L2025"></a><tt class="py-lineno">2025</tt>  <tt class="py-line">        <tt class="py-name">addValue</tt> <tt class="py-op">=</tt> <tt class="py-string">"a"</tt> </tt>
+<a name="L2026"></a><tt class="py-lineno">2026</tt>  <tt class="py-line">        <tt class="py-name">addAllValue</tt> <tt class="py-op">=</tt> <tt class="py-string">"a b c d e f"</tt> </tt>
+<a name="L2027"></a><tt class="py-lineno">2027</tt>  <tt class="py-line">        <tt class="py-name">retainValue</tt> <tt class="py-op">=</tt> <tt class="py-string">"c d e f"</tt> </tt>
+<a name="L2028"></a><tt class="py-lineno">2028</tt>  <tt class="py-line"> </tt>
+<a name="L2029"></a><tt class="py-lineno">2029</tt>  <tt class="py-line">        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"Check for basic functionality with distributed "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2030"></a><tt class="py-lineno">2030</tt>  <tt class="py-line">                      <tt class="py-string">"primitives"</tt> </tt>
+<a name="L2031"></a><tt class="py-lineno">2031</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-751" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-751', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt> <tt class="py-name">description</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2032"></a><tt class="py-lineno">2032</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">caseExplanation</tt> <tt class="py-op">=</tt> <tt class="py-string">"Test the methods of the distributed "</tt> <tt class="py-op">+</tt>\ </tt>
+<a name="L2033"></a><tt class="py-lineno">2033</tt>  <tt class="py-line">                                <tt class="py-string">"primitives (counters and sets) throught the cli"</tt> </tt>
+<a name="L2034"></a><tt class="py-lineno">2034</tt>  <tt class="py-line">        <tt class="py-comment"># DISTRIBUTED ATOMIC COUNTERS</tt> </tt>
+<a name="L2035"></a><tt class="py-lineno">2035</tt>  <tt class="py-line">        <tt class="py-comment"># Partitioned counters</tt> </tt>
+<a name="L2036"></a><tt class="py-lineno">2036</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-752" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-752', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Increment then get a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2037"></a><tt class="py-lineno">2037</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2038"></a><tt class="py-lineno">2038</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2039"></a><tt class="py-lineno">2039</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2040"></a><tt class="py-lineno">2040</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2041"></a><tt class="py-lineno">2041</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-753" class="py-name" targets="Module TestON.core.Thread=TestON.core.Thread-module.html,Class TestON.core.Thread.Thread=TestON.core.Thread.Thread-class.html"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-753', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-754" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counterTestAddAndGet"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-754', 'counterTestAddAndGet', 'link-754');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2042"></a><tt class="py-lineno">2042</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterAddAndGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2043"></a><tt class="py-lineno">2043</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2044"></a><tt class="py-lineno">2044</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2045"></a><tt class="py-lineno">2045</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2046"></a><tt class="py-lineno">2046</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2047"></a><tt class="py-lineno">2047</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2048"></a><tt class="py-lineno">2048</tt>  <tt class="py-line"> </tt>
+<a name="L2049"></a><tt class="py-lineno">2049</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2050"></a><tt class="py-lineno">2050</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2051"></a><tt class="py-lineno">2051</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2052"></a><tt class="py-lineno">2052</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L2053"></a><tt class="py-lineno">2053</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2054"></a><tt class="py-lineno">2054</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L2055"></a><tt class="py-lineno">2055</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L2056"></a><tt class="py-lineno">2056</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L2057"></a><tt class="py-lineno">2057</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L2058"></a><tt class="py-lineno">2058</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-755" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-755', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-756" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-756', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L2059"></a><tt class="py-lineno">2059</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2060"></a><tt class="py-lineno">2060</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2061"></a><tt class="py-lineno">2061</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2062"></a><tt class="py-lineno">2062</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2063"></a><tt class="py-lineno">2063</tt>  <tt class="py-line">                                 <tt id="link-757" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-757', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2064"></a><tt class="py-lineno">2064</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2065"></a><tt class="py-lineno">2065</tt>  <tt class="py-line"> </tt>
+<a name="L2066"></a><tt class="py-lineno">2066</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-758" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-758', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get then Increment a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2067"></a><tt class="py-lineno">2067</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2068"></a><tt class="py-lineno">2068</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2069"></a><tt class="py-lineno">2069</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2070"></a><tt class="py-lineno">2070</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2071"></a><tt class="py-lineno">2071</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-759" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-759', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-760" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counterTestGetAndAdd"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd" class="py-name" href="#" onclick="return doclink('link-760', 'counterTestGetAndAdd', 'link-760');">counterTestGetAndAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2072"></a><tt class="py-lineno">2072</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterGetAndAdd-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2073"></a><tt class="py-lineno">2073</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2074"></a><tt class="py-lineno">2074</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2075"></a><tt class="py-lineno">2075</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2076"></a><tt class="py-lineno">2076</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2077"></a><tt class="py-lineno">2077</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2078"></a><tt class="py-lineno">2078</tt>  <tt class="py-line"> </tt>
+<a name="L2079"></a><tt class="py-lineno">2079</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2080"></a><tt class="py-lineno">2080</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2081"></a><tt class="py-lineno">2081</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2082"></a><tt class="py-lineno">2082</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L2083"></a><tt class="py-lineno">2083</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2084"></a><tt class="py-lineno">2084</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L2085"></a><tt class="py-lineno">2085</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L2086"></a><tt class="py-lineno">2086</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L2087"></a><tt class="py-lineno">2087</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L2088"></a><tt class="py-lineno">2088</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-761" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-761', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-762" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-762', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L2089"></a><tt class="py-lineno">2089</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2090"></a><tt class="py-lineno">2090</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2091"></a><tt class="py-lineno">2091</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2092"></a><tt class="py-lineno">2092</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2093"></a><tt class="py-lineno">2093</tt>  <tt class="py-line">                                 <tt id="link-763" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-763', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2094"></a><tt class="py-lineno">2094</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2095"></a><tt class="py-lineno">2095</tt>  <tt class="py-line"> </tt>
+<a name="L2096"></a><tt class="py-lineno">2096</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-764" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-764', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2097"></a><tt class="py-lineno">2097</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-765" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-765', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-766" class="py-name" targets="Function TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#counterCheck,Function TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#counterCheck,Function TestON.tests.HAsanity.dependencies.Counters.counterCheck()=TestON.tests.HAsanity.dependencies.Counters-module.html#counterCheck,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#counterCheck"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-766', 'counterCheck', 'link-766');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">pCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2098"></a><tt class="py-lineno">2098</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2099"></a><tt class="py-lineno">2099</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L2100"></a><tt class="py-lineno">2100</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2101"></a><tt class="py-lineno">2101</tt>  <tt class="py-line">                                 <tt id="link-767" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-767', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2102"></a><tt class="py-lineno">2102</tt>  <tt class="py-line"> </tt>
+<a name="L2103"></a><tt class="py-lineno">2103</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-768" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-768', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add -8 to then get a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2104"></a><tt class="py-lineno">2104</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2105"></a><tt class="py-lineno">2105</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2106"></a><tt class="py-lineno">2106</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2107"></a><tt class="py-lineno">2107</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2108"></a><tt class="py-lineno">2108</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-769" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-769', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-770" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-770', 'counterTestAddAndGet', 'link-754');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2109"></a><tt class="py-lineno">2109</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2110"></a><tt class="py-lineno">2110</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2111"></a><tt class="py-lineno">2111</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-op">-</tt><tt class="py-number">8</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2112"></a><tt class="py-lineno">2112</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-op">-</tt><tt class="py-number">8</tt> </tt>
+<a name="L2113"></a><tt class="py-lineno">2113</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2114"></a><tt class="py-lineno">2114</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2115"></a><tt class="py-lineno">2115</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2116"></a><tt class="py-lineno">2116</tt>  <tt class="py-line"> </tt>
+<a name="L2117"></a><tt class="py-lineno">2117</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2118"></a><tt class="py-lineno">2118</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2119"></a><tt class="py-lineno">2119</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2120"></a><tt class="py-lineno">2120</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L2121"></a><tt class="py-lineno">2121</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2122"></a><tt class="py-lineno">2122</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L2123"></a><tt class="py-lineno">2123</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L2124"></a><tt class="py-lineno">2124</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L2125"></a><tt class="py-lineno">2125</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L2126"></a><tt class="py-lineno">2126</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-771" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-771', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-772" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-772', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L2127"></a><tt class="py-lineno">2127</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2128"></a><tt class="py-lineno">2128</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2129"></a><tt class="py-lineno">2129</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2130"></a><tt class="py-lineno">2130</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2131"></a><tt class="py-lineno">2131</tt>  <tt class="py-line">                                 <tt id="link-773" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-773', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2132"></a><tt class="py-lineno">2132</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2133"></a><tt class="py-lineno">2133</tt>  <tt class="py-line"> </tt>
+<a name="L2134"></a><tt class="py-lineno">2134</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-774" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-774', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add 5 to then get a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2135"></a><tt class="py-lineno">2135</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2136"></a><tt class="py-lineno">2136</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2137"></a><tt class="py-lineno">2137</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2138"></a><tt class="py-lineno">2138</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2139"></a><tt class="py-lineno">2139</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-775" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-775', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-776" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-776', 'counterTestAddAndGet', 'link-754');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2140"></a><tt class="py-lineno">2140</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2141"></a><tt class="py-lineno">2141</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2142"></a><tt class="py-lineno">2142</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-number">5</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2143"></a><tt class="py-lineno">2143</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L2144"></a><tt class="py-lineno">2144</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2145"></a><tt class="py-lineno">2145</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2146"></a><tt class="py-lineno">2146</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2147"></a><tt class="py-lineno">2147</tt>  <tt class="py-line"> </tt>
+<a name="L2148"></a><tt class="py-lineno">2148</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2149"></a><tt class="py-lineno">2149</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2150"></a><tt class="py-lineno">2150</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2151"></a><tt class="py-lineno">2151</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L2152"></a><tt class="py-lineno">2152</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2153"></a><tt class="py-lineno">2153</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L2154"></a><tt class="py-lineno">2154</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L2155"></a><tt class="py-lineno">2155</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L2156"></a><tt class="py-lineno">2156</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L2157"></a><tt class="py-lineno">2157</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-777" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-777', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-778" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-778', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L2158"></a><tt class="py-lineno">2158</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2159"></a><tt class="py-lineno">2159</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2160"></a><tt class="py-lineno">2160</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2161"></a><tt class="py-lineno">2161</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2162"></a><tt class="py-lineno">2162</tt>  <tt class="py-line">                                 <tt id="link-779" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-779', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2163"></a><tt class="py-lineno">2163</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2164"></a><tt class="py-lineno">2164</tt>  <tt class="py-line"> </tt>
+<a name="L2165"></a><tt class="py-lineno">2165</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-780" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-780', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get then add 5 to a default counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2166"></a><tt class="py-lineno">2166</tt>  <tt class="py-line">        <tt class="py-name">pCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2167"></a><tt class="py-lineno">2167</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2168"></a><tt class="py-lineno">2168</tt>  <tt class="py-line">        <tt class="py-name">addedPValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2169"></a><tt class="py-lineno">2169</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2170"></a><tt class="py-lineno">2170</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-781" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-781', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-782" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd" class="py-name" href="#" onclick="return doclink('link-782', 'counterTestGetAndAdd', 'link-760');">counterTestGetAndAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2171"></a><tt class="py-lineno">2171</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2172"></a><tt class="py-lineno">2172</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">pCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2173"></a><tt class="py-lineno">2173</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-number">5</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2174"></a><tt class="py-lineno">2174</tt>  <tt class="py-line">            <tt class="py-name">addedPValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2175"></a><tt class="py-lineno">2175</tt>  <tt class="py-line">            <tt class="py-name">pCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L2176"></a><tt class="py-lineno">2176</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2177"></a><tt class="py-lineno">2177</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2178"></a><tt class="py-lineno">2178</tt>  <tt class="py-line"> </tt>
+<a name="L2179"></a><tt class="py-lineno">2179</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2180"></a><tt class="py-lineno">2180</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2181"></a><tt class="py-lineno">2181</tt>  <tt class="py-line">            <tt class="py-name">pCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2182"></a><tt class="py-lineno">2182</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L2183"></a><tt class="py-lineno">2183</tt>  <tt class="py-line">        <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2184"></a><tt class="py-lineno">2184</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedPValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L2185"></a><tt class="py-lineno">2185</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pCounters</tt> </tt>
+<a name="L2186"></a><tt class="py-lineno">2186</tt>  <tt class="py-line">            <tt class="py-name">pCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">pCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L2187"></a><tt class="py-lineno">2187</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L2188"></a><tt class="py-lineno">2188</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-783" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-783', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-784" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-784', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in partitioned "</tt> </tt>
+<a name="L2189"></a><tt class="py-lineno">2189</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2190"></a><tt class="py-lineno">2190</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2191"></a><tt class="py-lineno">2191</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2192"></a><tt class="py-lineno">2192</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Default counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2193"></a><tt class="py-lineno">2193</tt>  <tt class="py-line">                                 <tt id="link-785" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-785', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing default"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2194"></a><tt class="py-lineno">2194</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2195"></a><tt class="py-lineno">2195</tt>  <tt class="py-line"> </tt>
+<a name="L2196"></a><tt class="py-lineno">2196</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-786" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-786', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2197"></a><tt class="py-lineno">2197</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-787" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-787', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-788" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-788', 'counterCheck', 'link-766');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">pCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">pCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2198"></a><tt class="py-lineno">2198</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2199"></a><tt class="py-lineno">2199</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L2200"></a><tt class="py-lineno">2200</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2201"></a><tt class="py-lineno">2201</tt>  <tt class="py-line">                                 <tt id="link-789" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-789', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2202"></a><tt class="py-lineno">2202</tt>  <tt class="py-line"> </tt>
+<a name="L2203"></a><tt class="py-lineno">2203</tt>  <tt class="py-line">        <tt class="py-comment"># In-Memory counters</tt> </tt>
+<a name="L2204"></a><tt class="py-lineno">2204</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-790" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-790', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Increment and get an in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2205"></a><tt class="py-lineno">2205</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2206"></a><tt class="py-lineno">2206</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2207"></a><tt class="py-lineno">2207</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2208"></a><tt class="py-lineno">2208</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2209"></a><tt class="py-lineno">2209</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-791" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-791', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-792" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-792', 'counterTestAddAndGet', 'link-754');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2210"></a><tt class="py-lineno">2210</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"icounterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2211"></a><tt class="py-lineno">2211</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2212"></a><tt class="py-lineno">2212</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2213"></a><tt class="py-lineno">2213</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2214"></a><tt class="py-lineno">2214</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2215"></a><tt class="py-lineno">2215</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2216"></a><tt class="py-lineno">2216</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2217"></a><tt class="py-lineno">2217</tt>  <tt class="py-line"> </tt>
+<a name="L2218"></a><tt class="py-lineno">2218</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2219"></a><tt class="py-lineno">2219</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2220"></a><tt class="py-lineno">2220</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2221"></a><tt class="py-lineno">2221</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L2222"></a><tt class="py-lineno">2222</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2223"></a><tt class="py-lineno">2223</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L2224"></a><tt class="py-lineno">2224</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L2225"></a><tt class="py-lineno">2225</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L2226"></a><tt class="py-lineno">2226</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L2227"></a><tt class="py-lineno">2227</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-793" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-793', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-794" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-794', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in the in-memory "</tt> </tt>
+<a name="L2228"></a><tt class="py-lineno">2228</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2229"></a><tt class="py-lineno">2229</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2230"></a><tt class="py-lineno">2230</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">iCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2231"></a><tt class="py-lineno">2231</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2232"></a><tt class="py-lineno">2232</tt>  <tt class="py-line">                                 <tt id="link-795" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-795', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2233"></a><tt class="py-lineno">2233</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2234"></a><tt class="py-lineno">2234</tt>  <tt class="py-line"> </tt>
+<a name="L2235"></a><tt class="py-lineno">2235</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-796" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-796', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get then Increment a in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2236"></a><tt class="py-lineno">2236</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2237"></a><tt class="py-lineno">2237</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2238"></a><tt class="py-lineno">2238</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2239"></a><tt class="py-lineno">2239</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2240"></a><tt class="py-lineno">2240</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-797" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-797', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-798" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd" class="py-name" href="#" onclick="return doclink('link-798', 'counterTestGetAndAdd', 'link-760');">counterTestGetAndAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2241"></a><tt class="py-lineno">2241</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterGetAndAdd-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2242"></a><tt class="py-lineno">2242</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2243"></a><tt class="py-lineno">2243</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2244"></a><tt class="py-lineno">2244</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2245"></a><tt class="py-lineno">2245</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L2246"></a><tt class="py-lineno">2246</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2247"></a><tt class="py-lineno">2247</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2248"></a><tt class="py-lineno">2248</tt>  <tt class="py-line"> </tt>
+<a name="L2249"></a><tt class="py-lineno">2249</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2250"></a><tt class="py-lineno">2250</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2251"></a><tt class="py-lineno">2251</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2252"></a><tt class="py-lineno">2252</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L2253"></a><tt class="py-lineno">2253</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2254"></a><tt class="py-lineno">2254</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L2255"></a><tt class="py-lineno">2255</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L2256"></a><tt class="py-lineno">2256</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L2257"></a><tt class="py-lineno">2257</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L2258"></a><tt class="py-lineno">2258</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-799" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-799', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-800" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-800', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in in-memory "</tt> </tt>
+<a name="L2259"></a><tt class="py-lineno">2259</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2260"></a><tt class="py-lineno">2260</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2261"></a><tt class="py-lineno">2261</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">iCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2262"></a><tt class="py-lineno">2262</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2263"></a><tt class="py-lineno">2263</tt>  <tt class="py-line">                                 <tt id="link-801" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-801', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2264"></a><tt class="py-lineno">2264</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2265"></a><tt class="py-lineno">2265</tt>  <tt class="py-line"> </tt>
+<a name="L2266"></a><tt class="py-lineno">2266</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-802" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-802', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2267"></a><tt class="py-lineno">2267</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-803" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-803', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-804" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-804', 'counterCheck', 'link-766');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2268"></a><tt class="py-lineno">2268</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2269"></a><tt class="py-lineno">2269</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L2270"></a><tt class="py-lineno">2270</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2271"></a><tt class="py-lineno">2271</tt>  <tt class="py-line">                                 <tt id="link-805" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-805', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2272"></a><tt class="py-lineno">2272</tt>  <tt class="py-line"> </tt>
+<a name="L2273"></a><tt class="py-lineno">2273</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-806" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-806', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add -8 to then get a in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2274"></a><tt class="py-lineno">2274</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2275"></a><tt class="py-lineno">2275</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2276"></a><tt class="py-lineno">2276</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2277"></a><tt class="py-lineno">2277</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2278"></a><tt class="py-lineno">2278</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-807" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-807', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-808" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-808', 'counterTestAddAndGet', 'link-754');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2279"></a><tt class="py-lineno">2279</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2280"></a><tt class="py-lineno">2280</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2281"></a><tt class="py-lineno">2281</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-op">-</tt><tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt>  <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2282"></a><tt class="py-lineno">2282</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-op">-</tt><tt class="py-number">8</tt> </tt>
+<a name="L2283"></a><tt class="py-lineno">2283</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2284"></a><tt class="py-lineno">2284</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2285"></a><tt class="py-lineno">2285</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2286"></a><tt class="py-lineno">2286</tt>  <tt class="py-line"> </tt>
+<a name="L2287"></a><tt class="py-lineno">2287</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2288"></a><tt class="py-lineno">2288</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2289"></a><tt class="py-lineno">2289</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2290"></a><tt class="py-lineno">2290</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L2291"></a><tt class="py-lineno">2291</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2292"></a><tt class="py-lineno">2292</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L2293"></a><tt class="py-lineno">2293</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L2294"></a><tt class="py-lineno">2294</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L2295"></a><tt class="py-lineno">2295</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L2296"></a><tt class="py-lineno">2296</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-809" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-809', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-810" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-810', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in in-memory "</tt> </tt>
+<a name="L2297"></a><tt class="py-lineno">2297</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2298"></a><tt class="py-lineno">2298</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2299"></a><tt class="py-lineno">2299</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2300"></a><tt class="py-lineno">2300</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2301"></a><tt class="py-lineno">2301</tt>  <tt class="py-line">                                 <tt id="link-811" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-811', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2302"></a><tt class="py-lineno">2302</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2303"></a><tt class="py-lineno">2303</tt>  <tt class="py-line"> </tt>
+<a name="L2304"></a><tt class="py-lineno">2304</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-812" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-812', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Add 5 to then get a in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2305"></a><tt class="py-lineno">2305</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2306"></a><tt class="py-lineno">2306</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2307"></a><tt class="py-lineno">2307</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2308"></a><tt class="py-lineno">2308</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2309"></a><tt class="py-lineno">2309</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-813" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-813', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-814" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet" class="py-name" href="#" onclick="return doclink('link-814', 'counterTestAddAndGet', 'link-754');">counterTestAddAndGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2310"></a><tt class="py-lineno">2310</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2311"></a><tt class="py-lineno">2311</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2312"></a><tt class="py-lineno">2312</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt>  <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2313"></a><tt class="py-lineno">2313</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L2314"></a><tt class="py-lineno">2314</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2315"></a><tt class="py-lineno">2315</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2316"></a><tt class="py-lineno">2316</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2317"></a><tt class="py-lineno">2317</tt>  <tt class="py-line"> </tt>
+<a name="L2318"></a><tt class="py-lineno">2318</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2319"></a><tt class="py-lineno">2319</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2320"></a><tt class="py-lineno">2320</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2321"></a><tt class="py-lineno">2321</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L2322"></a><tt class="py-lineno">2322</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2323"></a><tt class="py-lineno">2323</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L2324"></a><tt class="py-lineno">2324</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L2325"></a><tt class="py-lineno">2325</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L2326"></a><tt class="py-lineno">2326</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L2327"></a><tt class="py-lineno">2327</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-815" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-815', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-816" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-816', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in in-memory "</tt> </tt>
+<a name="L2328"></a><tt class="py-lineno">2328</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2329"></a><tt class="py-lineno">2329</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2330"></a><tt class="py-lineno">2330</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">pCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2331"></a><tt class="py-lineno">2331</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2332"></a><tt class="py-lineno">2332</tt>  <tt class="py-line">                                 <tt id="link-817" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-817', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2333"></a><tt class="py-lineno">2333</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2334"></a><tt class="py-lineno">2334</tt>  <tt class="py-line"> </tt>
+<a name="L2335"></a><tt class="py-lineno">2335</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-818" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-818', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Get then add 5 to a in-memory counter on each node"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2336"></a><tt class="py-lineno">2336</tt>  <tt class="py-line">        <tt class="py-name">iCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2337"></a><tt class="py-lineno">2337</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2338"></a><tt class="py-lineno">2338</tt>  <tt class="py-line">        <tt class="py-name">addedIValues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2339"></a><tt class="py-lineno">2339</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2340"></a><tt class="py-lineno">2340</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-819" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-819', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-820" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd" class="py-name" href="#" onclick="return doclink('link-820', 'counterTestGetAndAdd', 'link-760');">counterTestGetAndAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2341"></a><tt class="py-lineno">2341</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counterIncrement-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2342"></a><tt class="py-lineno">2342</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">iCounterName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2343"></a><tt class="py-lineno">2343</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"delta"</tt><tt class="py-op">:</tt> <tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-string">"inMemory"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt>  <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2344"></a><tt class="py-lineno">2344</tt>  <tt class="py-line">            <tt class="py-name">addedIValues</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2345"></a><tt class="py-lineno">2345</tt>  <tt class="py-line">            <tt class="py-name">iCounterValue</tt> <tt class="py-op">+=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L2346"></a><tt class="py-lineno">2346</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2347"></a><tt class="py-lineno">2347</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2348"></a><tt class="py-lineno">2348</tt>  <tt class="py-line"> </tt>
+<a name="L2349"></a><tt class="py-lineno">2349</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2350"></a><tt class="py-lineno">2350</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2351"></a><tt class="py-lineno">2351</tt>  <tt class="py-line">            <tt class="py-name">iCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2352"></a><tt class="py-lineno">2352</tt>  <tt class="py-line">        <tt class="py-comment"># Check that counter incremented numController times</tt> </tt>
+<a name="L2353"></a><tt class="py-lineno">2353</tt>  <tt class="py-line">        <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2354"></a><tt class="py-lineno">2354</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">addedIValues</tt><tt class="py-op">:</tt> </tt>
+<a name="L2355"></a><tt class="py-lineno">2355</tt>  <tt class="py-line">            <tt class="py-name">tmpResult</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iCounters</tt> </tt>
+<a name="L2356"></a><tt class="py-lineno">2356</tt>  <tt class="py-line">            <tt class="py-name">iCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">iCounterResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">tmpResult</tt> </tt>
+<a name="L2357"></a><tt class="py-lineno">2357</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">tmpResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L2358"></a><tt class="py-lineno">2358</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-821" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-821', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-822" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-822', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is not in in-memory "</tt> </tt>
+<a name="L2359"></a><tt class="py-lineno">2359</tt>  <tt class="py-line">                                <tt class="py-string">"counter incremented results"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2360"></a><tt class="py-lineno">2360</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L2361"></a><tt class="py-lineno">2361</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">iCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2362"></a><tt class="py-lineno">2362</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"In-memory counter incremented"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2363"></a><tt class="py-lineno">2363</tt>  <tt class="py-line">                                 <tt id="link-823" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-823', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Error incrementing in-memory"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2364"></a><tt class="py-lineno">2364</tt>  <tt class="py-line">                                        <tt class="py-string">" counter"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2365"></a><tt class="py-lineno">2365</tt>  <tt class="py-line"> </tt>
+<a name="L2366"></a><tt class="py-lineno">2366</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-824" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-824', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2367"></a><tt class="py-lineno">2367</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-825" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-825', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-826" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-826', 'counterCheck', 'link-766');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2368"></a><tt class="py-lineno">2368</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2369"></a><tt class="py-lineno">2369</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L2370"></a><tt class="py-lineno">2370</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2371"></a><tt class="py-lineno">2371</tt>  <tt class="py-line">                                 <tt id="link-827" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-827', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2372"></a><tt class="py-lineno">2372</tt>  <tt class="py-line"> </tt>
+<a name="L2373"></a><tt class="py-lineno">2373</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-828" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-828', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Check counters are consistant across nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2374"></a><tt class="py-lineno">2374</tt>  <tt class="py-line">        <tt class="py-name">onosCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2375"></a><tt class="py-lineno">2375</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2376"></a><tt class="py-lineno">2376</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2377"></a><tt class="py-lineno">2377</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-829" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-829', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-830" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counters"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters" class="py-name" href="#" onclick="return doclink('link-830', 'counters', 'link-830');">counters</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2378"></a><tt class="py-lineno">2378</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counters-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2379"></a><tt class="py-lineno">2379</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2380"></a><tt class="py-lineno">2380</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2381"></a><tt class="py-lineno">2381</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2382"></a><tt class="py-lineno">2382</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2383"></a><tt class="py-lineno">2383</tt>  <tt class="py-line">            <tt class="py-name">onosCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2384"></a><tt class="py-lineno">2384</tt>  <tt class="py-line">        <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosCounters</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2385"></a><tt class="py-lineno">2385</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt> <tt class="py-name">tmp</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2386"></a><tt class="py-lineno">2386</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-831" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-831', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Counters are consistent across all nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2387"></a><tt class="py-lineno">2387</tt>  <tt class="py-line">            <tt class="py-name">consistentCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2388"></a><tt class="py-lineno">2388</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2389"></a><tt class="py-lineno">2389</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-832" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-832', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-833" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-833', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters are not consistent across all nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2390"></a><tt class="py-lineno">2390</tt>  <tt class="py-line">            <tt class="py-name">consistentCounterResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2391"></a><tt class="py-lineno">2391</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2392"></a><tt class="py-lineno">2392</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">consistentCounterResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2393"></a><tt class="py-lineno">2393</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS counters are consistent "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2394"></a><tt class="py-lineno">2394</tt>  <tt class="py-line">                                        <tt class="py-string">"across nodes"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2395"></a><tt class="py-lineno">2395</tt>  <tt class="py-line">                                 <tt id="link-834" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-834', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS Counters are inconsistent "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2396"></a><tt class="py-lineno">2396</tt>  <tt class="py-line">                                        <tt class="py-string">"across nodes"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2397"></a><tt class="py-lineno">2397</tt>  <tt class="py-line"> </tt>
+<a name="L2398"></a><tt class="py-lineno">2398</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-835" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-835', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Counters we added have the correct values"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2399"></a><tt class="py-lineno">2399</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-836" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-836', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-837" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-837', 'counterCheck', 'link-766');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2400"></a><tt class="py-lineno">2400</tt>  <tt class="py-line">        <tt class="py-name">incrementCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">incrementCheck</tt> <tt class="py-keyword">and</tt> \ </tt>
+<a name="L2401"></a><tt class="py-lineno">2401</tt>  <tt class="py-line">                         <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-838" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters
+TestON.tests.HAminorityRestart.dependencies.Counters
+TestON.tests.HAsanity.dependencies.Counters
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters" class="py-name" href="#" onclick="return doclink('link-838', 'Counters', 'link-4');">Counters</a></tt><tt class="py-op">.</tt><tt id="link-839" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck
+TestON.tests.HAsanity.dependencies.Counters.counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck" class="py-name" href="#" onclick="return doclink('link-839', 'counterCheck', 'link-766');">counterCheck</a></tt><tt class="py-op">(</tt> <tt class="py-name">iCounterName</tt><tt class="py-op">,</tt> <tt class="py-name">iCounterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2402"></a><tt class="py-lineno">2402</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2403"></a><tt class="py-lineno">2403</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">incrementCheck</tt><tt class="py-op">,</tt> </tt>
+<a name="L2404"></a><tt class="py-lineno">2404</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2405"></a><tt class="py-lineno">2405</tt>  <tt class="py-line">                                 <tt id="link-840" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-840', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Added counters are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2406"></a><tt class="py-lineno">2406</tt>  <tt class="py-line"> </tt>
+<a name="L2407"></a><tt class="py-lineno">2407</tt>  <tt class="py-line">        <tt class="py-comment"># DISTRIBUTED SETS</tt> </tt>
+<a name="L2408"></a><tt class="py-lineno">2408</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-841" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-841', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set get"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2409"></a><tt class="py-lineno">2409</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2410"></a><tt class="py-lineno">2410</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2411"></a><tt class="py-lineno">2411</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2412"></a><tt class="py-lineno">2412</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2413"></a><tt class="py-lineno">2413</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-842" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-842', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-843" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestGet"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-843', 'setTestGet', 'link-843');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2414"></a><tt class="py-lineno">2414</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2415"></a><tt class="py-lineno">2415</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2416"></a><tt class="py-lineno">2416</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2417"></a><tt class="py-lineno">2417</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2418"></a><tt class="py-lineno">2418</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2419"></a><tt class="py-lineno">2419</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2420"></a><tt class="py-lineno">2420</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2421"></a><tt class="py-lineno">2421</tt>  <tt class="py-line"> </tt>
+<a name="L2422"></a><tt class="py-lineno">2422</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2423"></a><tt class="py-lineno">2423</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2424"></a><tt class="py-lineno">2424</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2425"></a><tt class="py-lineno">2425</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2426"></a><tt class="py-lineno">2426</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2427"></a><tt class="py-lineno">2427</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L2428"></a><tt class="py-lineno">2428</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L2429"></a><tt class="py-lineno">2429</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-844" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-844', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-845" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-845', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2430"></a><tt class="py-lineno">2430</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2431"></a><tt class="py-lineno">2431</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2432"></a><tt class="py-lineno">2432</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2433"></a><tt class="py-lineno">2433</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-846" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-846', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2434"></a><tt class="py-lineno">2434</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-847" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-847', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2435"></a><tt class="py-lineno">2435</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2436"></a><tt class="py-lineno">2436</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2437"></a><tt class="py-lineno">2437</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L2438"></a><tt class="py-lineno">2438</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-848" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-848', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-849" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-849', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2439"></a><tt class="py-lineno">2439</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2440"></a><tt class="py-lineno">2440</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2441"></a><tt class="py-lineno">2441</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2442"></a><tt class="py-lineno">2442</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2443"></a><tt class="py-lineno">2443</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L2444"></a><tt class="py-lineno">2444</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2445"></a><tt class="py-lineno">2445</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2446"></a><tt class="py-lineno">2446</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">getResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2447"></a><tt class="py-lineno">2447</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set elements are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2448"></a><tt class="py-lineno">2448</tt>  <tt class="py-line">                                 <tt id="link-850" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-850', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set elements are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2449"></a><tt class="py-lineno">2449</tt>  <tt class="py-line"> </tt>
+<a name="L2450"></a><tt class="py-lineno">2450</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-851" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-851', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set size"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2451"></a><tt class="py-lineno">2451</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2452"></a><tt class="py-lineno">2452</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2453"></a><tt class="py-lineno">2453</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2454"></a><tt class="py-lineno">2454</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-852" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-852', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-853" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestSize"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-853', 'setTestSize', 'link-853');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2455"></a><tt class="py-lineno">2455</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2456"></a><tt class="py-lineno">2456</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2457"></a><tt class="py-lineno">2457</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2458"></a><tt class="py-lineno">2458</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2459"></a><tt class="py-lineno">2459</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2460"></a><tt class="py-lineno">2460</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2461"></a><tt class="py-lineno">2461</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2462"></a><tt class="py-lineno">2462</tt>  <tt class="py-line"> </tt>
+<a name="L2463"></a><tt class="py-lineno">2463</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2464"></a><tt class="py-lineno">2464</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2465"></a><tt class="py-lineno">2465</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2466"></a><tt class="py-lineno">2466</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2467"></a><tt class="py-lineno">2467</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-854" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-854', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-855" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-855', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2468"></a><tt class="py-lineno">2468</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2469"></a><tt class="py-lineno">2469</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2470"></a><tt class="py-lineno">2470</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2471"></a><tt class="py-lineno">2471</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2472"></a><tt class="py-lineno">2472</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">sizeResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2473"></a><tt class="py-lineno">2473</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set sizes are correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2474"></a><tt class="py-lineno">2474</tt>  <tt class="py-line">                                 <tt id="link-856" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-856', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set sizes are incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2475"></a><tt class="py-lineno">2475</tt>  <tt class="py-line"> </tt>
+<a name="L2476"></a><tt class="py-lineno">2476</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-857" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-857', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set add()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2477"></a><tt class="py-lineno">2477</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">add</tt><tt class="py-op">(</tt> <tt class="py-name">addValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2478"></a><tt class="py-lineno">2478</tt>  <tt class="py-line">        <tt class="py-name">addResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2479"></a><tt class="py-lineno">2479</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2480"></a><tt class="py-lineno">2480</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2481"></a><tt class="py-lineno">2481</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-858" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-858', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-859" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestAdd"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd" class="py-name" href="#" onclick="return doclink('link-859', 'setTestAdd', 'link-859');">setTestAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2482"></a><tt class="py-lineno">2482</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestAdd-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2483"></a><tt class="py-lineno">2483</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2484"></a><tt class="py-lineno">2484</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2485"></a><tt class="py-lineno">2485</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2486"></a><tt class="py-lineno">2486</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2487"></a><tt class="py-lineno">2487</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2488"></a><tt class="py-lineno">2488</tt>  <tt class="py-line">            <tt class="py-name">addResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2489"></a><tt class="py-lineno">2489</tt>  <tt class="py-line"> </tt>
+<a name="L2490"></a><tt class="py-lineno">2490</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L2491"></a><tt class="py-lineno">2491</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L2492"></a><tt class="py-lineno">2492</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L2493"></a><tt class="py-lineno">2493</tt>  <tt class="py-line">        <tt class="py-name">addResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2494"></a><tt class="py-lineno">2494</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2495"></a><tt class="py-lineno">2495</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2496"></a><tt class="py-lineno">2496</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L2497"></a><tt class="py-lineno">2497</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L2498"></a><tt class="py-lineno">2498</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2499"></a><tt class="py-lineno">2499</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L2500"></a><tt class="py-lineno">2500</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L2501"></a><tt class="py-lineno">2501</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L2502"></a><tt class="py-lineno">2502</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L2503"></a><tt class="py-lineno">2503</tt>  <tt class="py-line">                <tt class="py-name">addResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2504"></a><tt class="py-lineno">2504</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2505"></a><tt class="py-lineno">2505</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L2506"></a><tt class="py-lineno">2506</tt>  <tt class="py-line">                <tt class="py-name">addResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2507"></a><tt class="py-lineno">2507</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">addResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2508"></a><tt class="py-lineno">2508</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-860" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-860', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-861" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-861', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set add"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2509"></a><tt class="py-lineno">2509</tt>  <tt class="py-line"> </tt>
+<a name="L2510"></a><tt class="py-lineno">2510</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L2511"></a><tt class="py-lineno">2511</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2512"></a><tt class="py-lineno">2512</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2513"></a><tt class="py-lineno">2513</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2514"></a><tt class="py-lineno">2514</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2515"></a><tt class="py-lineno">2515</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-862" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-862', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-863" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-863', 'setTestGet', 'link-843');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2516"></a><tt class="py-lineno">2516</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2517"></a><tt class="py-lineno">2517</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2518"></a><tt class="py-lineno">2518</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2519"></a><tt class="py-lineno">2519</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2520"></a><tt class="py-lineno">2520</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2521"></a><tt class="py-lineno">2521</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2522"></a><tt class="py-lineno">2522</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2523"></a><tt class="py-lineno">2523</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2524"></a><tt class="py-lineno">2524</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2525"></a><tt class="py-lineno">2525</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2526"></a><tt class="py-lineno">2526</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2527"></a><tt class="py-lineno">2527</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2528"></a><tt class="py-lineno">2528</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L2529"></a><tt class="py-lineno">2529</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L2530"></a><tt class="py-lineno">2530</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-864" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-864', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-865" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-865', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2531"></a><tt class="py-lineno">2531</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2532"></a><tt class="py-lineno">2532</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2533"></a><tt class="py-lineno">2533</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2534"></a><tt class="py-lineno">2534</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-866" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-866', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2535"></a><tt class="py-lineno">2535</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-867" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-867', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2536"></a><tt class="py-lineno">2536</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2537"></a><tt class="py-lineno">2537</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2538"></a><tt class="py-lineno">2538</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L2539"></a><tt class="py-lineno">2539</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-868" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-868', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-869" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-869', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2540"></a><tt class="py-lineno">2540</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2541"></a><tt class="py-lineno">2541</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2542"></a><tt class="py-lineno">2542</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2543"></a><tt class="py-lineno">2543</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2544"></a><tt class="py-lineno">2544</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L2545"></a><tt class="py-lineno">2545</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2546"></a><tt class="py-lineno">2546</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2547"></a><tt class="py-lineno">2547</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2548"></a><tt class="py-lineno">2548</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2549"></a><tt class="py-lineno">2549</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-870" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-870', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-871" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-871', 'setTestSize', 'link-853');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2550"></a><tt class="py-lineno">2550</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2551"></a><tt class="py-lineno">2551</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2552"></a><tt class="py-lineno">2552</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2553"></a><tt class="py-lineno">2553</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2554"></a><tt class="py-lineno">2554</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2555"></a><tt class="py-lineno">2555</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2556"></a><tt class="py-lineno">2556</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2557"></a><tt class="py-lineno">2557</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2558"></a><tt class="py-lineno">2558</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2559"></a><tt class="py-lineno">2559</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2560"></a><tt class="py-lineno">2560</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2561"></a><tt class="py-lineno">2561</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-872" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-872', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-873" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-873', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2562"></a><tt class="py-lineno">2562</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2563"></a><tt class="py-lineno">2563</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2564"></a><tt class="py-lineno">2564</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2565"></a><tt class="py-lineno">2565</tt>  <tt class="py-line">        <tt class="py-name">addResults</tt> <tt class="py-op">=</tt> <tt class="py-name">addResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L2566"></a><tt class="py-lineno">2566</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2567"></a><tt class="py-lineno">2567</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">addResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2568"></a><tt class="py-lineno">2568</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set add correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2569"></a><tt class="py-lineno">2569</tt>  <tt class="py-line">                                 <tt id="link-874" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-874', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set add was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2570"></a><tt class="py-lineno">2570</tt>  <tt class="py-line"> </tt>
+<a name="L2571"></a><tt class="py-lineno">2571</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-875" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-875', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set addAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2572"></a><tt class="py-lineno">2572</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt id="link-876" class="py-name" targets="Method TestON.core.dicttoobject.DictToObject.update()=TestON.core.dicttoobject.DictToObject-class.html#update,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#update"><a title="TestON.core.dicttoobject.DictToObject.update
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update" class="py-name" href="#" onclick="return doclink('link-876', 'update', 'link-876');">update</a></tt><tt class="py-op">(</tt> <tt class="py-name">addAllValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2573"></a><tt class="py-lineno">2573</tt>  <tt class="py-line">        <tt class="py-name">addResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2574"></a><tt class="py-lineno">2574</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2575"></a><tt class="py-lineno">2575</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2576"></a><tt class="py-lineno">2576</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-877" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-877', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-878" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd" class="py-name" href="#" onclick="return doclink('link-878', 'setTestAdd', 'link-859');">setTestAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2577"></a><tt class="py-lineno">2577</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestAddAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2578"></a><tt class="py-lineno">2578</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2579"></a><tt class="py-lineno">2579</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2580"></a><tt class="py-lineno">2580</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2581"></a><tt class="py-lineno">2581</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2582"></a><tt class="py-lineno">2582</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2583"></a><tt class="py-lineno">2583</tt>  <tt class="py-line">            <tt class="py-name">addResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2584"></a><tt class="py-lineno">2584</tt>  <tt class="py-line"> </tt>
+<a name="L2585"></a><tt class="py-lineno">2585</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L2586"></a><tt class="py-lineno">2586</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L2587"></a><tt class="py-lineno">2587</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L2588"></a><tt class="py-lineno">2588</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2589"></a><tt class="py-lineno">2589</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2590"></a><tt class="py-lineno">2590</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2591"></a><tt class="py-lineno">2591</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L2592"></a><tt class="py-lineno">2592</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L2593"></a><tt class="py-lineno">2593</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2594"></a><tt class="py-lineno">2594</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L2595"></a><tt class="py-lineno">2595</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L2596"></a><tt class="py-lineno">2596</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L2597"></a><tt class="py-lineno">2597</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L2598"></a><tt class="py-lineno">2598</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2599"></a><tt class="py-lineno">2599</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2600"></a><tt class="py-lineno">2600</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L2601"></a><tt class="py-lineno">2601</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2602"></a><tt class="py-lineno">2602</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">addAllResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2603"></a><tt class="py-lineno">2603</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-879" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-879', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-880" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-880', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set addAll"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2604"></a><tt class="py-lineno">2604</tt>  <tt class="py-line"> </tt>
+<a name="L2605"></a><tt class="py-lineno">2605</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L2606"></a><tt class="py-lineno">2606</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2607"></a><tt class="py-lineno">2607</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2608"></a><tt class="py-lineno">2608</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2609"></a><tt class="py-lineno">2609</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2610"></a><tt class="py-lineno">2610</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-881" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-881', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-882" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-882', 'setTestGet', 'link-843');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2611"></a><tt class="py-lineno">2611</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2612"></a><tt class="py-lineno">2612</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2613"></a><tt class="py-lineno">2613</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2614"></a><tt class="py-lineno">2614</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2615"></a><tt class="py-lineno">2615</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2616"></a><tt class="py-lineno">2616</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2617"></a><tt class="py-lineno">2617</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2618"></a><tt class="py-lineno">2618</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2619"></a><tt class="py-lineno">2619</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2620"></a><tt class="py-lineno">2620</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2621"></a><tt class="py-lineno">2621</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2622"></a><tt class="py-lineno">2622</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2623"></a><tt class="py-lineno">2623</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L2624"></a><tt class="py-lineno">2624</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L2625"></a><tt class="py-lineno">2625</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-883" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-883', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-884" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-884', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2626"></a><tt class="py-lineno">2626</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2627"></a><tt class="py-lineno">2627</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2628"></a><tt class="py-lineno">2628</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2629"></a><tt class="py-lineno">2629</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-885" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-885', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2630"></a><tt class="py-lineno">2630</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-886" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-886', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2631"></a><tt class="py-lineno">2631</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2632"></a><tt class="py-lineno">2632</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2633"></a><tt class="py-lineno">2633</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L2634"></a><tt class="py-lineno">2634</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-887" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-887', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-888" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-888', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2635"></a><tt class="py-lineno">2635</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2636"></a><tt class="py-lineno">2636</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2637"></a><tt class="py-lineno">2637</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2638"></a><tt class="py-lineno">2638</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2639"></a><tt class="py-lineno">2639</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L2640"></a><tt class="py-lineno">2640</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2641"></a><tt class="py-lineno">2641</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2642"></a><tt class="py-lineno">2642</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2643"></a><tt class="py-lineno">2643</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2644"></a><tt class="py-lineno">2644</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-889" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-889', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-890" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-890', 'setTestSize', 'link-853');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2645"></a><tt class="py-lineno">2645</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2646"></a><tt class="py-lineno">2646</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2647"></a><tt class="py-lineno">2647</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2648"></a><tt class="py-lineno">2648</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2649"></a><tt class="py-lineno">2649</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2650"></a><tt class="py-lineno">2650</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2651"></a><tt class="py-lineno">2651</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2652"></a><tt class="py-lineno">2652</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2653"></a><tt class="py-lineno">2653</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2654"></a><tt class="py-lineno">2654</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2655"></a><tt class="py-lineno">2655</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2656"></a><tt class="py-lineno">2656</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-891" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-891', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-892" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-892', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2657"></a><tt class="py-lineno">2657</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2658"></a><tt class="py-lineno">2658</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2659"></a><tt class="py-lineno">2659</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2660"></a><tt class="py-lineno">2660</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">addAllResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L2661"></a><tt class="py-lineno">2661</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2662"></a><tt class="py-lineno">2662</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">addAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2663"></a><tt class="py-lineno">2663</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2664"></a><tt class="py-lineno">2664</tt>  <tt class="py-line">                                 <tt id="link-893" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-893', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2665"></a><tt class="py-lineno">2665</tt>  <tt class="py-line"> </tt>
+<a name="L2666"></a><tt class="py-lineno">2666</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-894" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-894', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set contains()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2667"></a><tt class="py-lineno">2667</tt>  <tt class="py-line">        <tt class="py-name">containsResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2668"></a><tt class="py-lineno">2668</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2669"></a><tt class="py-lineno">2669</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2670"></a><tt class="py-lineno">2670</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-895" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-895', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-896" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-896', 'setTestGet', 'link-843');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2671"></a><tt class="py-lineno">2671</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setContains-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2672"></a><tt class="py-lineno">2672</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2673"></a><tt class="py-lineno">2673</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"values"</tt><tt class="py-op">:</tt> <tt class="py-name">addValue</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2674"></a><tt class="py-lineno">2674</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2675"></a><tt class="py-lineno">2675</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2676"></a><tt class="py-lineno">2676</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2677"></a><tt class="py-lineno">2677</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2678"></a><tt class="py-lineno">2678</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: This is the tuple</tt> </tt>
+<a name="L2679"></a><tt class="py-lineno">2679</tt>  <tt class="py-line">            <tt class="py-name">containsResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2680"></a><tt class="py-lineno">2680</tt>  <tt class="py-line"> </tt>
+<a name="L2681"></a><tt class="py-lineno">2681</tt>  <tt class="py-line">        <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2682"></a><tt class="py-lineno">2682</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2683"></a><tt class="py-lineno">2683</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">containsResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L2684"></a><tt class="py-lineno">2684</tt>  <tt class="py-line">                <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2685"></a><tt class="py-lineno">2685</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2686"></a><tt class="py-lineno">2686</tt>  <tt class="py-line">                <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">containsResults</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L2687"></a><tt class="py-lineno">2687</tt>  <tt class="py-line">                                  <tt class="py-name">containsResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2688"></a><tt class="py-lineno">2688</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2689"></a><tt class="py-lineno">2689</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">containsResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2690"></a><tt class="py-lineno">2690</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set contains is functional"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2691"></a><tt class="py-lineno">2691</tt>  <tt class="py-line">                                 <tt id="link-897" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-897', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set contains failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2692"></a><tt class="py-lineno">2692</tt>  <tt class="py-line"> </tt>
+<a name="L2693"></a><tt class="py-lineno">2693</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-898" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-898', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set containsAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2694"></a><tt class="py-lineno">2694</tt>  <tt class="py-line">        <tt class="py-name">containsAllResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2695"></a><tt class="py-lineno">2695</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2696"></a><tt class="py-lineno">2696</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2697"></a><tt class="py-lineno">2697</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-899" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-899', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-900" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-900', 'setTestGet', 'link-843');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2698"></a><tt class="py-lineno">2698</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setContainsAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2699"></a><tt class="py-lineno">2699</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2700"></a><tt class="py-lineno">2700</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"values"</tt><tt class="py-op">:</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2701"></a><tt class="py-lineno">2701</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2702"></a><tt class="py-lineno">2702</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2703"></a><tt class="py-lineno">2703</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2704"></a><tt class="py-lineno">2704</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2705"></a><tt class="py-lineno">2705</tt>  <tt class="py-line">            <tt class="py-comment"># NOTE: This is the tuple</tt> </tt>
+<a name="L2706"></a><tt class="py-lineno">2706</tt>  <tt class="py-line">            <tt class="py-name">containsAllResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2707"></a><tt class="py-lineno">2707</tt>  <tt class="py-line"> </tt>
+<a name="L2708"></a><tt class="py-lineno">2708</tt>  <tt class="py-line">        <tt class="py-name">containsAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2709"></a><tt class="py-lineno">2709</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2710"></a><tt class="py-lineno">2710</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">containsResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L2711"></a><tt class="py-lineno">2711</tt>  <tt class="py-line">                <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2712"></a><tt class="py-lineno">2712</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2713"></a><tt class="py-lineno">2713</tt>  <tt class="py-line">                <tt class="py-name">containsResults</tt> <tt class="py-op">=</tt> <tt class="py-name">containsResults</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L2714"></a><tt class="py-lineno">2714</tt>  <tt class="py-line">                                  <tt class="py-name">containsResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-number">1</tt> <tt class="py-op">]</tt> </tt>
+<a name="L2715"></a><tt class="py-lineno">2715</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2716"></a><tt class="py-lineno">2716</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">containsAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2717"></a><tt class="py-lineno">2717</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set containsAll is functional"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2718"></a><tt class="py-lineno">2718</tt>  <tt class="py-line">                                 <tt id="link-901" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-901', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set containsAll failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2719"></a><tt class="py-lineno">2719</tt>  <tt class="py-line"> </tt>
+<a name="L2720"></a><tt class="py-lineno">2720</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-902" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-902', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set remove()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2721"></a><tt class="py-lineno">2721</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt> <tt class="py-name">addValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2722"></a><tt class="py-lineno">2722</tt>  <tt class="py-line">        <tt class="py-name">removeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2723"></a><tt class="py-lineno">2723</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2724"></a><tt class="py-lineno">2724</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2725"></a><tt class="py-lineno">2725</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-903" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-903', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-904" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestRemove"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove" class="py-name" href="#" onclick="return doclink('link-904', 'setTestRemove', 'link-904');">setTestRemove</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2726"></a><tt class="py-lineno">2726</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestRemove-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2727"></a><tt class="py-lineno">2727</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2728"></a><tt class="py-lineno">2728</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2729"></a><tt class="py-lineno">2729</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2730"></a><tt class="py-lineno">2730</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2731"></a><tt class="py-lineno">2731</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2732"></a><tt class="py-lineno">2732</tt>  <tt class="py-line">            <tt class="py-name">removeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2733"></a><tt class="py-lineno">2733</tt>  <tt class="py-line"> </tt>
+<a name="L2734"></a><tt class="py-lineno">2734</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L2735"></a><tt class="py-lineno">2735</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L2736"></a><tt class="py-lineno">2736</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L2737"></a><tt class="py-lineno">2737</tt>  <tt class="py-line">        <tt class="py-name">removeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2738"></a><tt class="py-lineno">2738</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2739"></a><tt class="py-lineno">2739</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">removeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2740"></a><tt class="py-lineno">2740</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L2741"></a><tt class="py-lineno">2741</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L2742"></a><tt class="py-lineno">2742</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">removeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2743"></a><tt class="py-lineno">2743</tt>  <tt class="py-line">                <tt class="py-comment"># not in set, probably fine</tt> </tt>
+<a name="L2744"></a><tt class="py-lineno">2744</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L2745"></a><tt class="py-lineno">2745</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">removeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L2746"></a><tt class="py-lineno">2746</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L2747"></a><tt class="py-lineno">2747</tt>  <tt class="py-line">                <tt class="py-name">removeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2748"></a><tt class="py-lineno">2748</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2749"></a><tt class="py-lineno">2749</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L2750"></a><tt class="py-lineno">2750</tt>  <tt class="py-line">                <tt class="py-name">removeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2751"></a><tt class="py-lineno">2751</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">removeResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2752"></a><tt class="py-lineno">2752</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-905" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-905', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-906" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-906', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set remove"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2753"></a><tt class="py-lineno">2753</tt>  <tt class="py-line"> </tt>
+<a name="L2754"></a><tt class="py-lineno">2754</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L2755"></a><tt class="py-lineno">2755</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2756"></a><tt class="py-lineno">2756</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2757"></a><tt class="py-lineno">2757</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2758"></a><tt class="py-lineno">2758</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2759"></a><tt class="py-lineno">2759</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-907" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-907', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-908" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-908', 'setTestGet', 'link-843');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2760"></a><tt class="py-lineno">2760</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2761"></a><tt class="py-lineno">2761</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2762"></a><tt class="py-lineno">2762</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2763"></a><tt class="py-lineno">2763</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2764"></a><tt class="py-lineno">2764</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2765"></a><tt class="py-lineno">2765</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2766"></a><tt class="py-lineno">2766</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2767"></a><tt class="py-lineno">2767</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2768"></a><tt class="py-lineno">2768</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2769"></a><tt class="py-lineno">2769</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2770"></a><tt class="py-lineno">2770</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2771"></a><tt class="py-lineno">2771</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2772"></a><tt class="py-lineno">2772</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L2773"></a><tt class="py-lineno">2773</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L2774"></a><tt class="py-lineno">2774</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-909" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-909', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-910" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-910', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2775"></a><tt class="py-lineno">2775</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2776"></a><tt class="py-lineno">2776</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2777"></a><tt class="py-lineno">2777</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2778"></a><tt class="py-lineno">2778</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-911" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-911', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2779"></a><tt class="py-lineno">2779</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-912" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-912', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2780"></a><tt class="py-lineno">2780</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2781"></a><tt class="py-lineno">2781</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2782"></a><tt class="py-lineno">2782</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L2783"></a><tt class="py-lineno">2783</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-913" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-913', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-914" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-914', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2784"></a><tt class="py-lineno">2784</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2785"></a><tt class="py-lineno">2785</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2786"></a><tt class="py-lineno">2786</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2787"></a><tt class="py-lineno">2787</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2788"></a><tt class="py-lineno">2788</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L2789"></a><tt class="py-lineno">2789</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2790"></a><tt class="py-lineno">2790</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2791"></a><tt class="py-lineno">2791</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2792"></a><tt class="py-lineno">2792</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2793"></a><tt class="py-lineno">2793</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-915" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-915', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-916" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-916', 'setTestSize', 'link-853');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2794"></a><tt class="py-lineno">2794</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2795"></a><tt class="py-lineno">2795</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2796"></a><tt class="py-lineno">2796</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2797"></a><tt class="py-lineno">2797</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2798"></a><tt class="py-lineno">2798</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2799"></a><tt class="py-lineno">2799</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2800"></a><tt class="py-lineno">2800</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2801"></a><tt class="py-lineno">2801</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2802"></a><tt class="py-lineno">2802</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2803"></a><tt class="py-lineno">2803</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2804"></a><tt class="py-lineno">2804</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2805"></a><tt class="py-lineno">2805</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-917" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-917', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-918" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-918', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2806"></a><tt class="py-lineno">2806</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2807"></a><tt class="py-lineno">2807</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2808"></a><tt class="py-lineno">2808</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2809"></a><tt class="py-lineno">2809</tt>  <tt class="py-line">        <tt class="py-name">removeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">removeResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L2810"></a><tt class="py-lineno">2810</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2811"></a><tt class="py-lineno">2811</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">removeResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2812"></a><tt class="py-lineno">2812</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set remove correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2813"></a><tt class="py-lineno">2813</tt>  <tt class="py-line">                                 <tt id="link-919" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-919', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set remove was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2814"></a><tt class="py-lineno">2814</tt>  <tt class="py-line"> </tt>
+<a name="L2815"></a><tt class="py-lineno">2815</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-920" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-920', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set removeAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2816"></a><tt class="py-lineno">2816</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">difference_update</tt><tt class="py-op">(</tt> <tt class="py-name">addAllValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2817"></a><tt class="py-lineno">2817</tt>  <tt class="py-line">        <tt class="py-name">removeAllResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2818"></a><tt class="py-lineno">2818</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2819"></a><tt class="py-lineno">2819</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L2820"></a><tt class="py-lineno">2820</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2821"></a><tt class="py-lineno">2821</tt>  <tt class="py-line">                <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-921" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-921', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-922" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove" class="py-name" href="#" onclick="return doclink('link-922', 'setTestRemove', 'link-904');">setTestRemove</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2822"></a><tt class="py-lineno">2822</tt>  <tt class="py-line">                                 <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestRemoveAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2823"></a><tt class="py-lineno">2823</tt>  <tt class="py-line">                                 <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2824"></a><tt class="py-lineno">2824</tt>  <tt class="py-line">                <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2825"></a><tt class="py-lineno">2825</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2826"></a><tt class="py-lineno">2826</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2827"></a><tt class="py-lineno">2827</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2828"></a><tt class="py-lineno">2828</tt>  <tt class="py-line">                <tt class="py-name">removeAllResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2829"></a><tt class="py-lineno">2829</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L2830"></a><tt class="py-lineno">2830</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-923" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-923', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">exception</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
+<a name="L2831"></a><tt class="py-lineno">2831</tt>  <tt class="py-line"> </tt>
+<a name="L2832"></a><tt class="py-lineno">2832</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L2833"></a><tt class="py-lineno">2833</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L2834"></a><tt class="py-lineno">2834</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L2835"></a><tt class="py-lineno">2835</tt>  <tt class="py-line">        <tt class="py-name">removeAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2836"></a><tt class="py-lineno">2836</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2837"></a><tt class="py-lineno">2837</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">removeAllResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2838"></a><tt class="py-lineno">2838</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L2839"></a><tt class="py-lineno">2839</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L2840"></a><tt class="py-lineno">2840</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">removeAllResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2841"></a><tt class="py-lineno">2841</tt>  <tt class="py-line">                <tt class="py-comment"># not in set, probably fine</tt> </tt>
+<a name="L2842"></a><tt class="py-lineno">2842</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L2843"></a><tt class="py-lineno">2843</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">removeAllResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L2844"></a><tt class="py-lineno">2844</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L2845"></a><tt class="py-lineno">2845</tt>  <tt class="py-line">                <tt class="py-name">removeAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2846"></a><tt class="py-lineno">2846</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2847"></a><tt class="py-lineno">2847</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L2848"></a><tt class="py-lineno">2848</tt>  <tt class="py-line">                <tt class="py-name">removeAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2849"></a><tt class="py-lineno">2849</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">removeAllResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2850"></a><tt class="py-lineno">2850</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-924" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-924', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-925" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-925', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set removeAll"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2851"></a><tt class="py-lineno">2851</tt>  <tt class="py-line"> </tt>
+<a name="L2852"></a><tt class="py-lineno">2852</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L2853"></a><tt class="py-lineno">2853</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2854"></a><tt class="py-lineno">2854</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2855"></a><tt class="py-lineno">2855</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2856"></a><tt class="py-lineno">2856</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2857"></a><tt class="py-lineno">2857</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-926" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-926', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-927" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-927', 'setTestGet', 'link-843');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2858"></a><tt class="py-lineno">2858</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2859"></a><tt class="py-lineno">2859</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2860"></a><tt class="py-lineno">2860</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2861"></a><tt class="py-lineno">2861</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2862"></a><tt class="py-lineno">2862</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2863"></a><tt class="py-lineno">2863</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2864"></a><tt class="py-lineno">2864</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2865"></a><tt class="py-lineno">2865</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2866"></a><tt class="py-lineno">2866</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2867"></a><tt class="py-lineno">2867</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2868"></a><tt class="py-lineno">2868</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2869"></a><tt class="py-lineno">2869</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2870"></a><tt class="py-lineno">2870</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L2871"></a><tt class="py-lineno">2871</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L2872"></a><tt class="py-lineno">2872</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-928" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-928', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-929" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-929', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2873"></a><tt class="py-lineno">2873</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2874"></a><tt class="py-lineno">2874</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2875"></a><tt class="py-lineno">2875</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2876"></a><tt class="py-lineno">2876</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-930" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-930', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2877"></a><tt class="py-lineno">2877</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-931" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-931', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2878"></a><tt class="py-lineno">2878</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2879"></a><tt class="py-lineno">2879</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2880"></a><tt class="py-lineno">2880</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L2881"></a><tt class="py-lineno">2881</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-932" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-932', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-933" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-933', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2882"></a><tt class="py-lineno">2882</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2883"></a><tt class="py-lineno">2883</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2884"></a><tt class="py-lineno">2884</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2885"></a><tt class="py-lineno">2885</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2886"></a><tt class="py-lineno">2886</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L2887"></a><tt class="py-lineno">2887</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2888"></a><tt class="py-lineno">2888</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2889"></a><tt class="py-lineno">2889</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2890"></a><tt class="py-lineno">2890</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2891"></a><tt class="py-lineno">2891</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-934" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-934', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-935" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-935', 'setTestSize', 'link-853');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2892"></a><tt class="py-lineno">2892</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2893"></a><tt class="py-lineno">2893</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2894"></a><tt class="py-lineno">2894</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2895"></a><tt class="py-lineno">2895</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2896"></a><tt class="py-lineno">2896</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2897"></a><tt class="py-lineno">2897</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2898"></a><tt class="py-lineno">2898</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2899"></a><tt class="py-lineno">2899</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2900"></a><tt class="py-lineno">2900</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2901"></a><tt class="py-lineno">2901</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2902"></a><tt class="py-lineno">2902</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2903"></a><tt class="py-lineno">2903</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-936" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-936', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-937" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-937', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2904"></a><tt class="py-lineno">2904</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2905"></a><tt class="py-lineno">2905</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2906"></a><tt class="py-lineno">2906</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2907"></a><tt class="py-lineno">2907</tt>  <tt class="py-line">        <tt class="py-name">removeAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">removeAllResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L2908"></a><tt class="py-lineno">2908</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L2909"></a><tt class="py-lineno">2909</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">removeAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L2910"></a><tt class="py-lineno">2910</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set removeAll correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2911"></a><tt class="py-lineno">2911</tt>  <tt class="py-line">                                 <tt id="link-938" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-938', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set removeAll was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2912"></a><tt class="py-lineno">2912</tt>  <tt class="py-line"> </tt>
+<a name="L2913"></a><tt class="py-lineno">2913</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-939" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-939', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set addAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2914"></a><tt class="py-lineno">2914</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt id="link-940" class="py-name"><a title="TestON.core.dicttoobject.DictToObject.update
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update" class="py-name" href="#" onclick="return doclink('link-940', 'update', 'link-876');">update</a></tt><tt class="py-op">(</tt> <tt class="py-name">addAllValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2915"></a><tt class="py-lineno">2915</tt>  <tt class="py-line">        <tt class="py-name">addResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2916"></a><tt class="py-lineno">2916</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2917"></a><tt class="py-lineno">2917</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2918"></a><tt class="py-lineno">2918</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-941" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-941', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-942" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd" class="py-name" href="#" onclick="return doclink('link-942', 'setTestAdd', 'link-859');">setTestAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2919"></a><tt class="py-lineno">2919</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestAddAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2920"></a><tt class="py-lineno">2920</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2921"></a><tt class="py-lineno">2921</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2922"></a><tt class="py-lineno">2922</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2923"></a><tt class="py-lineno">2923</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2924"></a><tt class="py-lineno">2924</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2925"></a><tt class="py-lineno">2925</tt>  <tt class="py-line">            <tt class="py-name">addResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2926"></a><tt class="py-lineno">2926</tt>  <tt class="py-line"> </tt>
+<a name="L2927"></a><tt class="py-lineno">2927</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L2928"></a><tt class="py-lineno">2928</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L2929"></a><tt class="py-lineno">2929</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L2930"></a><tt class="py-lineno">2930</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2931"></a><tt class="py-lineno">2931</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2932"></a><tt class="py-lineno">2932</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2933"></a><tt class="py-lineno">2933</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L2934"></a><tt class="py-lineno">2934</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L2935"></a><tt class="py-lineno">2935</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2936"></a><tt class="py-lineno">2936</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L2937"></a><tt class="py-lineno">2937</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L2938"></a><tt class="py-lineno">2938</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L2939"></a><tt class="py-lineno">2939</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L2940"></a><tt class="py-lineno">2940</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2941"></a><tt class="py-lineno">2941</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2942"></a><tt class="py-lineno">2942</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L2943"></a><tt class="py-lineno">2943</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2944"></a><tt class="py-lineno">2944</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">addAllResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L2945"></a><tt class="py-lineno">2945</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-943" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-943', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-944" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-944', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set addAll"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2946"></a><tt class="py-lineno">2946</tt>  <tt class="py-line"> </tt>
+<a name="L2947"></a><tt class="py-lineno">2947</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L2948"></a><tt class="py-lineno">2948</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2949"></a><tt class="py-lineno">2949</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2950"></a><tt class="py-lineno">2950</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2951"></a><tt class="py-lineno">2951</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2952"></a><tt class="py-lineno">2952</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-945" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-945', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-946" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-946', 'setTestGet', 'link-843');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2953"></a><tt class="py-lineno">2953</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2954"></a><tt class="py-lineno">2954</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2955"></a><tt class="py-lineno">2955</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2956"></a><tt class="py-lineno">2956</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2957"></a><tt class="py-lineno">2957</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2958"></a><tt class="py-lineno">2958</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2959"></a><tt class="py-lineno">2959</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2960"></a><tt class="py-lineno">2960</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2961"></a><tt class="py-lineno">2961</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2962"></a><tt class="py-lineno">2962</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2963"></a><tt class="py-lineno">2963</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2964"></a><tt class="py-lineno">2964</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2965"></a><tt class="py-lineno">2965</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L2966"></a><tt class="py-lineno">2966</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L2967"></a><tt class="py-lineno">2967</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-947" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-947', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-948" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-948', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2968"></a><tt class="py-lineno">2968</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2969"></a><tt class="py-lineno">2969</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2970"></a><tt class="py-lineno">2970</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2971"></a><tt class="py-lineno">2971</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-949" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-949', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2972"></a><tt class="py-lineno">2972</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-950" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-950', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2973"></a><tt class="py-lineno">2973</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2974"></a><tt class="py-lineno">2974</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L2975"></a><tt class="py-lineno">2975</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L2976"></a><tt class="py-lineno">2976</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-951" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-951', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-952" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-952', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2977"></a><tt class="py-lineno">2977</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2978"></a><tt class="py-lineno">2978</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2979"></a><tt class="py-lineno">2979</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2980"></a><tt class="py-lineno">2980</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2981"></a><tt class="py-lineno">2981</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L2982"></a><tt class="py-lineno">2982</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2983"></a><tt class="py-lineno">2983</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2984"></a><tt class="py-lineno">2984</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2985"></a><tt class="py-lineno">2985</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2986"></a><tt class="py-lineno">2986</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-953" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-953', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-954" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-954', 'setTestSize', 'link-853');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L2987"></a><tt class="py-lineno">2987</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2988"></a><tt class="py-lineno">2988</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2989"></a><tt class="py-lineno">2989</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2990"></a><tt class="py-lineno">2990</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2991"></a><tt class="py-lineno">2991</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L2992"></a><tt class="py-lineno">2992</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2993"></a><tt class="py-lineno">2993</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L2994"></a><tt class="py-lineno">2994</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L2995"></a><tt class="py-lineno">2995</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2996"></a><tt class="py-lineno">2996</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L2997"></a><tt class="py-lineno">2997</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L2998"></a><tt class="py-lineno">2998</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-955" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-955', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-956" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-956', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L2999"></a><tt class="py-lineno">2999</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3000"></a><tt class="py-lineno">3000</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3001"></a><tt class="py-lineno">3001</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3002"></a><tt class="py-lineno">3002</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">addAllResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3003"></a><tt class="py-lineno">3003</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3004"></a><tt class="py-lineno">3004</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">addAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3005"></a><tt class="py-lineno">3005</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3006"></a><tt class="py-lineno">3006</tt>  <tt class="py-line">                                 <tt id="link-957" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-957', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3007"></a><tt class="py-lineno">3007</tt>  <tt class="py-line"> </tt>
+<a name="L3008"></a><tt class="py-lineno">3008</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-958" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-958', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set clear()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3009"></a><tt class="py-lineno">3009</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">clear</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3010"></a><tt class="py-lineno">3010</tt>  <tt class="py-line">        <tt class="py-name">clearResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3011"></a><tt class="py-lineno">3011</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3012"></a><tt class="py-lineno">3012</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3013"></a><tt class="py-lineno">3013</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-959" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-959', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-960" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove" class="py-name" href="#" onclick="return doclink('link-960', 'setTestRemove', 'link-904');">setTestRemove</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3014"></a><tt class="py-lineno">3014</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestClear-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3015"></a><tt class="py-lineno">3015</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-string">" "</tt><tt class="py-op">]</tt><tt class="py-op">,</tt>  <tt class="py-comment"># Values doesn't matter</tt> </tt>
+<a name="L3016"></a><tt class="py-lineno">3016</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"clear"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3017"></a><tt class="py-lineno">3017</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3018"></a><tt class="py-lineno">3018</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3019"></a><tt class="py-lineno">3019</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3020"></a><tt class="py-lineno">3020</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3021"></a><tt class="py-lineno">3021</tt>  <tt class="py-line">            <tt class="py-name">clearResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3022"></a><tt class="py-lineno">3022</tt>  <tt class="py-line"> </tt>
+<a name="L3023"></a><tt class="py-lineno">3023</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3024"></a><tt class="py-lineno">3024</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3025"></a><tt class="py-lineno">3025</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3026"></a><tt class="py-lineno">3026</tt>  <tt class="py-line">        <tt class="py-name">clearResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3027"></a><tt class="py-lineno">3027</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3028"></a><tt class="py-lineno">3028</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">clearResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3029"></a><tt class="py-lineno">3029</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3030"></a><tt class="py-lineno">3030</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3031"></a><tt class="py-lineno">3031</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">clearResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3032"></a><tt class="py-lineno">3032</tt>  <tt class="py-line">                <tt class="py-comment"># Nothing set, probably fine</tt> </tt>
+<a name="L3033"></a><tt class="py-lineno">3033</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3034"></a><tt class="py-lineno">3034</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">clearResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3035"></a><tt class="py-lineno">3035</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3036"></a><tt class="py-lineno">3036</tt>  <tt class="py-line">                <tt class="py-name">clearResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3037"></a><tt class="py-lineno">3037</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3038"></a><tt class="py-lineno">3038</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3039"></a><tt class="py-lineno">3039</tt>  <tt class="py-line">                <tt class="py-name">clearResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3040"></a><tt class="py-lineno">3040</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">clearResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3041"></a><tt class="py-lineno">3041</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-961" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-961', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-962" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-962', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set clear"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3042"></a><tt class="py-lineno">3042</tt>  <tt class="py-line"> </tt>
+<a name="L3043"></a><tt class="py-lineno">3043</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3044"></a><tt class="py-lineno">3044</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3045"></a><tt class="py-lineno">3045</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3046"></a><tt class="py-lineno">3046</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3047"></a><tt class="py-lineno">3047</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3048"></a><tt class="py-lineno">3048</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-963" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-963', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-964" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-964', 'setTestGet', 'link-843');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3049"></a><tt class="py-lineno">3049</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3050"></a><tt class="py-lineno">3050</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3051"></a><tt class="py-lineno">3051</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3052"></a><tt class="py-lineno">3052</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3053"></a><tt class="py-lineno">3053</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3054"></a><tt class="py-lineno">3054</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3055"></a><tt class="py-lineno">3055</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3056"></a><tt class="py-lineno">3056</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3057"></a><tt class="py-lineno">3057</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3058"></a><tt class="py-lineno">3058</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3059"></a><tt class="py-lineno">3059</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3060"></a><tt class="py-lineno">3060</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3061"></a><tt class="py-lineno">3061</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3062"></a><tt class="py-lineno">3062</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3063"></a><tt class="py-lineno">3063</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-965" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-965', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-966" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-966', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3064"></a><tt class="py-lineno">3064</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3065"></a><tt class="py-lineno">3065</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3066"></a><tt class="py-lineno">3066</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3067"></a><tt class="py-lineno">3067</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-967" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-967', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3068"></a><tt class="py-lineno">3068</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-968" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-968', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3069"></a><tt class="py-lineno">3069</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3070"></a><tt class="py-lineno">3070</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3071"></a><tt class="py-lineno">3071</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3072"></a><tt class="py-lineno">3072</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-969" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-969', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-970" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-970', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3073"></a><tt class="py-lineno">3073</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3074"></a><tt class="py-lineno">3074</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3075"></a><tt class="py-lineno">3075</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3076"></a><tt class="py-lineno">3076</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3077"></a><tt class="py-lineno">3077</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3078"></a><tt class="py-lineno">3078</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3079"></a><tt class="py-lineno">3079</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3080"></a><tt class="py-lineno">3080</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3081"></a><tt class="py-lineno">3081</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3082"></a><tt class="py-lineno">3082</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-971" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-971', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-972" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-972', 'setTestSize', 'link-853');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3083"></a><tt class="py-lineno">3083</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3084"></a><tt class="py-lineno">3084</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3085"></a><tt class="py-lineno">3085</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3086"></a><tt class="py-lineno">3086</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3087"></a><tt class="py-lineno">3087</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3088"></a><tt class="py-lineno">3088</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3089"></a><tt class="py-lineno">3089</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3090"></a><tt class="py-lineno">3090</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3091"></a><tt class="py-lineno">3091</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3092"></a><tt class="py-lineno">3092</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3093"></a><tt class="py-lineno">3093</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3094"></a><tt class="py-lineno">3094</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-973" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-973', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-974" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-974', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3095"></a><tt class="py-lineno">3095</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3096"></a><tt class="py-lineno">3096</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3097"></a><tt class="py-lineno">3097</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3098"></a><tt class="py-lineno">3098</tt>  <tt class="py-line">        <tt class="py-name">clearResults</tt> <tt class="py-op">=</tt> <tt class="py-name">clearResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3099"></a><tt class="py-lineno">3099</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3100"></a><tt class="py-lineno">3100</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">clearResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3101"></a><tt class="py-lineno">3101</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set clear correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3102"></a><tt class="py-lineno">3102</tt>  <tt class="py-line">                                 <tt id="link-975" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-975', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set clear was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3103"></a><tt class="py-lineno">3103</tt>  <tt class="py-line"> </tt>
+<a name="L3104"></a><tt class="py-lineno">3104</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-976" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-976', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set addAll()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3105"></a><tt class="py-lineno">3105</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt id="link-977" class="py-name"><a title="TestON.core.dicttoobject.DictToObject.update
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update" class="py-name" href="#" onclick="return doclink('link-977', 'update', 'link-876');">update</a></tt><tt class="py-op">(</tt> <tt class="py-name">addAllValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3106"></a><tt class="py-lineno">3106</tt>  <tt class="py-line">        <tt class="py-name">addResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3107"></a><tt class="py-lineno">3107</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3108"></a><tt class="py-lineno">3108</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3109"></a><tt class="py-lineno">3109</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-978" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-978', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-979" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd" class="py-name" href="#" onclick="return doclink('link-979', 'setTestAdd', 'link-859');">setTestAdd</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3110"></a><tt class="py-lineno">3110</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestAddAll-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3111"></a><tt class="py-lineno">3111</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">addAllValue</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3112"></a><tt class="py-lineno">3112</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3113"></a><tt class="py-lineno">3113</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3114"></a><tt class="py-lineno">3114</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3115"></a><tt class="py-lineno">3115</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3116"></a><tt class="py-lineno">3116</tt>  <tt class="py-line">            <tt class="py-name">addResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3117"></a><tt class="py-lineno">3117</tt>  <tt class="py-line"> </tt>
+<a name="L3118"></a><tt class="py-lineno">3118</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3119"></a><tt class="py-lineno">3119</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3120"></a><tt class="py-lineno">3120</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3121"></a><tt class="py-lineno">3121</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3122"></a><tt class="py-lineno">3122</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3123"></a><tt class="py-lineno">3123</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3124"></a><tt class="py-lineno">3124</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3125"></a><tt class="py-lineno">3125</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3126"></a><tt class="py-lineno">3126</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3127"></a><tt class="py-lineno">3127</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L3128"></a><tt class="py-lineno">3128</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3129"></a><tt class="py-lineno">3129</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">addResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3130"></a><tt class="py-lineno">3130</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3131"></a><tt class="py-lineno">3131</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3132"></a><tt class="py-lineno">3132</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3133"></a><tt class="py-lineno">3133</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3134"></a><tt class="py-lineno">3134</tt>  <tt class="py-line">                <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3135"></a><tt class="py-lineno">3135</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">addAllResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3136"></a><tt class="py-lineno">3136</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-980" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-980', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-981" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-981', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set addAll"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3137"></a><tt class="py-lineno">3137</tt>  <tt class="py-line"> </tt>
+<a name="L3138"></a><tt class="py-lineno">3138</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3139"></a><tt class="py-lineno">3139</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3140"></a><tt class="py-lineno">3140</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3141"></a><tt class="py-lineno">3141</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3142"></a><tt class="py-lineno">3142</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3143"></a><tt class="py-lineno">3143</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-982" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-982', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-983" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-983', 'setTestGet', 'link-843');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3144"></a><tt class="py-lineno">3144</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3145"></a><tt class="py-lineno">3145</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3146"></a><tt class="py-lineno">3146</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3147"></a><tt class="py-lineno">3147</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3148"></a><tt class="py-lineno">3148</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3149"></a><tt class="py-lineno">3149</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3150"></a><tt class="py-lineno">3150</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3151"></a><tt class="py-lineno">3151</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3152"></a><tt class="py-lineno">3152</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3153"></a><tt class="py-lineno">3153</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3154"></a><tt class="py-lineno">3154</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3155"></a><tt class="py-lineno">3155</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3156"></a><tt class="py-lineno">3156</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3157"></a><tt class="py-lineno">3157</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3158"></a><tt class="py-lineno">3158</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-984" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-984', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-985" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-985', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3159"></a><tt class="py-lineno">3159</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3160"></a><tt class="py-lineno">3160</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3161"></a><tt class="py-lineno">3161</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3162"></a><tt class="py-lineno">3162</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-986" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-986', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3163"></a><tt class="py-lineno">3163</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-987" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-987', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3164"></a><tt class="py-lineno">3164</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3165"></a><tt class="py-lineno">3165</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3166"></a><tt class="py-lineno">3166</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3167"></a><tt class="py-lineno">3167</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-988" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-988', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-989" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-989', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3168"></a><tt class="py-lineno">3168</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3169"></a><tt class="py-lineno">3169</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3170"></a><tt class="py-lineno">3170</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3171"></a><tt class="py-lineno">3171</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3172"></a><tt class="py-lineno">3172</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3173"></a><tt class="py-lineno">3173</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3174"></a><tt class="py-lineno">3174</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3175"></a><tt class="py-lineno">3175</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3176"></a><tt class="py-lineno">3176</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3177"></a><tt class="py-lineno">3177</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-990" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-990', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-991" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-991', 'setTestSize', 'link-853');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3178"></a><tt class="py-lineno">3178</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3179"></a><tt class="py-lineno">3179</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3180"></a><tt class="py-lineno">3180</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3181"></a><tt class="py-lineno">3181</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3182"></a><tt class="py-lineno">3182</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3183"></a><tt class="py-lineno">3183</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3184"></a><tt class="py-lineno">3184</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3185"></a><tt class="py-lineno">3185</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3186"></a><tt class="py-lineno">3186</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3187"></a><tt class="py-lineno">3187</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3188"></a><tt class="py-lineno">3188</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3189"></a><tt class="py-lineno">3189</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-992" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-992', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-993" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-993', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3190"></a><tt class="py-lineno">3190</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3191"></a><tt class="py-lineno">3191</tt>  <tt class="py-line">                                <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3192"></a><tt class="py-lineno">3192</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3193"></a><tt class="py-lineno">3193</tt>  <tt class="py-line">        <tt class="py-name">addAllResults</tt> <tt class="py-op">=</tt> <tt class="py-name">addAllResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3194"></a><tt class="py-lineno">3194</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3195"></a><tt class="py-lineno">3195</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">addAllResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3196"></a><tt class="py-lineno">3196</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3197"></a><tt class="py-lineno">3197</tt>  <tt class="py-line">                                 <tt id="link-994" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-994', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set addAll was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3198"></a><tt class="py-lineno">3198</tt>  <tt class="py-line"> </tt>
+<a name="L3199"></a><tt class="py-lineno">3199</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-995" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-995', 'step', 'link-12');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Distributed Set retain()"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3200"></a><tt class="py-lineno">3200</tt>  <tt class="py-line">        <tt class="py-name">onosSet</tt><tt class="py-op">.</tt><tt class="py-name">intersection_update</tt><tt class="py-op">(</tt> <tt class="py-name">retainValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3201"></a><tt class="py-lineno">3201</tt>  <tt class="py-line">        <tt class="py-name">retainResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3202"></a><tt class="py-lineno">3202</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3203"></a><tt class="py-lineno">3203</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3204"></a><tt class="py-lineno">3204</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-996" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-996', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-997" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove" class="py-name" href="#" onclick="return doclink('link-997', 'setTestRemove', 'link-904');">setTestRemove</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3205"></a><tt class="py-lineno">3205</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestRetain-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3206"></a><tt class="py-lineno">3206</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt><tt class="py-op">,</tt> <tt class="py-name">retainValue</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3207"></a><tt class="py-lineno">3207</tt>  <tt class="py-line">                             <tt class="py-name">kwargs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> <tt class="py-string">"retain"</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt> <tt class="py-op">}</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3208"></a><tt class="py-lineno">3208</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3209"></a><tt class="py-lineno">3209</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3210"></a><tt class="py-lineno">3210</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3211"></a><tt class="py-lineno">3211</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3212"></a><tt class="py-lineno">3212</tt>  <tt class="py-line">            <tt class="py-name">retainResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3213"></a><tt class="py-lineno">3213</tt>  <tt class="py-line"> </tt>
+<a name="L3214"></a><tt class="py-lineno">3214</tt>  <tt class="py-line">        <tt class="py-comment"># main.TRUE = successfully changed the set</tt> </tt>
+<a name="L3215"></a><tt class="py-lineno">3215</tt>  <tt class="py-line">        <tt class="py-comment"># main.FALSE = action resulted in no change in set</tt> </tt>
+<a name="L3216"></a><tt class="py-lineno">3216</tt>  <tt class="py-line">        <tt class="py-comment"># main.ERROR - Some error in executing the function</tt> </tt>
+<a name="L3217"></a><tt class="py-lineno">3217</tt>  <tt class="py-line">        <tt class="py-name">retainResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3218"></a><tt class="py-lineno">3218</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3219"></a><tt class="py-lineno">3219</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">retainResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3220"></a><tt class="py-lineno">3220</tt>  <tt class="py-line">                <tt class="py-comment"># All is well</tt> </tt>
+<a name="L3221"></a><tt class="py-lineno">3221</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3222"></a><tt class="py-lineno">3222</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">retainResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3223"></a><tt class="py-lineno">3223</tt>  <tt class="py-line">                <tt class="py-comment"># Already in set, probably fine</tt> </tt>
+<a name="L3224"></a><tt class="py-lineno">3224</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L3225"></a><tt class="py-lineno">3225</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">retainResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3226"></a><tt class="py-lineno">3226</tt>  <tt class="py-line">                <tt class="py-comment"># Error in execution</tt> </tt>
+<a name="L3227"></a><tt class="py-lineno">3227</tt>  <tt class="py-line">                <tt class="py-name">retainResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3228"></a><tt class="py-lineno">3228</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3229"></a><tt class="py-lineno">3229</tt>  <tt class="py-line">                <tt class="py-comment"># unexpected result</tt> </tt>
+<a name="L3230"></a><tt class="py-lineno">3230</tt>  <tt class="py-line">                <tt class="py-name">retainResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3231"></a><tt class="py-lineno">3231</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">retainResults</tt> <tt class="py-op">!=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L3232"></a><tt class="py-lineno">3232</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-998" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-998', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-999" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-999', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Error executing set retain"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3233"></a><tt class="py-lineno">3233</tt>  <tt class="py-line"> </tt>
+<a name="L3234"></a><tt class="py-lineno">3234</tt>  <tt class="py-line">        <tt class="py-comment"># Check if set is still correct</tt> </tt>
+<a name="L3235"></a><tt class="py-lineno">3235</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3236"></a><tt class="py-lineno">3236</tt>  <tt class="py-line">        <tt class="py-name">getResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3237"></a><tt class="py-lineno">3237</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3238"></a><tt class="py-lineno">3238</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3239"></a><tt class="py-lineno">3239</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1000" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1000', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1001" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet" class="py-name" href="#" onclick="return doclink('link-1001', 'setTestGet', 'link-843');">setTestGet</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3240"></a><tt class="py-lineno">3240</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestGet-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3241"></a><tt class="py-lineno">3241</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3242"></a><tt class="py-lineno">3242</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3243"></a><tt class="py-lineno">3243</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3244"></a><tt class="py-lineno">3244</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3245"></a><tt class="py-lineno">3245</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3246"></a><tt class="py-lineno">3246</tt>  <tt class="py-line">            <tt class="py-name">getResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3247"></a><tt class="py-lineno">3247</tt>  <tt class="py-line">        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3248"></a><tt class="py-lineno">3248</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3249"></a><tt class="py-lineno">3249</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3250"></a><tt class="py-lineno">3250</tt>  <tt class="py-line">                <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3251"></a><tt class="py-lineno">3251</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3252"></a><tt class="py-lineno">3252</tt>  <tt class="py-line">                    <tt class="py-comment"># no repeats</tt> </tt>
+<a name="L3253"></a><tt class="py-lineno">3253</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">!=</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L3254"></a><tt class="py-lineno">3254</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1002" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1002', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1003" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1003', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3255"></a><tt class="py-lineno">3255</tt>  <tt class="py-line">                                        <tt class="py-string">" has incorrect view"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3256"></a><tt class="py-lineno">3256</tt>  <tt class="py-line">                                        <tt class="py-string">" of set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3257"></a><tt class="py-lineno">3257</tt>  <tt class="py-line">                                        <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3258"></a><tt class="py-lineno">3258</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1004" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1004', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Expected: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosSet</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3259"></a><tt class="py-lineno">3259</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1005" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1005', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-string">"Actual: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">current</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3260"></a><tt class="py-lineno">3260</tt>  <tt class="py-line">                        <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3261"></a><tt class="py-lineno">3261</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3262"></a><tt class="py-lineno">3262</tt>  <tt class="py-line">                    <tt class="py-comment"># error, set is not a set</tt> </tt>
+<a name="L3263"></a><tt class="py-lineno">3263</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1006" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1006', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1007" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1007', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3264"></a><tt class="py-lineno">3264</tt>  <tt class="py-line">                                    <tt class="py-string">" has repeat elements in"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3265"></a><tt class="py-lineno">3265</tt>  <tt class="py-line">                                    <tt class="py-string">" set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> <tt class="py-string">":\n"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3266"></a><tt class="py-lineno">3266</tt>  <tt class="py-line">                                    <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3267"></a><tt class="py-lineno">3267</tt>  <tt class="py-line">                    <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3268"></a><tt class="py-lineno">3268</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">getResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L3269"></a><tt class="py-lineno">3269</tt>  <tt class="py-line">                <tt class="py-name">getResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3270"></a><tt class="py-lineno">3270</tt>  <tt class="py-line">        <tt class="py-name">sizeResponses</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3271"></a><tt class="py-lineno">3271</tt>  <tt class="py-line">        <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L3272"></a><tt class="py-lineno">3272</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3273"></a><tt class="py-lineno">3273</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1008" class="py-name"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1008', 'Thread', 'link-753');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1009" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize" class="py-name" href="#" onclick="return doclink('link-1009', 'setTestSize', 'link-853');">setTestSize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3274"></a><tt class="py-lineno">3274</tt>  <tt class="py-line">                             <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"setTestSize-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3275"></a><tt class="py-lineno">3275</tt>  <tt class="py-line">                             <tt class="py-name">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3276"></a><tt class="py-lineno">3276</tt>  <tt class="py-line">            <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3277"></a><tt class="py-lineno">3277</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3278"></a><tt class="py-lineno">3278</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L3279"></a><tt class="py-lineno">3279</tt>  <tt class="py-line">            <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3280"></a><tt class="py-lineno">3280</tt>  <tt class="py-line">            <tt class="py-name">sizeResponses</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3281"></a><tt class="py-lineno">3281</tt>  <tt class="py-line">        <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L3282"></a><tt class="py-lineno">3282</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3283"></a><tt class="py-lineno">3283</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L3284"></a><tt class="py-lineno">3284</tt>  <tt class="py-line">                <tt class="py-name">sizeResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L3285"></a><tt class="py-lineno">3285</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1010" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-1010', 'log', 'link-1');">log</a></tt><tt class="py-op">.</tt><tt id="link-1011" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-1011', 'error', 'link-71');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3286"></a><tt class="py-lineno">3286</tt>  <tt class="py-line">                                <tt class="py-string">" expected a size of "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3287"></a><tt class="py-lineno">3287</tt>  <tt class="py-line">                                <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">size</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" for set "</tt> <tt class="py-op">+</tt> <tt class="py-name">onosSetName</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3288"></a><tt class="py-lineno">3288</tt>  <tt class="py-line">                                <tt class="py-string">" but got "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">sizeResponses</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3289"></a><tt class="py-lineno">3289</tt>  <tt class="py-line">        <tt class="py-name">retainResults</tt> <tt class="py-op">=</tt> <tt class="py-name">retainResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">getResults</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sizeResults</tt> </tt>
+<a name="L3290"></a><tt class="py-lineno">3290</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L3291"></a><tt class="py-lineno">3291</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">retainResults</tt><tt class="py-op">,</tt> </tt>
+<a name="L3292"></a><tt class="py-lineno">3292</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Set retain correct"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3293"></a><tt class="py-lineno">3293</tt>  <tt class="py-line">                                 <tt id="link-1012" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-1012', 'onfail', 'link-28');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Set retain was incorrect"</tt> <tt class="py-op">)</tt> </tt>
+</div></div><a name="L3294"></a><tt class="py-lineno">3294</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html
new file mode 100644
index 0000000..fc7eff9
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html
@@ -0,0 +1,518 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAsingleInstanceRestart-module.html">Package&nbsp;HAsingleInstanceRestart</a> ::
+        <a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html">Module&nbsp;HAsingleInstanceRestart</a> ::
+        Class&nbsp;HAsingleInstanceRestart
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class HAsingleInstanceRestart</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart">source&nbsp;code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE1" class="summary-sig-name">CASE1</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      CASE1 is to compile ONOS and push it to the test machines</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE1">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE2"></a><span class="summary-sig-name">CASE2</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Assign devices to controllers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE2">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE21"></a><span class="summary-sig-name">CASE21</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Assign mastership to controllers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE21">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE3"></a><span class="summary-sig-name">CASE3</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Assign intents</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE3">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE4"></a><span class="summary-sig-name">CASE4</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Ping across added host intents</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE4">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE5"></a><span class="summary-sig-name">CASE5</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Reading state of ONOS</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE5">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE6"></a><span class="summary-sig-name">CASE6</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      The Failure case.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE6">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE7"></a><span class="summary-sig-name">CASE7</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Check state after ONOS failure</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE7">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE8"></a><span class="summary-sig-name">CASE8</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Compare topo</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE8">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE9"></a><span class="summary-sig-name">CASE9</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Link s3-s28 down</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE9">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE10"></a><span class="summary-sig-name">CASE10</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Link s3-s28 up</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE10">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE11"></a><span class="summary-sig-name">CASE11</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Switch Down</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE11">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE12"></a><span class="summary-sig-name">CASE12</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Switch Up</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE12">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE13"></a><span class="summary-sig-name">CASE13</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Clean up</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE13">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE14"></a><span class="summary-sig-name">CASE14</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      start election app on all onos nodes</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE14">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE15"></a><span class="summary-sig-name">CASE15</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Check that Leadership Election is still functional</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE15">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE16"></a><span class="summary-sig-name">CASE16</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Install Distributed Primitives app</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE16">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE17"></a><span class="summary-sig-name">CASE17</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Check for basic functionality with distributed primitives</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE17">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="CASE1"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">CASE1</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">main</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-pysrc.html#HAsingleInstanceRestart.CASE1">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>CASE1 is to compile ONOS and push it to the test machines</p>
+  <p>Startup sequence: cell &lt;name&gt; onos-verify-cell NOTE: temporary -
+  onos-remove-raft-logs onos-uninstall start mininet git pull mvn clean 
+  install onos-package onos-install -f onos-wait-for-start start cli 
+  sessions start tcpdump</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies-module.html
similarity index 62%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies-module.html
index 186f4ef..0cd5718 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.HAsingleInstanceRestart.dependencies</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        <a href="TestON.tests.HAsingleInstanceRestart-module.html">Package&nbsp;HAsingleInstanceRestart</a> ::
+        Package&nbsp;dependencies
       </span>
     </td>
     <td>
@@ -49,14 +55,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Package dependencies</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== SUBMODULES ==================== -->
 <a name="section-Submodules"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -76,11 +82,38 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.PoxTest.PoxTest-module.html">TestON.tests.PoxTest.PoxTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html">TestON.tests.HAsingleInstanceRestart.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html">TestON.tests.HAsingleInstanceRestart.dependencies.obelisk</a></strong>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +134,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies-pysrc.html
similarity index 76%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies-pysrc.html
index ab359bb..eb02dfe 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.HAsingleInstanceRestart.dependencies</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        <a href="TestON.tests.HAsingleInstanceRestart-module.html">Package&nbsp;HAsingleInstanceRestart</a> ::
+        Package&nbsp;dependencies
       </span>
     </td>
     <td>
@@ -49,13 +55,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html">Package TestON.tests.HAsingleInstanceRestart.dependencies</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +91,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest.MininetTest-class.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html
similarity index 61%
copy from TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest.MininetTest-class.html
copy to TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html
index f271fbb..943457c 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest.MininetTest-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.MininetTest.MininetTest.MininetTest</title>
+  <title>TestON.tests.HAsingleInstanceRestart.dependencies.Counters</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,9 +44,9 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.MininetTest-module.html">Package&nbsp;MininetTest</a> ::
-        <a href="TestON.tests.MininetTest.MininetTest-module.html">Module&nbsp;MininetTest</a> ::
-        Class&nbsp;MininetTest
+        <a href="TestON.tests.HAsingleInstanceRestart-module.html">Package&nbsp;HAsingleInstanceRestart</a> ::
+        <a href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        Module&nbsp;Counters
       </span>
     </td>
     <td>
@@ -51,27 +56,25 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class MininetTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest">source&nbsp;code</a></span></p>
-<p>Testing of the some basic Mininet functions included here</p>
-
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module Counters</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
 <table class="summary" border="1" cellpadding="3"
        cellspacing="0" width="100%" bgcolor="white">
 <tr bgcolor="#70b0f0" class="table-header">
   <td colspan="2" class="table-header">
     <table border="0" cellpadding="0" cellspacing="0" width="100%">
       <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="left"><span class="table-header">Functions</span></td>
         <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
+         ><span class="options">[<a href="#section-Functions"
          class="privatelink" onclick="toggle_private();"
          >hide private</a>]</span></td>
       </tr>
@@ -86,7 +89,7 @@
         <tr>
           <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest.__init__">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-pysrc.html#__init__">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -100,12 +103,11 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">main</span>)</span><br />
-      Testing the configuration of the host by using checkIP functionof 
-      Mininet driver</td>
+          <td><span class="summary-sig"><a name="counterCheck"></a><span class="summary-sig-name">counterCheck</span>(<span class="summary-sig-arg">counterName</span>,
+        <span class="summary-sig-arg">counterValue</span>)</span><br />
+      Add Text here</td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest.CASE1">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-pysrc.html#counterCheck">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -113,23 +115,30 @@
       
     </td>
   </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
 <tr>
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="CASE2"></a><span class="summary-sig-name">CASE2</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">main</span>)</span><br />
-      Testing of the reachability of the hosts by using pingall of Mininet 
-      driver</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest.CASE2">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
     </td>
   </tr>
 </table>
@@ -153,13 +162,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies.Counters-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies.Counters-pysrc.html
new file mode 100644
index 0000000..fda0c9d
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies.Counters-pysrc.html
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAsingleInstanceRestart.dependencies.Counters</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAsingleInstanceRestart-module.html">Package&nbsp;HAsingleInstanceRestart</a> ::
+        <a href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        Module&nbsp;Counters
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html">Module TestON.tests.HAsingleInstanceRestart.dependencies.Counters</a></h1>
+<pre class="py-src">
+<a name="__init__"></a><div id="__init__-def"><a name="L1"></a><tt class="py-lineno"> 1</tt> <a class="py-toggle" href="#" id="__init__-toggle" onclick="return toggle('__init__');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="__init__-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="__init__-expanded"><a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"> </tt>
+<a name="counterCheck"></a><div id="counterCheck-def"><a name="L4"></a><tt class="py-lineno"> 4</tt> <a class="py-toggle" href="#" id="counterCheck-toggle" onclick="return toggle('counterCheck');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#counterCheck">counterCheck</a><tt class="py-op">(</tt> <tt class="py-param">counterName</tt><tt class="py-op">,</tt> <tt class="py-param">counterValue</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="counterCheck-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="counterCheck-expanded"><a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">    Add Text here</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">    <tt class="py-name">correctResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">    <tt class="py-comment"># Get onos counters results</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">    <tt class="py-name">onosCounters</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">    <tt class="py-name">threads</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">        <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module TestON.core.Thread=TestON.core.Thread-module.html,Class TestON.core.Thread.Thread=TestON.core.Thread.Thread-class.html"><a title="TestON.core.Thread
+TestON.core.Thread.Thread" class="py-name" href="#" onclick="return doclink('link-1', 'Thread', 'link-1');">Thread</a></tt><tt class="py-op">(</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counters"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters" class="py-name" href="#" onclick="return doclink('link-2', 'counters', 'link-2');">counters</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">                         <tt class="py-name">name</tt><tt class="py-op">=</tt><tt class="py-string">"counters-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">        <tt class="py-name">threads</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt> <tt class="py-op">)</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">        <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">threads</tt><tt class="py-op">:</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">        <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-name">onosCounters</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">result</tt> <tt class="py-op">)</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">    <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosCounters</tt> <tt class="py-op">]</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt> <tt class="py-name">tmp</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-name">consistent</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-name">consistent</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-3', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-4', 'error', 'link-4');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS nodes have different values for counters"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">:</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-5', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt> <tt class="py-name">node</tt> <tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">    <tt class="py-comment"># Check for correct values</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">            <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">TypeError</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-6', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-7', 'error', 'link-4');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Could not parse counters response from ONOS"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-8', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt> <tt class="py-name">onosCounters</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt class="py-name">onosValue</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">database</tt> <tt class="py-keyword">in</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">                <tt class="py-name">database</tt> <tt class="py-op">=</tt> <tt class="py-name">database</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">counter</tt> <tt class="py-keyword">in</tt> <tt class="py-name">database</tt><tt class="py-op">:</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">counter</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'name'</tt> <tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">counterName</tt><tt class="py-op">:</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">                        <tt class="py-name">onosValue</tt> <tt class="py-op">=</tt> <tt class="py-name">counter</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt> <tt class="py-string">'value'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-10', 'error', 'link-4');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" counters result "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">                            <tt class="py-string">"is not as expected"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">            <tt class="py-name">correctResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">onosValue</tt> <tt class="py-op">==</tt> <tt class="py-name">counterValue</tt><tt class="py-op">:</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-11', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">counterName</tt> <tt class="py-op">+</tt> <tt class="py-string">" counter value is correct"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-12', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-13', 'error', 'link-4');">error</a></tt><tt class="py-op">(</tt> <tt class="py-name">counterName</tt> <tt class="py-op">+</tt> <tt class="py-string">" counter value is incorrect,"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">                            <tt class="py-string">" expected value: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">counterValue</tt> <tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">                            <tt class="py-op">+</tt> <tt class="py-string">" current value: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">onosValue</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">            <tt class="py-name">correctResults</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">consistent</tt> <tt class="py-keyword">and</tt> <tt class="py-name">correctResults</tt> </tt>
+</div><a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html
new file mode 100644
index 0000000..b212623
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAsingleInstanceRestart.dependencies.obelisk</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAsingleInstanceRestart-module.html">Package&nbsp;HAsingleInstanceRestart</a> ::
+        <a href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        Module&nbsp;obelisk
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module obelisk</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html" class="summary-name">ObeliskTopo</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="run"></a><span class="summary-sig-name">run</span>()</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-pysrc.html#run">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="topos"></a><span class="summary-name">topos</span> = <code title="{'obelisk':(lambda: ObeliskTopo())}">{'obelisk':(lambda: ObeliskTopo())}</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.tests.HAsingleInstanceRestart.dependencies'"><code class="variable-quote">'</code><code class="variable-string">TestON.tests.HAsingleInstanceRestart.dependencies</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-pysrc.html
new file mode 100644
index 0000000..d08b6f7
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-pysrc.html
@@ -0,0 +1,273 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAsingleInstanceRestart.dependencies.obelisk</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAsingleInstanceRestart-module.html">Package&nbsp;HAsingleInstanceRestart</a> ::
+        <a href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        Module&nbsp;obelisk
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html">Module TestON.tests.HAsingleInstanceRestart.dependencies.obelisk</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">mininet</tt><tt class="py-op">.</tt><tt class="py-name">topo</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Topo</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"> </tt>
+<a name="ObeliskTopo"></a><div id="ObeliskTopo-def"><a name="L5"></a><tt class="py-lineno"> 5</tt> <a class="py-toggle" href="#" id="ObeliskTopo-toggle" onclick="return toggle('ObeliskTopo');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html">ObeliskTopo</a><tt class="py-op">(</tt> <tt class="py-base-class">Topo</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObeliskTopo-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="ObeliskTopo-expanded"><a name="ObeliskTopo.__init__"></a><div id="ObeliskTopo.__init__-def"><a name="L6"></a><tt class="py-lineno"> 6</tt> <a class="py-toggle" href="#" id="ObeliskTopo.__init__-toggle" onclick="return toggle('ObeliskTopo.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ObeliskTopo.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="ObeliskTopo.__init__-expanded"><a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line">        <tt class="py-name">Topo</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.__init__()=TestON.bin.cli.CLI-class.html#__init__,Method TestON.bin.cli.TestThread.__init__()=TestON.bin.cli.TestThread-class.html#__init__,Method TestON.bin.generatedriver.GenerateDriver.__init__()=TestON.bin.generatedriver.GenerateDriver-class.html#__init__,Method TestON.bin.nec.NEC.__init__()=TestON.bin.nec.NEC-class.html#__init__,Method TestON.bin.updatedriver.UpdateDriver.__init__()=TestON.bin.updatedriver.UpdateDriver-class.html#__init__,Method TestON.bin.vyatta.Vyatta.__init__()=TestON.bin.vyatta.Vyatta-class.html#__init__,Method TestON.core.Thread.Thread.__init__()=TestON.core.Thread.Thread-class.html#__init__,Method TestON.core.dicttoobject.DictToObject.__init__()=TestON.core.dicttoobject.DictToObject-class.html#__init__,Method TestON.core.iniparser.iniparser.__init__()=TestON.core.iniparser.iniparser-class.html#__init__,Method TestON.core.jsonparser.JsonParser.__init__()=TestON.core.jsonparser.JsonParser-class.html#__init__,Method TestON.core.openspeak.OpenSpeak.__init__()=TestON.core.openspeak.OpenSpeak-class.html#__init__,Method TestON.core.teston.TestON.__init__()=TestON.core.teston.TestON-class.html#__init__,Method TestON.core.testparser.TestParser.__init__()=TestON.core.testparser.TestParser-class.html#__init__,Method TestON.core.xmlparser.xmlparser.__init__()=TestON.core.xmlparser.xmlparser-class.html#__init__,Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__,Method TestON.drivers.common.api.controllerdriver.Controller.__init__()=TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__,Method TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__()=TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__,Method TestON.drivers.common.apidriver.API.__init__()=TestON.drivers.common.apidriver.API-class.html#__init__,Method TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__()=TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__()=TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__()=TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__()=TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__,Method TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__()=TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__,Method TestON.drivers.common.cli.emulatordriver.Emulator.__init__()=TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__,Method TestON.drivers.common.cli.onosdriver.OnosDriver.__init__()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__,Method TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__()=TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__()=TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__()=TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__()=TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__()=TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__,Method TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__()=TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__,Method TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__()=TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__,Method TestON.drivers.common.cli.toolsdriver.Tools.__init__()=TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__,Method TestON.drivers.common.clidriver.CLI.__init__()=TestON.drivers.common.clidriver.CLI-class.html#__init__,Method TestON.examples.Assert.Assert.Assert.__init__()=TestON.examples.Assert.Assert.Assert-class.html#__init__,Method TestON.examples.CaseParams.CaseParams.CaseParams.__init__()=TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__,Method TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__()=TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__,Method TestON.examples.StepParams.StepParams.StepParams.__init__()=TestON.examples.StepParams.StepParams.StepParams-class.html#__init__,Method TestON.examples.Topology.Topology.Topology.__init__()=TestON.examples.Topology.Topology.Topology-class.html#__init__,Method TestON.tests.CHOtest.CHOtest.CHOtest.__init__()=TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__,Method TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__()=TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__,Method TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__()=TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__,Function TestON.tests.HAclusterRestart.dependencies.Counters.__init__()=TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__()=TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__,Function TestON.tests.HAminorityRestart.dependencies.Counters.__init__()=TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsanity.HAsanity.HAsanity.__init__()=TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__,Function TestON.tests.HAsanity.dependencies.Counters.__init__()=TestON.tests.HAsanity.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__()=TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__,Function TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__,Method TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__,Method TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__()=TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__,Method TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__()=TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__,Method TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__()=TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__,Method TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__()=TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__,Method TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__()=TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__,Method TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__()=TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__,Method TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__()=TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__,Method TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__()=TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__,Method TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__()=TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__"><a title="TestON.bin.cli.CLI.__init__
+TestON.bin.cli.TestThread.__init__
+TestON.bin.generatedriver.GenerateDriver.__init__
+TestON.bin.nec.NEC.__init__
+TestON.bin.updatedriver.UpdateDriver.__init__
+TestON.bin.vyatta.Vyatta.__init__
+TestON.core.Thread.Thread.__init__
+TestON.core.dicttoobject.DictToObject.__init__
+TestON.core.iniparser.iniparser.__init__
+TestON.core.jsonparser.JsonParser.__init__
+TestON.core.openspeak.OpenSpeak.__init__
+TestON.core.teston.TestON.__init__
+TestON.core.testparser.TestParser.__init__
+TestON.core.xmlparser.xmlparser.__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__
+TestON.drivers.common.api.controllerdriver.Controller.__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__
+TestON.drivers.common.apidriver.API.__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__
+TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__
+TestON.drivers.common.cli.emulatordriver.Emulator.__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__
+TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__
+TestON.drivers.common.cli.toolsdriver.Tools.__init__
+TestON.drivers.common.clidriver.CLI.__init__
+TestON.examples.Assert.Assert.Assert.__init__
+TestON.examples.CaseParams.CaseParams.CaseParams.__init__
+TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest.__init__
+TestON.examples.StepParams.StepParams.StepParams.__init__
+TestON.examples.Topology.Topology.Topology.__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__
+TestON.tests.HAsanity.dependencies.Counters.__init__
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__" class="py-name" href="#" onclick="return doclink('link-0', '__init__', 'link-0');">__init__</a></tt><tt class="py-op">(</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line">        <tt class="py-name">topSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addSwitch"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-1', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s1'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'1000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">        <tt class="py-name">leftTopSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-2', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s2'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'2000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">        <tt class="py-name">rightTopSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-3', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s5'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'5000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">        <tt class="py-name">leftBotSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-4', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s3'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'3000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">        <tt class="py-name">rightBotSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-5', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s6'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'6000'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">        <tt class="py-name">midBotSwitch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-6', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s28'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt><tt class="py-op">=</tt><tt class="py-string">'2800'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">        <tt class="py-name">topHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addHost"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-7', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt> <tt class="py-string">'h1'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">        <tt class="py-name">leftTopHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-8', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h2'</tt><tt class="py-op">)</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">        <tt class="py-name">rightTopHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-9', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h5'</tt><tt class="py-op">)</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">        <tt class="py-name">leftBotHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-10', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h3'</tt><tt class="py-op">)</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">        <tt class="py-name">rightBotHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-11', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h6'</tt><tt class="py-op">)</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-name">midBotHost</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-12', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h28'</tt><tt class="py-op">)</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addLink"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-13', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">topSwitch</tt><tt class="py-op">,</tt><tt class="py-name">topHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-14', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">leftTopHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-15', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">rightTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightTopHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-16', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">leftBotHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-17', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">rightBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightBotHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-18', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">midBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">midBotHost</tt><tt class="py-op">)</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-19', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightTopSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-20', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">topSwitch</tt><tt class="py-op">,</tt><tt class="py-name">leftTopSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-21', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">topSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightTopSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-22', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">leftBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-23', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">rightTopSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-24', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">leftBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">midBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-25', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">midBotSwitch</tt><tt class="py-op">,</tt><tt class="py-name">rightBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">        <tt class="py-name">agg1Switch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-26', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s4'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'3004'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">        <tt class="py-name">agg2Switch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-27', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s7'</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-string">'6007'</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-name">agg1Host</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-28', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h4'</tt><tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt class="py-name">agg2Host</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-29', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h7'</tt><tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-30', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">agg1Switch</tt><tt class="py-op">,</tt><tt class="py-name">agg1Host</tt><tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-31', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">agg2Switch</tt><tt class="py-op">,</tt><tt class="py-name">agg2Host</tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-32', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">agg1Switch</tt><tt class="py-op">,</tt> <tt class="py-name">leftBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-33', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">agg2Switch</tt><tt class="py-op">,</tt> <tt class="py-name">rightBotSwitch</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">            <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">8</tt><tt class="py-op">)</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">            <tt class="py-name">switch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-34', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'30'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">            <tt class="py-name">host</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-35', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-36', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">host</tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-37', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">agg1Switch</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">            <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">18</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">            <tt class="py-name">switch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch" class="py-name" href="#" onclick="return doclink('link-38', 'addSwitch', 'link-1');">addSwitch</a></tt><tt class="py-op">(</tt><tt class="py-string">'s'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">,</tt><tt class="py-name">dpid</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'60'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">zfill</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">            <tt class="py-name">host</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost" class="py-name" href="#" onclick="return doclink('link-39', 'addHost', 'link-7');">addHost</a></tt><tt class="py-op">(</tt><tt class="py-string">'h'</tt><tt class="py-op">+</tt><tt class="py-name">num</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-40', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">host</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink" class="py-name" href="#" onclick="return doclink('link-41', 'addLink', 'link-13');">addLink</a></tt><tt class="py-op">(</tt><tt class="py-name">switch</tt><tt class="py-op">,</tt> <tt class="py-name">agg2Switch</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line"> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line"><tt id="link-42" class="py-name" targets="Variable TestON.tests.HAclusterRestart.dependencies.obelisk.topos=TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#topos,Variable TestON.tests.HAminorityRestart.dependencies.obelisk.topos=TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#topos,Variable TestON.tests.HAsanity.dependencies.obelisk.topos=TestON.tests.HAsanity.dependencies.obelisk-module.html#topos,Variable TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.topos=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#topos"><a title="TestON.tests.HAclusterRestart.dependencies.obelisk.topos
+TestON.tests.HAminorityRestart.dependencies.obelisk.topos
+TestON.tests.HAsanity.dependencies.obelisk.topos
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.topos" class="py-name" href="#" onclick="return doclink('link-42', 'topos', 'link-42');">topos</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">'obelisk'</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt class="py-keyword">lambda</tt><tt class="py-op">:</tt> <tt id="link-43" class="py-name" targets="Class TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo=TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html,Class TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo=TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html,Class TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo=TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html,Class TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html"><a title="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo" class="py-name" href="#" onclick="return doclink('link-43', 'ObeliskTopo', 'link-43');">ObeliskTopo</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">}</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line"> </tt>
+<a name="run"></a><div id="run-def"><a name="L60"></a><tt class="py-lineno">60</tt> <a class="py-toggle" href="#" id="run-toggle" onclick="return toggle('run');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#run">run</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="run-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="run-expanded"><a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">    <tt class="py-name">topo</tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name"><a title="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo" class="py-name" href="#" onclick="return doclink('link-44', 'ObeliskTopo', 'link-43');">ObeliskTopo</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">    <tt id="link-45" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#net"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-45', 'net', 'link-45');">net</a></tt> <tt class="py-op">=</tt> <tt class="py-name">Mininet</tt><tt class="py-op">(</tt> <tt class="py-name">topo</tt><tt class="py-op">=</tt><tt class="py-name">topo</tt><tt class="py-op">,</tt> <tt id="link-46" class="py-name" targets="Package TestON.drivers.common.api.controller=TestON.drivers.common.api.controller-module.html"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-46', 'controller', 'link-46');">controller</a></tt><tt class="py-op">=</tt><tt class="py-name">RemoteController</tt><tt class="py-op">,</tt> <tt class="py-name">autoSetMacs</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">    <tt id="link-47" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-47', 'net', 'link-45');">net</a></tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">    <tt id="link-48" class="py-name" targets="Class TestON.bin.cli.CLI=TestON.bin.cli.CLI-class.html,Class TestON.drivers.common.clidriver.CLI=TestON.drivers.common.clidriver.CLI-class.html"><a title="TestON.bin.cli.CLI
+TestON.drivers.common.clidriver.CLI" class="py-name" href="#" onclick="return doclink('link-48', 'CLI', 'link-48');">CLI</a></tt><tt class="py-op">(</tt> <tt id="link-49" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-49', 'net', 'link-45');">net</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">    <tt id="link-50" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net" class="py-name" href="#" onclick="return doclink('link-50', 'net', 'link-45');">net</a></tt><tt class="py-op">.</tt><tt id="link-51" class="py-name" targets="Method TestON.bin.cli.TestThread.stop()=TestON.bin.cli.TestThread-class.html#stop"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-51', 'stop', 'link-51');">stop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line"> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line">    <tt class="py-name">setLogLevel</tt><tt class="py-op">(</tt> <tt class="py-string">'info'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line">    <tt id="link-52" class="py-name" targets="Method TestON.bin.cli.TestThread.run()=TestON.bin.cli.TestThread-class.html#run,Method TestON.core.Thread.Thread.run()=TestON.core.Thread.Thread-class.html#run,Method TestON.core.teston.TestON.run()=TestON.core.teston.TestON-class.html#run,Function TestON.tests.HAclusterRestart.dependencies.obelisk.run()=TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#run,Function TestON.tests.HAminorityRestart.dependencies.obelisk.run()=TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#run,Function TestON.tests.HAsanity.dependencies.obelisk.run()=TestON.tests.HAsanity.dependencies.obelisk-module.html#run,Function TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#run"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-52', 'run', 'link-52');">run</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:38 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html
new file mode 100644
index 0000000..9df2c5a
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html
@@ -0,0 +1,298 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.HAsingleInstanceRestart-module.html">Package&nbsp;HAsingleInstanceRestart</a> ::
+        <a href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html">Package&nbsp;dependencies</a> ::
+        <a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html">Module&nbsp;obelisk</a> ::
+        Class&nbsp;ObeliskTopo
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class ObeliskTopo</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-pysrc.html#ObeliskTopo">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="class_hierarchy_for_obelisktop_4" name="class_hierarchy_for_obelisktop_4">
+<area shape="rect" id="node1" href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html" title="ObeliskTopo" alt="" coords="21,62,115,87"/>
+<area shape="rect" id="node2" href="javascript:void(0);" title="mininet.topo.Topo" alt="" coords="5,6,131,31"/>
+</map>
+  <img src="class_hierarchy_for_obelisktop_4.gif" alt='' usemap="#class_hierarchy_for_obelisktop_4" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Topo object.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-pysrc.html#ObeliskTopo.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>mininet.topo.Topo</code></b>:
+      <code>addHost</code>,
+      <code>addLink</code>,
+      <code>addNode</code>,
+      <code>addPort</code>,
+      <code>addSwitch</code>,
+      <code>build</code>,
+      <code>convertTo</code>,
+      <code>hosts</code>,
+      <code>isSwitch</code>,
+      <code>iterLinks</code>,
+      <code>linkInfo</code>,
+      <code>links</code>,
+      <code>nodeInfo</code>,
+      <code>nodes</code>,
+      <code>port</code>,
+      <code>setNodeInfo</code>,
+      <code>setlinkInfo</code>,
+      <code>switches</code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>mininet.topo.Topo</code></b> (private):
+      <code>_linkEntry</code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>mininet.topo.Topo</code></b>:
+      <code>sorted</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-pysrc.html#ObeliskTopo.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Topo object. Optional named parameters: hinfo: default host options 
+  sopts: default switch options lopts: default link options calls 
+  build()</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HPSwitchTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HPSwitchTest-pysrc.html
deleted file mode 100644
index a2c31e6..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.HPSwitchTest-pysrc.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.HPSwitchTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;HPSwitchTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.HPSwitchTest-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.HPSwitchTest-module.html">Package TestON.tests.HPSwitchTest</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
-<a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HPSwitchTest.HPSwitchTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.HPSwitchTest.HPSwitchTest-module.html
deleted file mode 100644
index 6b6d809..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.HPSwitchTest.HPSwitchTest-module.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.HPSwitchTest.HPSwitchTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.HPSwitchTest-module.html">Package&nbsp;HPSwitchTest</a> ::
-        Module&nbsp;HPSwitchTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.HPSwitchTest.HPSwitchTest-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module HPSwitchTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HPSwitchTest.HPSwitchTest-pysrc.html">source&nbsp;code</a></span></p>
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html" class="summary-name">HPSwitchTest</a>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HPSwitchTest.HPSwitchTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.HPSwitchTest.HPSwitchTest-pysrc.html
deleted file mode 100644
index 20f4c2d..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.HPSwitchTest.HPSwitchTest-pysrc.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.HPSwitchTest.HPSwitchTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.HPSwitchTest-module.html">Package&nbsp;HPSwitchTest</a> ::
-        Module&nbsp;HPSwitchTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.HPSwitchTest.HPSwitchTest-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.HPSwitchTest.HPSwitchTest-module.html">Module TestON.tests.HPSwitchTest.HPSwitchTest</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"> </tt>
-<a name="HPSwitchTest"></a><div id="HPSwitchTest-def"><a name="L2"></a><tt class="py-lineno"> 2</tt> <a class="py-toggle" href="#" id="HPSwitchTest-toggle" onclick="return toggle('HPSwitchTest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html">HPSwitchTest</a> <tt class="py-op">:</tt> </tt>
-</div><div id="HPSwitchTest-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="HPSwitchTest-expanded"><a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"> </tt>
-<a name="HPSwitchTest.__init__"></a><div id="HPSwitchTest.__init__-def"><a name="L4"></a><tt class="py-lineno"> 4</tt> <a class="py-toggle" href="#" id="HPSwitchTest.__init__-toggle" onclick="return toggle('HPSwitchTest.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="HPSwitchTest.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="HPSwitchTest.__init__-expanded"><a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-</div><a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"> </tt>
-<a name="HPSwitchTest.CASE1"></a><div id="HPSwitchTest.CASE1-def"><a name="L7"></a><tt class="py-lineno"> 7</tt> <a class="py-toggle" href="#" id="HPSwitchTest.CASE1-toggle" onclick="return toggle('HPSwitchTest.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#CASE1">CASE1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="HPSwitchTest.CASE1-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="HPSwitchTest.CASE1-expanded"><a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"HPSwitchTest Sample Test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"HPSwitchTest Sample Test"</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.MininetTest-pysrc.html
deleted file mode 100644
index 0595da8..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest-pysrc.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.MininetTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;MininetTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.MininetTest-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.MininetTest-module.html">Package TestON.tests.MininetTest</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
-<a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest-module.html
deleted file mode 100644
index ad625c1..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest-module.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.MininetTest.MininetTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.MininetTest-module.html">Package&nbsp;MininetTest</a> ::
-        Module&nbsp;MininetTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.MininetTest.MininetTest-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module MininetTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html">source&nbsp;code</a></span></p>
-<p>Created on 29-Oct-2012</p>
-
-<hr />
-<div class="fields">      <p><strong>Author:</strong>
-        Anil Kumar (anilkumar.s@paxterrasolutions.com)
-      </p>
-</div><!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html" class="summary-name">MininetTest</a><br />
-      Testing of the some basic Mininet functions included here
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest-pysrc.html
deleted file mode 100644
index 0c9ffc7..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest-pysrc.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.MininetTest.MininetTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.MininetTest-module.html">Package&nbsp;MininetTest</a> ::
-        Module&nbsp;MininetTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.MininetTest.MininetTest-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.MininetTest.MininetTest-module.html">Module TestON.tests.MininetTest.MininetTest</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Created on 29-Oct-2012</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt>  </tt>
-<a name="MininetTest"></a><div id="MininetTest-def"><a name="L7"></a><tt class="py-lineno"> 7</tt> <a class="py-toggle" href="#" id="MininetTest-toggle" onclick="return toggle('MininetTest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html">MininetTest</a><tt class="py-op">:</tt> </tt>
-</div><div id="MininetTest-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="MininetTest-expanded"><a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line">    <tt class="py-docstring">'''</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    Testing of the some basic Mininet functions included here</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">     </tt>
-<a name="MininetTest.__init__"></a><div id="MininetTest.__init__-def"><a name="L12"></a><tt class="py-lineno">12</tt> <a class="py-toggle" href="#" id="MininetTest.__init__-toggle" onclick="return toggle('MininetTest.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetTest.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MininetTest.__init__-expanded"><a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-</div><a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">                 </tt>
-<a name="MininetTest.CASE1"></a><div id="MininetTest.CASE1-def"><a name="L15"></a><tt class="py-lineno">15</tt> <a class="py-toggle" href="#" id="MininetTest.CASE1-toggle" onclick="return toggle('MininetTest.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html#CASE1">CASE1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetTest.CASE1-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MininetTest.CASE1-expanded"><a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">        Testing the configuration of the host by using checkIP functionof Mininet driver</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Testing the configuration of the host"</tt><tt class="py-op">)</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Host IP Checking using checkIP"</tt><tt class="py-op">)</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkIP"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP" class="py-name" href="#" onclick="return doclink('link-3', 'checkIP', 'link-3');">checkIP</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'destination'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-4', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Verifying the result"</tt><tt class="py-op">)</tt> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address configured"</tt><tt class="py-op">,</tt><tt id="link-5" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-5', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Host h2 IP address didn't configured"</tt><tt class="py-op">)</tt>  </tt>
-</div><a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">  </tt>
-<a name="MininetTest.CASE2"></a><div id="MininetTest.CASE2-def"><a name="L25"></a><tt class="py-lineno">25</tt> <a class="py-toggle" href="#" id="MininetTest.CASE2-toggle" onclick="return toggle('MininetTest.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html#CASE2">CASE2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="MininetTest.CASE2-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MininetTest.CASE2-expanded"><a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-docstring">        Testing of the reachability of the hosts by using pingall of Mininet driver</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-6', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Testing Reachabilty of all the hosts"</tt><tt class="py-op">)</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-7', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Checking Hosts reachability by using pingall"</tt><tt class="py-op">)</tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingall"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall" class="py-name" href="#" onclick="return doclink('link-8', 'pingall', 'link-8');">pingall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-9', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Verifying the result"</tt><tt class="py-op">)</tt> </tt>
-<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"All hosts are reacchable"</tt><tt class="py-op">,</tt><tt id="link-10" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-10', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Hosts are not reachable"</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-pysrc.html
deleted file mode 100644
index 58f1ce4..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-pysrc.html
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.PoxTest.PoxTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.PoxTest-module.html">Package&nbsp;PoxTest</a> ::
-        Module&nbsp;PoxTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest.PoxTest-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest.PoxTest-module.html">Module TestON.tests.PoxTest.PoxTest</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"> </tt>
-<a name="PoxTest"></a><div id="PoxTest-def"><a name="L2"></a><tt class="py-lineno"> 2</tt> <a class="py-toggle" href="#" id="PoxTest-toggle" onclick="return toggle('PoxTest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html">PoxTest</a> <tt class="py-op">:</tt> </tt>
-</div><div id="PoxTest-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="PoxTest-expanded"><a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"> </tt>
-<a name="PoxTest.__init__"></a><div id="PoxTest.__init__-def"><a name="L4"></a><tt class="py-lineno"> 4</tt> <a class="py-toggle" href="#" id="PoxTest.__init__-toggle" onclick="return toggle('PoxTest.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="PoxTest.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="PoxTest.__init__-expanded"><a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-</div><a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"> </tt>
-<a name="PoxTest.CASE1"></a><div id="PoxTest.CASE1-def"><a name="L7"></a><tt class="py-lineno"> 7</tt> <a class="py-toggle" href="#" id="PoxTest.CASE1-toggle" onclick="return toggle('PoxTest.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html#CASE1">CASE1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="PoxTest.CASE1-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="PoxTest.CASE1-expanded"><a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Checking the control flow of POX"</tt><tt class="py-op">)</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Checking the host reachability using pingHost"</tt><tt class="py-op">)</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingHost"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost" class="py-name" href="#" onclick="return doclink('link-3', 'pingHost', 'link-3');">pingHost</a></tt><tt class="py-op">(</tt><tt class="py-name">src</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'src'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">target</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'target'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-4" class="py-name" targets="Package TestON.drivers.common.api.controller=TestON.drivers.common.api.controller-module.html"><a title="TestON.drivers.common.api.controller" class="py-name" href="#" onclick="return doclink('link-4', 'controller', 'link-4');">controller</a></tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'controller'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">last_result</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Ping executed successfully"</tt><tt class="py-op">,</tt><tt id="link-5" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-5', 'onfail', 'link-5');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Ping failed"</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest.PoxTest-class.html b/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest.PoxTest-class.html
deleted file mode 100644
index 2b00653..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest.PoxTest-class.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.PoxTest.PoxTest.PoxTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.PoxTest-module.html">Package&nbsp;PoxTest</a> ::
-        <a href="TestON.tests.PoxTest.PoxTest-module.html">Module&nbsp;PoxTest</a> ::
-        Class&nbsp;PoxTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest.PoxTest-pysrc.html#PoxTest">source&nbsp;code</a></span></p>
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.PoxTest.PoxTest-pysrc.html#PoxTest.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">main</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.PoxTest.PoxTest-pysrc.html#PoxTest.CASE1">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.TicketBooking-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SAMPscaleTopo-module.html
similarity index 67%
rename from TestON/Documentation/TestON_Document/TestON.tests.TicketBooking-module.html
rename to TestON/Documentation/TestON_Document/TestON.tests.SAMPscaleTopo-module.html
index b23ea6e..835d054 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.TicketBooking-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SAMPscaleTopo-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.TicketBooking</title>
+  <title>TestON.tests.SAMPscaleTopo</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;TicketBooking
+        Package&nbsp;SAMPscaleTopo
       </span>
     </td>
     <td>
@@ -49,14 +54,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.TicketBooking-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SAMPscaleTopo-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package TicketBooking</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.TicketBooking-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Package SAMPscaleTopo</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SAMPscaleTopo-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== SUBMODULES ==================== -->
 <a name="section-Submodules"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -76,11 +81,37 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.TicketBooking.TicketBooking-module.html">TestON.tests.TicketBooking.TicketBooking</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html">TestON.tests.SAMPscaleTopo.SAMPscaleTopo</a></strong>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SAMPscaleTopo-pysrc.html
similarity index 80%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SAMPscaleTopo-pysrc.html
index ab359bb..3c31a03 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SAMPscaleTopo-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.SAMPscaleTopo</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;SAMPscaleTopo
       </span>
     </td>
     <td>
@@ -49,13 +54,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SAMPscaleTopo-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SAMPscaleTopo-module.html">Package TestON.tests.SAMPscaleTopo</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html
similarity index 65%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html
index 81b602b..7a9a7d6 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest.PoxTest</title>
+  <title>TestON.tests.SAMPscaleTopo.SAMPscaleTopo</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,8 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.PoxTest-module.html">Package&nbsp;PoxTest</a> ::
-        Module&nbsp;PoxTest
+        <a href="TestON.tests.SAMPscaleTopo-module.html">Package&nbsp;SAMPscaleTopo</a> ::
+        Module&nbsp;SAMPscaleTopo
       </span>
     </td>
     <td>
@@ -50,14 +55,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Module SAMPscaleTopo</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -79,7 +84,33 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html" class="summary-name">PoxTest</a>
+        <a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html" class="summary-name">SAMPscaleTopo</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
     </td>
   </tr>
 </table>
@@ -103,13 +134,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.SAMPscaleTopo.SAMPscaleTopo-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SAMPscaleTopo.SAMPscaleTopo-pysrc.html
new file mode 100644
index 0000000..c06f9de
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SAMPscaleTopo.SAMPscaleTopo-pysrc.html
@@ -0,0 +1,353 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.SAMPscaleTopo.SAMPscaleTopo</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.SAMPscaleTopo-module.html">Package&nbsp;SAMPscaleTopo</a> ::
+        Module&nbsp;SAMPscaleTopo
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html">Module TestON.tests.SAMPscaleTopo.SAMPscaleTopo</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment"># Testing network scalability, this test suite scales up a network topology</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># using mininet and verifies ONOS stability</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"> </tt>
+<a name="SAMPscaleTopo"></a><div id="SAMPscaleTopo-def"><a name="L5"></a><tt class="py-lineno">  5</tt> <a class="py-toggle" href="#" id="SAMPscaleTopo-toggle" onclick="return toggle('SAMPscaleTopo');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html">SAMPscaleTopo</a><tt class="py-op">:</tt> </tt>
+</div><div id="SAMPscaleTopo-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SAMPscaleTopo-expanded"><a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"> </tt>
+<a name="SAMPscaleTopo.__init__"></a><div id="SAMPscaleTopo.__init__-def"><a name="L7"></a><tt class="py-lineno">  7</tt> <a class="py-toggle" href="#" id="SAMPscaleTopo.__init__-toggle" onclick="return toggle('SAMPscaleTopo.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SAMPscaleTopo.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SAMPscaleTopo.__init__-expanded"><a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"> </tt>
+<a name="SAMPscaleTopo.CASE1"></a><div id="SAMPscaleTopo.CASE1-def"><a name="L10"></a><tt class="py-lineno"> 10</tt> <a class="py-toggle" href="#" id="SAMPscaleTopo.CASE1-toggle" onclick="return toggle('SAMPscaleTopo.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#CASE1">CASE1</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SAMPscaleTopo.CASE1-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SAMPscaleTopo.CASE1-expanded"><a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">imp</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line">        <tt class="py-string">"""</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-string">        - Construct tests variables</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-string">        - GIT ( optional )</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-string">            - Checkout ONOS master branch</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-string">            - Pull latest ONOS code</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-string">        - Building ONOS ( optional )</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-string">            - Install ONOS package</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-string">            - Build ONOS package</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-string">        """</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Constructing test variables and building ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Constructing test variables"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-comment"># Test variables</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testOnDirectory</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">"(/tests)$"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testDir</tt> <tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#apps,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#apps"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-3', 'apps', 'link-3');">apps</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellApps'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">gitBranch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'branch'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">dependencyPath</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testOnDirectory</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">                              <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'DEPENDENCY'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'path'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#topology,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topology"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-4', 'topology', 'link-4');">topology</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'DEPENDENCY'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'topology'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">scale</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SCALE'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'size'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">","</tt> <tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SCALE'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'max'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSport</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">wrapperFile1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'DEPENDENCY'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'wrapper1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">wrapperFile2</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'DEPENDENCY'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'wrapper2'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">startUpSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SLEEP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'startup'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">fwdSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SLEEP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'fwd'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt id="link-5" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-5', 'gitPull', 'link-5');">gitPull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'pull'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">cellData</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> <tt class="py-comment"># for creating cell file</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">hostsData</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getOnosIps"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps" class="py-name" href="#" onclick="return doclink('link-6', 'getOnosIps', 'link-6');">getOnosIps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-comment"># Assigning ONOS cli handles to a list</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt>  <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">'ONOScli'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-comment"># -- INIT SECTION, ONLY RUNS ONCE -- #</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">startUp</tt> <tt class="py-op">=</tt> <tt class="py-name">imp</tt><tt class="py-op">.</tt><tt class="py-name">load_source</tt><tt class="py-op">(</tt> <tt class="py-name">wrapperFile1</tt><tt class="py-op">,</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">dependencyPath</tt> <tt class="py-op">+</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">                                        <tt class="py-name">wrapperFile1</tt> <tt class="py-op">+</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">                                        <tt class="py-string">".py"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">scaleTopoFunction</tt> <tt class="py-op">=</tt> <tt class="py-name">imp</tt><tt class="py-op">.</tt><tt class="py-name">load_source</tt><tt class="py-op">(</tt> <tt class="py-name">wrapperFile2</tt><tt class="py-op">,</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">                                                  <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">dependencyPath</tt> <tt class="py-op">+</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                                                  <tt class="py-name">wrapperFile2</tt> <tt class="py-op">+</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">                                                  <tt class="py-string">".py"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-name">copyResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.copyMininetFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#copyMininetFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.copyMininetFile" class="py-name" href="#" onclick="return doclink('link-7', 'copyMininetFile', 'link-7');">copyMininetFile</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-8', 'topology', 'link-4');">topology</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">                                                     <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">dependencyPath</tt><tt class="py-op">,</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">                                                     <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">                                                     <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">            <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-10', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Did not properly created list of ONOS CLI handle"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">            <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully construct "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">                                        <tt class="py-string">"test variables "</tt><tt class="py-op">,</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">                                 <tt id="link-11" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-11', 'onfail', 'link-11');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to construct test variables"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-12', 'gitPull', 'link-5');">gitPull</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'True'</tt><tt class="py-op">:</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-13', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Building ONOS in "</tt> <tt class="py-op">+</tt> <tt class="py-name">gitBranch</tt> <tt class="py-op">+</tt> <tt class="py-string">" branch"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">            <tt class="py-name">onosBuildResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">startUp</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosBuild()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosBuild"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosBuild" class="py-name" href="#" onclick="return doclink('link-14', 'onosBuild', 'link-14');">onosBuild</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-name">gitBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosBuildResult</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully compiled "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">                                            <tt class="py-string">"latest ONOS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">                                     <tt id="link-15" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-15', 'onfail', 'link-11');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to compile "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">                                            <tt class="py-string">"latest ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-16', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Did not pull new code so skipping mvn "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                           <tt class="py-string">"clean install"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"> </tt>
+<a name="SAMPscaleTopo.CASE2"></a><div id="SAMPscaleTopo.CASE2-def"><a name="L97"></a><tt class="py-lineno"> 97</tt> <a class="py-toggle" href="#" id="SAMPscaleTopo.CASE2-toggle" onclick="return toggle('SAMPscaleTopo.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#CASE2">CASE2</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SAMPscaleTopo.CASE2-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SAMPscaleTopo.CASE2-expanded"><a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-docstring">        - Set up cell</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt class="py-docstring">            - Create cell file</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"><tt class="py-docstring">            - Set cell file</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-docstring">            - Verify cell file</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring">        - Kill ONOS process</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring">        - Uninstall ONOS cluster</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring">        - Verify ONOS start up</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">        - Install ONOS cluster</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">        - Connect to cli</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-comment"># main.scale[ 0 ] determines the current number of ONOS controller</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-17', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting up "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">                   <tt class="py-string">" node(s) ONOS cluster"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-comment">#kill off all onos processes</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-18', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Safety check, killing all ONOS processes"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">                       <tt class="py-string">" before initiating enviornment setup"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosDie"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie" class="py-name" href="#" onclick="return doclink('link-19', 'onosDie', 'link-19');">onosDie</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"NODE COUNT = "</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-name">tempOnosIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt class="py-name">tempOnosIp</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile" class="py-name" href="#" onclick="return doclink('link-20', 'createCellFile', 'link-20');">createCellFile</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">                                       <tt class="py-string">"temp"</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">                                       <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-21', 'apps', 'link-3');">apps</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">                                       <tt class="py-name">tempOnosIp</tt> <tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-22', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Apply cell to environment"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">cellResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell,Method TestON.drivers.common.cli.onosdriver.OnosDriver.setCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.setCell" class="py-name" href="#" onclick="return doclink('link-23', 'setCell', 'link-23');">setCell</a></tt><tt class="py-op">(</tt> <tt class="py-string">"temp"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">verifyResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifyCell"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell" class="py-name" href="#" onclick="return doclink('link-24', 'verifyCell', 'link-24');">verifyCell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">cellResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">verifyResult</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully applied cell to "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">                                        <tt class="py-string">"environment"</tt><tt class="py-op">,</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">                                 <tt id="link-25" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-25', 'onfail', 'link-11');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to apply cell to environment "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-26', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Creating ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-name">packageResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage" class="py-name" href="#" onclick="return doclink('link-27', 'onosPackage', 'link-27');">onosPackage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">packageResult</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully created ONOS package"</tt><tt class="py-op">,</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">                                 <tt id="link-28" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-28', 'onfail', 'link-11');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to create ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-comment"># Remove the first element in main.scale list</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">scale</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"> </tt>
+<a name="SAMPscaleTopo.CASE9"></a><div id="SAMPscaleTopo.CASE9-def"><a name="L156"></a><tt class="py-lineno">156</tt> <a class="py-toggle" href="#" id="SAMPscaleTopo.CASE9-toggle" onclick="return toggle('SAMPscaleTopo.CASE9');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#CASE9">CASE9</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SAMPscaleTopo.CASE9-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SAMPscaleTopo.CASE9-expanded"><a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring">            Report errors/warnings/exceptions</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-29', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Error report: \n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.logReport()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#logReport"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-30', 'logReport', 'link-30');">logReport</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">                                  <tt class="py-op">[</tt> <tt class="py-string">"INFO"</tt><tt class="py-op">,</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">                                    <tt class="py-string">"FOLLOWER"</tt><tt class="py-op">,</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">                                    <tt class="py-string">"WARN"</tt><tt class="py-op">,</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">                                    <tt class="py-string">"flow"</tt><tt class="py-op">,</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">                                    <tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">                                    <tt class="py-string">"Except"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">                                  <tt class="py-string">"s"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"> </tt>
+<a name="SAMPscaleTopo.CASE11"></a><div id="SAMPscaleTopo.CASE11-def"><a name="L170"></a><tt class="py-lineno">170</tt> <a class="py-toggle" href="#" id="SAMPscaleTopo.CASE11-toggle" onclick="return toggle('SAMPscaleTopo.CASE11');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#CASE11">CASE11</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SAMPscaleTopo.CASE11-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SAMPscaleTopo.CASE11-expanded"><a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-docstring">            Start mininet</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-31', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Start Mininet topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-32', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-33', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Start Mininet topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-34', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting Mininet Topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet" class="py-name" href="#" onclick="return doclink('link-35', 'startNet', 'link-35');">startNet</a></tt><tt class="py-op">(</tt> <tt class="py-name">topoFile</tt><tt class="py-op">=</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-36', 'topology', 'link-4');">topology</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">topoResult</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully loaded topology"</tt><tt class="py-op">,</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">                                 <tt id="link-37" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-37', 'onfail', 'link-11');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to load topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-comment"># Exit if topology did not load properly</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">topoResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-38', 'cleanup', 'link-38');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-39', 'exit', 'link-39');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"> </tt>
+<a name="SAMPscaleTopo.CASE1001"></a><div id="SAMPscaleTopo.CASE1001-def"><a name="L189"></a><tt class="py-lineno">189</tt> <a class="py-toggle" href="#" id="SAMPscaleTopo.CASE1001-toggle" onclick="return toggle('SAMPscaleTopo.CASE1001');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#CASE1001">CASE1001</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SAMPscaleTopo.CASE1001-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SAMPscaleTopo.CASE1001-expanded"><a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-docstring">            Test topology discovery</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-40', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Topology discovery test"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-41', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Torus 5-5 topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">topoName</tt> <tt class="py-op">=</tt> <tt class="py-string">"TORUS5-5"</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-name">mnCmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"mn --topo=torus,5,5 --mac"</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">scaleTopoFunction</tt><tt class="py-op">.</tt><tt class="py-name">testTopology</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">                                                          <tt class="py-name">mnCmd</tt><tt class="py-op">=</tt><tt class="py-name">mnCmd</tt><tt class="py-op">,</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">                                                          <tt class="py-name">clean</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> <tt class="py-op">)</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Torus 5-5 topology successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">                                 <tt id="link-42" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-42', 'onfail', 'link-11');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Torus 5-5 topology failed"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line"> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">topoName</tt> <tt class="py-op">=</tt> <tt class="py-string">"TREE3-3"</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-43', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Tree 3-3 topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-name">mnCmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"mn --topo=tree,3,3 --mac"</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">scaleTopoFunction</tt><tt class="py-op">.</tt><tt class="py-name">testTopology</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">                                                          <tt class="py-name">mnCmd</tt><tt class="py-op">=</tt><tt class="py-name">mnCmd</tt><tt class="py-op">,</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">                                                          <tt class="py-name">clean</tt><tt class="py-op">=</tt><tt class="py-name">True</tt> <tt class="py-op">)</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Tree 3-3 topology successful"</tt><tt class="py-op">,</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">                                 <tt id="link-44" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-44', 'onfail', 'link-11');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Tree 3-3 topology failed"</tt> <tt class="py-op">)</tt> </tt>
+</div></div><a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html b/TestON/Documentation/TestON_Document/TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html
new file mode 100644
index 0000000..45275b6
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.SAMPscaleTopo-module.html">Package&nbsp;SAMPscaleTopo</a> ::
+        <a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html">Module&nbsp;SAMPscaleTopo</a> ::
+        Class&nbsp;SAMPscaleTopo
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class SAMPscaleTopo</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-pysrc.html#SAMPscaleTopo">source&nbsp;code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-pysrc.html#SAMPscaleTopo.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-pysrc.html#SAMPscaleTopo.CASE1">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#CASE2" class="summary-sig-name">CASE2</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Set up cell</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-pysrc.html#SAMPscaleTopo.CASE2">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE9"></a><span class="summary-sig-name">CASE9</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Report errors/warnings/exceptions</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-pysrc.html#SAMPscaleTopo.CASE9">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE11"></a><span class="summary-sig-name">CASE11</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Start mininet</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-pysrc.html#SAMPscaleTopo.CASE11">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE1001"></a><span class="summary-sig-name">CASE1001</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Test topology discovery</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-pysrc.html#SAMPscaleTopo.CASE1001">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="CASE2"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">CASE2</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">main</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-pysrc.html#SAMPscaleTopo.CASE2">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <ul>
+    <li>
+      Set up cell
+      <ul>
+        <li>
+          Create cell file
+        </li>
+        <li>
+          Set cell file
+        </li>
+        <li>
+          Verify cell file
+        </li>
+      </ul>
+    </li>
+    <li>
+      Kill ONOS process
+    </li>
+    <li>
+      Uninstall ONOS cluster
+    </li>
+    <li>
+      Verify ONOS start up
+    </li>
+    <li>
+      Install ONOS cluster
+    </li>
+    <li>
+      Connect to cli
+    </li>
+  </ul>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SAMPstartTemplate-module.html
similarity index 66%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SAMPstartTemplate-module.html
index 186f4ef..1eabb86 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SAMPstartTemplate-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.SAMPstartTemplate</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;SAMPstartTemplate
       </span>
     </td>
     <td>
@@ -49,14 +54,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SAMPstartTemplate-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Package SAMPstartTemplate</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SAMPstartTemplate-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== SUBMODULES ==================== -->
 <a name="section-Submodules"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -76,11 +81,37 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.PoxTest.PoxTest-module.html">TestON.tests.PoxTest.PoxTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html">TestON.tests.SAMPstartTemplate.SAMPstartTemplate</a></strong>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SAMPstartTemplate-pysrc.html
similarity index 80%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SAMPstartTemplate-pysrc.html
index ab359bb..60b3446 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SAMPstartTemplate-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.SAMPstartTemplate</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;SAMPstartTemplate
       </span>
     </td>
     <td>
@@ -49,13 +54,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SAMPstartTemplate-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SAMPstartTemplate-module.html">Package TestON.tests.SAMPstartTemplate</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html
similarity index 65%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html
index 81b602b..eabc8b5 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest.PoxTest</title>
+  <title>TestON.tests.SAMPstartTemplate.SAMPstartTemplate</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,8 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.PoxTest-module.html">Package&nbsp;PoxTest</a> ::
-        Module&nbsp;PoxTest
+        <a href="TestON.tests.SAMPstartTemplate-module.html">Package&nbsp;SAMPstartTemplate</a> ::
+        Module&nbsp;SAMPstartTemplate
       </span>
     </td>
     <td>
@@ -50,14 +55,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Module SAMPstartTemplate</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -79,7 +84,33 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html" class="summary-name">PoxTest</a>
+        <a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html" class="summary-name">SAMPstartTemplate</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
     </td>
   </tr>
 </table>
@@ -103,13 +134,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.SAMPstartTemplate.SAMPstartTemplate-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SAMPstartTemplate.SAMPstartTemplate-pysrc.html
new file mode 100644
index 0000000..c41a466
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SAMPstartTemplate.SAMPstartTemplate-pysrc.html
@@ -0,0 +1,383 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.SAMPstartTemplate.SAMPstartTemplate</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.SAMPstartTemplate-module.html">Package&nbsp;SAMPstartTemplate</a> ::
+        Module&nbsp;SAMPstartTemplate
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html">Module TestON.tests.SAMPstartTemplate.SAMPstartTemplate</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment"># This is a sample template that starts up ONOS cluster, this template</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># is used as a starting script for creating functionality and performance test</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"> </tt>
+<a name="SAMPstartTemplate"></a><div id="SAMPstartTemplate-def"><a name="L5"></a><tt class="py-lineno">  5</tt> <a class="py-toggle" href="#" id="SAMPstartTemplate-toggle" onclick="return toggle('SAMPstartTemplate');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html">SAMPstartTemplate</a><tt class="py-op">:</tt> </tt>
+</div><div id="SAMPstartTemplate-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SAMPstartTemplate-expanded"><a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"> </tt>
+<a name="SAMPstartTemplate.__init__"></a><div id="SAMPstartTemplate.__init__-def"><a name="L7"></a><tt class="py-lineno">  7</tt> <a class="py-toggle" href="#" id="SAMPstartTemplate.__init__-toggle" onclick="return toggle('SAMPstartTemplate.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SAMPstartTemplate.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SAMPstartTemplate.__init__-expanded"><a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"> </tt>
+<a name="SAMPstartTemplate.CASE1"></a><div id="SAMPstartTemplate.CASE1-def"><a name="L10"></a><tt class="py-lineno"> 10</tt> <a class="py-toggle" href="#" id="SAMPstartTemplate.CASE1-toggle" onclick="return toggle('SAMPstartTemplate.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#CASE1">CASE1</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SAMPstartTemplate.CASE1-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SAMPstartTemplate.CASE1-expanded"><a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">imp</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line">        <tt class="py-string">"""</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-string">        - Construct tests variables</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-string">        - GIT ( optional )</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-string">            - Checkout ONOS master branch</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-string">            - Pull latest ONOS code</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-string">        - Building ONOS ( optional )</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-string">            - Install ONOS package</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-string">            - Build ONOS package</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-string">        """</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Constructing test variables and building ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Constructing test variables"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-comment"># Test variables</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testOnDirectory</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">"(/tests)$"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testDir</tt> <tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#apps,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#apps"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-3', 'apps', 'link-3');">apps</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellApps'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">gitBranch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'branch'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">dependencyPath</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testOnDirectory</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">                              <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'DEPENDENCY'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'path'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#topology,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topology"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-4', 'topology', 'link-4');">topology</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'DEPENDENCY'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'topology'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">scale</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SCALE'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'size'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt> <tt class="py-string">","</tt> <tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SCALE'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'max'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSport</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'port'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">wrapperFile1</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'DEPENDENCY'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'wrapper1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">startUpSleep</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SLEEP'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'startup'</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt id="link-5" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-5', 'gitPull', 'link-5');">gitPull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'pull'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">cellData</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> <tt class="py-comment"># for creating cell file</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getOnosIps"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps" class="py-name" href="#" onclick="return doclink('link-6', 'getOnosIps', 'link-6');">getOnosIps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-comment"># Assigning ONOS cli handles to a list</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt>  <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">'ONOScli'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-comment"># -- INIT SECTION, ONLY RUNS ONCE -- #</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">startUp</tt> <tt class="py-op">=</tt> <tt class="py-name">imp</tt><tt class="py-op">.</tt><tt class="py-name">load_source</tt><tt class="py-op">(</tt> <tt class="py-name">wrapperFile1</tt><tt class="py-op">,</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">                                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">dependencyPath</tt> <tt class="py-op">+</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">                                        <tt class="py-name">wrapperFile1</tt> <tt class="py-op">+</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">                                        <tt class="py-string">".py"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-name">copyResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.copyMininetFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#copyMininetFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.copyMininetFile" class="py-name" href="#" onclick="return doclink('link-7', 'copyMininetFile', 'link-7');">copyMininetFile</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-8', 'topology', 'link-4');">topology</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">                                                     <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">dependencyPath</tt><tt class="py-op">,</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">                                                     <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">user_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                                                     <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt> <tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">:</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-10', 'error', 'link-10');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Did not properly created list of ONOS CLI handle"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">            <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully construct "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">                                        <tt class="py-string">"test variables "</tt><tt class="py-op">,</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">                                 <tt id="link-11" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-11', 'onfail', 'link-11');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to construct test variables"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-12', 'gitPull', 'link-5');">gitPull</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'True'</tt><tt class="py-op">:</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-13', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Building ONOS in "</tt> <tt class="py-op">+</tt> <tt class="py-name">gitBranch</tt> <tt class="py-op">+</tt> <tt class="py-string">" branch"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">            <tt class="py-name">onosBuildResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">startUp</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosBuild()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosBuild"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosBuild" class="py-name" href="#" onclick="return doclink('link-14', 'onosBuild', 'link-14');">onosBuild</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-name">gitBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">            <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosBuildResult</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">            <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">                                     <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">                                     <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully compiled "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">                                            <tt class="py-string">"latest ONOS"</tt><tt class="py-op">,</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">                                     <tt id="link-15" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-15', 'onfail', 'link-11');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to compile "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">                                            <tt class="py-string">"latest ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-16', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt> <tt class="py-string">"Did not pull new code so skipping mvn "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                           <tt class="py-string">"clean install"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"> </tt>
+<a name="SAMPstartTemplate.CASE2"></a><div id="SAMPstartTemplate.CASE2-def"><a name="L91"></a><tt class="py-lineno"> 91</tt> <a class="py-toggle" href="#" id="SAMPstartTemplate.CASE2-toggle" onclick="return toggle('SAMPstartTemplate.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#CASE2">CASE2</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SAMPstartTemplate.CASE2-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SAMPstartTemplate.CASE2-expanded"><a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring">        - Set up cell</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring">            - Create cell file</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring">            - Set cell file</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring">            - Verify cell file</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-docstring">        - Kill ONOS process</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-docstring">        - Uninstall ONOS cluster</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-docstring">        - Verify ONOS start up</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt class="py-docstring">        - Install ONOS cluster</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"><tt class="py-docstring">        - Connect to cli</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-comment"># main.scale[ 0 ] determines the current number of ONOS controller</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-17', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting up "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                   <tt class="py-string">" node(s) ONOS cluster"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-comment">#kill off all onos processes</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-18', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Safety check, killing all ONOS processes"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">                       <tt class="py-string">" before initiating enviornment setup"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosDie"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie" class="py-name" href="#" onclick="return doclink('link-19', 'onosDie', 'link-19');">onosDie</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"NODE COUNT = "</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">tempOnosIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-name">tempOnosIp</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile" class="py-name" href="#" onclick="return doclink('link-20', 'createCellFile', 'link-20');">createCellFile</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-string">"temp"</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps" class="py-name" href="#" onclick="return doclink('link-21', 'apps', 'link-3');">apps</a></tt><tt class="py-op">,</tt> <tt class="py-name">tempOnosIp</tt> <tt class="py-op">)</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-22', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Apply cell to environment"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-name">cellResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell,Method TestON.drivers.common.cli.onosdriver.OnosDriver.setCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.setCell" class="py-name" href="#" onclick="return doclink('link-23', 'setCell', 'link-23');">setCell</a></tt><tt class="py-op">(</tt> <tt class="py-string">"temp"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-name">verifyResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifyCell"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell" class="py-name" href="#" onclick="return doclink('link-24', 'verifyCell', 'link-24');">verifyCell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">cellResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">verifyResult</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully applied cell to "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">                                        <tt class="py-string">"environment"</tt><tt class="py-op">,</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">                                 <tt id="link-25" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-25', 'onfail', 'link-11');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to apply cell to environment "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-26', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Creating ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">packageResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage" class="py-name" href="#" onclick="return doclink('link-27', 'onosPackage', 'link-27');">onosPackage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">packageResult</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully created ONOS package"</tt><tt class="py-op">,</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">                                 <tt id="link-28" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-28', 'onfail', 'link-11');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to create ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">startUpSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-29', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Uninstalling ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-name">onosUninstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-name">onosUninstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosUninstallResult</tt> <tt class="py-keyword">and</tt> \ </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosUninstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall" class="py-name" href="#" onclick="return doclink('link-30', 'onosUninstall', 'link-30');">onosUninstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">nodeIp</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosUninstallResult</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully uninstalled ONOS package"</tt><tt class="py-op">,</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">                                 <tt id="link-31" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-31', 'onfail', 'link-11');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to uninstall ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">startUpSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-32', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Installing ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-name">onosInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">            <tt class="py-name">onosInstallResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosInstallResult</tt> <tt class="py-keyword">and</tt> \ </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall" class="py-name" href="#" onclick="return doclink('link-33', 'onosInstall', 'link-33');">onosInstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosInstallResult</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully installed ONOS package"</tt><tt class="py-op">,</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">                                 <tt id="link-34" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-34', 'onfail', 'link-11');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to install ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">startUpSleep</tt> <tt class="py-op">)</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-35', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting ONOS service"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-name">stopResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-name">startResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-name">onosIsUp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">            <tt class="py-name">onosIsUp</tt> <tt class="py-op">=</tt> <tt class="py-name">onosIsUp</tt> <tt class="py-keyword">and</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.isup()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#isup"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-36', 'isup', 'link-36');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">onosIsUp</tt> <tt class="py-op">==</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">:</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-37', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS instance is up and ready"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-38', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS instance may not be up, stop and "</tt> <tt class="py-op">+</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">                             <tt class="py-string">"start ONOS again "</tt> <tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">                <tt class="py-name">stopResult</tt> <tt class="py-op">=</tt> <tt class="py-name">stopResult</tt> <tt class="py-keyword">and</tt> \ </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosStop()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStop"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosStop" class="py-name" href="#" onclick="return doclink('link-39', 'onosStop', 'link-39');">onosStop</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">                <tt class="py-name">startResult</tt> <tt class="py-op">=</tt> <tt class="py-name">startResult</tt> <tt class="py-keyword">and</tt> \ </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosStart()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStart"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosStart" class="py-name" href="#" onclick="return doclink('link-40', 'onosStart', 'link-40');">onosStart</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">onosIsUp</tt> <tt class="py-keyword">and</tt> <tt class="py-name">stopResult</tt> <tt class="py-keyword">and</tt> <tt class="py-name">startResult</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"ONOS service is ready"</tt><tt class="py-op">,</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">                                 <tt id="link-41" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-41', 'onfail', 'link-11');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"ONOS service did not start properly"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-42', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Start ONOS cli"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-name">cliResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">numCtrls</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">            <tt class="py-name">cliResult</tt> <tt class="py-op">=</tt> <tt class="py-name">cliResult</tt> <tt class="py-keyword">and</tt> \ </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#startOnosCli"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli" class="py-name" href="#" onclick="return doclink('link-43', 'startOnosCli', 'link-43');">startOnosCli</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-name">i</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">cliResult</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully start ONOS cli"</tt><tt class="py-op">,</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">                                 <tt id="link-44" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-44', 'onfail', 'link-11');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to start ONOS cli"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-comment"># Remove the first element in main.scale list</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">scale</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line"> </tt>
+<a name="SAMPstartTemplate.CASE9"></a><div id="SAMPstartTemplate.CASE9-def"><a name="L206"></a><tt class="py-lineno">206</tt> <a class="py-toggle" href="#" id="SAMPstartTemplate.CASE9-toggle" onclick="return toggle('SAMPstartTemplate.CASE9');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#CASE9">CASE9</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SAMPstartTemplate.CASE9-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SAMPstartTemplate.CASE9-expanded"><a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">        <tt class="py-docstring">'''</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line"><tt class="py-docstring">            Report errors/warnings/exceptions</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"><tt class="py-docstring">        '''</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-45', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Error report: \n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.logReport()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#logReport"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-46', 'logReport', 'link-46');">logReport</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">                                  <tt class="py-op">[</tt> <tt class="py-string">"INFO"</tt><tt class="py-op">,</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">                                    <tt class="py-string">"FOLLOWER"</tt><tt class="py-op">,</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">                                    <tt class="py-string">"WARN"</tt><tt class="py-op">,</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">                                    <tt class="py-string">"flow"</tt><tt class="py-op">,</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">                                    <tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">                                    <tt class="py-string">"Except"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">                                  <tt class="py-string">"s"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"> </tt>
+<a name="SAMPstartTemplate.CASE11"></a><div id="SAMPstartTemplate.CASE11-def"><a name="L220"></a><tt class="py-lineno">220</tt> <a class="py-toggle" href="#" id="SAMPstartTemplate.CASE11-toggle" onclick="return toggle('SAMPstartTemplate.CASE11');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#CASE11">CASE11</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SAMPstartTemplate.CASE11-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SAMPstartTemplate.CASE11-expanded"><a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"><tt class="py-docstring">            Start mininet</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-47', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Start Mininet topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-48', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-49', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Start Mininet topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-50', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Starting Mininet Topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-name">topoResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet" class="py-name" href="#" onclick="return doclink('link-51', 'startNet', 'link-51');">startNet</a></tt><tt class="py-op">(</tt> <tt class="py-name">topoFile</tt><tt class="py-op">=</tt><tt id="link-52" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology" class="py-name" href="#" onclick="return doclink('link-52', 'topology', 'link-4');">topology</a></tt> <tt class="py-op">)</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">topoResult</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully loaded topology"</tt><tt class="py-op">,</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">                                 <tt id="link-53" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-53', 'onfail', 'link-11');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to load topology"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-comment"># Exit if topology did not load properly</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">topoResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name" targets="Method TestON.core.teston.TestON.cleanup()=TestON.core.teston.TestON-class.html#cleanup"><a title="TestON.core.teston.TestON.cleanup" class="py-name" href="#" onclick="return doclink('link-54', 'cleanup', 'link-54');">cleanup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name" targets="Method TestON.core.teston.TestON.exit()=TestON.core.teston.TestON-class.html#exit"><a title="TestON.core.teston.TestON.exit" class="py-name" href="#" onclick="return doclink('link-55', 'exit', 'link-55');">exit</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"> </tt>
+<a name="SAMPstartTemplate.CASE12"></a><div id="SAMPstartTemplate.CASE12-def"><a name="L239"></a><tt class="py-lineno">239</tt> <a class="py-toggle" href="#" id="SAMPstartTemplate.CASE12-toggle" onclick="return toggle('SAMPstartTemplate.CASE12');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#CASE12">CASE12</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SAMPstartTemplate.CASE12-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SAMPstartTemplate.CASE12-expanded"><a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"><tt class="py-docstring">            Test random ONOS command</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli" class="py-name" href="#" onclick="return doclink('link-56', 'startOnosCli', 'link-43');">startOnosCli</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSip</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">CLIs</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#leaders"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders" class="py-name" href="#" onclick="return doclink('link-57', 'leaders', 'link-57');">leaders</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html b/TestON/Documentation/TestON_Document/TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html
new file mode 100644
index 0000000..4670154
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.SAMPstartTemplate-module.html">Package&nbsp;SAMPstartTemplate</a> ::
+        <a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html">Module&nbsp;SAMPstartTemplate</a> ::
+        Class&nbsp;SAMPstartTemplate
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class SAMPstartTemplate</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-pysrc.html#SAMPstartTemplate">source&nbsp;code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-pysrc.html#SAMPstartTemplate.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-pysrc.html#SAMPstartTemplate.CASE1">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#CASE2" class="summary-sig-name">CASE2</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Set up cell</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-pysrc.html#SAMPstartTemplate.CASE2">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE9"></a><span class="summary-sig-name">CASE9</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Report errors/warnings/exceptions</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-pysrc.html#SAMPstartTemplate.CASE9">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE11"></a><span class="summary-sig-name">CASE11</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Start mininet</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-pysrc.html#SAMPstartTemplate.CASE11">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CASE12"></a><span class="summary-sig-name">CASE12</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">main</span>)</span><br />
+      Test random ONOS command</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-pysrc.html#SAMPstartTemplate.CASE12">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="CASE2"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">CASE2</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">main</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-pysrc.html#SAMPstartTemplate.CASE2">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <ul>
+    <li>
+      Set up cell
+      <ul>
+        <li>
+          Create cell file
+        </li>
+        <li>
+          Set cell file
+        </li>
+        <li>
+          Verify cell file
+        </li>
+      </ul>
+    </li>
+    <li>
+      Kill ONOS process
+    </li>
+    <li>
+      Uninstall ONOS cluster
+    </li>
+    <li>
+      Verify ONOS start up
+    </li>
+    <li>
+      Install ONOS cluster
+    </li>
+    <li>
+      Connect to cli
+    </li>
+  </ul>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.VyattaTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFcbench-module.html
similarity index 67%
copy from TestON/Documentation/TestON_Document/TestON.tests.VyattaTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFcbench-module.html
index 5f50476..a1fb2e4 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.VyattaTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFcbench-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.VyattaTest</title>
+  <title>TestON.tests.SCPFcbench</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;VyattaTest
+        Package&nbsp;SCPFcbench
       </span>
     </td>
     <td>
@@ -49,14 +54,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.VyattaTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFcbench-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package VyattaTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.VyattaTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Package SCPFcbench</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFcbench-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== SUBMODULES ==================== -->
 <a name="section-Submodules"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -76,11 +81,37 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.VyattaTest.VyattaTest-module.html">TestON.tests.VyattaTest.VyattaTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFcbench.SCPFcbench-module.html">TestON.tests.SCPFcbench.SCPFcbench</a></strong>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.VyattaTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFcbench-pysrc.html
similarity index 81%
rename from TestON/Documentation/TestON_Document/TestON.tests.VyattaTest-pysrc.html
rename to TestON/Documentation/TestON_Document/TestON.tests.SCPFcbench-pysrc.html
index 5cc9b03..bdbbdba 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.VyattaTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFcbench-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.VyattaTest</title>
+  <title>TestON.tests.SCPFcbench</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;VyattaTest
+        Package&nbsp;SCPFcbench
       </span>
     </td>
     <td>
@@ -49,13 +54,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.VyattaTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFcbench-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.VyattaTest-module.html">Package TestON.tests.VyattaTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SCPFcbench-module.html">Package TestON.tests.SCPFcbench</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFcbench.SCPFcbench-module.html
similarity index 65%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFcbench.SCPFcbench-module.html
index 81b602b..c4b3590 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFcbench.SCPFcbench-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest.PoxTest</title>
+  <title>TestON.tests.SCPFcbench.SCPFcbench</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,8 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.PoxTest-module.html">Package&nbsp;PoxTest</a> ::
-        Module&nbsp;PoxTest
+        <a href="TestON.tests.SCPFcbench-module.html">Package&nbsp;SCPFcbench</a> ::
+        Module&nbsp;SCPFcbench
       </span>
     </td>
     <td>
@@ -50,14 +55,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFcbench.SCPFcbench-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Module SCPFcbench</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFcbench.SCPFcbench-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -79,7 +84,32 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html" class="summary-name">PoxTest</a>
+        <a href="TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html" class="summary-name">SCPFcbench</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.tests.SCPFcbench'"><code class="variable-quote">'</code><code class="variable-string">TestON.tests.SCPFcbench</code><code class="variable-quote">'</code></code>
     </td>
   </tr>
 </table>
@@ -103,13 +133,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.SCPFcbench.SCPFcbench-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFcbench.SCPFcbench-pysrc.html
new file mode 100644
index 0000000..d0f68c6
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFcbench.SCPFcbench-pysrc.html
@@ -0,0 +1,341 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.SCPFcbench.SCPFcbench</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.SCPFcbench-module.html">Package&nbsp;SCPFcbench</a> ::
+        Module&nbsp;SCPFcbench
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFcbench.SCPFcbench-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SCPFcbench.SCPFcbench-module.html">Module TestON.tests.SCPFcbench.SCPFcbench</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># ScaleOutTemplate --&gt; CbenchBM</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># CASE1 starts number of nodes specified in param file</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># cameron@onlab.us</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-0', 'path', 'link-0');">path</a></tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"> </tt>
+<a name="SCPFcbench"></a><div id="SCPFcbench-def"><a name="L12"></a><tt class="py-lineno"> 12</tt> <a class="py-toggle" href="#" id="SCPFcbench-toggle" onclick="return toggle('SCPFcbench');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html">SCPFcbench</a><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFcbench-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SCPFcbench-expanded"><a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"> </tt>
+<a name="SCPFcbench.__init__"></a><div id="SCPFcbench.__init__-def"><a name="L14"></a><tt class="py-lineno"> 14</tt> <a class="py-toggle" href="#" id="SCPFcbench.__init__-toggle" onclick="return toggle('SCPFcbench.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFcbench.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFcbench.__init__-expanded"><a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-1', 'default', 'link-1');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"> </tt>
+<a name="SCPFcbench.CASE1"></a><div id="SCPFcbench.CASE1-def"><a name="L17"></a><tt class="py-lineno"> 17</tt> <a class="py-toggle" href="#" id="SCPFcbench.CASE1-toggle" onclick="return toggle('SCPFcbench.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#CASE1">CASE1</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFcbench.CASE1-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFcbench.CASE1-expanded"><a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">init</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-2', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"pre-condition for cbench test."</tt><tt class="py-op">)</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">init</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">bool</tt><tt class="py-op">:</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">                <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">            <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-comment">#Load values from params file</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">checkoutBranch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'checkout'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-3', 'gitPull', 'link-3');">gitPull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'autopull'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">BENCHIp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BENCH'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ip1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">BENCHUser</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BENCH'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'user'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">CBENCHuser</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CBENCH'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'user'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">MN1Ip</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MN'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ip1'</tt> <tt class="py-op">]</tt> <tt class="py-op">]</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'availableNodes'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">skipMvn</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'skipCleanInstall'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-comment"># -- INIT SECTION, ONLY RUNS ONCE -- #</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">init</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">            <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">clusterCount</tt>             <tt class="py-comment">#number of nodes running</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">ONOSIp</tt>                   <tt class="py-comment">#list of ONOS IP addresses</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">scale</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-name">ONOSIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">            <tt class="py-name">scale</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SCALE'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">            <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-comment">#Populate ONOSIp with ips from params</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">maxNodes</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">                <tt class="py-name">ipString</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CTRL'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'ip1'</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">                <tt class="py-name">ONOSIp</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">ipString</tt><tt class="py-op">)</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">            <tt class="py-comment">#mvn clean install, for debugging set param 'skipCleanInstall' to yes to speed up test</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">skipMvn</tt> <tt class="py-op">!=</tt> <tt class="py-string">"yes"</tt><tt class="py-op">:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">                <tt class="py-name">mvnResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cleanInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall" class="py-name" href="#" onclick="return doclink('link-4', 'cleanInstall', 'link-4');">cleanInstall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">            <tt class="py-comment">#git</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-5', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Git checkout and pull "</tt> <tt class="py-op">+</tt> <tt class="py-name">checkoutBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-6', 'gitPull', 'link-3');">gitPull</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'on'</tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">                <tt class="py-name">checkoutResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitCheckout"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout" class="py-name" href="#" onclick="return doclink('link-7', 'gitCheckout', 'link-7');">gitCheckout</a></tt><tt class="py-op">(</tt> <tt class="py-name">checkoutBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">                <tt class="py-name">pullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-8', 'gitPull', 'link-3');">gitPull</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">                <tt class="py-name">checkoutResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">                <tt class="py-name">pullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Skipped git checkout and pull"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-comment"># -- END OF INIT SECTION --#</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-name">scale</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-comment">#kill off all onos processes</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-10', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-11', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Safety check, killing all ONOS processes"</tt><tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-12', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-13', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"before initiating enviornment setup"</tt><tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">maxNodes</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosDie"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie" class="py-name" href="#" onclick="return doclink('link-14', 'onosDie', 'link-14');">onosDie</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-comment">#Uninstall everywhere</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-15', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-16', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cleaning Enviornment..."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">maxNodes</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-17', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">" Uninstalling ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosUninstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall" class="py-name" href="#" onclick="return doclink('link-18', 'onosUninstall', 'link-18');">onosUninstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-19', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"pexpect: \n"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Cellname is: "</tt><tt class="py-op">+</tt> <tt class="py-name">cellName</tt> <tt class="py-op">+</tt> <tt class="py-string">"ONOS IP is: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile" class="py-name" href="#" onclick="return doclink('link-20', 'createCellFile', 'link-20');">createCellFile</a></tt><tt class="py-op">(</tt><tt class="py-name">BENCHIp</tt><tt class="py-op">,</tt><tt class="py-name">cellName</tt><tt class="py-op">,</tt><tt class="py-name">MN1Ip</tt><tt class="py-op">,</tt><tt class="py-string">"drivers,openflow,fwd"</tt><tt class="py-op">,</tt><tt class="py-op">[</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-21', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Set Cell"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell,Method TestON.drivers.common.cli.onosdriver.OnosDriver.setCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.setCell" class="py-name" href="#" onclick="return doclink('link-22', 'setCell', 'link-22');">setCell</a></tt><tt class="py-op">(</tt><tt class="py-name">cellName</tt><tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-comment">#main.ONOSbench.handle.sendline(" ")</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-comment">#main.ONOSbench.handle.expect(":~")</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-comment">#print "pexpect: \n" + main.ONOSbench.handle.before</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-23', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Creating ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-name">packageResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage" class="py-name" href="#" onclick="return doclink('link-24', 'onosPackage', 'link-24');">onosPackage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-25', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"verify cells"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-name">verifyCellResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifyCell"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell" class="py-name" href="#" onclick="return doclink('link-26', 'verifyCell', 'link-26');">verifyCell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-27', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Initializing "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" node cluster."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-28', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Starting ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" at IP: "</tt> <tt class="py-op">+</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall" class="py-name" href="#" onclick="return doclink('link-29', 'onosInstall', 'link-29');">onosInstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">                <tt id="link-30" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.isup()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#isup"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-30', 'isup', 'link-30');">isup</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-31', 'isup', 'link-30');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-32" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-32', 'isup', 'link-30');">isup</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-33', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is up\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-34" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-34', 'isup', 'link-30');">isup</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-35', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" didn't start!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-36', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Startup sequence complete"</tt><tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosCfgSet"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-37', 'onosCfgSet', 'link-37');">onosCfgSet</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"org.onosproject.fwd.ReactiveForwarding"</tt><tt class="py-op">,</tt><tt class="py-string">"packetOutOnly true"</tt><tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-38', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 cfg get|grep packetOutOnly"</tt><tt class="py-op">)</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"value=true"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">check</tt><tt class="py-op">:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-39', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"cfg set successful"</tt><tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">                <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-40', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Cfg set failed"</tt><tt class="py-op">)</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">                <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully configure onos for cbench test "</tt><tt class="py-op">,</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">                                 <tt id="link-41" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-41', 'onfail', 'link-41');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to configure onos for cbench test"</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"> </tt>
+<a name="SCPFcbench.CASE2"></a><div id="SCPFcbench.CASE2-def"><a name="L151"></a><tt class="py-lineno">151</tt> <a class="py-toggle" href="#" id="SCPFcbench.CASE2-toggle" onclick="return toggle('SCPFcbench.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#CASE2">CASE2</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFcbench.CASE2-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFcbench.CASE2-expanded"><a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-42', 'case', 'link-2');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Running Cbench"</tt><tt class="py-op">)</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-43', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Issuing cbench commands and grab returned results"</tt><tt class="py-op">)</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-name">validFlag</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-name">mode</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'mode'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">mode</tt> <tt class="py-op">!=</tt> <tt class="py-string">"t"</tt><tt class="py-op">:</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-name">mode</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-name">runCbench</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-string">"ssh "</tt> <tt class="py-op">+</tt> <tt class="py-name">CBENCHuser</tt> <tt class="py-op">+</tt> <tt class="py-string">"@"</tt> <tt class="py-op">+</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" cbench -c localhost -p 6633 -m 1000 -l 25 -s 16 -M 100000 -w 15 -D 10000 -"</tt> <tt class="py-op">+</tt> <tt class="py-name">mode</tt> <tt class="py-op">)</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-44', 'sendline', 'link-19');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">runCbench</tt><tt class="py-op">)</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">30</tt><tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt id="link-45" class="py-name" targets="Function TestON.bin.cli.output()=TestON.bin.cli-module.html#output"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-45', 'output', 'link-45');">output</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-46', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt id="link-47" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-47', 'output', 'link-45');">output</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt id="link-48" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-48', 'output', 'link-45');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-49" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-49', 'output', 'link-45');">output</a></tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt id="link-50" class="py-name"><a title="TestON.bin.cli.output" class="py-name" href="#" onclick="return doclink('link-50', 'output', 'link-45');">output</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"RESULT: "</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">                <tt class="py-name">validFlag</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-name">line</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">                <tt class="py-name">resultLine</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">word</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resultLine</tt><tt class="py-op">:</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">word</tt> <tt class="py-op">==</tt> <tt class="py-string">"min/max/avg/stdev"</tt><tt class="py-op">:</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">                        <tt class="py-name">resultsIndex</tt> <tt class="py-op">=</tt> <tt class="py-name">resultLine</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">word</tt><tt class="py-op">)</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">                        <tt class="py-keyword">print</tt> <tt class="py-name">resultsIndex</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">                <tt class="py-name">finalDataString</tt> <tt class="py-op">=</tt> <tt class="py-name">resultLine</tt><tt class="py-op">[</tt><tt class="py-name">resultsIndex</tt> <tt class="py-op">+</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-name">finalDataString</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">                <tt class="py-name">finalDataList</tt> <tt class="py-op">=</tt> <tt class="py-name">finalDataString</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">                <tt class="py-name">avg</tt> <tt class="py-op">=</tt> <tt class="py-name">finalDataList</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">                <tt class="py-name">stdev</tt> <tt class="py-op">=</tt> <tt class="py-name">finalDataList</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-51', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Average: \t\t\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">avg</tt><tt class="py-op">)</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-52', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Standard Deviation: \t"</tt> <tt class="py-op">+</tt> <tt class="py-name">stdev</tt><tt class="py-op">)</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">                <tt class="py-name">commit</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getVersion,Method TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getVersion"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion
+TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion" class="py-name" href="#" onclick="return doclink('link-53', 'getVersion', 'link-53');">getVersion</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">                <tt class="py-name">commit</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">commit</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">                    <tt class="py-name">dbFileName</tt><tt class="py-op">=</tt><tt class="py-string">"/tmp/CbenchDB"</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">                    <tt class="py-name">dbfile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">dbFileName</tt><tt class="py-op">,</tt> <tt class="py-string">"w+"</tt><tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">                    <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-string">"'"</tt> <tt class="py-op">+</tt> <tt class="py-name">commit</tt> <tt class="py-op">+</tt> <tt class="py-string">"',"</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">                    <tt class="py-name">temp</tt> <tt class="py-op">+=</tt> <tt class="py-string">"'"</tt> <tt class="py-op">+</tt> <tt class="py-name">mode</tt> <tt class="py-op">+</tt> <tt class="py-string">"',"</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">                    <tt class="py-name">temp</tt> <tt class="py-op">+=</tt> <tt class="py-string">"'"</tt> <tt class="py-op">+</tt> <tt class="py-name">avg</tt> <tt class="py-op">+</tt> <tt class="py-string">"',"</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">                    <tt class="py-name">temp</tt> <tt class="py-op">+=</tt> <tt class="py-string">"'"</tt> <tt class="py-op">+</tt> <tt class="py-name">stdev</tt> <tt class="py-op">+</tt> <tt class="py-string">"'\n"</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">                    <tt class="py-name">dbfile</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">temp</tt><tt class="py-op">)</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">                    <tt class="py-name">dbfile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.logReport()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#logReport"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-54', 'logReport', 'link-54');">logReport</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> <tt class="py-string">"WARNING"</tt><tt class="py-op">,</tt> <tt class="py-string">"EXCEPT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">outputMode</tt><tt class="py-op">=</tt><tt class="py-string">"d"</tt><tt class="py-op">)</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">:</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-55', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">"Error opening "</tt> <tt class="py-op">+</tt> <tt class="py-name">dbFileName</tt> <tt class="py-op">+</tt> <tt class="py-string">" to write results."</tt><tt class="py-op">)</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">                <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt> <tt class="py-name">validFlag</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-56', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">warn</tt><tt class="py-op">(</tt><tt class="py-string">"Cbench Test produced no valid results!!!!"</tt><tt class="py-op">)</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">            <tt class="py-name">stepResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt> <tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">                                 <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">stepResult</tt><tt class="py-op">,</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">                                 <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Successfully tested onos for cbench. "</tt><tt class="py-op">,</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">                                 <tt id="link-57" class="py-name"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-57', 'onfail', 'link-41');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to obtain valid onos cbench result!"</tt> <tt class="py-op">)</tt> </tt>
+</div></div><a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html
similarity index 78%
copy from TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html
index 5e3bc3e..4c2d5be 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.DpctlTest.DpctlTest.DpctlTest</title>
+  <title>TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,9 +44,9 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.DpctlTest-module.html">Package&nbsp;DpctlTest</a> ::
-        <a href="TestON.tests.DpctlTest.DpctlTest-module.html">Module&nbsp;DpctlTest</a> ::
-        Class&nbsp;DpctlTest
+        <a href="TestON.tests.SCPFcbench-module.html">Package&nbsp;SCPFcbench</a> ::
+        <a href="TestON.tests.SCPFcbench.SCPFcbench-module.html">Module&nbsp;SCPFcbench</a> ::
+        Class&nbsp;SCPFcbench
       </span>
     </td>
     <td>
@@ -51,14 +56,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class DpctlTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Class SCPFcbench</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFcbench.SCPFcbench-pysrc.html#SCPFcbench">source&nbsp;code</a></span></p>
 <!-- ==================== INSTANCE METHODS ==================== -->
 <a name="section-InstanceMethods"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -84,7 +89,7 @@
         <tr>
           <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.__init__">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFcbench.SCPFcbench-pysrc.html#SCPFcbench.__init__">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -101,7 +106,7 @@
           <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">main</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.CASE1">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFcbench.SCPFcbench-pysrc.html#SCPFcbench.CASE1">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -118,7 +123,7 @@
           <td><span class="summary-sig"><a name="CASE2"></a><span class="summary-sig-name">CASE2</span>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">main</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.CASE2">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFcbench.SCPFcbench-pysrc.html#SCPFcbench.CASE2">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -147,13 +152,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.HPSwitchTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFflowTp1g-module.html
similarity index 67%
rename from TestON/Documentation/TestON_Document/TestON.tests.HPSwitchTest-module.html
rename to TestON/Documentation/TestON_Document/TestON.tests.SCPFflowTp1g-module.html
index c34c6eb..c6b1590 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.HPSwitchTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFflowTp1g-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.HPSwitchTest</title>
+  <title>TestON.tests.SCPFflowTp1g</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;HPSwitchTest
+        Package&nbsp;SCPFflowTp1g
       </span>
     </td>
     <td>
@@ -49,14 +54,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.HPSwitchTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFflowTp1g-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package HPSwitchTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.HPSwitchTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Package SCPFflowTp1g</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFflowTp1g-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== SUBMODULES ==================== -->
 <a name="section-Submodules"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -76,11 +81,37 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.HPSwitchTest.HPSwitchTest-module.html">TestON.tests.HPSwitchTest.HPSwitchTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html">TestON.tests.SCPFflowTp1g.SCPFflowTp1g</a></strong>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFflowTp1g-pysrc.html
similarity index 80%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFflowTp1g-pysrc.html
index ab359bb..bed837e 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFflowTp1g-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.SCPFflowTp1g</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;SCPFflowTp1g
       </span>
     </td>
     <td>
@@ -49,13 +54,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFflowTp1g-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SCPFflowTp1g-module.html">Package TestON.tests.SCPFflowTp1g</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html
similarity index 64%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html
index 81b602b..ba0a3f8 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest.PoxTest</title>
+  <title>TestON.tests.SCPFflowTp1g.SCPFflowTp1g</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,8 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.PoxTest-module.html">Package&nbsp;PoxTest</a> ::
-        Module&nbsp;PoxTest
+        <a href="TestON.tests.SCPFflowTp1g-module.html">Package&nbsp;SCPFflowTp1g</a> ::
+        Module&nbsp;SCPFflowTp1g
       </span>
     </td>
     <td>
@@ -50,14 +55,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Module SCPFflowTp1g</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -79,7 +84,32 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html" class="summary-name">PoxTest</a>
+        <a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html" class="summary-name">SCPFflowTp1g</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.tests.SCPFflowTp1g'"><code class="variable-quote">'</code><code class="variable-string">TestON.tests.SCPFflowTp1g</code><code class="variable-quote">'</code></code>
     </td>
   </tr>
 </table>
@@ -103,13 +133,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.SCPFflowTp1g.SCPFflowTp1g-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFflowTp1g.SCPFflowTp1g-pysrc.html
new file mode 100644
index 0000000..5939287
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFflowTp1g.SCPFflowTp1g-pysrc.html
@@ -0,0 +1,511 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.SCPFflowTp1g.SCPFflowTp1g</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.SCPFflowTp1g-module.html">Package&nbsp;SCPFflowTp1g</a> ::
+        Module&nbsp;SCPFflowTp1g
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html">Module TestON.tests.SCPFflowTp1g.SCPFflowTp1g</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># ScaleOutTemplate -&gt; flowTP</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># CASE1 starts number of nodes specified in param file</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># cameron@onlab.us</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-0', 'path', 'link-0');">path</a></tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"> </tt>
+<a name="SCPFflowTp1g"></a><div id="SCPFflowTp1g-def"><a name="L11"></a><tt class="py-lineno"> 11</tt> <a class="py-toggle" href="#" id="SCPFflowTp1g-toggle" onclick="return toggle('SCPFflowTp1g');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html">SCPFflowTp1g</a><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFflowTp1g-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SCPFflowTp1g-expanded"><a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"> </tt>
+<a name="SCPFflowTp1g.__init__"></a><div id="SCPFflowTp1g.__init__-def"><a name="L13"></a><tt class="py-lineno"> 13</tt> <a class="py-toggle" href="#" id="SCPFflowTp1g.__init__-toggle" onclick="return toggle('SCPFflowTp1g.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFflowTp1g.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFflowTp1g.__init__-expanded"><a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-1', 'default', 'link-1');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"> </tt>
+<a name="SCPFflowTp1g.CASE1"></a><div id="SCPFflowTp1g.CASE1-def"><a name="L16"></a><tt class="py-lineno"> 16</tt> <a class="py-toggle" href="#" id="SCPFflowTp1g.CASE1-toggle" onclick="return toggle('SCPFflowTp1g.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#CASE1">CASE1</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFflowTp1g.CASE1-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFflowTp1g.CASE1-expanded"><a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">init</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">init</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">bool</tt><tt class="py-op">:</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">                <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">            <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">        <tt class="py-comment">#Load values from params file</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-name">checkoutBranch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'checkout'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt id="link-2" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-2', 'gitPull', 'link-2');">gitPull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'autopull'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-name">Apps</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellApps'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">BENCHUser</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BENCH'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'user'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">BENCHIp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BENCH'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ip1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'max'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">skipMvn</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'skipCleanInstall'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-3', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"==========DEBUG VERSION 3==========="</tt><tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-comment"># -- INIT SECTION, ONLY RUNS ONCE -- #</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">init</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">            <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">clusterCount</tt>             <tt class="py-comment">#number of nodes running</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">ONOSIp</tt>                   <tt class="py-comment">#list of ONOS IP addresses</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">scale</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">commit</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt class="py-name">ONOSIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-name">scale</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SCALE'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">            <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">            <tt class="py-comment">#Populate ONOSIp with ips from params</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">                <tt class="py-name">ipString</tt> <tt class="py-op">=</tt> <tt class="py-string">'ip'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">                <tt class="py-name">ONOSIp</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-name">ipString</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-name">ONOSIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">            <tt class="py-name">ONOSIp</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getOnosIps"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps" class="py-name" href="#" onclick="return doclink('link-4', 'getOnosIps', 'link-4');">getOnosIps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-comment">#mvn clean install, for debugging set param 'skipCleanInstall' to yes to speed up test</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">skipMvn</tt> <tt class="py-op">!=</tt> <tt class="py-string">"yes"</tt><tt class="py-op">:</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">                <tt class="py-name">mvnResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cleanInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall" class="py-name" href="#" onclick="return doclink('link-5', 'cleanInstall', 'link-5');">cleanInstall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">            <tt class="py-comment">#git</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-6', 'step', 'link-6');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Git checkout and pull "</tt> <tt class="py-op">+</tt> <tt class="py-name">checkoutBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-7" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-7', 'gitPull', 'link-2');">gitPull</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'on'</tt><tt class="py-op">:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">                <tt class="py-name">checkoutResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitCheckout"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout" class="py-name" href="#" onclick="return doclink('link-8', 'gitCheckout', 'link-8');">gitCheckout</a></tt><tt class="py-op">(</tt> <tt class="py-name">checkoutBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">                <tt class="py-name">pullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-9', 'gitPull', 'link-2');">gitPull</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">                <tt class="py-name">checkoutResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">                <tt class="py-name">pullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-10', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Skipped git checkout and pull"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">            <tt class="py-name">commit</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getVersion,Method TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getVersion"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion
+TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion" class="py-name" href="#" onclick="return doclink('link-11', 'getVersion', 'link-11');">getVersion</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-name">commit</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">commit</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-string">"/tmp/flowTP1gDB"</tt><tt class="py-op">,</tt> <tt class="py-string">"w+"</tt><tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-comment"># -- END OF INIT SECTION --#</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-name">scale</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-12', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"CLUSTER COUNT: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-comment">#kill off all onos processes</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-14', 'step', 'link-6');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Safety check, killing all ONOS processes"</tt><tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-15', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-16', 'step', 'link-6');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"before initiating enviornment setup"</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosDie"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie" class="py-name" href="#" onclick="return doclink('link-17', 'onosDie', 'link-17');">onosDie</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-comment">#Uninstall everywhere</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-18', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-19', 'step', 'link-6');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cleaning Enviornment..."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-20', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">" Uninstalling ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosUninstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall" class="py-name" href="#" onclick="return doclink('link-21', 'onosUninstall', 'link-21');">onosUninstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-comment">#construct the cell file</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-22', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Creating cell file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-name">cellIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt> <tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-name">cellIp</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile" class="py-name" href="#" onclick="return doclink('link-23', 'createCellFile', 'link-23');">createCellFile</a></tt><tt class="py-op">(</tt><tt class="py-name">BENCHIp</tt><tt class="py-op">,</tt><tt class="py-name">cellName</tt><tt class="py-op">,</tt><tt class="py-string">"localhost"</tt><tt class="py-op">,</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">Apps</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">cellIp</tt><tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-24', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Cell Ip list: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">cellIp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-25', 'step', 'link-6');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Set Cell"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell,Method TestON.drivers.common.cli.onosdriver.OnosDriver.setCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.setCell" class="py-name" href="#" onclick="return doclink('link-26', 'setCell', 'link-26');">setCell</a></tt><tt class="py-op">(</tt><tt class="py-name">cellName</tt><tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-27', 'step', 'link-6');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Creating ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-name">packageResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage" class="py-name" href="#" onclick="return doclink('link-28', 'onosPackage', 'link-28');">onosPackage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-29', 'step', 'link-6');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"verify cells"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-name">verifyCellResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifyCell"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell" class="py-name" href="#" onclick="return doclink('link-30', 'verifyCell', 'link-30');">verifyCell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-31', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Initializeing "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" node cluster."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-32', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Starting ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" at IP: "</tt> <tt class="py-op">+</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall" class="py-name" href="#" onclick="return doclink('link-33', 'onosInstall', 'link-33');">onosInstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">                <tt id="link-34" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.isup()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#isup"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-34', 'isup', 'link-34');">isup</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-35', 'isup', 'link-34');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-36', 'isup', 'link-34');">isup</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-37', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is up\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-38', 'isup', 'link-34');">isup</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-39', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" didn't start!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-keyword">exec</tt> <tt class="py-string">"a = main.ONOS%scli.startOnosCli"</tt> <tt class="py-op">%</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">            <tt class="py-name">a</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-40', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Startup sequence complete"</tt><tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.logReport()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#logReport"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-41', 'logReport', 'link-41');">logReport</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> <tt class="py-string">"WARNING"</tt><tt class="py-op">,</tt> <tt class="py-string">"EXCEPT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">outputMode</tt><tt class="py-op">=</tt><tt class="py-string">"d"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="SCPFflowTp1g.CASE2"></a><div id="SCPFflowTp1g.CASE2-def"><a name="L137"></a><tt class="py-lineno">137</tt> <a class="py-toggle" href="#" id="SCPFflowTp1g.CASE2-toggle" onclick="return toggle('SCPFflowTp1g.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#CASE2">CASE2</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFflowTp1g.CASE2-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFflowTp1g.CASE2-expanded"><a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-comment">#</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-comment"># This is the flow TP test</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-comment">#</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-42', 'path', 'link-0');">path</a></tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">math</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">datetime</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">traceback</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">currentNeighbors</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-name">currentNeighbors</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-name">currentNeighbors</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'neighbors'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">currentNeighbors</tt> <tt class="py-op">==</tt> <tt class="py-string">"r"</tt><tt class="py-op">:</tt>      <tt class="py-comment">#reset</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">                <tt class="py-name">currentNeighbors</tt> <tt class="py-op">=</tt> <tt class="py-string">"0"</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">                <tt class="py-name">currentNeighbors</tt> <tt class="py-op">=</tt> <tt class="py-string">"a"</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-name">testCMD</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-name">warmUp</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'warmUp'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-name">sampleSize</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'sampleSize'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-name">switches</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'switches'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">neighborList</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'neighbors'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-name">testCMD</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'testCMD0'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-name">testCMD</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'testCMD1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'max'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-name">cooldown</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cooldown'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-name">BENCHIp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BENCH'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ip1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-name">BENCHUser</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BENCH'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'user'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-name">MN1Ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MN'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ip1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-name">homeDir</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-43', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt class="py-string">'~'</tt><tt class="py-op">)</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-name">flowRuleBackup</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'enableFlowRuleStoreBackup'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-44', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Flow Rule Backup is set to:"</tt> <tt class="py-op">+</tt> <tt class="py-name">flowRuleBackup</tt><tt class="py-op">)</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-name">servers</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">            <tt class="py-name">neighborList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'0'</tt><tt class="py-op">]</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-name">currentNeighbors</tt> <tt class="py-op">=</tt> <tt class="py-string">"r"</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">currentNeighbors</tt> <tt class="py-op">==</tt> <tt class="py-string">"a"</tt><tt class="py-op">:</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">                <tt class="py-name">neighborList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">                <tt class="py-name">currentNeighbors</tt> <tt class="py-op">=</tt> <tt class="py-string">"r"</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">                <tt class="py-name">neighborList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'0'</tt><tt class="py-op">]</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-45', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"neightborlist: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">neighborList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-name">ts</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">fromtimestamp</tt><tt class="py-op">(</tt><tt class="py-name">ts</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">'%Y-%m-%d %H:%M:%S'</tt><tt class="py-op">)</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">neighborList</tt><tt class="py-op">:</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-46', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-47', 'step', 'link-6');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"\tSTARTING TEST"</tt><tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-48', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-49', 'step', 'link-6');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"\tLOADING FROM SERVERS:  \t"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-50', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-51', 'step', 'link-6');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"\tNEIGHBORS:\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">n</tt> <tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-52', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"============================================================="</tt><tt class="py-op">)</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-53', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"============================================================="</tt><tt class="py-op">)</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-comment">#write file to configure nil link</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">            <tt class="py-name">ipCSV</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt> <tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">                <tt class="py-name">tempstr</tt> <tt class="py-op">=</tt> <tt class="py-string">"ip"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">                <tt class="py-name">ipCSV</tt> <tt class="py-op">+=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-name">tempstr</tt> <tt class="py-op">]</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">                    <tt class="py-name">ipCSV</tt> <tt class="py-op">+=</tt><tt class="py-string">","</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line"> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosCfgSet"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-54', 'onosCfgSet', 'link-54');">onosCfgSet</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"org.onosproject.provider.nil.NullProviders"</tt><tt class="py-op">,</tt> <tt class="py-string">"deviceCount 35"</tt><tt class="py-op">)</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-55', 'onosCfgSet', 'link-54');">onosCfgSet</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"org.onosproject.provider.nil.NullProviders"</tt><tt class="py-op">,</tt> <tt class="py-string">"topoShape linear"</tt><tt class="py-op">)</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-56', 'onosCfgSet', 'link-54');">onosCfgSet</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"org.onosproject.provider.nil.NullProviders"</tt><tt class="py-op">,</tt> <tt class="py-string">"enabled true"</tt><tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-57', 'sendline', 'link-57');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 summary"</tt><tt class="py-op">)</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">                <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-58', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"\nStart up check: \n"</tt> <tt class="py-op">+</tt> <tt class="py-name">check</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-string">"SCC(s)=1,"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">check</tt><tt class="py-op">:</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">            <tt class="py-comment">#devide flows</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">            <tt id="link-59" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#flows,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#flows"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-59', 'flows', 'link-59');">flows</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'flows'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-60', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Flow Target  = "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-61" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-61', 'flows', 'link-59');">flows</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">            <tt id="link-62" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-62', 'flows', 'link-59');">flows</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt id="link-63" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-63', 'flows', 'link-59');">flows</a></tt> <tt class="py-op">*</tt><tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">servers</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">servers</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-name">switches</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-64', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Flows per switch = "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-65" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-65', 'flows', 'link-59');">flows</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">            <tt class="py-comment">#build list of servers in "$OC1, $OC2...." format</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">            <tt class="py-name">serverEnvVars</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt> <tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">servers</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">                <tt class="py-name">serverEnvVars</tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt><tt class="py-string">"-s "</tt> <tt class="py-op">+</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt><tt class="py-op">)</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">            <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">[</tt><tt class="py-string">""</tt><tt class="py-op">]</tt><tt class="py-op">*</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">servers</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">*</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">sampleSize</tt><tt class="py-op">)</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">            <tt class="py-name">maxes</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">""</tt><tt class="py-op">]</tt><tt class="py-op">*</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">sampleSize</tt><tt class="py-op">)</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt class="py-name">flowCMD</tt> <tt class="py-op">=</tt> <tt class="py-string">"python3 "</tt> <tt class="py-op">+</tt> <tt class="py-name">homeDir</tt> <tt class="py-op">+</tt> <tt class="py-string">"/onos/tools/test/bin/"</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">            <tt class="py-name">flowCMD</tt> <tt class="py-op">+=</tt> <tt class="py-name">testCMD</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-66" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows" class="py-name" href="#" onclick="return doclink('link-66', 'flows', 'link-59');">flows</a></tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">testCMD</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">            <tt class="py-name">flowCMD</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">serverEnvVars</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"-j"</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-67', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">flowCMD</tt><tt class="py-op">)</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">            <tt class="py-comment">#time.sleep(60)</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">test</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">warmUp</tt> <tt class="py-op">+</tt> <tt class="py-name">sampleSize</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">test</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">warmUp</tt><tt class="py-op">:</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-68', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Warm up "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">test</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">warmUp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">                     <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-69', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"====== Test run: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">test</tt><tt class="py-op">-</tt><tt class="py-name">warmUp</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ======"</tt><tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-70', 'sendline', 'link-57');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">flowCMD</tt><tt class="py-op">)</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">                <tt class="py-name">rawResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-71', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Raw results: \n"</tt> <tt class="py-op">+</tt> <tt class="py-name">rawResult</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-string">"failed"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">rawResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-72', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"FLOW_TESTER.PY FAILURE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-73', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">" \n"</tt> <tt class="py-op">+</tt> <tt class="py-name">rawResult</tt> <tt class="py-op">+</tt> <tt class="py-string">" \n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-74', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"======================================================="</tt><tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-75', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">" ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"LOG REPORT"</tt><tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-76', 'logReport', 'link-41');">logReport</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> <tt class="py-string">"WARNING"</tt><tt class="py-op">,</tt> <tt class="py-string">"EXCEPT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">outputMode</tt><tt class="py-op">=</tt><tt class="py-string">"d"</tt><tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-77', 'sendline', 'link-57');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 flows"</tt><tt class="py-op">)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-78', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt><tt class="py-op">)</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line"> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">            <tt class="py-comment">########################################################################################</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">                <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">""</tt><tt class="py-op">]</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line"> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">                <tt class="py-comment">#print("rawResult: " + rawResult)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">                <tt class="py-name">rawResult</tt> <tt class="py-op">=</tt> <tt class="py-name">rawResult</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">rawResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">                        <tt class="py-comment">#print("line: " + line)</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt> <tt class="py-keyword">and</tt> <tt class="py-string">"server"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">                            <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">                            <tt class="py-keyword">for</tt> <tt class="py-name">word</tt> <tt class="py-keyword">in</tt> <tt class="py-name">temp</tt><tt class="py-op">:</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">                                <tt class="py-comment">#print ("word: " + word)</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">                                <tt class="py-keyword">if</tt> <tt class="py-string">"elapsed"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">word</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">                                    <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-name">temp</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">word</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">                                    <tt class="py-name">myParsed</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">temp</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">                                    <tt class="py-name">myParsed</tt> <tt class="py-op">=</tt> <tt class="py-name">myParsed</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"}"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">                                    <tt class="py-name">myParsed</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">myParsed</tt><tt class="py-op">)</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">                                    <tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">myParsed</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">                                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-79', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" : "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">myParsed</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">                                    <tt class="py-keyword">break</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line"> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">test</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">warmUp</tt><tt class="py-op">:</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">result</tt><tt class="py-op">:</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-string">""</tt><tt class="py-op">:</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-80', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-81" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-81', 'error', 'link-81');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Missing data point, critical failure incoming"</tt><tt class="py-op">)</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-name">result</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">                    <tt class="py-name">maxes</tt><tt class="py-op">[</tt><tt class="py-name">test</tt><tt class="py-op">-</tt><tt class="py-name">warmUp</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-82', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Data collection iteration: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">test</tt><tt class="py-op">-</tt><tt class="py-name">warmUp</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" of "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">sampleSize</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-83', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Throughput time: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">maxes</tt><tt class="py-op">[</tt><tt class="py-name">test</tt><tt class="py-op">-</tt><tt class="py-name">warmUp</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"(ms)"</tt><tt class="py-op">)</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line"> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">                    <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-name">test</tt><tt class="py-op">-</tt><tt class="py-name">warmUp</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line"> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">                <tt class="py-comment"># wait for flows = 0</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">checkCount</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">5</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">                    <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-84', 'sendline', 'link-57');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 summary"</tt><tt class="py-op">)</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">                    <tt class="py-name">flowCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-string">"flows=0,"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">flowCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-85', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Flows removed"</tt><tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">                        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">flowCheck</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt class="py-string">"flows="</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">                                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-86', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Current Summary: "</tt> <tt class="py-op">+</tt> <tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">checkCount</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-87', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Flows are stuck, moving on "</tt><tt class="py-op">)</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line"> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line"> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line"> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-88', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"raw data: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-89', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"maxes:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">maxes</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line"> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">            <tt class="py-comment"># report data</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-90', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"\t Results (measurments are in milliseconds)"</tt><tt class="py-op">)</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line"> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">            <tt class="py-name">nodeString</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">servers</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">                <tt class="py-name">nodeString</tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt><tt class="py-string">"\tNode "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line"> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">test</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">sampleSize</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-91', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"\t Test iteration "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">test</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-92', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"\t------------------"</tt><tt class="py-op">)</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-93', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">nodeString</tt><tt class="py-op">)</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line"> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">servers</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">                    <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt><tt class="py-string">"\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-name">test</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-94', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">resultString</tt><tt class="py-op">)</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">            <tt class="py-name">avgOfMaxes</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">maxes</tt><tt class="py-op">)</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-95', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Average of max value from each test iteration: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">avgOfMaxes</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">            <tt class="py-name">stdOfMaxes</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">maxes</tt><tt class="py-op">)</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-96', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Standard Deviation of max values: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">stdOfMaxes</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"\n\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line"> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">            <tt class="py-name">avgTP</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'flows'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt>  <tt class="py-op">/</tt> <tt class="py-name">avgOfMaxes</tt> <tt class="py-comment">#result in kflows/second</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line"> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">            <tt class="py-name">tp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">maxes</tt><tt class="py-op">:</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">                <tt class="py-name">tp</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'flows'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line"> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">            <tt class="py-name">stdTP</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">tp</tt><tt class="py-op">)</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-97', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Average thoughput:  "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">avgTP</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" Kflows/second"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-98', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Standard deviation of throughput: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">stdTP</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" Kflows/second"</tt><tt class="py-op">)</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line"> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">            <tt class="py-name">resultsLog</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-string">"/tmp/flowTP1gDB"</tt><tt class="py-op">,</tt><tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">"'"</tt> <tt class="py-op">+</tt> <tt class="py-name">commit</tt> <tt class="py-op">+</tt> <tt class="py-string">"',"</tt><tt class="py-op">)</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt><tt class="py-string">"'1gig',"</tt><tt class="py-op">)</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'flows'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">avgTP</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">stdTP</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">            <tt class="py-name">resultsLog</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">resultString</tt><tt class="py-op">)</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">            <tt class="py-name">resultsLog</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line"> </tt>
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-99', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"Result line to file: "</tt> <tt class="py-op">+</tt> <tt class="py-name">resultString</tt><tt class="py-op">)</tt> </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line"> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-100', 'logReport', 'link-41');">logReport</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> <tt class="py-string">"WARNING"</tt><tt class="py-op">,</tt> <tt class="py-string">"EXCEPT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">outputMode</tt><tt class="py-op">=</tt><tt class="py-string">"d"</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html
similarity index 78%
rename from TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html
rename to TestON/Documentation/TestON_Document/TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html
index 5e3bc3e..7e6de95 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.DpctlTest.DpctlTest.DpctlTest</title>
+  <title>TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,9 +44,9 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.DpctlTest-module.html">Package&nbsp;DpctlTest</a> ::
-        <a href="TestON.tests.DpctlTest.DpctlTest-module.html">Module&nbsp;DpctlTest</a> ::
-        Class&nbsp;DpctlTest
+        <a href="TestON.tests.SCPFflowTp1g-module.html">Package&nbsp;SCPFflowTp1g</a> ::
+        <a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html">Module&nbsp;SCPFflowTp1g</a> ::
+        Class&nbsp;SCPFflowTp1g
       </span>
     </td>
     <td>
@@ -51,14 +56,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class DpctlTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Class SCPFflowTp1g</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-pysrc.html#SCPFflowTp1g">source&nbsp;code</a></span></p>
 <!-- ==================== INSTANCE METHODS ==================== -->
 <a name="section-InstanceMethods"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -84,7 +89,7 @@
         <tr>
           <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.__init__">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-pysrc.html#SCPFflowTp1g.__init__">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -101,7 +106,7 @@
           <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">main</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.CASE1">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-pysrc.html#SCPFflowTp1g.CASE1">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -118,7 +123,7 @@
           <td><span class="summary-sig"><a name="CASE2"></a><span class="summary-sig-name">CASE2</span>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">main</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.CASE2">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-pysrc.html#SCPFflowTp1g.CASE2">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -147,13 +152,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentEventTp-module.html
similarity index 66%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFintentEventTp-module.html
index 186f4ef..2007fe5 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentEventTp-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.SCPFintentEventTp</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;SCPFintentEventTp
       </span>
     </td>
     <td>
@@ -49,14 +54,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFintentEventTp-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Package SCPFintentEventTp</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFintentEventTp-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== SUBMODULES ==================== -->
 <a name="section-Submodules"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -76,11 +81,37 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.PoxTest.PoxTest-module.html">TestON.tests.PoxTest.PoxTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html">TestON.tests.SCPFintentEventTp.SCPFintentEventTp</a></strong>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentEventTp-pysrc.html
similarity index 80%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFintentEventTp-pysrc.html
index ab359bb..d210d1c 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentEventTp-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.SCPFintentEventTp</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;SCPFintentEventTp
       </span>
     </td>
     <td>
@@ -49,13 +54,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFintentEventTp-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SCPFintentEventTp-module.html">Package TestON.tests.SCPFintentEventTp</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html
similarity index 63%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html
index 81b602b..a34d6ea 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest.PoxTest</title>
+  <title>TestON.tests.SCPFintentEventTp.SCPFintentEventTp</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,8 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.PoxTest-module.html">Package&nbsp;PoxTest</a> ::
-        Module&nbsp;PoxTest
+        <a href="TestON.tests.SCPFintentEventTp-module.html">Package&nbsp;SCPFintentEventTp</a> ::
+        Module&nbsp;SCPFintentEventTp
       </span>
     </td>
     <td>
@@ -50,14 +55,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Module SCPFintentEventTp</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -79,7 +84,32 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html" class="summary-name">PoxTest</a>
+        <a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html" class="summary-name">SCPFintentEventTp</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.tests.SCPFintentEventTp'"><code class="variable-quote">'</code><code class="variable-string">TestON.tests.SCPFintentEventTp</code><code class="variable-quote">'</code></code>
     </td>
   </tr>
 </table>
@@ -103,13 +133,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentEventTp.SCPFintentEventTp-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentEventTp.SCPFintentEventTp-pysrc.html
new file mode 100644
index 0000000..a95aebc
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentEventTp.SCPFintentEventTp-pysrc.html
@@ -0,0 +1,468 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.SCPFintentEventTp.SCPFintentEventTp</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.SCPFintentEventTp-module.html">Package&nbsp;SCPFintentEventTp</a> ::
+        Module&nbsp;SCPFintentEventTp
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html">Module TestON.tests.SCPFintentEventTp.SCPFintentEventTp</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># ScaleOutTemplate</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># CASE1 starts number of nodes specified in param file</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># cameron@onlab.us</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-0', 'path', 'link-0');">path</a></tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"> </tt>
+<a name="SCPFintentEventTp"></a><div id="SCPFintentEventTp-def"><a name="L12"></a><tt class="py-lineno"> 12</tt> <a class="py-toggle" href="#" id="SCPFintentEventTp-toggle" onclick="return toggle('SCPFintentEventTp');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html">SCPFintentEventTp</a><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFintentEventTp-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SCPFintentEventTp-expanded"><a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"> </tt>
+<a name="SCPFintentEventTp.__init__"></a><div id="SCPFintentEventTp.__init__-def"><a name="L14"></a><tt class="py-lineno"> 14</tt> <a class="py-toggle" href="#" id="SCPFintentEventTp.__init__-toggle" onclick="return toggle('SCPFintentEventTp.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFintentEventTp.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFintentEventTp.__init__-expanded"><a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-1', 'default', 'link-1');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"> </tt>
+<a name="SCPFintentEventTp.CASE1"></a><div id="SCPFintentEventTp.CASE1-def"><a name="L17"></a><tt class="py-lineno"> 17</tt> <a class="py-toggle" href="#" id="SCPFintentEventTp.CASE1-toggle" onclick="return toggle('SCPFintentEventTp.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#CASE1">CASE1</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFintentEventTp.CASE1-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFintentEventTp.CASE1-expanded"><a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-2', 'path', 'link-0');">path</a></tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">init</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">init</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">bool</tt><tt class="py-op">:</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">                <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">Fals</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">            <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-comment">#Load values from params file</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-name">checkoutBranch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'checkout'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-3', 'gitPull', 'link-3');">gitPull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'autopull'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">Apps</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellApps'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">BENCHIp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BENCH'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ip1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">BENCHUser</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BENCH'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'user'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">MN1Ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MN'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ip1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'max'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-name">maxNodes</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">skipMvn</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'skipCleanInstall'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">numSwitches</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'numSwitches'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">flowRuleBU</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'flowRuleBUEnabled'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">homeDir</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-4', 'path', 'link-0');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt class="py-string">'~'</tt><tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">exceptions</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">*</tt><tt class="py-number">11</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">warnings</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">*</tt><tt class="py-number">11</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">*</tt><tt class="py-number">11</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-comment"># -- INIT SECTION, ONLY RUNS ONCE -- #</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">init</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">            <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">clusterCount</tt>             <tt class="py-comment">#number of nodes running</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">ONOSIp</tt>                   <tt class="py-comment">#list of ONOS IP addresses</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">scale</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">commit</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">            <tt class="py-name">ONOSIp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getOnosIps"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps" class="py-name" href="#" onclick="return doclink('link-5', 'getOnosIps', 'link-5');">getOnosIps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">ONOSIp</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">onosIps</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">            <tt class="py-name">scale</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SCALE'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">            <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt class="py-comment">#Populate ONOSIp with ips from params</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt class="py-name">ONOSIp</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps" class="py-name" href="#" onclick="return doclink('link-6', 'getOnosIps', 'link-5');">getOnosIps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">            <tt class="py-comment">#mvn clean install, for debugging set param 'skipCleanInstall' to yes to speed up test</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">skipMvn</tt> <tt class="py-op">!=</tt> <tt class="py-string">"yes"</tt><tt class="py-op">:</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">                <tt class="py-name">mvnResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cleanInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall" class="py-name" href="#" onclick="return doclink('link-7', 'cleanInstall', 'link-7');">cleanInstall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">            <tt class="py-comment">#git</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-8', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Git checkout and pull "</tt> <tt class="py-op">+</tt> <tt class="py-name">checkoutBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-9', 'gitPull', 'link-3');">gitPull</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'on'</tt><tt class="py-op">:</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">                <tt class="py-name">checkoutResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitCheckout"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout" class="py-name" href="#" onclick="return doclink('link-10', 'gitCheckout', 'link-10');">gitCheckout</a></tt><tt class="py-op">(</tt> <tt class="py-name">checkoutBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">                <tt class="py-name">pullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-11', 'gitPull', 'link-3');">gitPull</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">                <tt class="py-name">checkoutResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">                <tt class="py-name">pullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-12', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Skipped git checkout and pull"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-14', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Grabbing commit number"</tt><tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">            <tt class="py-name">commit</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getVersion,Method TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getVersion"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion
+TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion" class="py-name" href="#" onclick="return doclink('link-15', 'getVersion', 'link-15');">getVersion</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">            <tt class="py-name">commit</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">commit</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-16', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-17', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Creating results file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-string">"/tmp/IntentEventTPDB"</tt><tt class="py-op">,</tt> <tt class="py-string">"w+"</tt><tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-comment"># -- END OF INIT SECTION --#</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-18', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-19', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Adjusting scale"</tt><tt class="py-op">)</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">scale</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-name">MN1Ip</tt> <tt class="py-op">=</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">BENCHIp</tt> <tt class="py-op">=</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-comment">#kill off all onos processes</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-20', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-21', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Safety check, killing all ONOS processes"</tt><tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-22', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-23', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"before initiating enviornment setup"</tt><tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">maxNodes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosDie"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie" class="py-name" href="#" onclick="return doclink('link-24', 'onosDie', 'link-24');">onosDie</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-name">MN1Ip</tt> <tt class="py-op">=</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-name">BENCHIp</tt> <tt class="py-op">=</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-comment">#Uninstall everywhere</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-25', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-26', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cleaning Enviornment..."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">maxNodes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-27', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">" Uninstalling ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosUninstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall" class="py-name" href="#" onclick="return doclink('link-28', 'onosUninstall', 'link-28');">onosUninstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-29', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Sleep 10 second for uninstall to settle..."</tt><tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-30', 'sendline', 'link-30');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-comment">#construct the cell file</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-31', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Creating cell file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-name">cellIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt> <tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-name">cellIp</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile" class="py-name" href="#" onclick="return doclink('link-32', 'createCellFile', 'link-32');">createCellFile</a></tt><tt class="py-op">(</tt><tt class="py-string">"localhost"</tt><tt class="py-op">,</tt><tt class="py-name">cellName</tt><tt class="py-op">,</tt><tt class="py-name">MN1Ip</tt><tt class="py-op">,</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">Apps</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">cellIp</tt><tt class="py-op">)</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-33', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Set Cell"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell,Method TestON.drivers.common.cli.onosdriver.OnosDriver.setCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.setCell" class="py-name" href="#" onclick="return doclink('link-34', 'setCell', 'link-34');">setCell</a></tt><tt class="py-op">(</tt><tt class="py-name">cellName</tt><tt class="py-op">)</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">myDistribution</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt> <tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-name">myDistribution</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">numSwitches</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-35', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Creating ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">packageResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage" class="py-name" href="#" onclick="return doclink('link-36', 'onosPackage', 'link-36');">onosPackage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-37', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"verify cells"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-name">verifyCellResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifyCell"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell" class="py-name" href="#" onclick="return doclink('link-38', 'verifyCell', 'link-38');">verifyCell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-39', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Initializeing "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" node cluster."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-40', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Starting ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" at IP: "</tt> <tt class="py-op">+</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall" class="py-name" href="#" onclick="return doclink('link-41', 'onosInstall', 'link-41');">onosInstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">                <tt id="link-42" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.isup()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#isup"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-42', 'isup', 'link-42');">isup</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-43', 'isup', 'link-42');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-44" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-44', 'isup', 'link-42');">isup</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-45', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is up\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-46" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-46', 'isup', 'link-42');">isup</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-47', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" didn't start!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-48', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Startup sequence complete"</tt><tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosCfgSet"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-49', 'onosCfgSet', 'link-49');">onosCfgSet</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"org.onosproject.store.flow.impl.NewDistributedFlowRuleStore"</tt><tt class="py-op">,</tt> <tt class="py-string">"backupEnabled false"</tt><tt class="py-op">)</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt id="link-50" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#devices"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-50', 'devices', 'link-50');">devices</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-number">10</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-51', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-52', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Setting up null provider"</tt><tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-53', 'onosCfgSet', 'link-49');">onosCfgSet</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"org.onosproject.provider.nil.NullProviders"</tt><tt class="py-op">,</tt> <tt class="py-string">"deviceCount "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-54" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-54', 'devices', 'link-50');">devices</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-55', 'onosCfgSet', 'link-49');">onosCfgSet</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"org.onosproject.provider.nil.NullProviders"</tt><tt class="py-op">,</tt> <tt class="py-string">"topoShape linear"</tt><tt class="py-op">)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-56', 'onosCfgSet', 'link-49');">onosCfgSet</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"org.onosproject.provider.nil.NullProviders"</tt><tt class="py-op">,</tt> <tt class="py-string">"enabled true"</tt><tt class="py-op">)</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-57', 'sendline', 'link-30');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 summary"</tt><tt class="py-op">)</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">            <tt class="py-name">before</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">"devices="</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-58" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-58', 'devices', 'link-50');">devices</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">before</tt><tt class="py-op">:</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-59', 'sendline', 'link-30');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"""onos $OC1 "balance-masters" """</tt><tt class="py-op">)</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-name">lastOutput</tt> <tt class="py-op">=</tt> <tt class="py-string">"--"</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">origin</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-name">clockStarted</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-60', 'sendline', 'link-30');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-61', 'sendline', 'link-30');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 summary"</tt><tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-62', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"before"</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt><tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">            <tt class="py-name">clusterCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"\nBefore: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCheck</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">"SCC(s)=1,"</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">clusterCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">clusterCheck</tt> <tt class="py-op">!=</tt> <tt class="py-name">lastOutput</tt><tt class="py-op">:</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">                <tt class="py-name">sameOutput</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">clusterCheck</tt> <tt class="py-op">==</tt> <tt class="py-name">lastOutput</tt><tt class="py-op">:</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">clockStarted</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">                    <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">                    <tt class="py-name">clockStarted</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-op">(</tt><tt class="py-name">start</tt> <tt class="py-op">+</tt> <tt class="py-number">30</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-63', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt id="link-64" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-64', 'error', 'link-64');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"TIMEOUT EXCEEDED: Clusters have not converged, continuing anyway..."</tt><tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">            <tt class="py-name">lastOutput</tt> <tt class="py-op">=</tt> <tt class="py-name">clusterCheck</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.logReport()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#logReport"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-65', 'logReport', 'link-65');">logReport</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> <tt class="py-string">"WARNING"</tt><tt class="py-op">,</tt> <tt class="py-string">"EXCEPT"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="SCPFintentEventTp.CASE2"></a><div id="SCPFintentEventTp.CASE2-def"><a name="L209"></a><tt class="py-lineno">209</tt> <a class="py-toggle" href="#" id="SCPFintentEventTp.CASE2-toggle" onclick="return toggle('SCPFintentEventTp.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#CASE2">CASE2</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFintentEventTp.CASE2-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFintentEventTp.CASE2-expanded"><a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">csv</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-66', 'path', 'link-0');">path</a></tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">currentNeighbors</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-name">neighbors</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">            <tt class="py-name">currentNeighbors</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">            <tt class="py-name">currentNeighbors</tt> <tt class="py-op">=</tt> <tt class="py-string">"0"</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">            <tt class="py-name">neighbors</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'0'</tt><tt class="py-op">]</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">currentNeighbors</tt> <tt class="py-op">==</tt> <tt class="py-string">"r"</tt><tt class="py-op">:</tt>      <tt class="py-comment">#reset</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">                <tt class="py-name">currentNeighbors</tt> <tt class="py-op">=</tt> <tt class="py-string">"a"</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">                <tt class="py-name">neighbors</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'0'</tt><tt class="py-op">]</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">                <tt class="py-name">currentNeighbors</tt> <tt class="py-op">=</tt> <tt class="py-string">"r"</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">                <tt class="py-name">neighbors</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'a'</tt><tt class="py-op">]</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">            <tt class="py-name">currentNeighbors</tt> <tt class="py-op">=</tt> <tt class="py-string">"r"</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-67', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Cluster Count = "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-name">intentsRate</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'METRICS'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'intents_rate'</tt><tt class="py-op">]</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-name">intentsWithdrawn</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'METRICS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'intents_withdrawn'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-name">intentsFailed</tt>  <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'METRICS'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'intents_failed'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt class="py-name">testDuration</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'duration'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">        <tt class="py-name">logInterval</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'log_interval'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">        <tt class="py-name">debug</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'debugMode'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-name">numKeys</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'numKeys'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">        <tt class="py-name">cyclePeriod</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cyclePeriod'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-comment">#neighbors = (main.params[ 'TEST' ][ 'neighbors' ]).split(",")</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">        <tt class="py-name">metricList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">intentsRate</tt><tt class="py-op">,</tt> <tt class="py-name">intentsWithdrawn</tt><tt class="py-op">,</tt> <tt class="py-name">intentsFailed</tt><tt class="py-op">]</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">neighbors</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">neighbors</tt><tt class="py-op">[</tt><tt class="py-name">n</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'a'</tt><tt class="py-op">:</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">                <tt class="py-name">neighbors</tt><tt class="py-op">[</tt><tt class="py-name">n</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">                    <tt class="py-name">neighbors</tt> <tt class="py-op">=</tt> <tt class="py-name">neighbors</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">neighbors</tt><tt class="py-op">:</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-68', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Run with "</tt> <tt class="py-op">+</tt> <tt class="py-name">n</tt> <tt class="py-op">+</tt> <tt class="py-string">" neighbors"</tt><tt class="py-op">)</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-69', 'sendline', 'link-30');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 cfg set org.onosproject.intentperf.IntentPerfInstaller numKeys "</tt> <tt class="py-op">+</tt> <tt class="py-name">numKeys</tt> <tt class="py-op">)</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-70', 'sendline', 'link-30');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 cfg set org.onosproject.intentperf.IntentPerfInstaller numNeighbors "</tt> <tt class="py-op">+</tt> <tt class="py-name">n</tt> <tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-71', 'sendline', 'link-30');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 cfg set org.onosproject.intentperf.IntentPerfInstaller cyclePeriod "</tt> <tt class="py-op">+</tt> <tt class="py-name">cyclePeriod</tt> <tt class="py-op">)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line"> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos $OC1 intent-perf-start"</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-72', 'sendline', 'link-30');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-73', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Starting ONOS (all nodes)  intent-perf from $OC1"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-74', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Starting test loop for "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">testDuration</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" seconds...\n"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">            <tt id="link-75" class="py-name" targets="Method TestON.bin.cli.TestThread.stop()=TestON.bin.cli.TestThread-class.html#stop"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-75', 'stop', 'link-75');">stop</a></tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">testDuration</tt> <tt class="py-op">)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt id="link-76" class="py-name"><a title="TestON.bin.cli.TestThread.stop" class="py-name" href="#" onclick="return doclink('link-76', 'stop', 'link-75');">stop</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt> <tt class="py-name">logInterval</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">                <tt class="py-name">groupResult</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt> <tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">                    <tt class="py-name">groupResult</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line"> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">" onos-ssh $OC"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt>  <tt class="py-string">""" cat /opt/onos/log/karaf.log | grep "SNAPSHOT | Throughput" | tail -1  """</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-77', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"COMMAND: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">                    <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">                    <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-78', 'sendline', 'link-30');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">                        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">6</tt><tt class="py-op">)</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">                        <tt class="py-name">raw</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-string">"OVERALL="</tt> <tt class="py-keyword">in</tt> <tt class="py-name">raw</tt><tt class="py-op">:</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">                        <tt class="py-name">x</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">x</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">10</tt><tt class="py-op">:</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-79', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-80', 'error', 'link-64');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Expected output not being recieved... continuing"</tt><tt class="py-op">)</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">                        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">                    <tt class="py-name">raw</tt> <tt class="py-op">=</tt> <tt class="py-name">raw</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">                    <tt class="py-name">splitResults</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">raw</tt><tt class="py-op">:</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">                        <tt class="py-name">splitResults</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line"> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">                    <tt class="py-name">myResult</tt> <tt class="py-op">=</tt> <tt class="py-string">"--"</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">field</tt> <tt class="py-keyword">in</tt> <tt class="py-name">splitResults</tt><tt class="py-op">:</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-string">"OVERALL"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">field</tt><tt class="py-op">:</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">                            <tt class="py-name">myResult</tt> <tt class="py-op">=</tt> <tt class="py-name">field</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">myResult</tt> <tt class="py-op">==</tt> <tt class="py-string">"--"</tt><tt class="py-op">:</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-81', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-82', 'error', 'link-64');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Parsing/Pexpect error\n"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">splitResults</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">                    <tt class="py-name">myResult</tt> <tt class="py-op">=</tt> <tt class="py-name">myResult</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">";"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">                    <tt class="py-name">myResult</tt> <tt class="py-op">=</tt> <tt class="py-name">myResult</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"OVERALL="</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">                    <tt class="py-name">myResult</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">myResult</tt><tt class="py-op">)</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">                    <tt class="py-name">groupResult</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">groupResult</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">myResult</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line"> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-83', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Node "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" overall rate: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">myResult</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line"> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">                <tt class="py-name">clusterTotal</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-name">groupResult</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-84', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"Results from this round of polling: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">groupResult</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-85', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"Cluster Total: "</tt> <tt class="py-op">+</tt> <tt class="py-name">clusterTotal</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line"> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos $OC1 intent-perf-stop"</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-86', 'sendline', 'link-30');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-87', 'log', 'link-12');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Stopping intentperf"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line"> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-string">"/tmp/IntentEventTPDB"</tt><tt class="py-op">,</tt> <tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">groupResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line"> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"'"</tt> <tt class="py-op">+</tt> <tt class="py-name">commit</tt> <tt class="py-op">+</tt> <tt class="py-string">"',"</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-string">"'1gig',"</tt> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-string">"'baremetal"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">groupResult</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"',"</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-name">n</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">                <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> <tt class="py-comment">#no stddev</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">                <tt class="py-name">resultsDB</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">resultString</tt><tt class="py-op">)</tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line"> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line"> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-88', 'logReport', 'link-65');">logReport</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> <tt class="py-string">"WARNING"</tt><tt class="py-op">,</tt> <tt class="py-string">"EXCEPT"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:37 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html
similarity index 76%
copy from TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html
index 5e3bc3e..1efedec 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.DpctlTest.DpctlTest.DpctlTest</title>
+  <title>TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,9 +44,9 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.DpctlTest-module.html">Package&nbsp;DpctlTest</a> ::
-        <a href="TestON.tests.DpctlTest.DpctlTest-module.html">Module&nbsp;DpctlTest</a> ::
-        Class&nbsp;DpctlTest
+        <a href="TestON.tests.SCPFintentEventTp-module.html">Package&nbsp;SCPFintentEventTp</a> ::
+        <a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html">Module&nbsp;SCPFintentEventTp</a> ::
+        Class&nbsp;SCPFintentEventTp
       </span>
     </td>
     <td>
@@ -51,14 +56,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class DpctlTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Class SCPFintentEventTp</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-pysrc.html#SCPFintentEventTp">source&nbsp;code</a></span></p>
 <!-- ==================== INSTANCE METHODS ==================== -->
 <a name="section-InstanceMethods"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -84,7 +89,7 @@
         <tr>
           <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.__init__">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-pysrc.html#SCPFintentEventTp.__init__">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -101,7 +106,7 @@
           <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">main</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.CASE1">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-pysrc.html#SCPFintentEventTp.CASE1">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -118,7 +123,7 @@
           <td><span class="summary-sig"><a name="CASE2"></a><span class="summary-sig-name">CASE2</span>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">main</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.CASE2">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-pysrc.html#SCPFintentEventTp.CASE2">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -147,13 +152,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentInstallWithdrawLat-module.html
similarity index 65%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFintentInstallWithdrawLat-module.html
index 186f4ef..b7353dd 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentInstallWithdrawLat-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.SCPFintentInstallWithdrawLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;SCPFintentInstallWithdrawLat
       </span>
     </td>
     <td>
@@ -49,14 +54,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFintentInstallWithdrawLat-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Package SCPFintentInstallWithdrawLat</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFintentInstallWithdrawLat-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== SUBMODULES ==================== -->
 <a name="section-Submodules"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -76,11 +81,37 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.PoxTest.PoxTest-module.html">TestON.tests.PoxTest.PoxTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html">TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat</a></strong>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentInstallWithdrawLat-pysrc.html
similarity index 79%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFintentInstallWithdrawLat-pysrc.html
index ab359bb..baecf93 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentInstallWithdrawLat-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.SCPFintentInstallWithdrawLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;SCPFintentInstallWithdrawLat
       </span>
     </td>
     <td>
@@ -49,13 +54,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFintentInstallWithdrawLat-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SCPFintentInstallWithdrawLat-module.html">Package TestON.tests.SCPFintentInstallWithdrawLat</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:39 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html
similarity index 62%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html
index 81b602b..f90d500 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest.PoxTest</title>
+  <title>TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,8 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.PoxTest-module.html">Package&nbsp;PoxTest</a> ::
-        Module&nbsp;PoxTest
+        <a href="TestON.tests.SCPFintentInstallWithdrawLat-module.html">Package&nbsp;SCPFintentInstallWithdrawLat</a> ::
+        Module&nbsp;SCPFintentInstallWithdrawLat
       </span>
     </td>
     <td>
@@ -50,14 +55,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Module SCPFintentInstallWithdrawLat</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -79,7 +84,32 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html" class="summary-name">PoxTest</a>
+        <a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html" class="summary-name">SCPFintentInstallWithdrawLat</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.tests.SCPFintentInstallWithdrawLat'"><code class="variable-quote">'</code><code class="variable-string">TestON.tests.SCPFintentInstallWithdrawLat</code><code class="variable-quote">'</code></code>
     </td>
   </tr>
 </table>
@@ -103,13 +133,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-pysrc.html
new file mode 100644
index 0000000..62aea8b
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-pysrc.html
@@ -0,0 +1,427 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.SCPFintentInstallWithdrawLat-module.html">Package&nbsp;SCPFintentInstallWithdrawLat</a> ::
+        Module&nbsp;SCPFintentInstallWithdrawLat
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html">Module TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># ScaleOutTemplate</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># CASE1 starts number of nodes specified in param file</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># cameron@onlab.us</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-0', 'path', 'link-0');">path</a></tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"> </tt>
+<a name="SCPFintentInstallWithdrawLat"></a><div id="SCPFintentInstallWithdrawLat-def"><a name="L11"></a><tt class="py-lineno"> 11</tt> <a class="py-toggle" href="#" id="SCPFintentInstallWithdrawLat-toggle" onclick="return toggle('SCPFintentInstallWithdrawLat');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html">SCPFintentInstallWithdrawLat</a><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFintentInstallWithdrawLat-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SCPFintentInstallWithdrawLat-expanded"><a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"> </tt>
+<a name="SCPFintentInstallWithdrawLat.__init__"></a><div id="SCPFintentInstallWithdrawLat.__init__-def"><a name="L13"></a><tt class="py-lineno"> 13</tt> <a class="py-toggle" href="#" id="SCPFintentInstallWithdrawLat.__init__-toggle" onclick="return toggle('SCPFintentInstallWithdrawLat.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFintentInstallWithdrawLat.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFintentInstallWithdrawLat.__init__-expanded"><a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-1', 'default', 'link-1');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"> </tt>
+<a name="SCPFintentInstallWithdrawLat.CASE1"></a><div id="SCPFintentInstallWithdrawLat.CASE1-def"><a name="L16"></a><tt class="py-lineno"> 16</tt> <a class="py-toggle" href="#" id="SCPFintentInstallWithdrawLat.CASE1-toggle" onclick="return toggle('SCPFintentInstallWithdrawLat.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#CASE1">CASE1</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFintentInstallWithdrawLat.CASE1-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFintentInstallWithdrawLat.CASE1-expanded"><a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">init</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">init</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">bool</tt><tt class="py-op">:</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">                <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">            <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">        <tt class="py-comment">#Load values from params file</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-name">checkoutBranch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'checkout'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt id="link-2" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-2', 'gitPull', 'link-2');">gitPull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'autopull'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-name">Apps</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellApps'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">BENCHIp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BENCH'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ip1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">BENCHUser</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BENCH'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'user'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">MN1Ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MN'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ip1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'max'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">skipMvn</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'skipCleanInstall'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">switchCount</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'switchCount'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-comment"># -- INIT SECTION, ONLY RUNS ONCE -- #</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">init</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">            <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">clusterCount</tt>             <tt class="py-comment">#number of nodes running</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">ONOSIp</tt>                   <tt class="py-comment">#list of ONOS IP addresses</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">scale</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">commit</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt class="py-name">ONOSIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-name">scale</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SCALE'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">            <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">            <tt class="py-comment">#Populate ONOSIp with ips from params</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-name">ONOSIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">            <tt class="py-name">ONOSIp</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getOnosIps"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps" class="py-name" href="#" onclick="return doclink('link-3', 'getOnosIps', 'link-3');">getOnosIps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-comment">#mvn clean install, for debugging set param 'skipCleanInstall' to yes to speed up test</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">skipMvn</tt> <tt class="py-op">!=</tt> <tt class="py-string">"yes"</tt><tt class="py-op">:</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">                <tt class="py-name">mvnResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cleanInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall" class="py-name" href="#" onclick="return doclink('link-4', 'cleanInstall', 'link-4');">cleanInstall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-comment">#git</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-5', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Git checkout and pull "</tt> <tt class="py-op">+</tt> <tt class="py-name">checkoutBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-6', 'gitPull', 'link-2');">gitPull</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'on'</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">                <tt class="py-name">checkoutResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitCheckout"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout" class="py-name" href="#" onclick="return doclink('link-7', 'gitCheckout', 'link-7');">gitCheckout</a></tt><tt class="py-op">(</tt> <tt class="py-name">checkoutBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                <tt class="py-name">pullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-8', 'gitPull', 'link-2');">gitPull</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">                <tt class="py-name">checkoutResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">                <tt class="py-name">pullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Skipped git checkout and pull"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">            <tt class="py-name">commit</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getVersion,Method TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getVersion"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion
+TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion" class="py-name" href="#" onclick="return doclink('link-10', 'getVersion', 'link-10');">getVersion</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">            <tt class="py-name">commit</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">commit</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-string">"/tmp/IntentInstallWithdrawLatDB"</tt><tt class="py-op">,</tt> <tt class="py-string">"w+"</tt><tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-comment"># -- END OF INIT SECTION --#</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-name">scale</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-comment">#kill off all onos processes</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-11', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-12', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Safety check, killing all ONOS processes"</tt><tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-14', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"before initiating enviornment setup"</tt><tt class="py-op">)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosDie"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie" class="py-name" href="#" onclick="return doclink('link-15', 'onosDie', 'link-15');">onosDie</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-comment">#Uninstall everywhere</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-16', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-17', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cleaning Enviornment..."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-18', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">" Uninstalling ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosUninstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall" class="py-name" href="#" onclick="return doclink('link-19', 'onosUninstall', 'link-19');">onosUninstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-comment">#construct the cell file</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-20', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Creating cell file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">cellIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt> <tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-name">cellIp</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile" class="py-name" href="#" onclick="return doclink('link-21', 'createCellFile', 'link-21');">createCellFile</a></tt><tt class="py-op">(</tt><tt class="py-name">BENCHIp</tt><tt class="py-op">,</tt><tt class="py-name">cellName</tt><tt class="py-op">,</tt><tt class="py-name">MN1Ip</tt><tt class="py-op">,</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">Apps</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">cellIp</tt><tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-22', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Set Cell"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell,Method TestON.drivers.common.cli.onosdriver.OnosDriver.setCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.setCell" class="py-name" href="#" onclick="return doclink('link-23', 'setCell', 'link-23');">setCell</a></tt><tt class="py-op">(</tt><tt class="py-name">cellName</tt><tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-24', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Creating ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-name">packageResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage" class="py-name" href="#" onclick="return doclink('link-25', 'onosPackage', 'link-25');">onosPackage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-26', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"verify cells"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-name">verifyCellResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifyCell"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell" class="py-name" href="#" onclick="return doclink('link-27', 'verifyCell', 'link-27');">verifyCell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-28', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Initializeing "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" node cluster."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-29', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Starting ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" at IP: "</tt> <tt class="py-op">+</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall" class="py-name" href="#" onclick="return doclink('link-30', 'onosInstall', 'link-30');">onosInstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">                <tt id="link-31" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.isup()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#isup"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-31', 'isup', 'link-31');">isup</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-32', 'isup', 'link-31');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-33" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-33', 'isup', 'link-31');">isup</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-34', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is up\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-35" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-35', 'isup', 'link-31');">isup</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-36', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" didn't start!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOS1cli</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#startOnosCli"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli" class="py-name" href="#" onclick="return doclink('link-37', 'startOnosCli', 'link-37');">startOnosCli</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-38', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Startup sequence complete"</tt><tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">30</tt><tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosCfgSet"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-39', 'onosCfgSet', 'link-39');">onosCfgSet</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"org.onosproject.provider.nil.NullProviders"</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"deviceCount "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">switchCount</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-40', 'onosCfgSet', 'link-39');">onosCfgSet</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"org.onosproject.provider.nil.NullProviders"</tt><tt class="py-op">,</tt> <tt class="py-string">"topoShape linear"</tt><tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-41', 'onosCfgSet', 'link-39');">onosCfgSet</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"org.onosproject.provider.nil.NullProviders"</tt><tt class="py-op">,</tt> <tt class="py-string">"enabled true"</tt><tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.verifySummary()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifySummary"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.verifySummary" class="py-name" href="#" onclick="return doclink('link-42', 'verifySummary', 'link-42');">verifySummary</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">switchCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-string">"Failed- looping"</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-43', 'sendline', 'link-43');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"""onos $OC1 "balance-masters" """</tt><tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.logReport()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#logReport"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-44', 'logReport', 'link-44');">logReport</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> <tt class="py-string">"WARNING"</tt><tt class="py-op">,</tt> <tt class="py-string">"EXCEPT"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"> </tt>
+<a name="SCPFintentInstallWithdrawLat.CASE2"></a><div id="SCPFintentInstallWithdrawLat.CASE2-def"><a name="L143"></a><tt class="py-lineno">143</tt> <a class="py-toggle" href="#" id="SCPFintentInstallWithdrawLat.CASE2-toggle" onclick="return toggle('SCPFintentInstallWithdrawLat.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#CASE2">CASE2</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFintentInstallWithdrawLat.CASE2-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFintentInstallWithdrawLat.CASE2-expanded"><a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-name">testStatus</tt> <tt class="py-op">=</tt> <tt class="py-string">"pass"</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-name">sampleSize</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'sampleSize'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-name">warmUp</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'warmUp'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-name">intentsList</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'intents'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-name">switchCount</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'switchCount'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-name">debug</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'switchCount'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">intentsList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">            <tt class="py-name">intentsList</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">intentsList</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-comment">######################</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-name">debug</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-comment">######################</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-name">linkCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-45', 'sendline', 'link-43');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 links|wc -l"</tt><tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">            <tt class="py-name">linkCount</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-46', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Link Count check: "</tt> <tt class="py-op">+</tt> <tt class="py-name">linkCount</tt><tt class="py-op">)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">switchCount</tt><tt class="py-op">*</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">linkCount</tt><tt class="py-op">:</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt id="link-47" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#links,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#links"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-47', 'links', 'link-47');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"--"</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">8</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-48', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"top of loop"</tt><tt class="py-op">)</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-49', 'sendline', 'link-43');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 links"</tt><tt class="py-op">)</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">            <tt id="link-50" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-50', 'links', 'link-47');">links</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"=null:"</tt> <tt class="py-keyword">in</tt> <tt id="link-51" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-51', 'links', 'link-47');">links</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-52', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-53" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-53', 'links', 'link-47');">links</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-54', 'logReport', 'link-44');">logReport</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> <tt class="py-string">"WARNING"</tt><tt class="py-op">,</tt> <tt class="py-string">"EXCEPT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"d"</tt><tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">7</tt><tt class="py-op">:</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-55', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-56', 'error', 'link-56');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"link data missing"</tt><tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt id="link-57" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-57', 'links', 'link-47');">links</a></tt> <tt class="py-op">=</tt> <tt id="link-58" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-58', 'links', 'link-47');">links</a></tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-name">templinks</tt> <tt class="py-op">=</tt> <tt id="link-59" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-59', 'links', 'link-47');">links</a></tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-name">tempDevices</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt id="link-60" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links" class="py-name" href="#" onclick="return doclink('link-60', 'links', 'link-47');">links</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">            <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">            <tt class="py-name">temp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"src="</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">            <tt class="py-name">temp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">temp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">            <tt class="py-name">tempDevices</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">temp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-name">tempDevices</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt id="link-61" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#devices"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-61', 'devices', 'link-61');">devices</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tempDevices</tt><tt class="py-op">:</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"src=null"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">i</tt><tt class="py-op">:</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">                <tt id="link-62" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-62', 'devices', 'link-61');">devices</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"src="</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-63', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-64" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-64', 'devices', 'link-61');">devices</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-name">ingress</tt> <tt class="py-op">=</tt> <tt id="link-65" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-65', 'devices', 'link-61');">devices</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-name">egress</tt> <tt class="py-op">=</tt> <tt id="link-66" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-66', 'devices', 'link-61');">devices</a></tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-67', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">ingress</tt><tt class="py-op">)</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-68', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">egress</tt><tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">intentSize</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsList</tt><tt class="py-op">:</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos $OC1 push-test-intents "</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-name">ingress</tt> <tt class="py-op">+</tt> <tt class="py-string">"/6 "</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-name">egress</tt> <tt class="py-op">+</tt> <tt class="py-string">"/5 "</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">            <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">intentSize</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" 1"</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-name">installed</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">            <tt class="py-name">withdrawn</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-69" class="py-name" targets="Method TestON.bin.cli.TestThread.run()=TestON.bin.cli.TestThread-class.html#run,Method TestON.core.Thread.Thread.run()=TestON.core.Thread.Thread-class.html#run,Method TestON.core.teston.TestON.run()=TestON.core.teston.TestON-class.html#run,Function TestON.tests.HAclusterRestart.dependencies.obelisk.run()=TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#run,Function TestON.tests.HAminorityRestart.dependencies.obelisk.run()=TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#run,Function TestON.tests.HAsanity.dependencies.obelisk.run()=TestON.tests.HAsanity.dependencies.obelisk-module.html#run,Function TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#run"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-69', 'run', 'link-69');">run</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">warmUp</tt> <tt class="py-op">+</tt> <tt class="py-name">sampleSize</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-70" class="py-name"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-70', 'run', 'link-69');">run</a></tt> <tt class="py-op">&gt;</tt> <tt class="py-name">warmUp</tt><tt class="py-op">:</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">                    <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">                <tt class="py-name">myRawResult</tt> <tt class="py-op">=</tt> <tt class="py-string">"--"</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">                <tt class="py-keyword">while</tt> <tt class="py-string">"ms"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">myRawResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-71', 'sendline', 'link-43');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">                    <tt class="py-name">myRawResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-72', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">myRawResult</tt><tt class="py-op">)</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-73', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">myRawResult</tt><tt class="py-op">)</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-74" class="py-name"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-74', 'run', 'link-69');">run</a></tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">warmUp</tt><tt class="py-op">:</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">                    <tt class="py-name">myRawResult</tt> <tt class="py-op">=</tt> <tt class="py-name">myRawResult</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">myRawResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-string">"install"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">                            <tt class="py-name">installed</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">myRawResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-string">"withdraw"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">                            <tt class="py-name">withdrawn</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">myRawResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-string">"Failure:"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-75', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-76', 'error', 'link-56');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"INTENT TEST FAILURE, ABORTING TESTCASE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">                            <tt class="py-name">testStatus</tt> <tt class="py-op">=</tt> <tt class="py-string">"fail"</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">testStatus</tt> <tt class="py-op">==</tt> <tt class="py-string">"fail"</tt><tt class="py-op">:</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"installed: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">installed</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"withraw: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">withdrawn</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">withdrawn</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">withdrawn</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1000</tt> <tt class="py-keyword">or</tt> <tt class="py-name">installed</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">installed</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1000</tt><tt class="py-op">:</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-77', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ABNORMAL VALUE, CHECKING LOG"</tt><tt class="py-op">)</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-78', 'logReport', 'link-44');">logReport</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> <tt class="py-string">"WARNING"</tt><tt class="py-op">,</tt> <tt class="py-string">"EXCEPT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">outputMode</tt><tt class="py-op">=</tt><tt class="py-string">"d"</tt><tt class="py-op">)</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">testStatus</tt> <tt class="py-op">==</tt> <tt class="py-string">"fail"</tt><tt class="py-op">:</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-79', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"----------------------------------------------------"</tt><tt class="py-op">)</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-80', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"Scale: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\tIntent batch size: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">intentSize</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-81', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"Data samples: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">sampleSize</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\tWarm up tests: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">warmUp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-82', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"Installed average: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">installed</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-83', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"Installed standard deviation: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">installed</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-84', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"Withdraw average: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">withdrawn</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-85', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"Withdraw standard deviation: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">withdrawn</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-86', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"     "</tt><tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">=</tt> <tt class="py-string">"'"</tt> <tt class="py-op">+</tt> <tt class="py-name">commit</tt> <tt class="py-op">+</tt> <tt class="py-string">"',"</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">intentSize</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">installed</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">installed</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">withdrawn</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">            <tt class="py-name">resultString</tt> <tt class="py-op">+=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">withdrawn</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-string">"/tmp/IntentInstallWithdrawLatDB"</tt><tt class="py-op">,</tt> <tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">resultString</tt><tt class="py-op">)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line"> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-87', 'logReport', 'link-44');">logReport</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> <tt class="py-string">"WARNING"</tt><tt class="py-op">,</tt> <tt class="py-string">"EXCEPT"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html
similarity index 73%
copy from TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html
index 5e3bc3e..29d9071 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.DpctlTest.DpctlTest.DpctlTest</title>
+  <title>TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,9 +44,9 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.DpctlTest-module.html">Package&nbsp;DpctlTest</a> ::
-        <a href="TestON.tests.DpctlTest.DpctlTest-module.html">Module&nbsp;DpctlTest</a> ::
-        Class&nbsp;DpctlTest
+        <a href="TestON.tests.SCPFintentInstallWithdrawLat-module.html">Package&nbsp;SCPFintentInstallWithdrawLat</a> ::
+        <a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html">Module&nbsp;SCPFintentInstallWithdrawLat</a> ::
+        Class&nbsp;SCPFintentInstallWithdrawLat
       </span>
     </td>
     <td>
@@ -51,14 +56,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class DpctlTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Class SCPFintentInstallWithdrawLat</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-pysrc.html#SCPFintentInstallWithdrawLat">source&nbsp;code</a></span></p>
 <!-- ==================== INSTANCE METHODS ==================== -->
 <a name="section-InstanceMethods"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -84,7 +89,7 @@
         <tr>
           <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.__init__">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-pysrc.html#SCPFintentInstallWithdrawLat.__init__">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -101,7 +106,7 @@
           <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">main</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.CASE1">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-pysrc.html#SCPFintentInstallWithdrawLat.CASE1">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -118,7 +123,7 @@
           <td><span class="summary-sig"><a name="CASE2"></a><span class="summary-sig-name">CASE2</span>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">main</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.CASE2">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-pysrc.html#SCPFintentInstallWithdrawLat.CASE2">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -147,13 +152,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentRerouteLat-module.html
similarity index 65%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFintentRerouteLat-module.html
index 186f4ef..bf73b99 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentRerouteLat-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.SCPFintentRerouteLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;SCPFintentRerouteLat
       </span>
     </td>
     <td>
@@ -49,14 +54,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFintentRerouteLat-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Package SCPFintentRerouteLat</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFintentRerouteLat-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== SUBMODULES ==================== -->
 <a name="section-Submodules"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -76,11 +81,37 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.PoxTest.PoxTest-module.html">TestON.tests.PoxTest.PoxTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html">TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat</a></strong>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentRerouteLat-pysrc.html
similarity index 79%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFintentRerouteLat-pysrc.html
index ab359bb..2176d16 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentRerouteLat-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.SCPFintentRerouteLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;SCPFintentRerouteLat
       </span>
     </td>
     <td>
@@ -49,13 +54,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFintentRerouteLat-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SCPFintentRerouteLat-module.html">Package TestON.tests.SCPFintentRerouteLat</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html
similarity index 63%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html
index 81b602b..fadb74a 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest.PoxTest</title>
+  <title>TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,8 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.PoxTest-module.html">Package&nbsp;PoxTest</a> ::
-        Module&nbsp;PoxTest
+        <a href="TestON.tests.SCPFintentRerouteLat-module.html">Package&nbsp;SCPFintentRerouteLat</a> ::
+        Module&nbsp;SCPFintentRerouteLat
       </span>
     </td>
     <td>
@@ -50,14 +55,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Module SCPFintentRerouteLat</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -79,7 +84,32 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html" class="summary-name">PoxTest</a>
+        <a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html" class="summary-name">SCPFintentRerouteLat</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'TestON.tests.SCPFintentRerouteLat'"><code class="variable-quote">'</code><code class="variable-string">TestON.tests.SCPFintentRerouteLat</code><code class="variable-quote">'</code></code>
     </td>
   </tr>
 </table>
@@ -103,13 +133,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-pysrc.html
new file mode 100644
index 0000000..2e727a1
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-pysrc.html
@@ -0,0 +1,602 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.SCPFintentRerouteLat-module.html">Package&nbsp;SCPFintentRerouteLat</a> ::
+        Module&nbsp;SCPFintentRerouteLat
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html">Module TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># ScaleOutTemplate</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># CASE1 starts number of nodes specified in param file</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># cameron@onlab.us</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-0', 'path', 'link-0');">path</a></tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"> </tt>
+<a name="SCPFintentRerouteLat"></a><div id="SCPFintentRerouteLat-def"><a name="L11"></a><tt class="py-lineno"> 11</tt> <a class="py-toggle" href="#" id="SCPFintentRerouteLat-toggle" onclick="return toggle('SCPFintentRerouteLat');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html">SCPFintentRerouteLat</a><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFintentRerouteLat-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SCPFintentRerouteLat-expanded"><a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"> </tt>
+<a name="SCPFintentRerouteLat.__init__"></a><div id="SCPFintentRerouteLat.__init__-def"><a name="L13"></a><tt class="py-lineno"> 13</tt> <a class="py-toggle" href="#" id="SCPFintentRerouteLat.__init__-toggle" onclick="return toggle('SCPFintentRerouteLat.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFintentRerouteLat.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFintentRerouteLat.__init__-expanded"><a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-1', 'default', 'link-1');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"> </tt>
+<a name="SCPFintentRerouteLat.CASE1"></a><div id="SCPFintentRerouteLat.CASE1-def"><a name="L16"></a><tt class="py-lineno"> 16</tt> <a class="py-toggle" href="#" id="SCPFintentRerouteLat.CASE1-toggle" onclick="return toggle('SCPFintentRerouteLat.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#CASE1">CASE1</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFintentRerouteLat.CASE1-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFintentRerouteLat.CASE1-expanded"><a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">init</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">init</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">bool</tt><tt class="py-op">:</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">                <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">            <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-comment">#Load values from params file</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-name">checkoutBranch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'checkout'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt id="link-2" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-2', 'gitPull', 'link-2');">gitPull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'autopull'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">Apps</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellApps'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">BENCHUser</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BENCH'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'user'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">BENCHIp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BENCH'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ip1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">MN1Ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MN'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ip1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'max'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">skipMvn</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'skipCleanInstall'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-comment"># -- INIT SECTION, ONLY RUNS ONCE -- #</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">init</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">            <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">clusterCount</tt>             <tt class="py-comment">#number of nodes running</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">ONOSIp</tt>                   <tt class="py-comment">#list of ONOS IP addresses</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">scale</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">commit</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt class="py-name">ONOSIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-op">]</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-name">scale</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SCALE'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">            <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">            <tt class="py-comment">#Populate ONOSIp with ips from params</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-name">ONOSIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">            <tt class="py-name">ONOSIp</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getOnosIps"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps" class="py-name" href="#" onclick="return doclink('link-3', 'getOnosIps', 'link-3');">getOnosIps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"-----------------"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-comment">#mvn clean install, for debugging set param 'skipCleanInstall' to yes to speed up test</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">skipMvn</tt> <tt class="py-op">!=</tt> <tt class="py-string">"yes"</tt><tt class="py-op">:</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">                <tt class="py-name">mvnResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cleanInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall" class="py-name" href="#" onclick="return doclink('link-4', 'cleanInstall', 'link-4');">cleanInstall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">            <tt class="py-comment">#git</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-5', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Git checkout and pull "</tt> <tt class="py-op">+</tt> <tt class="py-name">checkoutBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-6', 'gitPull', 'link-2');">gitPull</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'on'</tt><tt class="py-op">:</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                <tt class="py-name">checkoutResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitCheckout"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout" class="py-name" href="#" onclick="return doclink('link-7', 'gitCheckout', 'link-7');">gitCheckout</a></tt><tt class="py-op">(</tt> <tt class="py-name">checkoutBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">                <tt class="py-name">pullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-8', 'gitPull', 'link-2');">gitPull</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">                <tt class="py-name">checkoutResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">                <tt class="py-name">pullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Skipped git checkout and pull"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">            <tt class="py-name">commit</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getVersion,Method TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getVersion"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion
+TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion" class="py-name" href="#" onclick="return doclink('link-10', 'getVersion', 'link-10');">getVersion</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-name">commit</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">commit</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-string">"/tmp/IntentRerouteLatDB"</tt><tt class="py-op">,</tt> <tt class="py-string">"w+"</tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-comment"># -- END OF INIT SECTION --#</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-name">scale</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-comment">#kill off all onos processes</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-11', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-12', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Safety check, killing all ONOS processes"</tt><tt class="py-op">)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-14', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"before initiating enviornment setup"</tt><tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosDie"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie" class="py-name" href="#" onclick="return doclink('link-15', 'onosDie', 'link-15');">onosDie</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-comment">#Uninstall everywhere</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-16', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-17', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cleaning Enviornment..."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-18', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">" Uninstalling ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosUninstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall" class="py-name" href="#" onclick="return doclink('link-19', 'onosUninstall', 'link-19');">onosUninstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-comment">#construct the cell file</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-20', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Creating cell file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">cellIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt> <tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-name">cellIp</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile" class="py-name" href="#" onclick="return doclink('link-21', 'createCellFile', 'link-21');">createCellFile</a></tt><tt class="py-op">(</tt><tt class="py-name">BENCHIp</tt><tt class="py-op">,</tt><tt class="py-name">cellName</tt><tt class="py-op">,</tt><tt class="py-name">MN1Ip</tt><tt class="py-op">,</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">Apps</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">cellIp</tt><tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-22', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Set Cell"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell,Method TestON.drivers.common.cli.onosdriver.OnosDriver.setCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.setCell" class="py-name" href="#" onclick="return doclink('link-23', 'setCell', 'link-23');">setCell</a></tt><tt class="py-op">(</tt><tt class="py-name">cellName</tt><tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-24', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Creating ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-name">packageResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage" class="py-name" href="#" onclick="return doclink('link-25', 'onosPackage', 'link-25');">onosPackage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-26', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"verify cells"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-name">verifyCellResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifyCell"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell" class="py-name" href="#" onclick="return doclink('link-27', 'verifyCell', 'link-27');">verifyCell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-28', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Initializing "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" node cluster."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-29', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Starting ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" at IP: "</tt> <tt class="py-op">+</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall" class="py-name" href="#" onclick="return doclink('link-30', 'onosInstall', 'link-30');">onosInstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">                <tt id="link-31" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.isup()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#isup"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-31', 'isup', 'link-31');">isup</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-32', 'isup', 'link-31');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-33" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-33', 'isup', 'link-31');">isup</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-34', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is up\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-35" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-35', 'isup', 'link-31');">isup</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-36', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" didn't start!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-37', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Startup sequence complete"</tt><tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-name">deviceMastership</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">"s"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Device mastership list: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceMastership</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosCfgSet"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-38', 'onosCfgSet', 'link-38');">onosCfgSet</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"org.onosproject.store.flow.impl.NewDistributedFlowRuleStore"</tt><tt class="py-op">,</tt> <tt class="py-string">"backupEnabled false"</tt><tt class="py-op">)</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-39', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-40', 'step', 'link-5');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Setting up null provider"</tt><tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-41', 'onosCfgSet', 'link-38');">onosCfgSet</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"org.onosproject.provider.nil.NullProviders"</tt><tt class="py-op">,</tt> <tt class="py-string">"deviceCount 8"</tt><tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-42', 'onosCfgSet', 'link-38');">onosCfgSet</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"org.onosproject.provider.nil.NullProviders"</tt><tt class="py-op">,</tt> <tt class="py-string">"topoShape reroute"</tt><tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-43', 'onosCfgSet', 'link-38');">onosCfgSet</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"org.onosproject.provider.nil.NullProviders"</tt><tt class="py-op">,</tt> <tt class="py-string">"enabled true"</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-44', 'sendline', 'link-44');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 summary"</tt><tt class="py-op">)</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"devices=8"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">x</tt> <tt class="py-keyword">and</tt> <tt class="py-string">"links=16,"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">x</tt><tt class="py-op">:</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">deviceMastership</tt><tt class="py-op">:</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">attempt</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-string">"onos $OC"</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt> <tt class="py-op">+</tt> <tt class="py-string">""" "device-role null:000000000000000"""</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">index</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">]</tt>  <tt class="py-op">+</tt> <tt class="py-string">""" master" """</tt><tt class="py-op">)</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-45', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"assigning mastership of device "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">index</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" to node "</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt> <tt class="py-op">+</tt> <tt class="py-string">": \n "</tt> <tt class="py-op">+</tt> <tt class="py-name">cmd</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-46', 'sendline', 'link-44');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> <tt class="py-string">"onos $OC"</tt> <tt class="py-op">+</tt> <tt class="py-name">node</tt> <tt class="py-op">+</tt> <tt class="py-string">" roles|grep 00000"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">index</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-47', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-48', 'sendline', 'link-44');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">                <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-49', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"CHECK:\n"</tt> <tt class="py-op">+</tt> <tt class="py-name">check</tt><tt class="py-op">)</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">"master="</tt> <tt class="py-op">+</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">check</tt><tt class="py-op">:</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">            <tt class="py-name">index</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.logReport()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#logReport"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-50', 'logReport', 'link-50');">logReport</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> <tt class="py-string">"WARNING"</tt><tt class="py-op">,</tt> <tt class="py-string">"EXCEPT"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"> </tt>
+<a name="SCPFintentRerouteLat.CASE2"></a><div id="SCPFintentRerouteLat.CASE2-def"><a name="L165"></a><tt class="py-lineno">165</tt> <a class="py-toggle" href="#" id="SCPFintentRerouteLat.CASE2-toggle" onclick="return toggle('SCPFintentRerouteLat.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#CASE2">CASE2</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFintentRerouteLat.CASE2-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFintentRerouteLat.CASE2-expanded"><a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">datetime</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-comment">#from scipy import stats</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-name">ts</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-name">date</tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">fromtimestamp</tt><tt class="py-op">(</tt><tt class="py-name">ts</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">'%Y-%m-%d'</tt><tt class="py-op">)</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-name">sampleSize</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'sampleSize'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-name">warmUp</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'warmUp'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-name">intentsList</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'intents'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-name">debug</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TEST'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'debug'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">intentsList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-name">intentsList</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">intentsList</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">timestampMetrics</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'METRICS'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'Submitted'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"1"</tt><tt class="py-op">:</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">            <tt class="py-name">timestampMetrics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"Submitted"</tt><tt class="py-op">)</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'METRICS'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'Installed'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"1"</tt><tt class="py-op">:</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">            <tt class="py-name">timestampMetrics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"Installed"</tt><tt class="py-op">)</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'METRICS'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'Failed'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"1"</tt><tt class="py-op">:</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">            <tt class="py-name">timestampMetrics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"Failed"</tt><tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'METRICS'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'Withdraw'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"1"</tt><tt class="py-op">:</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">            <tt class="py-name">timestampMetrics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"Withdraw"</tt><tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'METRICS'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'Withdrawn'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"1"</tt><tt class="py-op">:</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">            <tt class="py-name">timestampMetrics</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"Withdrawn"</tt><tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-51', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">timestampMetrics</tt><tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt> <tt class="py-op">==</tt> <tt class="py-string">"True"</tt><tt class="py-op">:</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">            <tt class="py-name">debug</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">            <tt class="py-name">debug</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line"> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-name">ingress</tt> <tt class="py-op">=</tt> <tt class="py-string">"null:0000000000000001"</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-name">egress</tt> <tt class="py-op">=</tt> <tt class="py-string">"null:0000000000000007"</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-52" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intents,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intents"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-52', 'intents', 'link-52');">intents</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentsList</tt><tt class="py-op">:</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-53', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"Intent Batch size: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-54" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-54', 'intents', 'link-52');">intents</a></tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n      "</tt><tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-name">myResult</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">[</tt><tt class="py-string">"latency"</tt><tt class="py-op">,</tt> <tt class="py-string">"lastNode"</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">sampleSize</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line"> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-55" class="py-name" targets="Method TestON.bin.cli.TestThread.run()=TestON.bin.cli.TestThread-class.html#run,Method TestON.core.Thread.Thread.run()=TestON.core.Thread.Thread-class.html#run,Method TestON.core.teston.TestON.run()=TestON.core.teston.TestON-class.html#run,Function TestON.tests.HAclusterRestart.dependencies.obelisk.run()=TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#run,Function TestON.tests.HAminorityRestart.dependencies.obelisk.run()=TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#run,Function TestON.tests.HAsanity.dependencies.obelisk.run()=TestON.tests.HAsanity.dependencies.obelisk-module.html#run,Function TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run()=TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#run"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-55', 'run', 'link-55');">run</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">warmUp</tt> <tt class="py-op">+</tt> <tt class="py-name">sampleSize</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-56" class="py-name"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-56', 'run', 'link-55');">run</a></tt> <tt class="py-op">&gt;</tt> <tt class="py-name">warmUp</tt><tt class="py-op">:</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-57', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Starting test iteration "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-58" class="py-name"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-58', 'run', 'link-55');">run</a></tt><tt class="py-op">-</tt><tt class="py-name">warmUp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"""onos $OC1 "push-test-intents -i """</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-name">ingress</tt> <tt class="py-op">+</tt> <tt class="py-string">"/0 "</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-name">egress</tt> <tt class="py-op">+</tt> <tt class="py-string">"/0 "</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">+=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-59" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-59', 'intents', 'link-52');">intents</a></tt><tt class="py-op">)</tt> <tt class="py-op">+</tt><tt class="py-string">""" 1" """</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-60', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">                <tt class="py-name">withdrawCmd</tt> <tt class="py-op">=</tt> <tt class="py-name">cmd</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"intents -i"</tt><tt class="py-op">,</tt> <tt class="py-string">"intents -w "</tt><tt class="py-op">)</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">                <tt class="py-comment">#push-test-intents</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-61', 'sendline', 'link-44');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">                <tt class="py-name">myRawResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">40</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-62', 'sendline', 'link-44');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 summary"</tt><tt class="py-op">)</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">                    <tt class="py-name">linkCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">"links=16,"</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">linkCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-string">"flows="</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-63" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-63', 'intents', 'link-52');">intents</a></tt><tt class="py-op">*</tt><tt class="py-number">7</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">39</tt><tt class="py-op">:</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-64', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-65" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-65', 'error', 'link-65');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Flow/link count incorrect, data invalid."</tt><tt class="py-op">+</tt> <tt class="py-name">linkCheck</tt><tt class="py-op">)</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-66', 'logReport', 'link-50');">logReport</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> <tt class="py-string">"WARNING"</tt><tt class="py-op">,</tt> <tt class="py-string">"EXCEPT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"d"</tt><tt class="py-op">)</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">                        <tt class="py-comment">#main.ONOSbench.logReport(ONOSIp[(clusterCount-1)], ["ERROR", "WARNING", "EXCEPT"], "d")</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-67', 'sendline', 'link-44');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 summary"</tt><tt class="py-op">)</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-68', 'sendline', 'link-44');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 devices"</tt><tt class="py-op">)</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-69', 'sendline', 'link-44');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 links"</tt><tt class="py-op">)</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-70', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">before</tt><tt class="py-op">)</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">                <tt class="py-comment">#collect timestamp from link cut</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"""onos $OC1 null-link "null:0000000000000004/1 null:0000000000000003/2 down" """</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-71', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"COMMAND: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-72', 'sendline', 'link-44');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos-ssh $OC1 cat /opt/onos/log/karaf.log | grep TopologyManager| tail -1"</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-73', 'sendline', 'link-44');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">                    <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">                    <tt class="py-name">raw</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">                    <tt class="py-comment">#if "NullLinkProvider" in raw and "links=14" in raw:</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-string">"links=14"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">raw</tt><tt class="py-op">:</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">9</tt><tt class="py-op">:</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-74', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-75', 'error', 'link-65');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Expected output not being recieved... continuing"</tt><tt class="py-op">)</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-76', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">raw</tt><tt class="py-op">)</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">                    <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">                <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-name">raw</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">temp</tt><tt class="py-op">:</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">date</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">                        <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">                <tt class="py-name">cutTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">temp</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-name">temp</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-77', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Cut timestamp: "</tt> <tt class="py-op">+</tt> <tt class="py-name">cutTimestamp</tt><tt class="py-op">)</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">                <tt class="py-comment">#validate link count and flow count</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">40</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-78', 'sendline', 'link-44');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 summary"</tt><tt class="py-op">)</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">                    <tt class="py-name">linkCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">                    <tt class="py-comment">#if "links=" + str(7*intents)+ "," in linkCheck and ("flows=" + str(7*intents) + ",") in linkCheck:</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-string">"links=14,"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">linkCheck</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-string">"flows="</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-number">8</tt><tt class="py-op">*</tt><tt id="link-79" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-79', 'intents', 'link-52');">intents</a></tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">linkCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">39</tt><tt class="py-op">:</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-80', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-81', 'error', 'link-65');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Link or flow count incorrect, data invalid."</tt> <tt class="py-op">+</tt> <tt class="py-name">linkCheck</tt><tt class="py-op">)</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-82', 'logReport', 'link-50');">logReport</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> <tt class="py-string">"WARNING"</tt><tt class="py-op">,</tt> <tt class="py-string">"EXCEPT"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"d"</tt><tt class="py-op">)</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">                <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> <tt class="py-comment">#trying to avoid negative values</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line"> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">                <tt class="py-comment">#intents events metrics installed timestamp</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">                <tt class="py-name">IEMtimestamps</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">                <tt class="py-name">installedTemp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">                    <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"onos $OC"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">""" "intents-events-metrics"|grep Timestamp """</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">                    <tt class="py-name">raw</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">                    <tt class="py-keyword">while</tt> <tt class="py-string">"epoch)"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">raw</tt><tt class="py-op">:</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-83', 'sendline', 'link-44');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">                        <tt class="py-name">raw</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-name">raw</tt><tt class="py-op">)</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">                    <tt class="py-name">intentsTimestamps</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">                    <tt class="py-name">rawTimestamps</tt> <tt class="py-op">=</tt> <tt class="py-name">raw</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">rawTimestamps</tt><tt class="py-op">:</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-string">"Timestamp"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt> <tt class="py-keyword">and</tt> <tt class="py-string">"grep"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">                            <tt class="py-name">metricKey</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">                            <tt class="py-name">metricTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"epoch)="</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">                            <tt class="py-name">metricTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">metricTimestamp</tt><tt class="py-op">)</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">                            <tt class="py-name">metricTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">divide</tt><tt class="py-op">(</tt><tt class="py-name">metricTimestamp</tt><tt class="py-op">,</tt> <tt class="py-number">1000</tt><tt class="py-op">)</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-84', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">metricTimestamp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">                            <tt class="py-name">intentsTimestamps</tt><tt class="py-op">[</tt><tt class="py-name">metricKey</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">metricTimestamp</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt class="py-name">metricKey</tt> <tt class="py-op">==</tt> <tt class="py-string">"Installed"</tt><tt class="py-op">:</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">                                <tt class="py-name">installedTemp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">metricTimestamp</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-85', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Node: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" Timestamps: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">intentsTimestamps</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">                    <tt class="py-name">IEMtimestamps</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">intentsTimestamps</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line"> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">                <tt class="py-name">myMax</tt> <tt class="py-op">=</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">installedTemp</tt><tt class="py-op">)</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">                <tt class="py-name">indexOfMax</tt> <tt class="py-op">=</tt> <tt class="py-name">installedTemp</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">myMax</tt><tt class="py-op">)</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line"> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">                <tt class="py-comment">#number crunch</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">metric</tt> <tt class="py-keyword">in</tt> <tt class="py-name">timestampMetrics</tt><tt class="py-op">:</tt>     <tt class="py-comment">#this is where we sould add support for computing other timestamp metrics</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">metric</tt> <tt class="py-op">==</tt> <tt class="py-string">"Installed"</tt><tt class="py-op">:</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt id="link-86" class="py-name"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-86', 'run', 'link-55');">run</a></tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">warmUp</tt><tt class="py-op">:</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-87', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"link cut timestamp: "</tt> <tt class="py-op">+</tt> <tt class="py-name">cutTimestamp</tt><tt class="py-op">)</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">                            <tt class="py-comment">#readableInstalledTimestamp = str(intentsTimestamps["Installed"])</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">                            <tt class="py-name">readableInstalledTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">myMax</tt><tt class="py-op">)</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line"> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">                            <tt class="py-comment">#main.log.report("Intent Installed timestamp: " + str(intentsTimestamps["Installed"]))</tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-88', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"Intent Installed timestamp: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">myMax</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line"> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">                            <tt class="py-name">cutEpoch</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">mktime</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">strptime</tt><tt class="py-op">(</tt><tt class="py-name">cutTimestamp</tt><tt class="py-op">,</tt> <tt class="py-string">"%Y-%m-%d %H:%M:%S,%f"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-89', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"cutEpoch="</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">cutEpoch</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">                            <tt class="py-comment">#rerouteLatency = float(intentsTimestamps["Installed"] - cutEpoch)</tt> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">                            <tt class="py-name">rerouteLatency</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">myMax</tt> <tt class="py-op">-</tt> <tt class="py-name">cutEpoch</tt><tt class="py-op">)</tt> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line"> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">                            <tt class="py-name">rerouteLatency</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">divide</tt><tt class="py-op">(</tt><tt class="py-name">rerouteLatency</tt><tt class="py-op">,</tt> <tt class="py-number">1000</tt><tt class="py-op">)</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-90', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"Reroute latency:"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">rerouteLatency</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" (seconds)\n    "</tt><tt class="py-op">)</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">                            <tt class="py-name">myResult</tt><tt class="py-op">[</tt><tt id="link-91" class="py-name"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-91', 'run', 'link-55');">run</a></tt><tt class="py-op">-</tt><tt class="py-name">warmUp</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">rerouteLatency</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">                            <tt class="py-name">myResult</tt><tt class="py-op">[</tt><tt id="link-92" class="py-name"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-92', 'run', 'link-55');">run</a></tt><tt class="py-op">-</tt><tt class="py-name">warmUp</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">indexOfMax</tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-93', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Latency: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">myResult</tt><tt class="py-op">[</tt><tt id="link-94" class="py-name"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-94', 'run', 'link-55');">run</a></tt><tt class="py-op">-</tt><tt class="py-name">warmUp</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-95', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"last node: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">myResult</tt><tt class="py-op">[</tt><tt id="link-96" class="py-name"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-96', 'run', 'link-55');">run</a></tt><tt class="py-op">-</tt><tt class="py-name">warmUp</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line"> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">                <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">""" onos $OC1 null-link "null:0000000000000004/1 null:0000000000000003/2 up" """</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-97', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-98', 'sendline', 'link-44');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line"> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">                <tt class="py-comment">#wait for intent withdraw</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-99', 'sendline', 'link-44');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-name">withdrawCmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-100', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">withdrawCmd</tt><tt class="py-op">)</tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-101', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt><tt class="py-op">)</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-102', 'sendline', 'link-44');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 intents|grep WITHDRAWN|wc -l"</tt><tt class="py-op">)</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">                <tt class="py-name">intentWithdrawCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-103" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-103', 'intents', 'link-52');">intents</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">intentWithdrawCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-104', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"intents withdrawn"</tt><tt class="py-op">)</tt> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-105', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">intentWithdrawCheck</tt><tt class="py-op">)</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line"> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">                <tt class="py-comment"># wait for links to be reestablished</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-106', 'sendline', 'link-44');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 summary"</tt><tt class="py-op">)</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">                    <tt class="py-name">linkCheck</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-string">"links=16,"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">linkCheck</tt><tt class="py-op">:</tt> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">                    <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">9</tt><tt class="py-op">:</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-107', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Links Failed to reconnect, next iteration of data invalid."</tt> <tt class="py-op">+</tt> <tt class="py-name">linkCheck</tt><tt class="py-op">)</tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line"> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-108" class="py-name"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-108', 'run', 'link-55');">run</a></tt> <tt class="py-op">&lt;</tt> <tt class="py-name">warmUp</tt><tt class="py-op">:</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-109', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Warm up run "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-110" class="py-name"><a title="TestON.bin.cli.TestThread.run
+TestON.core.Thread.Thread.run
+TestON.core.teston.TestON.run
+TestON.tests.HAclusterRestart.dependencies.obelisk.run
+TestON.tests.HAminorityRestart.dependencies.obelisk.run
+TestON.tests.HAsanity.dependencies.obelisk.run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run" class="py-name" href="#" onclick="return doclink('link-110', 'run', 'link-55');">run</a></tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" completed"</tt><tt class="py-op">)</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line"> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">debug</tt><tt class="py-op">:</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-111', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">myResult</tt><tt class="py-op">)</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">            <tt class="py-name">latTemp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">            <tt class="py-name">nodeTemp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">myResult</tt><tt class="py-op">:</tt> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">                <tt class="py-name">latTemp</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">                <tt class="py-name">nodeTemp</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line"> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">            <tt class="py-name">mode</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">nodeTemp</tt><tt class="py-op">:</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">:</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">                    <tt class="py-name">mode</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">                    <tt class="py-name">mode</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line"> </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">mode</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">mode</tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">                    <tt class="py-name">nodeMode</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt> </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line"> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">            <tt class="py-name">average</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">average</tt><tt class="py-op">(</tt><tt class="py-name">latTemp</tt><tt class="py-op">)</tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">            <tt class="py-name">stdDev</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">latTemp</tt><tt class="py-op">)</tt> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line"> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">            <tt class="py-name">average</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">multiply</tt><tt class="py-op">(</tt><tt class="py-name">average</tt><tt class="py-op">,</tt> <tt class="py-number">1000</tt><tt class="py-op">)</tt> </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">            <tt class="py-name">stdDev</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">multiply</tt><tt class="py-op">(</tt><tt class="py-name">stdDev</tt><tt class="py-op">,</tt> <tt class="py-number">1000</tt><tt class="py-op">)</tt> </tt>
+<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line"> </tt>
+<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-112', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"Scale: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"  \tIntent batch: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-113" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-113', 'intents', 'link-52');">intents</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-114', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"Latency average:................"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">average</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-115', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"Latency standard deviation:....."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">stdDev</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-116', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"Mode of last node to respond:..."</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeMode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-117', 'log', 'link-9');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">"________________________________________________________"</tt><tt class="py-op">)</tt> </tt>
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line"> </tt>
+<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-string">"/tmp/IntentRerouteLatDB"</tt><tt class="py-op">,</tt> <tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"'"</tt> <tt class="py-op">+</tt> <tt class="py-name">commit</tt> <tt class="py-op">+</tt> <tt class="py-string">"',"</tt><tt class="py-op">)</tt> </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-118" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents" class="py-name" href="#" onclick="return doclink('link-118', 'intents', 'link-52');">intents</a></tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">average</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">stdDev</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line"> </tt>
+<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.logReport" class="py-name" href="#" onclick="return doclink('link-119', 'logReport', 'link-50');">logReport</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> <tt class="py-string">"WARNING"</tt><tt class="py-op">,</tt> <tt class="py-string">"EXCEPT"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html
similarity index 75%
copy from TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html
index 5e3bc3e..c49a9a1 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.DpctlTest.DpctlTest.DpctlTest</title>
+  <title>TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,9 +44,9 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.DpctlTest-module.html">Package&nbsp;DpctlTest</a> ::
-        <a href="TestON.tests.DpctlTest.DpctlTest-module.html">Module&nbsp;DpctlTest</a> ::
-        Class&nbsp;DpctlTest
+        <a href="TestON.tests.SCPFintentRerouteLat-module.html">Package&nbsp;SCPFintentRerouteLat</a> ::
+        <a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html">Module&nbsp;SCPFintentRerouteLat</a> ::
+        Class&nbsp;SCPFintentRerouteLat
       </span>
     </td>
     <td>
@@ -51,14 +56,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class DpctlTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Class SCPFintentRerouteLat</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-pysrc.html#SCPFintentRerouteLat">source&nbsp;code</a></span></p>
 <!-- ==================== INSTANCE METHODS ==================== -->
 <a name="section-InstanceMethods"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -84,7 +89,7 @@
         <tr>
           <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.__init__">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-pysrc.html#SCPFintentRerouteLat.__init__">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -101,7 +106,7 @@
           <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">main</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.CASE1">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-pysrc.html#SCPFintentRerouteLat.CASE1">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -118,7 +123,7 @@
           <td><span class="summary-sig"><a name="CASE2"></a><span class="summary-sig-name">CASE2</span>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">main</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.CASE2">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-pysrc.html#SCPFintentRerouteLat.CASE2">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -147,13 +152,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFportLat-module.html
similarity index 67%
rename from TestON/Documentation/TestON_Document/TestON.tests.MininetTest-module.html
rename to TestON/Documentation/TestON_Document/TestON.tests.SCPFportLat-module.html
index d77c65d..f29ef22 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFportLat-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.MininetTest</title>
+  <title>TestON.tests.SCPFportLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;MininetTest
+        Package&nbsp;SCPFportLat
       </span>
     </td>
     <td>
@@ -49,14 +54,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.MininetTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFportLat-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package MininetTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.MininetTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Package SCPFportLat</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFportLat-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== SUBMODULES ==================== -->
 <a name="section-Submodules"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -76,11 +81,37 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.MininetTest.MininetTest-module.html">TestON.tests.MininetTest.MininetTest</a></strong>: <em class="summary">Created on 29-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFportLat.SCPFportLat-module.html">TestON.tests.SCPFportLat.SCPFportLat</a></strong>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFportLat-pysrc.html
similarity index 80%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFportLat-pysrc.html
index ab359bb..758d349 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFportLat-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.SCPFportLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;SCPFportLat
       </span>
     </td>
     <td>
@@ -49,13 +54,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFportLat-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SCPFportLat-module.html">Package TestON.tests.SCPFportLat</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFportLat.SCPFportLat-module.html
similarity index 66%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFportLat.SCPFportLat-module.html
index 81b602b..e19fd6b 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFportLat.SCPFportLat-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest.PoxTest</title>
+  <title>TestON.tests.SCPFportLat.SCPFportLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,8 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.PoxTest-module.html">Package&nbsp;PoxTest</a> ::
-        Module&nbsp;PoxTest
+        <a href="TestON.tests.SCPFportLat-module.html">Package&nbsp;SCPFportLat</a> ::
+        Module&nbsp;SCPFportLat
       </span>
     </td>
     <td>
@@ -50,14 +55,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFportLat.SCPFportLat-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Module SCPFportLat</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFportLat.SCPFportLat-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -79,7 +84,33 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html" class="summary-name">PoxTest</a>
+        <a href="TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html" class="summary-name">SCPFportLat</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
     </td>
   </tr>
 </table>
@@ -103,13 +134,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.SCPFportLat.SCPFportLat-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFportLat.SCPFportLat-pysrc.html
new file mode 100644
index 0000000..7cb78a7
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFportLat.SCPFportLat-pysrc.html
@@ -0,0 +1,680 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.SCPFportLat.SCPFportLat</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.SCPFportLat-module.html">Package&nbsp;SCPFportLat</a> ::
+        Module&nbsp;SCPFportLat
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFportLat.SCPFportLat-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SCPFportLat.SCPFportLat-module.html">Module TestON.tests.SCPFportLat.SCPFportLat</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># CASE1 starts number of nodes specified in param file</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># cameron@onlab.us</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"> </tt>
+<a name="SCPFportLat"></a><div id="SCPFportLat-def"><a name="L5"></a><tt class="py-lineno">  5</tt> <a class="py-toggle" href="#" id="SCPFportLat-toggle" onclick="return toggle('SCPFportLat');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html">SCPFportLat</a><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFportLat-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SCPFportLat-expanded"><a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"> </tt>
+<a name="SCPFportLat.__init__"></a><div id="SCPFportLat.__init__-def"><a name="L7"></a><tt class="py-lineno">  7</tt> <a class="py-toggle" href="#" id="SCPFportLat.__init__-toggle" onclick="return toggle('SCPFportLat.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFportLat.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFportLat.__init__-expanded"><a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"> </tt>
+<a name="SCPFportLat.CASE1"></a><div id="SCPFportLat.CASE1-def"><a name="L10"></a><tt class="py-lineno"> 10</tt> <a class="py-toggle" href="#" id="SCPFportLat.CASE1-toggle" onclick="return toggle('SCPFportLat.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#CASE1">CASE1</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFportLat.CASE1-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFportLat.CASE1-expanded"><a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">init</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">init</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">bool</tt><tt class="py-op">:</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">                <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">Fals</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">            <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt class="py-comment">#Load values from params file</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">        <tt class="py-name">checkoutBranch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'checkout'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt id="link-1" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-1', 'gitPull', 'link-1');">gitPull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'autopull'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-name">Apps</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellApps'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-name">BENCHIp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BENCH'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ip'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-name">MN1Ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MN'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ip1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'max'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">homeDir</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-2', 'path', 'link-2');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt class="py-string">'~'</tt><tt class="py-op">)</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">topoCfgFile</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TEST'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'topoConfigFile'</tt><tt class="py-op">]</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">topoCfgName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TEST'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'topoConfigName'</tt><tt class="py-op">]</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">resultPath</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'DB'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'portEventResultPath'</tt><tt class="py-op">]</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">skipMvn</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt> <tt class="py-op">[</tt><tt class="py-string">'TEST'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'mci'</tt><tt class="py-op">]</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">testONpath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">"(tests)$"</tt><tt class="py-op">,</tt> <tt class="py-string">"bin"</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testDir</tt> <tt class="py-op">)</tt>  <tt class="py-comment"># TestON/bin</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-comment"># -- INIT SECTION, ONLY RUNS ONCE -- #</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">init</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">            <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">clusterCount</tt>             <tt class="py-comment">#number of nodes running</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">ONOSIp</tt>                   <tt class="py-comment">#list of ONOS IP addresses</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">scale</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">commit</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">timeToPost</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">runNum</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">jenkinsBuildNumber</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">CLIs</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">            <tt class="py-name">CLIs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">            <tt class="py-name">timeToPost</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">'%Y-%m-%d %H:%M:%S'</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-name">runNum</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">'%d%H%M%S'</tt><tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">            <tt class="py-name">ONOSIp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getOnosIps"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps" class="py-name" href="#" onclick="return doclink('link-3', 'getOnosIps', 'link-3');">getOnosIps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-comment">#Assigning ONOS cli handles to a list</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">                <tt class="py-name">CLIs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">'ONOS'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">'cli'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">                <tt class="py-name">jenkinsBuildNumber</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'BUILD_NUMBER'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-4', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">'Jenkins build number: '</tt> <tt class="py-op">+</tt> <tt class="py-name">jenkinsBuildNumber</tt> <tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                <tt class="py-name">jenkinsBuildNumber</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-5', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">'Job is not run by jenkins. '</tt> <tt class="py-op">+</tt> <tt class="py-string">'Build number set to: '</tt> <tt class="py-op">+</tt> <tt class="py-name">jenkinsBuildNumber</tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">            <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">            <tt class="py-name">ONOSIp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps" class="py-name" href="#" onclick="return doclink('link-6', 'getOnosIps', 'link-3');">getOnosIps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">            <tt class="py-name">scale</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SCALE'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">            <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-comment">#mvn clean install, for debugging set param 'skipCleanInstall' to yes to speed up test</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">skipMvn</tt> <tt class="py-op">!=</tt> <tt class="py-string">"off"</tt><tt class="py-op">:</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">                <tt class="py-name">mvnResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cleanInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall" class="py-name" href="#" onclick="return doclink('link-7', 'cleanInstall', 'link-7');">cleanInstall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-comment">#git</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-8', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Git checkout and pull "</tt> <tt class="py-op">+</tt> <tt class="py-name">checkoutBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-9" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-9', 'gitPull', 'link-1');">gitPull</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'on'</tt><tt class="py-op">:</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">                <tt class="py-name">checkoutResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitCheckout"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout" class="py-name" href="#" onclick="return doclink('link-10', 'gitCheckout', 'link-10');">gitCheckout</a></tt><tt class="py-op">(</tt> <tt class="py-name">checkoutBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">                <tt class="py-name">pullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-11', 'gitPull', 'link-1');">gitPull</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">                <tt class="py-name">checkoutResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">                <tt class="py-name">pullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-12', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Skipped git checkout and pull"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-13', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Grabbing commit number"</tt><tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-name">commit</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getVersion,Method TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getVersion"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion
+TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion" class="py-name" href="#" onclick="return doclink('link-14', 'getVersion', 'link-14');">getVersion</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            <tt class="py-name">commit</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">commit</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-15', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Creating results file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">resultPath</tt><tt class="py-op">,</tt> <tt class="py-string">"w+"</tt><tt class="py-op">)</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-name">resultsDB</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-16', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">'Commit information - '</tt><tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion
+TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion" class="py-name" href="#" onclick="return doclink('link-17', 'getVersion', 'link-14');">getVersion</a></tt><tt class="py-op">(</tt><tt class="py-name">report</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-comment"># -- END OF INIT SECTION --#</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-18', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Adjusting scale"</tt><tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">scale</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-comment">#kill off all onos processes</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-19', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Killing all ONOS processes before environmnet setup"</tt><tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosDie"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie" class="py-name" href="#" onclick="return doclink('link-20', 'onosDie', 'link-20');">onosDie</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-comment">#Uninstall everywhere</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-21', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cleaning Enviornment..."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-22', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">" Uninstalling ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosUninstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall" class="py-name" href="#" onclick="return doclink('link-23', 'onosUninstall', 'link-23');">onosUninstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-24', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Sleep 10 second for uninstall to settle..."</tt><tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-25', 'sendline', 'link-25');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-comment">#construct the cell file</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-26', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Creating cell file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-name">cellIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt> <tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">            <tt class="py-name">cellIp</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile" class="py-name" href="#" onclick="return doclink('link-27', 'createCellFile', 'link-27');">createCellFile</a></tt><tt class="py-op">(</tt><tt class="py-string">"localhost"</tt><tt class="py-op">,</tt><tt class="py-name">cellName</tt><tt class="py-op">,</tt><tt class="py-name">MN1Ip</tt><tt class="py-op">,</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">Apps</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">cellIp</tt><tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-28', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Set Cell"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell,Method TestON.drivers.common.cli.onosdriver.OnosDriver.setCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.setCell" class="py-name" href="#" onclick="return doclink('link-29', 'setCell', 'link-29');">setCell</a></tt><tt class="py-op">(</tt><tt class="py-name">cellName</tt><tt class="py-op">)</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-30', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Creating ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">packageResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage" class="py-name" href="#" onclick="return doclink('link-31', 'onosPackage', 'link-31');">onosPackage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-32', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"verify cells"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">verifyCellResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifyCell"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell" class="py-name" href="#" onclick="return doclink('link-33', 'verifyCell', 'link-33');">verifyCell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-34', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">'Starting mininet topology '</tt><tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet" class="py-name" href="#" onclick="return doclink('link-35', 'startNet', 'link-35');">startNet</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-36', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Initializeing "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" node cluster."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-37', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Starting ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" at IP: "</tt> <tt class="py-op">+</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall" class="py-name" href="#" onclick="return doclink('link-38', 'onosInstall', 'link-38');">onosInstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">                <tt id="link-39" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.isup()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#isup"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-39', 'isup', 'link-39');">isup</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-40', 'isup', 'link-39');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-41" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-41', 'isup', 'link-39');">isup</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-42', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is up\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-43" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-43', 'isup', 'link-39');">isup</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-44', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" didn't start!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-45', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Startup sequence complete"</tt><tt class="py-op">)</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-46', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">'Starting onos CLIs'</tt><tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#startOnosCli"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli" class="py-name" href="#" onclick="return doclink('link-47', 'startOnosCli', 'link-47');">startOnosCli</a></tt><tt class="py-op">(</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-48', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">'activating essential applications'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name" targets="Method TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp()=TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#activateApp,Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#activateApp"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp" class="py-name" href="#" onclick="return doclink('link-49', 'activateApp', 'link-49');">activateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">'org.onosproject.metrics'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp" class="py-name" href="#" onclick="return doclink('link-50', 'activateApp', 'link-49');">activateApp</a></tt><tt class="py-op">(</tt> <tt class="py-string">'org.onosproject.openflow'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-51', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">'Configuring application parameters'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-name">configName</tt> <tt class="py-op">=</tt> <tt class="py-string">'org.onosproject.net.topology.impl.DefaultTopologyProvider'</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">configParam</tt> <tt class="py-op">=</tt> <tt class="py-string">'maxEvents 1'</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosCfgSet"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-52', 'onosCfgSet', 'link-52');">onosCfgSet</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">configName</tt><tt class="py-op">,</tt> <tt class="py-name">configParam</tt> <tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-name">configParam</tt> <tt class="py-op">=</tt> <tt class="py-string">'maxBatchMs 0'</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-53', 'onosCfgSet', 'link-52');">onosCfgSet</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">configName</tt><tt class="py-op">,</tt> <tt class="py-name">configParam</tt> <tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-name">configParam</tt> <tt class="py-op">=</tt> <tt class="py-string">'maxIdleMs 0'</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-54', 'onosCfgSet', 'link-52');">onosCfgSet</a></tt><tt class="py-op">(</tt> <tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">configName</tt><tt class="py-op">,</tt> <tt class="py-name">configParam</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"> </tt>
+<a name="SCPFportLat.CASE2"></a><div id="SCPFportLat.CASE2-def"><a name="L175"></a><tt class="py-lineno">175</tt> <a class="py-toggle" href="#" id="SCPFportLat.CASE2-toggle" onclick="return toggle('SCPFportLat.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#CASE2">CASE2</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFportLat.CASE2-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFportLat.CASE2-expanded"><a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-docstring">        Bring port up / down and measure latency.</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-docstring">        Port enable / disable is simulated by ifconfig up / down</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"><tt class="py-docstring">        In ONOS-next, we must ensure that the port we are</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"><tt class="py-docstring">        manipulating is connected to another switch with a valid</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"><tt class="py-docstring">        connection. Otherwise, graph view will not be updated.</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">subprocess</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">requests</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-name">ONOSUser</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CTRL'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'user'</tt><tt class="py-op">]</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-name">numIter</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TEST'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'numIter'</tt><tt class="py-op">]</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-name">iterIgnore</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TEST'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'iterIgnore'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">        <tt class="py-name">deviceTimestampKey</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'JSON'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'deviceTimestamp'</tt><tt class="py-op">]</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-name">graphTimestampKey</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'JSON'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'graphTimestamp'</tt><tt class="py-op">]</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-name">linkTimestampKey</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'JSON'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'linkTimestamp'</tt><tt class="py-op">]</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-name">tsharkPortUp</tt> <tt class="py-op">=</tt> <tt class="py-string">'/tmp/tshark_port_up.txt'</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-name">tsharkPortDown</tt> <tt class="py-op">=</tt> <tt class="py-string">'/tmp/tshark_port_down.txt'</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-name">tsharkPortStatus</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TSHARK'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ofpPortStatus'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-name">debugMode</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TEST'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'debugMode'</tt><tt class="py-op">]</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-name">postToDB</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'DB'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'postToDB'</tt><tt class="py-op">]</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-name">resultPath</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'DB'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'portEventResultPath'</tt><tt class="py-op">]</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-name">localTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">'%x %X'</tt><tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">        <tt class="py-name">localTime</tt> <tt class="py-op">=</tt> <tt class="py-name">localTime</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-name">localTime</tt> <tt class="py-op">=</tt> <tt class="py-name">localTime</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">,</tt> <tt class="py-string">'_'</tt><tt class="py-op">)</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-name">localTime</tt> <tt class="py-op">=</tt> <tt class="py-name">localTime</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">':'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">debugMode</tt> <tt class="py-op">==</tt> <tt class="py-string">'on'</tt><tt class="py-op">:</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkPcap()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#tsharkPcap"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkPcap" class="py-name" href="#" onclick="return doclink('link-55', 'tsharkPcap', 'link-55');">tsharkPcap</a></tt><tt class="py-op">(</tt><tt class="py-string">'eth0'</tt><tt class="py-op">,</tt> <tt class="py-string">'/tmp/port_lat_pcap_'</tt> <tt class="py-op">+</tt> <tt class="py-name">localTime</tt><tt class="py-op">)</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-name">upThresholdStr</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TEST'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'portUpThreshold'</tt><tt class="py-op">]</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-name">downThresholdStr</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TEST'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'portDownThreshold'</tt><tt class="py-op">]</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">        <tt class="py-name">upThresholdObj</tt> <tt class="py-op">=</tt> <tt class="py-name">upThresholdStr</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-name">downThresholdObj</tt> <tt class="py-op">=</tt> <tt class="py-name">downThresholdStr</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-name">upThresholdMin</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">upThresholdObj</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-name">upThresholdMax</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">upThresholdObj</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-name">downThresholdMin</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">downThresholdObj</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-name">downThresholdMax</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">downThresholdObj</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-name">interfaceConfig</tt> <tt class="py-op">=</tt> <tt class="py-string">'s1-eth1'</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-56', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">'Port enable / disable latency'</tt><tt class="py-op">)</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-57', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">'Simulated by ifconfig up / down'</tt><tt class="py-op">)</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-58', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">'Total iterations of test: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-59', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">'Assign switches s1 and s2 to controller 1'</tt><tt class="py-op">)</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignSwController"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController" class="py-name" href="#" onclick="return doclink('link-60', 'assignSwController', 'link-60');">assignSwController</a></tt><tt class="py-op">(</tt><tt class="py-name">sw</tt><tt class="py-op">=</tt><tt class="py-string">'s1'</tt><tt class="py-op">,</tt> <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController" class="py-name" href="#" onclick="return doclink('link-61', 'assignSwController', 'link-60');">assignSwController</a></tt><tt class="py-op">(</tt><tt class="py-name">sw</tt><tt class="py-op">=</tt><tt class="py-string">'s2'</tt><tt class="py-op">,</tt> <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-name">portUpEndToEndNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">        <tt class="py-name">portUpOfpToDevNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-name">portUpDevToLinkNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-name">portUpLinkToGraphNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-name">portDownEndToEndNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-name">portDownOfpToDevNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt class="py-name">portDownDevToLinkNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">        <tt class="py-name">portDownLinkToGraphNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-62', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">'Iteration: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ClusterCount: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-63', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">'Starting wireshark capture for port status down'</tt><tt class="py-op">)</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkGrep()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#tsharkGrep"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkGrep" class="py-name" href="#" onclick="return doclink('link-64', 'tsharkGrep', 'link-64');">tsharkGrep</a></tt><tt class="py-op">(</tt><tt class="py-name">tsharkPortStatus</tt><tt class="py-op">,</tt> <tt class="py-name">tsharkPortDown</tt><tt class="py-op">)</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-65', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">'Disable port: '</tt> <tt class="py-op">+</tt> <tt class="py-name">interfaceConfig</tt><tt class="py-op">)</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-66', 'sendline', 'link-25');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">'sh ifconfig '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">                    <tt class="py-name">interfaceConfig</tt> <tt class="py-op">+</tt> <tt class="py-string">' down'</tt><tt class="py-op">)</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">'mininet&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">            <tt class="py-name">jsonStrPtDown</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt> <tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">                <tt class="py-name">metricsPortDown</tt> <tt class="py-op">=</tt> <tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topologyEventsMetrics()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topologyEventsMetrics"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topologyEventsMetrics" class="py-name" href="#" onclick="return doclink('link-67', 'topologyEventsMetrics', 'link-67');">topologyEventsMetrics</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">                <tt class="py-name">jsonStrPtDown</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">metricsPortDown</tt><tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line"> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkStop()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#tsharkStop"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkStop" class="py-name" href="#" onclick="return doclink('link-68', 'tsharkStop', 'link-68');">tsharkStop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">            <tt class="py-name">fPortDown</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">tsharkPortDown</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">            <tt class="py-name">fLine</tt> <tt class="py-op">=</tt> <tt class="py-name">fPortDown</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">            <tt class="py-name">objDown</tt> <tt class="py-op">=</tt> <tt class="py-name">fLine</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">fLine</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">                <tt class="py-name">timestampBeginPtDown</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">objDown</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">1000</tt><tt class="py-op">)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">                <tt class="py-comment"># At times, tshark reports timestamp at the 3rd</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">                <tt class="py-comment"># index of the array. If initial readings were</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">                <tt class="py-comment"># unlike the epoch timestamp, then check the 3rd</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">                <tt class="py-comment"># index and set that as a timestamp</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">timestampBeginPtDown</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">1400000000000</tt><tt class="py-op">:</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">                   <tt class="py-name">timestampBeginPtDown</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">objDown</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">1000</tt><tt class="py-op">)</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-69', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Tshark output file returned unexpected'</tt> <tt class="py-op">+</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">                        <tt class="py-string">' results: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">objDown</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">                <tt class="py-name">timestampBeginPtDown</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">            <tt class="py-name">fPortDown</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line"> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">                <tt class="py-name">nodeNum</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">                <tt class="py-name">metricsDown</tt> <tt class="py-op">=</tt> <tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topologyEventsMetrics" class="py-name" href="#" onclick="return doclink('link-70', 'topologyEventsMetrics', 'link-67');">topologyEventsMetrics</a></tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">                <tt class="py-name">jsonStrPtDown</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">metricsDown</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">                <tt class="py-name">jsonObj</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">jsonStrPtDown</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">jsonObj</tt><tt class="py-op">:</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">                    <tt class="py-name">graphTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-name">jsonObj</tt><tt class="py-op">[</tt><tt class="py-name">graphTimestampKey</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">                    <tt class="py-name">deviceTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-name">jsonObj</tt><tt class="py-op">[</tt><tt class="py-name">deviceTimestampKey</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">                    <tt class="py-name">linkTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-name">jsonObj</tt><tt class="py-op">[</tt><tt class="py-name">linkTimestampKey</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-71', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-72" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-72', 'error', 'link-72');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Unexpected json object"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">                    <tt class="py-name">graphTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">                    <tt class="py-name">deviceTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">                    <tt class="py-name">linkTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line"> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-73', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'ptDownTimestamp: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">timestampBeginPtDown</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-74', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"graphTimestamp: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">graphTimestamp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-75', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"deviceTimestamp: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceTimestamp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-76', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"linkTimestamp: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">linkTimestamp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line"> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">                <tt class="py-name">ptDownEndToEnd</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">graphTimestamp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">timestampBeginPtDown</tt><tt class="py-op">)</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">                <tt class="py-name">ptDownOfpToDevice</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">deviceTimestamp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">timestampBeginPtDown</tt><tt class="py-op">)</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">                <tt class="py-name">ptDownDeviceToLink</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">linkTimestamp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">deviceTimestamp</tt><tt class="py-op">)</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">                <tt class="py-name">ptDownLinkToGraph</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">graphTimestamp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">linkTimestamp</tt><tt class="py-op">)</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ptDownEndToEnd</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">downThresholdMin</tt> <tt class="py-keyword">or</tt> <tt class="py-name">ptDownEndToEnd</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">downThresholdMax</tt><tt class="py-op">:</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-77', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" surpassed threshold - port down End-to-end: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptDownEndToEnd</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-78', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" warming up - port down End-to-end: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptDownEndToEnd</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">                    <tt class="py-name">portDownEndToEndNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">ptDownEndToEnd</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-79', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" port down End-to-end: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptDownEndToEnd</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line"> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ptDownOfpToDevice</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">downThresholdMin</tt> <tt class="py-keyword">or</tt> <tt class="py-name">ptDownOfpToDevice</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">downThresholdMax</tt><tt class="py-op">:</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-80', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" surpassed threshold - port down Ofp-to-device: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptDownOfpToDevice</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-81', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" warming up - port down Ofp-to-device: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptDownOfpToDevice</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">                    <tt class="py-name">portDownOfpToDevNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">ptDownOfpToDevice</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-82', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" port down Ofp-to-device: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptDownOfpToDevice</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ptDownDeviceToLink</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">downThresholdMin</tt> <tt class="py-keyword">or</tt> <tt class="py-name">ptDownDeviceToLink</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">downThresholdMax</tt><tt class="py-op">:</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-83', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" surpassed threshold - port down Device-to-link: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptDownDeviceToLink</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-84', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" warming up - port down Device-to-link: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptDownDeviceToLink</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">                    <tt class="py-name">portDownDevToLinkNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">ptDownDeviceToLink</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-85', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" port down Device-to-link: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptDownDeviceToLink</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ptDownLinkToGraph</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">downThresholdMin</tt> <tt class="py-keyword">or</tt> <tt class="py-name">ptDownLinkToGraph</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">downThresholdMax</tt><tt class="py-op">:</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-86', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" surpassed threshold - port down Link-to-graph: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptDownLinkToGraph</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-87', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" warming up - port down Link-to-graph: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptDownLinkToGraph</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">                    <tt class="py-name">portDownLinkToGraphNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">ptDownLinkToGraph</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-88', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" port down Link-to-graph: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptDownLinkToGraph</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line"> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line"> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-89', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">'Starting wireshark capture for port status up'</tt><tt class="py-op">)</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkGrep" class="py-name" href="#" onclick="return doclink('link-90', 'tsharkGrep', 'link-64');">tsharkGrep</a></tt><tt class="py-op">(</tt><tt class="py-name">tsharkPortStatus</tt><tt class="py-op">,</tt> <tt class="py-name">tsharkPortUp</tt><tt class="py-op">)</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-91', 'step', 'link-8');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">'Enable port and obtain timestamp'</tt><tt class="py-op">)</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-92', 'sendline', 'link-25');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">'sh ifconfig '</tt> <tt class="py-op">+</tt> <tt class="py-name">interfaceConfig</tt> <tt class="py-op">+</tt> <tt class="py-string">' up'</tt><tt class="py-op">)</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">'mininet&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line"> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">            <tt class="py-name">jsonStrPtUp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt> <tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">                <tt class="py-name">metricsPortUp</tt> <tt class="py-op">=</tt> <tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topologyEventsMetrics" class="py-name" href="#" onclick="return doclink('link-93', 'topologyEventsMetrics', 'link-67');">topologyEventsMetrics</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">                <tt class="py-name">jsonStrPtUp</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">metricsPortUp</tt><tt class="py-op">)</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line"> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkStop" class="py-name" href="#" onclick="return doclink('link-94', 'tsharkStop', 'link-68');">tsharkStop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line"> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">            <tt class="py-name">fPortUp</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">tsharkPortUp</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">            <tt class="py-name">fLine</tt> <tt class="py-op">=</tt> <tt class="py-name">fPortUp</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">            <tt class="py-name">objUp</tt> <tt class="py-op">=</tt> <tt class="py-name">fLine</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">)</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">fLine</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">                <tt class="py-name">timestampBeginPtUp</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">objUp</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">1000</tt><tt class="py-op">)</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">timestampBeginPtUp</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">1400000000000</tt><tt class="py-op">:</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">                    <tt class="py-name">timestampBeginPtUp</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">objUp</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">1000</tt><tt class="py-op">)</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-95', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Tshark output file returned unexpected'</tt> <tt class="py-op">+</tt> <tt class="py-string">' results.'</tt><tt class="py-op">)</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">                <tt class="py-name">timestampBeginPtUp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">            <tt class="py-name">fPortUp</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line"> </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">                <tt class="py-name">nodeNum</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">                <tt class="py-name">metricsUp</tt> <tt class="py-op">=</tt> <tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topologyEventsMetrics" class="py-name" href="#" onclick="return doclink('link-96', 'topologyEventsMetrics', 'link-67');">topologyEventsMetrics</a></tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">                <tt class="py-name">jsonStrUp</tt> <tt class="py-op">=</tt> <tt class="py-name">metricsUp</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">                <tt class="py-name">jsonObj</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">jsonStrPtUp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line"> </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">jsonObj</tt><tt class="py-op">:</tt> </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">                    <tt class="py-name">graphTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-name">jsonObj</tt><tt class="py-op">[</tt><tt class="py-name">graphTimestampKey</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">                    <tt class="py-name">deviceTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-name">jsonObj</tt><tt class="py-op">[</tt><tt class="py-name">deviceTimestampKey</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">                    <tt class="py-name">linkTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-name">jsonObj</tt><tt class="py-op">[</tt><tt class="py-name">linkTimestampKey</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-97', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-98', 'error', 'link-72');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Unexpected json object"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">                    <tt class="py-name">graphTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">                    <tt class="py-name">deviceTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">                    <tt class="py-name">linkTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line"> </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line"> </tt>
+<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-99', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'ptUpTimestamp: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">timestampBeginPtUp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-100', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"graphTimestamp: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">graphTimestamp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-101', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"deviceTimestamp: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceTimestamp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-102', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"linkTimestamp: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">linkTimestamp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line"> </tt>
+<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">                <tt class="py-name">ptUpEndToEnd</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">graphTimestamp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">timestampBeginPtUp</tt><tt class="py-op">)</tt> </tt>
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">                <tt class="py-name">ptUpOfpToDevice</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">deviceTimestamp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">timestampBeginPtUp</tt><tt class="py-op">)</tt> </tt>
+<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">                <tt class="py-name">ptUpDeviceToLink</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">linkTimestamp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">deviceTimestamp</tt><tt class="py-op">)</tt> </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">                <tt class="py-name">ptUpLinkToGraph</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">graphTimestamp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">linkTimestamp</tt><tt class="py-op">)</tt> </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line"> </tt>
+<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ptUpEndToEnd</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">upThresholdMin</tt> <tt class="py-keyword">or</tt> <tt class="py-name">ptUpEndToEnd</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">upThresholdMax</tt><tt class="py-op">:</tt> </tt>
+<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-103', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" surpassed threshold - port up End-to-end: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptUpEndToEnd</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-104', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" warming up - port up End-to-end: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptUpEndToEnd</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">                    <tt class="py-name">portUpEndToEndNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">ptUpEndToEnd</tt> </tt>
+<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-105', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" port up End-to-end: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptUpEndToEnd</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line"> </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ptUpOfpToDevice</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">upThresholdMin</tt> <tt class="py-keyword">or</tt> <tt class="py-name">ptUpOfpToDevice</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">upThresholdMax</tt><tt class="py-op">:</tt> </tt>
+<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-106', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" surpassed threshold - port up Ofp-to-device: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptUpOfpToDevice</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-107', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" warming up - port up Ofp-to-device: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptUpOfpToDevice</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">                    <tt class="py-name">portUpOfpToDevNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">ptUpOfpToDevice</tt> </tt>
+<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-108', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" port up Ofp-to-device: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptUpOfpToDevice</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line"> </tt>
+<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ptUpDeviceToLink</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">upThresholdMin</tt> <tt class="py-keyword">or</tt> <tt class="py-name">ptUpDeviceToLink</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">upThresholdMax</tt><tt class="py-op">:</tt> </tt>
+<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-109', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" surpassed threshold - port up Device-to-link: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptUpDeviceToLink</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-110', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" warming up - port up Device-to-link: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptUpDeviceToLink</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">                    <tt class="py-name">portUpDevToLinkNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">ptUpDeviceToLink</tt> </tt>
+<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-111', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" port up Device-to-link: "</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptUpDeviceToLink</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line"> </tt>
+<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ptUpLinkToGraph</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">upThresholdMin</tt> <tt class="py-keyword">or</tt> <tt class="py-name">ptUpLinkToGraph</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">upThresholdMax</tt><tt class="py-op">:</tt> </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-112', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" surpassed threshold - port up Link-to-graph: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptUpLinkToGraph</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-113', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" warming up - port up Link-to-graph: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptUpLinkToGraph</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">                    <tt class="py-name">portUpLinkToGraphNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">ptUpLinkToGraph</tt> </tt>
+<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-114', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" port up Link-to-graph: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ptUpLinkToGraph</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line"> </tt>
+<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">        <tt class="py-name">dbCmdList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">            <tt class="py-name">portUpEndToEndList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">            <tt class="py-name">portUpOfpToDevList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">            <tt class="py-name">portUpDevToLinkList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">            <tt class="py-name">portUpLinkToGraphList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line"> </tt>
+<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line">            <tt class="py-name">portDownEndToEndList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line">            <tt class="py-name">portDownOfpToDevList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">            <tt class="py-name">portDownDevToLinkList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line">            <tt class="py-name">portDownLinkToGraphList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line"> </tt>
+<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">            <tt class="py-name">portUpEndToEndAvg</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">            <tt class="py-name">portUpOfpToDevAvg</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">            <tt class="py-name">portUpDevToLinkAvg</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">            <tt class="py-name">portUpLinkToGraphAvg</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line"> </tt>
+<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">            <tt class="py-name">portDownEndToEndAvg</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">            <tt class="py-name">portDownOfpToDevAvg</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">            <tt class="py-name">portDownDevToLinkAvg</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">            <tt class="py-name">portDownLinkToGraphAvg</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line"> </tt>
+<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">            <tt class="py-comment"># TODO: Update for more pythonic way to get list</tt> </tt>
+<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">            <tt class="py-comment"># portUpDevList = [item for item in portUpDevNodeIter[node]</tt> </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">            <tt class="py-comment">#        if item &gt; 0.0]</tt> </tt>
+<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">portUpEndToEndNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line">                    <tt class="py-name">portUpEndToEndList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line"> </tt>
+<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">portUpOfpToDevNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">                    <tt class="py-name">portUpOfpToDevList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line"> </tt>
+<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">portUpDevToLinkNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">                    <tt class="py-name">portUpDevToLinkList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line"> </tt>
+<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">portUpLinkToGraphNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">                    <tt class="py-name">portUpLinkToGraphList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line"> </tt>
+<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">portDownEndToEndNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line">                    <tt class="py-name">portDownEndToEndList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line"> </tt>
+<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">portDownOfpToDevNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">                    <tt class="py-name">portDownOfpToDevList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line"> </tt>
+<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">portDownDevToLinkNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line">                    <tt class="py-name">portDownDevToLinkList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line"> </tt>
+<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">portDownLinkToGraphNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">                    <tt class="py-name">portDownLinkToGraphList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line"> </tt>
+<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line">            <tt class="py-name">portUpEndToEndAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">portUpEndToEndList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">            <tt class="py-name">portUpOfpToDevAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">portUpOfpToDevList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">            <tt class="py-name">portUpDevToLinkAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">portUpDevToLinkList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line">            <tt class="py-name">portUpLinkToGraphAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">portUpLinkToGraphList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line"> </tt>
+<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line">            <tt class="py-name">portDownEndToEndAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">portDownEndToEndList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">            <tt class="py-name">portDownOfpToDevAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">portDownOfpToDevList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">            <tt class="py-name">portDownDevToLinkAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">portDownDevToLinkList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">            <tt class="py-name">portDownLinkToGraphAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">portDownLinkToGraphList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line"> </tt>
+<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line">            <tt class="py-name">portUpStdDev</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">portUpEndToEndList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line">            <tt class="py-name">portDownStdDev</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">portDownEndToEndList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line"> </tt>
+<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-115', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' - Node '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' Summary ---------------- '</tt><tt class="py-op">)</tt> </tt>
+<a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-116', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Port up End-to-end '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">portUpEndToEndAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-117', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Port up Ofp-to-device '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">portUpOfpToDevAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-118', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Port up Device-to-link '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">portUpDevToLinkAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-119', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Port up Link-to-graph '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">portUpLinkToGraphAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line"> </tt>
+<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-120', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Port down End-to-end '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">portDownEndToEndAvg</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-121', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Port down Ofp-to-device '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">portDownOfpToDevAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-122', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Port down Device-to-link '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">portDownDevToLinkAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-123', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Port down Link-to-graph'</tt> <tt class="py-op">+</tt> </tt>
+<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">portDownLinkToGraphAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line"> </tt>
+<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">            <tt class="py-name">dbCmdList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"INSERT INTO port_latency_details VALUES('"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line">                    <tt class="py-name">timeToPost</tt> <tt class="py-op">+</tt> <tt class="py-string">"','port_latency_results',"</tt> <tt class="py-op">+</tt> <tt class="py-name">jenkinsBuildNumber</tt> <tt class="py-op">+</tt> </tt>
+<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line">                    <tt class="py-string">','</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">",'baremetal"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">                    <tt class="py-string">"',"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">portUpEndToEndAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt><tt class="py-string">','</tt> <tt class="py-op">+</tt> </tt>
+<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">portUpOfpToDevAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">','</tt> <tt class="py-op">+</tt> </tt>
+<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">portUpDevToLinkAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">','</tt> <tt class="py-op">+</tt> </tt>
+<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">portUpLinkToGraphAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">','</tt> <tt class="py-op">+</tt> </tt>
+<a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">portDownEndToEndAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">','</tt> <tt class="py-op">+</tt> </tt>
+<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">portDownOfpToDevAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">','</tt> <tt class="py-op">+</tt> </tt>
+<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">portDownDevToLinkAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">','</tt> <tt class="py-op">+</tt> </tt>
+<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">portDownLinkToGraphAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">                    <tt class="py-string">');'</tt><tt class="py-op">)</tt> </tt>
+<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line"> </tt>
+<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line">        <tt class="py-name">fResult</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">resultPath</tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dbCmdList</tt><tt class="py-op">:</tt> </tt>
+<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">                <tt class="py-name">fResult</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">line</tt> <tt class="py-op">+</tt> <tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line"> </tt>
+<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">        <tt class="py-name">fResult</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line"> </tt>
+<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line">        <tt class="py-comment"># Delete switches from controller to prepare for next</tt> </tt>
+<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line">        <tt class="py-comment"># set of tests</tt> </tt>
+<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.deleteSwController()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#deleteSwController"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.deleteSwController" class="py-name" href="#" onclick="return doclink('link-124', 'deleteSwController', 'link-124');">deleteSwController</a></tt><tt class="py-op">(</tt><tt class="py-string">'s1'</tt><tt class="py-op">)</tt> </tt>
+<a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.deleteSwController" class="py-name" href="#" onclick="return doclink('link-125', 'deleteSwController', 'link-124');">deleteSwController</a></tt><tt class="py-op">(</tt><tt class="py-string">'s2'</tt><tt class="py-op">)</tt> </tt>
+<a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line"> </tt>
+<a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-126', 'log', 'link-4');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Stopping mininet"</tt><tt class="py-op">)</tt> </tt>
+<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet" class="py-name" href="#" onclick="return doclink('link-127', 'stopNet', 'link-127');">stopNet</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest.MininetTest-class.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html
similarity index 61%
copy from TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest.MininetTest-class.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html
index f271fbb..09c1b88 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.MininetTest.MininetTest.MininetTest-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.MininetTest.MininetTest.MininetTest</title>
+  <title>TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,9 +44,9 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.MininetTest-module.html">Package&nbsp;MininetTest</a> ::
-        <a href="TestON.tests.MininetTest.MininetTest-module.html">Module&nbsp;MininetTest</a> ::
-        Class&nbsp;MininetTest
+        <a href="TestON.tests.SCPFportLat-module.html">Package&nbsp;SCPFportLat</a> ::
+        <a href="TestON.tests.SCPFportLat.SCPFportLat-module.html">Module&nbsp;SCPFportLat</a> ::
+        Class&nbsp;SCPFportLat
       </span>
     </td>
     <td>
@@ -51,16 +56,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class MininetTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest">source&nbsp;code</a></span></p>
-<p>Testing of the some basic Mininet functions included here</p>
-
+<h1 class="epydoc">Class SCPFportLat</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFportLat.SCPFportLat-pysrc.html#SCPFportLat">source&nbsp;code</a></span></p>
 <!-- ==================== INSTANCE METHODS ==================== -->
 <a name="section-InstanceMethods"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -86,7 +89,7 @@
         <tr>
           <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest.__init__">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFportLat.SCPFportLat-pysrc.html#SCPFportLat.__init__">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -101,11 +104,9 @@
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">main</span>)</span><br />
-      Testing the configuration of the host by using checkIP functionof 
-      Mininet driver</td>
+        <span class="summary-sig-arg">main</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest.CASE1">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFportLat.SCPFportLat-pysrc.html#SCPFportLat.CASE1">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -119,12 +120,11 @@
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="CASE2"></a><span class="summary-sig-name">CASE2</span>(<span class="summary-sig-arg">self</span>,
+          <td><span class="summary-sig"><a href="TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#CASE2" class="summary-sig-name">CASE2</a>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">main</span>)</span><br />
-      Testing of the reachability of the hosts by using pingall of Mininet 
-      driver</td>
+      Bring port up / down and measure latency.</td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.MininetTest.MininetTest-pysrc.html#MininetTest.CASE2">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFportLat.SCPFportLat-pysrc.html#SCPFportLat.CASE2">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -133,6 +133,49 @@
     </td>
   </tr>
 </table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="CASE2"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">CASE2</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">main</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="TestON.tests.SCPFportLat.SCPFportLat-pysrc.html#SCPFportLat.CASE2">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Bring port up / down and measure latency. Port enable / disable is 
+  simulated by ifconfig up / down</p>
+  <p>In ONOS-next, we must ensure that the port we are manipulating is 
+  connected to another switch with a valid connection. Otherwise, graph 
+  view will not be updated.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -153,13 +196,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.TicketBooking-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFswitchLat-module.html
similarity index 67%
copy from TestON/Documentation/TestON_Document/TestON.tests.TicketBooking-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFswitchLat-module.html
index b23ea6e..828898f 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.TicketBooking-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFswitchLat-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.TicketBooking</title>
+  <title>TestON.tests.SCPFswitchLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;TicketBooking
+        Package&nbsp;SCPFswitchLat
       </span>
     </td>
     <td>
@@ -49,14 +54,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.TicketBooking-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFswitchLat-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package TicketBooking</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.TicketBooking-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Package SCPFswitchLat</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFswitchLat-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== SUBMODULES ==================== -->
 <a name="section-Submodules"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -76,11 +81,37 @@
 </tr>
   <tr><td class="summary">
   <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="TestON.tests.TicketBooking.TicketBooking-module.html">TestON.tests.TicketBooking.TicketBooking</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html">TestON.tests.SCPFswitchLat.SCPFswitchLat</a></strong>    </li>
   </ul></td></tr>
 </table>
 
 <br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
 <!-- ==================== NAVIGATION BAR ==================== -->
 <table class="navbar" border="0" width="100%" cellpadding="0"
        bgcolor="#a0c0ff" cellspacing="0">
@@ -101,13 +132,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFswitchLat-pysrc.html
similarity index 80%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFswitchLat-pysrc.html
index ab359bb..96fd680 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest-pysrc.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFswitchLat-pysrc.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest</title>
+  <title>TestON.tests.SCPFswitchLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,7 +44,7 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;PoxTest
+        Package&nbsp;SCPFswitchLat
       </span>
     </td>
     <td>
@@ -49,13 +54,13 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest-pysrc.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFswitchLat-pysrc.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.PoxTest-module.html">Package TestON.tests.PoxTest</a></h1>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SCPFswitchLat-module.html">Package TestON.tests.SCPFswitchLat</a></h1>
 <pre class="py-src">
 <a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
 <a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
@@ -85,13 +90,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:36 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html
similarity index 65%
copy from TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html
index 81b602b..fbbe999 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.PoxTest.PoxTest-module.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.PoxTest.PoxTest</title>
+  <title>TestON.tests.SCPFswitchLat.SCPFswitchLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,8 +44,8 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.PoxTest-module.html">Package&nbsp;PoxTest</a> ::
-        Module&nbsp;PoxTest
+        <a href="TestON.tests.SCPFswitchLat-module.html">Package&nbsp;SCPFswitchLat</a> ::
+        Module&nbsp;SCPFswitchLat
       </span>
     </td>
     <td>
@@ -50,14 +55,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.PoxTest.PoxTest-module.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module PoxTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.PoxTest.PoxTest-pysrc.html">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Module SCPFswitchLat</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFswitchLat.SCPFswitchLat-pysrc.html">source&nbsp;code</a></span></p>
 <!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -79,7 +84,33 @@
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html" class="summary-name">PoxTest</a>
+        <a href="TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html" class="summary-name">SCPFswitchLat</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
     </td>
   </tr>
 </table>
@@ -103,13 +134,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.SCPFswitchLat.SCPFswitchLat-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFswitchLat.SCPFswitchLat-pysrc.html
new file mode 100644
index 0000000..43c8417
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFswitchLat.SCPFswitchLat-pysrc.html
@@ -0,0 +1,989 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TestON.tests.SCPFswitchLat.SCPFswitchLat</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
+        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="TestON.tests.SCPFswitchLat-module.html">Package&nbsp;SCPFswitchLat</a> ::
+        Module&nbsp;SCPFswitchLat
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFswitchLat.SCPFswitchLat-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html">Module TestON.tests.SCPFswitchLat.SCPFswitchLat</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># CASE1 starts number of nodes specified in param file</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># cameron@onlab.us</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"> </tt>
+<a name="SCPFswitchLat"></a><div id="SCPFswitchLat-def"><a name="L5"></a><tt class="py-lineno">  5</tt> <a class="py-toggle" href="#" id="SCPFswitchLat-toggle" onclick="return toggle('SCPFswitchLat');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html">SCPFswitchLat</a><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFswitchLat-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SCPFswitchLat-expanded"><a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"> </tt>
+<a name="SCPFswitchLat.__init__"></a><div id="SCPFswitchLat.__init__-def"><a name="L7"></a><tt class="py-lineno">  7</tt> <a class="py-toggle" href="#" id="SCPFswitchLat.__init__-toggle" onclick="return toggle('SCPFswitchLat.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__">__init__</a><tt class="py-op">(</tt> <tt class="py-param">self</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFswitchLat.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFswitchLat.__init__-expanded"><a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"> </tt>
+<a name="SCPFswitchLat.CASE1"></a><div id="SCPFswitchLat.CASE1-def"><a name="L10"></a><tt class="py-lineno"> 10</tt> <a class="py-toggle" href="#" id="SCPFswitchLat.CASE1-toggle" onclick="return toggle('SCPFswitchLat.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#CASE1">CASE1</a><tt class="py-op">(</tt> <tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFswitchLat.CASE1-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFswitchLat.CASE1-expanded"><a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt class="py-name">init</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">init</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">bool</tt><tt class="py-op">:</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">                <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">Fals</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">            <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt class="py-comment">#Load values from params file</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">        <tt class="py-name">checkoutBranch</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'checkout'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt id="link-1" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-1', 'gitPull', 'link-1');">gitPull</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'GIT'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'autopull'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-name">Apps</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellApps'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-name">BENCHIp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'BENCH'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ip'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-name">MN1Ip</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'MN'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ip1'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'max'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">cellName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'ENV'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'cellName'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">homeDir</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Variable TestON.bin.cli.path=TestON.bin.cli-module.html#path,Variable TestON.core.teston.path=TestON.core.teston-module.html#path"><a title="TestON.bin.cli.path
+TestON.core.teston.path" class="py-name" href="#" onclick="return doclink('link-2', 'path', 'link-2');">path</a></tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt class="py-string">'~'</tt><tt class="py-op">)</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">topoCfgFile</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TEST'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'topoConfigFile'</tt><tt class="py-op">]</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">topoCfgName</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TEST'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'topoConfigName'</tt><tt class="py-op">]</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">switchEventResultPath</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'DB'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'switchEventResultPath'</tt><tt class="py-op">]</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">skipMvn</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt> <tt class="py-op">[</tt><tt class="py-string">'TEST'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'mci'</tt><tt class="py-op">]</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">testONpath</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt> <tt class="py-string">"(tests)$"</tt><tt class="py-op">,</tt> <tt class="py-string">"bin"</tt><tt class="py-op">,</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">testDir</tt> <tt class="py-op">)</tt>  <tt class="py-comment"># TestON/bin</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">user</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'CTRL'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'user'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-comment"># -- INIT SECTION, ONLY RUNS ONCE -- #</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">init</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">            <tt class="py-name">init</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">clusterCount</tt>             <tt class="py-comment">#number of nodes running</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">scale</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">commit</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">timeToPost</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">runNum</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">jenkinsBuildNumber</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-keyword">global</tt> <tt class="py-name">CLIs</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">            <tt class="py-name">CLIs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">                <tt class="py-name">CLIs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">,</tt> <tt class="py-string">'ONOS'</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">i</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">'cli'</tt> <tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-name">timeToPost</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">'%Y-%m-%d %H:%M:%S'</tt><tt class="py-op">)</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-name">runNum</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">'%d%H%M%S'</tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">                <tt class="py-name">jenkinsBuildNumber</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'BUILD_NUMBER'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-3', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">'Jenkins build number: '</tt> <tt class="py-op">+</tt> <tt class="py-name">jenkinsBuildNumber</tt> <tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">                <tt class="py-name">jenkinsBuildNumber</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-4', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">'Job is not run by jenkins. '</tt> <tt class="py-op">+</tt> <tt class="py-string">'Build number set to: '</tt> <tt class="py-op">+</tt> <tt class="py-name">jenkinsBuildNumber</tt><tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSIp</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getOnosIps"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps" class="py-name" href="#" onclick="return doclink('link-5', 'getOnosIps', 'link-5');">getOnosIps</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">            <tt class="py-name">scale</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'SCALE'</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">            <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">            <tt class="py-comment">#mvn clean install, for debugging set param 'skipCleanInstall' to yes to speed up test</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">skipMvn</tt> <tt class="py-op">!=</tt> <tt class="py-string">"off"</tt><tt class="py-op">:</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">                <tt class="py-name">mvnResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cleanInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall" class="py-name" href="#" onclick="return doclink('link-6', 'cleanInstall', 'link-6');">cleanInstall</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-comment">#git</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-7', 'step', 'link-7');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Git checkout and pull "</tt> <tt class="py-op">+</tt> <tt class="py-name">checkoutBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-8" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-8', 'gitPull', 'link-1');">gitPull</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'on'</tt><tt class="py-op">:</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">                <tt class="py-name">checkoutResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitCheckout"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout" class="py-name" href="#" onclick="return doclink('link-9', 'gitCheckout', 'link-9');">gitCheckout</a></tt><tt class="py-op">(</tt> <tt class="py-name">checkoutBranch</tt> <tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">                <tt class="py-name">pullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull" class="py-name" href="#" onclick="return doclink('link-10', 'gitPull', 'link-1');">gitPull</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">                <tt class="py-name">checkoutResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">                <tt class="py-name">pullResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-11', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Skipped git checkout and pull"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-12', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-13', 'step', 'link-7');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Grabbing commit number"</tt><tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-name">commit</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getVersion,Method TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getVersion"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion
+TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion" class="py-name" href="#" onclick="return doclink('link-14', 'getVersion', 'link-14');">getVersion</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt>       <tt class="py-comment">####</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-name">commit</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">commit</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-name">testONpath</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"bin"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"tests/SCPFswitchLat/Dependency/"</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.copyMininetFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#copyMininetFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.copyMininetFile" class="py-name" href="#" onclick="return doclink('link-15', 'copyMininetFile', 'link-15');">copyMininetFile</a></tt><tt class="py-op">(</tt><tt class="py-string">"topo-perf-1sw.py"</tt><tt class="py-op">,</tt> <tt class="py-name">temp</tt><tt class="py-op">,</tt> <tt class="py-name">user</tt><tt class="py-op">,</tt> <tt class="py-string">"localhost"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">            <tt class="py-comment">#main.ONOSbench.handle.expect(":~")</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-16', 'step', 'link-7');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">'Clearing previous DB log file'</tt><tt class="py-op">)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">switchEventResultPath</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-name">fSwitchLog</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">switchEventResultPath</tt><tt class="py-op">,</tt> <tt class="py-string">"w+"</tt><tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-name">fSwitchLog</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-name">fSwitchLog</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-comment"># -- END OF INIT SECTION --#</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-17', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-18', 'step', 'link-7');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Adjusting scale"</tt><tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-name">clusterCount</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">scale</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-comment">#kill off all onos processes</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-19', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-20', 'step', 'link-7');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Safety check, killing all ONOS processes before initiating enviornment setup"</tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosDie"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie" class="py-name" href="#" onclick="return doclink('link-21', 'onosDie', 'link-21');">onosDie</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-comment">#Uninstall everywhere</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-22', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-23', 'step', 'link-7');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Cleaning Enviornment..."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">maxNodes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-24', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">" Uninstalling ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosUninstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall" class="py-name" href="#" onclick="return doclink('link-25', 'onosUninstall', 'link-25');">onosUninstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-26', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Sleep 10 second for uninstall to settle..."</tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-27', 'sendline', 'link-27');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-comment">#construct the cell file</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-28', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Creating cell file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-name">cellIp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt> <tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-name">cellIp</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile" class="py-name" href="#" onclick="return doclink('link-29', 'createCellFile', 'link-29');">createCellFile</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">ip_address</tt><tt class="py-op">,</tt> <tt class="py-name">cellName</tt><tt class="py-op">,</tt> <tt class="py-name">MN1Ip</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">Apps</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">cellIp</tt><tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-30', 'step', 'link-7');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Set Cell"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell,Method TestON.drivers.common.cli.onosdriver.OnosDriver.setCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.setCell" class="py-name" href="#" onclick="return doclink('link-31', 'setCell', 'link-31');">setCell</a></tt><tt class="py-op">(</tt><tt class="py-name">cellName</tt><tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-32', 'step', 'link-7');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Creating ONOS package"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-name">packageResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage" class="py-name" href="#" onclick="return doclink('link-33', 'onosPackage', 'link-33');">onosPackage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-34', 'step', 'link-7');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">"verify cells"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">verifyCellResult</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifyCell"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell" class="py-name" href="#" onclick="return doclink('link-35', 'verifyCell', 'link-35');">verifyCell</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-36', 'step', 'link-7');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">'Starting mininet topology '</tt><tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet" class="py-name" href="#" onclick="return doclink('link-37', 'startNet', 'link-37');">startNet</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-38', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"Initializeing "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt> <tt class="py-name">clusterCount</tt> <tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" node cluster."</tt> <tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-39', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Starting ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" at IP: "</tt> <tt class="py-op">+</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall" class="py-name" href="#" onclick="return doclink('link-40', 'onosInstall', 'link-40');">onosInstall</a></tt><tt class="py-op">(</tt> <tt class="py-name">node</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">50</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"attempt "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline" class="py-name" href="#" onclick="return doclink('link-41', 'sendline', 'link-27');">sendline</a></tt><tt class="py-op">(</tt><tt class="py-string">"onos $OC1 summary"</tt><tt class="py-op">)</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">expect</tt><tt class="py-op">(</tt><tt class="py-string">":~"</tt><tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"nodes="</tt> <tt class="py-keyword">in</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt class="py-name">handle</tt><tt class="py-op">.</tt><tt class="py-name">before</tt><tt class="py-op">:</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt> <tt class="py-number">2</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">                <tt id="link-42" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.isup()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#isup"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-42', 'isup', 'link-42');">isup</a></tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-43', 'isup', 'link-42');">isup</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-44" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-44', 'isup', 'link-42');">isup</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-45', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" is up\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-46" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.isup" class="py-name" href="#" onclick="return doclink('link-46', 'isup', 'link-42');">isup</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-47', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" didn't start!"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-48', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Startup sequence complete"</tt><tt class="py-op">)</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-comment">#time.sleep(20)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-49', 'step', 'link-7');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">'Start onos cli'</tt><tt class="py-op">)</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">            <tt class="py-name">cli1</tt> <tt class="py-op">=</tt> <tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#startOnosCli"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli" class="py-name" href="#" onclick="return doclink('link-50', 'startOnosCli', 'link-50');">startOnosCli</a></tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-51', 'step', 'link-7');">step</a></tt><tt class="py-op">(</tt> <tt class="py-string">'Configuring application parameters'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-name">configName</tt> <tt class="py-op">=</tt> <tt class="py-string">'org.onosproject.net.topology.impl.DefaultTopologyProvider'</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-name">configParam</tt> <tt class="py-op">=</tt> <tt class="py-string">'maxEvents 1'</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosCfgSet"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-52', 'onosCfgSet', 'link-52');">onosCfgSet</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">configName</tt><tt class="py-op">,</tt> <tt class="py-name">configParam</tt> <tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-name">configParam</tt> <tt class="py-op">=</tt> <tt class="py-string">'maxBatchMs 0'</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-53', 'onosCfgSet', 'link-52');">onosCfgSet</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">configName</tt><tt class="py-op">,</tt> <tt class="py-name">configParam</tt> <tt class="py-op">)</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-name">configParam</tt> <tt class="py-op">=</tt> <tt class="py-string">'maxIdleMs 0'</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet" class="py-name" href="#" onclick="return doclink('link-54', 'onosCfgSet', 'link-52');">onosCfgSet</a></tt><tt class="py-op">(</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">configName</tt><tt class="py-op">,</tt> <tt class="py-name">configParam</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"> </tt>
+<a name="SCPFswitchLat.CASE2"></a><div id="SCPFswitchLat.CASE2-def"><a name="L182"></a><tt class="py-lineno">182</tt> <a class="py-toggle" href="#" id="SCPFswitchLat.CASE2-toggle" onclick="return toggle('SCPFswitchLat.CASE2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#CASE2">CASE2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">main</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SCPFswitchLat.CASE2-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCPFswitchLat.CASE2-expanded"><a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"Cluster size: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-string">"""</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-string">        Assign s3 to ONOSbench and measure latency</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-string">        There are 4 levels of latency measurements to this test:</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-string">        1 ) End-to-end measurement: Complete end-to-end measurement</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"><tt class="py-string">           from TCP ( SYN/ACK ) handshake to Graph change</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"><tt class="py-string">        2 ) OFP-to-graph measurement: 'ONOS processing' snippet of</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-string">           measurement from OFP Vendor message to Graph change</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"><tt class="py-string">        3 ) OFP-to-device measurement: 'ONOS processing without</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"><tt class="py-string">           graph change' snippet of measurement from OFP vendor</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"><tt class="py-string">           message to Device change timestamp</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"><tt class="py-string">        4 ) T0-to-device measurement: Measurement that includes</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"><tt class="py-string">           the switch handshake to devices timestamp without</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"><tt class="py-string">           the graph view change. ( TCP handshake -&gt; Device</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"><tt class="py-string">           change )</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line"><tt class="py-string">        """</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">subprocess</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">json</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">requests</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line"> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">        <tt class="py-name">ONOSUser</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CTRL'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'user'</tt><tt class="py-op">]</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-name">numIter</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TEST'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'numIter'</tt><tt class="py-op">]</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-name">iterIgnore</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TEST'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'iterIgnore'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-name">deviceTimestampKey</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'JSON'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'deviceTimestamp'</tt><tt class="py-op">]</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-name">graphTimestampKey</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'JSON'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'graphTimestamp'</tt><tt class="py-op">]</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-name">debugMode</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TEST'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'debugMode'</tt><tt class="py-op">]</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-name">onosLog</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TEST'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'onosLogFile'</tt><tt class="py-op">]</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">        <tt class="py-name">resultPath</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'DB'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'switchEventResultPath'</tt><tt class="py-op">]</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-name">thresholdStr</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'TEST'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'singleSwThreshold'</tt><tt class="py-op">]</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-name">thresholdObj</tt> <tt class="py-op">=</tt> <tt class="py-name">thresholdStr</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-name">thresholdMin</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">thresholdObj</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-name">thresholdMax</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">thresholdObj</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-comment"># Look for 'role-request' messages,</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-comment"># which replaces the 'vendor' messages previously seen</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-comment"># on OVS 2.0.1</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-name">tsharkTcpString</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TSHARK'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'tcpSynAck'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-name">tsharkFeatureReply</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TSHARK'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'featureReply'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-name">tsharkRoleRequest</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TSHARK'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'roleRequest'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-name">tsharkOfString</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TSHARK'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'ofpRoleReply'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-name">tsharkFinAckSequence</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt> <tt class="py-string">'TSHARK'</tt> <tt class="py-op">]</tt><tt class="py-op">[</tt> <tt class="py-string">'finAckSequence'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-name">tsharkOfOutput</tt> <tt class="py-op">=</tt> <tt class="py-string">'/tmp/tshark_of_topo.txt'</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-name">tsharkTcpOutput</tt> <tt class="py-op">=</tt> <tt class="py-string">'/tmp/tshark_tcp_topo.txt'</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">        <tt class="py-name">tsharkRoleOutput</tt> <tt class="py-op">=</tt> <tt class="py-string">'/tmp/tshark_role_request.txt'</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-name">tsharkFeatureOutput</tt> <tt class="py-op">=</tt> <tt class="py-string">'/tmp/tshark_feature_reply.txt'</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">        <tt class="py-name">tsharkFinAckOutput</tt> <tt class="py-op">=</tt> <tt class="py-string">'/tmp/tshark_fin_ack.txt'</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-comment"># Switch connect measurement list</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-comment"># TCP Syn/Ack -&gt; Feature Reply latency collection for each node</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-name">tcpToFeatureLatNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-comment"># Feature Reply -&gt; Role Request latency collection for each node</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt class="py-name">featureToRoleRequestLatNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">            <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">        <tt class="py-comment"># Role Request -&gt; Role Reply latency collection for each node</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-name">roleRequestToRoleReplyLatNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">            <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-comment"># Role Reply -&gt; Device Update latency collection for each node</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">        <tt class="py-name">roleReplyToDeviceLatNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">            <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">        <tt class="py-comment"># Device Update -&gt; Graph Update latency collection for each node</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">        <tt class="py-name">deviceToGraphLatNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">            <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">        <tt class="py-name">endToEndLatNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line"> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">        <tt class="py-comment"># Switch disconnect measurement lists</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">        <tt class="py-comment"># Mininet Fin / Ack -&gt; Mininet Ack</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">        <tt class="py-name">finAckTransactionLatNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">            <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt class="py-comment"># Mininet Ack -&gt; Device Event</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-name">ackToDeviceLatNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">            <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-comment"># Device event -&gt; Graph event</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">        <tt class="py-name">deviceToGraphDiscLatNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">            <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">        <tt class="py-name">endToEndDiscLatNodeIter</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">        <tt class="py-name">assertion</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">        <tt class="py-name">localTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">strftime</tt><tt class="py-op">(</tt><tt class="py-string">'%x %X'</tt><tt class="py-op">)</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-name">localTime</tt> <tt class="py-op">=</tt> <tt class="py-name">localTime</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-name">localTime</tt> <tt class="py-op">=</tt> <tt class="py-name">localTime</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">,</tt> <tt class="py-string">'_'</tt><tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">        <tt class="py-name">localTime</tt> <tt class="py-op">=</tt> <tt class="py-name">localTime</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">':'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">debugMode</tt> <tt class="py-op">==</tt> <tt class="py-string">'on'</tt><tt class="py-op">:</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkPcap()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#tsharkPcap"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkPcap" class="py-name" href="#" onclick="return doclink('link-55', 'tsharkPcap', 'link-55');">tsharkPcap</a></tt><tt class="py-op">(</tt><tt class="py-string">'eth0'</tt><tt class="py-op">,</tt> <tt class="py-string">'/tmp/single_sw_lat_pcap_'</tt> <tt class="py-op">+</tt> <tt class="py-name">localTime</tt><tt class="py-op">)</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-56', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Debug mode is on'</tt><tt class="py-op">)</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-57', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">'Latency of adding one switch to controller'</tt><tt class="py-op">)</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-58', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">'First '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">iterIgnore</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' iterations ignored'</tt> <tt class="py-op">+</tt> <tt class="py-string">' for jvm warmup time'</tt><tt class="py-op">)</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-59', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">'Total iterations of test: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line"> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numIter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-60', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Starting tshark capture'</tt><tt class="py-op">)</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkGrep()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#tsharkGrep"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkGrep" class="py-name" href="#" onclick="return doclink('link-61', 'tsharkGrep', 'link-61');">tsharkGrep</a></tt><tt class="py-op">(</tt><tt class="py-name">tsharkTcpString</tt><tt class="py-op">,</tt> <tt class="py-name">tsharkTcpOutput</tt><tt class="py-op">)</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkGrep" class="py-name" href="#" onclick="return doclink('link-62', 'tsharkGrep', 'link-61');">tsharkGrep</a></tt><tt class="py-op">(</tt><tt class="py-name">tsharkOfString</tt><tt class="py-op">,</tt> <tt class="py-name">tsharkOfOutput</tt><tt class="py-op">)</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkGrep" class="py-name" href="#" onclick="return doclink('link-63', 'tsharkGrep', 'link-61');">tsharkGrep</a></tt><tt class="py-op">(</tt><tt class="py-name">tsharkRoleRequest</tt><tt class="py-op">,</tt> <tt class="py-name">tsharkRoleOutput</tt><tt class="py-op">)</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkGrep" class="py-name" href="#" onclick="return doclink('link-64', 'tsharkGrep', 'link-61');">tsharkGrep</a></tt><tt class="py-op">(</tt><tt class="py-name">tsharkFeatureReply</tt><tt class="py-op">,</tt> <tt class="py-name">tsharkFeatureOutput</tt><tt class="py-op">)</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line"> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line"> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-65', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Assigning s3 to controller'</tt><tt class="py-op">)</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignSwController"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController" class="py-name" href="#" onclick="return doclink('link-66', 'assignSwController', 'link-66');">assignSwController</a></tt><tt class="py-op">(</tt><tt class="py-name">sw</tt><tt class="py-op">=</tt><tt class="py-string">'s3'</tt><tt class="py-op">,</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">                    <tt class="py-name">ip</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSIp</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line"> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">            <tt class="py-name">jsonStr</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt> <tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">                <tt class="py-name">metricsSwUp</tt> <tt class="py-op">=</tt> <tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topologyEventsMetrics()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topologyEventsMetrics"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topologyEventsMetrics" class="py-name" href="#" onclick="return doclink('link-67', 'topologyEventsMetrics', 'link-67');">topologyEventsMetrics</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">                <tt class="py-name">jsonStr</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">metricsSwUp</tt><tt class="py-op">)</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line"> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line"> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-68', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Stopping all Tshark processes'</tt><tt class="py-op">)</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkStop()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#tsharkStop"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkStop" class="py-name" href="#" onclick="return doclink('link-69', 'tsharkStop', 'link-69');">tsharkStop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line"> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line"> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">            <tt class="py-string">'''</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line"><tt class="py-string">            main.log.info('Copying over tshark files')</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line"><tt class="py-string">            os.system('scp ' + ONOSUser + '@' + main.ONOSIp[0] +</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"><tt class="py-string">                    ':' + tsharkTcpOutput + ' /tmp/')</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"><tt class="py-string">            os.system('scp ' + ONOSUser + '@' + main.ONOSIp[0] +</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"><tt class="py-string">                    ':' + tsharkRoleOutput + ' /tmp/')</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line"><tt class="py-string">            os.system('scp ' + ONOSUser + '@' + main.ONOSIp[0] +</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line"><tt class="py-string">                    ':' + tsharkFeatureOutput + ' /tmp/')</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line"><tt class="py-string">            os.system('scp ' + ONOSUser + '@' +</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line"><tt class="py-string">                      main.ONOSIp[0] + ':' + tsharkOfOutput + ' /tmp/')</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line"><tt class="py-string">            '''</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line"> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">            <tt class="py-comment"># Get tcp syn / ack output</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line"> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">            <tt class="py-name">tcpFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">tsharkTcpOutput</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">            <tt class="py-name">tempText</tt> <tt class="py-op">=</tt> <tt class="py-name">tcpFile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">            <tt class="py-name">tempText</tt> <tt class="py-op">=</tt> <tt class="py-name">tempText</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">)</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-70', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Object read in from TCP capture: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tempText</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line"> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">tempText</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">                <tt class="py-name">t0Tcp</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">tempText</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">1000.0</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-71', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-72" class="py-name" targets="Function TestON.bin.cli.error()=TestON.bin.cli-module.html#error"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-72', 'error', 'link-72');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">'Tshark output file for TCP'</tt> <tt class="py-op">+</tt> <tt class="py-string">' returned unexpected results'</tt><tt class="py-op">)</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">                <tt class="py-name">t0Tcp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">                <tt class="py-name">assertion</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">            <tt class="py-name">tcpFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line"> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">            <tt class="py-comment"># Get Role reply output</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">            <tt class="py-name">ofFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">tsharkOfOutput</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">            <tt class="py-name">lineOfp</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">                <tt class="py-name">tempText</tt> <tt class="py-op">=</tt> <tt class="py-name">ofFile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">tempText</tt> <tt class="py-op">!=</tt> <tt class="py-string">''</tt><tt class="py-op">:</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">                    <tt class="py-name">lineOfp</tt> <tt class="py-op">=</tt> <tt class="py-name">tempText</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">            <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">lineOfp</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">)</tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-73', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Object read in from OFP capture: '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">lineOfp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">                <tt class="py-name">t0Ofp</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">1000.0</tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-74', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-75', 'error', 'link-72');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">'Tshark output file for OFP'</tt> <tt class="py-op">+</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">                        <tt class="py-string">' returned unexpected results'</tt><tt class="py-op">)</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">                <tt class="py-name">t0Ofp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">                <tt class="py-name">assertion</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">            <tt class="py-name">ofFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line"> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">            <tt class="py-comment"># Get role request output</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">            <tt class="py-name">roleFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">tsharkRoleOutput</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">            <tt class="py-name">tempText</tt> <tt class="py-op">=</tt> <tt class="py-name">roleFile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">            <tt class="py-name">tempText</tt> <tt class="py-op">=</tt> <tt class="py-name">tempText</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">)</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">tempText</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-76', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Object read in from role request capture:'</tt> <tt class="py-op">+</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">                        <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tempText</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">                <tt class="py-name">roleTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">tempText</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">1000.0</tt> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-77', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-78', 'error', 'link-72');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">'Tshark output file for role request'</tt> <tt class="py-op">+</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">                        <tt class="py-string">' returned unexpected results'</tt><tt class="py-op">)</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">                <tt class="py-name">timeRoleRequest</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">                <tt class="py-name">assertion</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">            <tt class="py-name">roleFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line"> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">            <tt class="py-comment"># Get feature reply output</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">            <tt class="py-name">featureFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">tsharkFeatureOutput</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">            <tt class="py-name">tempText</tt> <tt class="py-op">=</tt> <tt class="py-name">featureFile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">            <tt class="py-name">tempText</tt> <tt class="py-op">=</tt> <tt class="py-name">tempText</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">)</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">tempText</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-79', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Object read in from feature reply capture: '</tt><tt class="py-op">+</tt> </tt>
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">                        <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tempText</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">tempText</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">' '</tt> <tt class="py-keyword">and</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">tempText</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1400000000.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">                    <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-name">tempText</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">tempText</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">' '</tt> <tt class="py-keyword">and</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">tempText</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1400000000.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">                    <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-name">tempText</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">                    <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">                <tt class="py-name">featureTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">temp</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">1000.0</tt> </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-80', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-81', 'error', 'link-72');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">'Tshark output file for feature reply'</tt> <tt class="py-op">+</tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">                        <tt class="py-string">' returned unexpected results'</tt><tt class="py-op">)</tt> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">                <tt class="py-name">timeFeatureReply</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">                <tt class="py-name">assertion</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">            <tt class="py-name">featureFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line"> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">                <tt class="py-name">nodeNum</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">                <tt class="py-comment">#metricsSwUp = CLIs[node].topologyEventsMetrics</tt> </tt>
+<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">                <tt class="py-comment">#jsonStr = metricsSwUp()</tt> </tt>
+<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">                <tt class="py-name">jsonObj</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">jsonStr</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">jsonObj</tt><tt class="py-op">:</tt> </tt>
+<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">                    <tt class="py-name">graphTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-name">jsonObj</tt><tt class="py-op">[</tt><tt class="py-name">graphTimestampKey</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
+<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line">                    <tt class="py-name">deviceTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-name">jsonObj</tt><tt class="py-op">[</tt><tt class="py-name">deviceTimestampKey</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
+<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-82', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-83', 'error', 'link-72');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Unexpected JSON object"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">                    <tt class="py-comment"># If we could not obtain the JSON object,</tt> </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">                    <tt class="py-comment"># set the timestamps to 0, which will be</tt> </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">                    <tt class="py-comment"># excluded from the measurement later on</tt> </tt>
+<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">                    <tt class="py-comment"># (realized as invalid)</tt> </tt>
+<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">                    <tt class="py-name">graphTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">                    <tt class="py-name">deviceTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line"> </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">                <tt class="py-name">endToEnd</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">graphTimestamp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">t0Tcp</tt><tt class="py-op">)</tt> </tt>
+<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line"> </tt>
+<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">                <tt class="py-comment"># Below are measurement breakdowns of the end-to-end</tt> </tt>
+<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">                <tt class="py-comment"># measurement.</tt> </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">                <tt class="py-name">tcpToFeature</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">featureTimestamp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">t0Tcp</tt><tt class="py-op">)</tt> </tt>
+<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">                <tt class="py-name">featureToRole</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">roleTimestamp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">featureTimestamp</tt><tt class="py-op">)</tt> </tt>
+<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line">                <tt class="py-name">roleToOfp</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">t0Ofp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">roleTimestamp</tt><tt class="py-op">)</tt> </tt>
+<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line">                <tt class="py-name">ofpToDevice</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">deviceTimestamp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">t0Ofp</tt><tt class="py-op">)</tt> </tt>
+<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line">                <tt class="py-comment"># Timestamps gathered from ONOS are millisecond</tt> </tt>
+<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">                <tt class="py-comment"># precision. They are returned as integers, thus no</tt> </tt>
+<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line">                <tt class="py-comment"># need to be more precise than 'int'. However,</tt> </tt>
+<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line">                <tt class="py-comment"># the processing seems to be mostly under 1 ms,</tt> </tt>
+<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">                <tt class="py-comment"># thus this may be a problem point to handle any</tt> </tt>
+<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">                <tt class="py-comment"># submillisecond output that we are unsure of.</tt> </tt>
+<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line">                <tt class="py-comment"># For now, this will be treated as 0 ms if less than 1 ms</tt> </tt>
+<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">                <tt class="py-name">deviceToGraph</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">graphTimestamp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">deviceTimestamp</tt><tt class="py-op">)</tt> </tt>
+<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line"> </tt>
+<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">endToEnd</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">thresholdMin</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">                   <tt class="py-name">endToEnd</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">thresholdMax</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">                    <tt class="py-name">endToEndLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">endToEnd</tt> </tt>
+<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-84', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> <tt class="py-string">" end-to-end: "</tt><tt class="py-op">+</tt> </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">endToEnd</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-85', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> <tt class="py-string">" end-to-end "</tt><tt class="py-op">+</tt> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">                            <tt class="py-string">"measurement ignored due to excess in "</tt><tt class="py-op">+</tt> </tt>
+<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">                            <tt class="py-string">"threshold or premature iteration: "</tt><tt class="py-op">)</tt> </tt>
+<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-86', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">endToEnd</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line"> </tt>
+<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">tcpToFeature</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">thresholdMin</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line">                   <tt class="py-name">tcpToFeature</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">thresholdMax</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">                    <tt class="py-name">tcpToFeatureLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">tcpToFeature</tt> </tt>
+<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-87', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> <tt class="py-string">" tcp-to-feature: "</tt><tt class="py-op">+</tt> </tt>
+<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpToFeature</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-88', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> <tt class="py-string">" tcp-to-feature "</tt><tt class="py-op">+</tt> </tt>
+<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line">                            <tt class="py-string">"measurement ignored due to excess in "</tt><tt class="py-op">+</tt> </tt>
+<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line">                            <tt class="py-string">"threshold or premature iteration: "</tt><tt class="py-op">)</tt> </tt>
+<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-89', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpToFeature</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line"> </tt>
+<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">featureToRole</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">thresholdMin</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">                   <tt class="py-name">featureToRole</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">thresholdMax</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">                    <tt class="py-name">featureToRoleRequestLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">featureToRole</tt> </tt>
+<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-90', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> <tt class="py-string">" feature-to-role: "</tt><tt class="py-op">+</tt> </tt>
+<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">featureToRole</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-91', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> <tt class="py-string">" feature-to-role "</tt><tt class="py-op">+</tt> </tt>
+<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">                            <tt class="py-string">"measurement ignored due to excess in "</tt><tt class="py-op">+</tt> </tt>
+<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">                            <tt class="py-string">"threshold or premature iteration: "</tt><tt class="py-op">)</tt> </tt>
+<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-92', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">featureToRole</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line"> </tt>
+<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">roleToOfp</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">thresholdMin</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">                   <tt class="py-name">roleToOfp</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">thresholdMax</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">                    <tt class="py-name">roleRequestToRoleReplyLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">roleToOfp</tt> </tt>
+<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-93', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> <tt class="py-string">" role-to-reply: "</tt><tt class="py-op">+</tt> </tt>
+<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">roleToOfp</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-94', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> <tt class="py-string">" role-to-reply "</tt><tt class="py-op">+</tt> </tt>
+<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">                            <tt class="py-string">"measurement ignored due to excess in "</tt><tt class="py-op">+</tt> </tt>
+<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">                            <tt class="py-string">"threshold or premature iteration: "</tt><tt class="py-op">)</tt> </tt>
+<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-95', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">roleToOfp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line"> </tt>
+<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ofpToDevice</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">thresholdMin</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">                   <tt class="py-name">ofpToDevice</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">thresholdMax</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">                    <tt class="py-name">roleReplyToDeviceLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">ofpToDevice</tt> </tt>
+<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-96', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> <tt class="py-string">" reply-to-device: "</tt><tt class="py-op">+</tt> </tt>
+<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ofpToDevice</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-97', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> <tt class="py-string">" reply-to-device "</tt><tt class="py-op">+</tt> </tt>
+<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line">                            <tt class="py-string">"measurement ignored due to excess in "</tt><tt class="py-op">+</tt> </tt>
+<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line">                            <tt class="py-string">"threshold or premature iteration: "</tt><tt class="py-op">)</tt> </tt>
+<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-98', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ofpToDevice</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line"> </tt>
+<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">deviceToGraph</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">thresholdMin</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">                   <tt class="py-name">deviceToGraph</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">thresholdMax</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">                    <tt class="py-name">deviceToGraphLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceToGraph</tt> </tt>
+<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-99', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> <tt class="py-string">" device-to-graph: "</tt><tt class="py-op">+</tt> </tt>
+<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceToGraph</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">deviceToGraph</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line">                        <tt class="py-name">deviceToGraphLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-100', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line">                            <tt class="py-string">" device-to-graph measurement "</tt><tt class="py-op">+</tt> </tt>
+<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line">                            <tt class="py-string">"was set to 0 ms because of precision "</tt><tt class="py-op">+</tt> </tt>
+<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">                            <tt class="py-string">"uncertainty. "</tt><tt class="py-op">)</tt> </tt>
+<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-101', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> </tt>
+<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">                            <tt class="py-string">" device-to-graph "</tt><tt class="py-op">+</tt> </tt>
+<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">                            <tt class="py-string">"measurement ignored due to excess in "</tt><tt class="py-op">+</tt> </tt>
+<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line">                            <tt class="py-string">"threshold or premature iteration: "</tt><tt class="py-op">)</tt> </tt>
+<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-102', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceToGraph</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line"> </tt>
+<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">            <tt class="py-comment"># ********************</tt> </tt>
+<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line"> </tt>
+<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line">            <tt class="py-comment"># Get device id to remove</tt> </tt>
+<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line">            <tt class="py-name">deviceIdJsonStr</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOS1cli</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#devices"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices" class="py-name" href="#" onclick="return doclink('link-103', 'devices', 'link-103');">devices</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line"> </tt>
+<a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-104', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Device obj obtained: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceIdJsonStr</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line">            <tt class="py-name">deviceId</tt> <tt class="py-op">=</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">deviceIdJsonStr</tt><tt class="py-op">)</tt> </tt>
+<a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line"> </tt>
+<a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line">            <tt class="py-name">deviceList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">device</tt> <tt class="py-keyword">in</tt> <tt class="py-name">deviceId</tt><tt class="py-op">:</tt> </tt>
+<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line">                <tt class="py-name">deviceList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">device</tt><tt class="py-op">[</tt><tt class="py-string">'id'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line"> </tt>
+<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line">            <tt class="py-comment"># Measure switch down metrics</tt> </tt>
+<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line">            <tt class="py-comment"># TCP FIN/ACK -&gt; TCP FIN</tt> </tt>
+<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line">            <tt class="py-comment"># TCP FIN -&gt; Device Event</tt> </tt>
+<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line">            <tt class="py-comment"># Device Event -&gt; Graph Event</tt> </tt>
+<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line">            <tt class="py-comment"># Capture switch down FIN / ACK packets</tt> </tt>
+<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line"> </tt>
+<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">            <tt class="py-comment"># The -A 1 grep option allows us to grab 1 extra line after the</tt> </tt>
+<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">            <tt class="py-comment"># last tshark output grepped originally</tt> </tt>
+<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkGrep" class="py-name" href="#" onclick="return doclink('link-105', 'tsharkGrep', 'link-61');">tsharkGrep</a></tt><tt class="py-op">(</tt> <tt class="py-name">tsharkFinAckSequence</tt><tt class="py-op">,</tt> <tt class="py-name">tsharkFinAckOutput</tt><tt class="py-op">,</tt> </tt>
+<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line">                    <tt class="py-name">grepOptions</tt> <tt class="py-op">=</tt> <tt class="py-string">'-A 1'</tt> <tt class="py-op">)</tt> </tt>
+<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line"> </tt>
+<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line"> </tt>
+<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">            <tt class="py-name">removeJsonList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-106', 'step', 'link-7');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">'Remove switch from controller'</tt><tt class="py-op">)</tt> </tt>
+<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.deleteSwController()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#deleteSwController"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.deleteSwController" class="py-name" href="#" onclick="return doclink('link-107', 'deleteSwController', 'link-107');">deleteSwController</a></tt><tt class="py-op">(</tt><tt class="py-string">'s3'</tt><tt class="py-op">)</tt> </tt>
+<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">            <tt class="py-name">firstDevice</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceList</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line"> </tt>
+<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">5</tt> <tt class="py-op">)</tt> </tt>
+<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line"> </tt>
+<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line">            <tt class="py-comment"># We need to get metrics before removing</tt> </tt>
+<a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">            <tt class="py-comment"># device from the store below.</tt> </tt>
+<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line">                <tt class="py-name">metricsSwDown</tt> <tt class="py-op">=</tt> <tt class="py-name">CLIs</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topologyEventsMetrics" class="py-name" href="#" onclick="return doclink('link-108', 'topologyEventsMetrics', 'link-67');">topologyEventsMetrics</a></tt> </tt>
+<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line">                <tt class="py-name">jsonStr</tt> <tt class="py-op">=</tt> <tt class="py-name">metricsSwDown</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">                <tt class="py-name">removeJsonList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">json</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">jsonStr</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line"> </tt>
+<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkStop" class="py-name" href="#" onclick="return doclink('link-109', 'tsharkStop', 'link-69');">tsharkStop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line"> </tt>
+<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-110', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt> <tt class="py-string">"Removing device "</tt> <tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">firstDevice</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> </tt>
+<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">                    <tt class="py-string">" from ONOS"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line"> </tt>
+<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">            <tt class="py-comment">#if deviceId:</tt> </tt>
+<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOS1cli</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name" targets="Method TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deviceRemove()=TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deviceRemove"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deviceRemove" class="py-name" href="#" onclick="return doclink('link-111', 'deviceRemove', 'link-111');">deviceRemove</a></tt><tt class="py-op">(</tt><tt class="py-name">firstDevice</tt><tt class="py-op">)</tt> </tt>
+<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line"> </tt>
+<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line">            <tt class="py-comment">#main.log.info('Copying over tshark files')</tt> </tt>
+<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">            <tt class="py-comment">#os.system('scp ' + ONOSUser + '@' + main.ONOSIp[0] + ':' + tsharkFinAckOutput + ' /tmp/')</tt> </tt>
+<a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line"> </tt>
+<a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt> <tt class="py-number">10</tt> <tt class="py-op">)</tt> </tt>
+<a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line">            <tt class="py-name">finAckOutputList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line">            <tt class="py-keyword">with</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">tsharkFinAckOutput</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> <tt class="py-keyword">as</tt> <tt class="py-name">f</tt><tt class="py-op">:</tt> </tt>
+<a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line">                <tt class="py-name">tempLine</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-112', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'Object read in from FinAck capture: '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line">                    <tt class="py-string">"\n"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">tempLine</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line"> </tt>
+<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line">                <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tempLine</tt><tt class="py-op">:</tt> </tt>
+<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line">                    <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">)</tt> </tt>
+<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line"> </tt>
+<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line">                    <tt class="py-comment"># There are at least 3 objects in field (valid</tt> </tt>
+<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line">                    <tt class="py-comment"># tshark output is lengthy)</tt> </tt>
+<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line">                        <tt class="py-comment"># If first index of object is like an epoch time</tt> </tt>
+<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">' '</tt> <tt class="py-keyword">and</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1400000000.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line">                            <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line">                        <tt class="py-keyword">elif</tt> <tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">' '</tt><tt class="py-keyword">and</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1400000000.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line">                            <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line">                        <tt class="py-keyword">elif</tt> <tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">' '</tt><tt class="py-keyword">and</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1400000000.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line">                            <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt> </tt>
+<a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line">                            <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L572"></a><tt class="py-lineno">572</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L573"></a><tt class="py-lineno">573</tt>  <tt class="py-line">                            <tt class="py-name">tFinAck</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">temp</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">1000.0</tt> </tt>
+<a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-113', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"DEBUG-- tFinAck: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tFinAck</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line">                        <tt class="py-keyword">elif</tt> <tt class="py-name">index</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line">                            <tt class="py-name">tAck</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">temp</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">1000.0</tt> </tt>
+<a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line">                            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-114', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"DEBUG-- tAck: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tAck</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L578"></a><tt class="py-lineno">578</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line">                            <tt class="py-name">tAck</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line">                        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-115', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-116', 'error', 'link-72');">error</a></tt><tt class="py-op">(</tt><tt class="py-string">'Tshark output file for OFP'</tt> <tt class="py-op">+</tt> </tt>
+<a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line">                            <tt class="py-string">' returned unexpected results'</tt><tt class="py-op">)</tt> </tt>
+<a name="L583"></a><tt class="py-lineno">583</tt>  <tt class="py-line">                        <tt class="py-name">tFinAck</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line">                        <tt class="py-name">tAck</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line">                        <tt class="py-name">assertion</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">FALSE</tt> </tt>
+<a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line"> </tt>
+<a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line">                    <tt class="py-name">index</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-117', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"DEBUG-- tFinAck: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tFinAck</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-118', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"DEBUG-- tAck: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tAck</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line"> </tt>
+<a name="L591"></a><tt class="py-lineno">591</tt>  <tt class="py-line">            <tt class="py-comment"># with open() as f takes care of closing file</tt> </tt>
+<a name="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line"> </tt>
+<a name="L593"></a><tt class="py-lineno">593</tt>  <tt class="py-line">            <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line"> </tt>
+<a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L596"></a><tt class="py-lineno">596</tt>  <tt class="py-line">                <tt class="py-name">nodeNum</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
+<a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line">                <tt class="py-name">jsonObj</tt> <tt class="py-op">=</tt> <tt class="py-name">removeJsonList</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt> </tt>
+<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">jsonObj</tt><tt class="py-op">:</tt> </tt>
+<a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line">                    <tt class="py-name">graphTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-name">jsonObj</tt><tt class="py-op">[</tt><tt class="py-name">graphTimestampKey</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
+<a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line">                    <tt class="py-name">deviceTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-name">jsonObj</tt><tt class="py-op">[</tt><tt class="py-name">deviceTimestampKey</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
+<a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-119', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Graph timestamp: "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">graphTimestamp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-120', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Device timestamp: "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceTimestamp</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L603"></a><tt class="py-lineno">603</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L604"></a><tt class="py-lineno">604</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-121', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="TestON.bin.cli.error" class="py-name" href="#" onclick="return doclink('link-122', 'error', 'link-72');">error</a></tt><tt class="py-op">(</tt> <tt class="py-string">"Unexpected JSON object"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L605"></a><tt class="py-lineno">605</tt>  <tt class="py-line">                    <tt class="py-comment"># If we could not obtain the JSON object,</tt> </tt>
+<a name="L606"></a><tt class="py-lineno">606</tt>  <tt class="py-line">                    <tt class="py-comment"># set the timestamps to 0, which will be</tt> </tt>
+<a name="L607"></a><tt class="py-lineno">607</tt>  <tt class="py-line">                    <tt class="py-comment"># excluded from the measurement later on</tt> </tt>
+<a name="L608"></a><tt class="py-lineno">608</tt>  <tt class="py-line">                    <tt class="py-comment"># (realized as invalid)</tt> </tt>
+<a name="L609"></a><tt class="py-lineno">609</tt>  <tt class="py-line">                    <tt class="py-name">graphTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L610"></a><tt class="py-lineno">610</tt>  <tt class="py-line">                    <tt class="py-name">deviceTimestamp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L611"></a><tt class="py-lineno">611</tt>  <tt class="py-line"> </tt>
+<a name="L612"></a><tt class="py-lineno">612</tt>  <tt class="py-line">                <tt class="py-name">finAckTransaction</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">tAck</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">tFinAck</tt><tt class="py-op">)</tt> </tt>
+<a name="L613"></a><tt class="py-lineno">613</tt>  <tt class="py-line">                <tt class="py-name">ackToDevice</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">deviceTimestamp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">tAck</tt><tt class="py-op">)</tt> </tt>
+<a name="L614"></a><tt class="py-lineno">614</tt>  <tt class="py-line">                <tt class="py-name">deviceToGraph</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">graphTimestamp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">deviceTimestamp</tt><tt class="py-op">)</tt> </tt>
+<a name="L615"></a><tt class="py-lineno">615</tt>  <tt class="py-line">                <tt class="py-name">endToEndDisc</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">graphTimestamp</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">tFinAck</tt><tt class="py-op">)</tt> </tt>
+<a name="L616"></a><tt class="py-lineno">616</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-123', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"DEBUG-- endToEndDisc = graphTimestamp - tFinAck  == ("</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">graphTimestamp</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"-"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tFinAck</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt><tt class="py-op">)</tt>  </tt>
+<a name="L617"></a><tt class="py-lineno">617</tt>  <tt class="py-line"> </tt>
+<a name="L618"></a><tt class="py-lineno">618</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">endToEndDisc</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">thresholdMin</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L619"></a><tt class="py-lineno">619</tt>  <tt class="py-line">                   <tt class="py-name">endToEndDisc</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">thresholdMax</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L620"></a><tt class="py-lineno">620</tt>  <tt class="py-line">                    <tt class="py-name">endToEndDiscLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">endToEndDisc</tt> </tt>
+<a name="L621"></a><tt class="py-lineno">621</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-124', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L622"></a><tt class="py-lineno">622</tt>  <tt class="py-line">                            <tt class="py-string">"end-to-end disconnection: "</tt><tt class="py-op">+</tt> </tt>
+<a name="L623"></a><tt class="py-lineno">623</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">endToEndDisc</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt> <tt class="py-op">)</tt> </tt>
+<a name="L624"></a><tt class="py-lineno">624</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L625"></a><tt class="py-lineno">625</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-125', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L626"></a><tt class="py-lineno">626</tt>  <tt class="py-line">                            <tt class="py-string">" end-to-end disconnection "</tt><tt class="py-op">+</tt> </tt>
+<a name="L627"></a><tt class="py-lineno">627</tt>  <tt class="py-line">                            <tt class="py-string">"measurement ignored due to excess in "</tt><tt class="py-op">+</tt> </tt>
+<a name="L628"></a><tt class="py-lineno">628</tt>  <tt class="py-line">                            <tt class="py-string">"threshold or premature iteration: "</tt><tt class="py-op">)</tt> </tt>
+<a name="L629"></a><tt class="py-lineno">629</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-126', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">endToEndDisc</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L630"></a><tt class="py-lineno">630</tt>  <tt class="py-line"> </tt>
+<a name="L631"></a><tt class="py-lineno">631</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">finAckTransaction</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">thresholdMin</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L632"></a><tt class="py-lineno">632</tt>  <tt class="py-line">                   <tt class="py-name">finAckTransaction</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">thresholdMax</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L633"></a><tt class="py-lineno">633</tt>  <tt class="py-line">                    <tt class="py-name">finAckTransactionLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">finAckTransaction</tt> </tt>
+<a name="L634"></a><tt class="py-lineno">634</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-127', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> </tt>
+<a name="L635"></a><tt class="py-lineno">635</tt>  <tt class="py-line">                            <tt class="py-string">" fin/ack transaction: "</tt><tt class="py-op">+</tt> </tt>
+<a name="L636"></a><tt class="py-lineno">636</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">finAckTransaction</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L637"></a><tt class="py-lineno">637</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L638"></a><tt class="py-lineno">638</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-128', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> </tt>
+<a name="L639"></a><tt class="py-lineno">639</tt>  <tt class="py-line">                            <tt class="py-string">" fin/ack transaction "</tt><tt class="py-op">+</tt> </tt>
+<a name="L640"></a><tt class="py-lineno">640</tt>  <tt class="py-line">                            <tt class="py-string">"measurement ignored due to excess in "</tt><tt class="py-op">+</tt> </tt>
+<a name="L641"></a><tt class="py-lineno">641</tt>  <tt class="py-line">                            <tt class="py-string">"threshold or premature iteration: "</tt><tt class="py-op">)</tt> </tt>
+<a name="L642"></a><tt class="py-lineno">642</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-129', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">finAckTransaction</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L643"></a><tt class="py-lineno">643</tt>  <tt class="py-line"> </tt>
+<a name="L644"></a><tt class="py-lineno">644</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ackToDevice</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">thresholdMin</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L645"></a><tt class="py-lineno">645</tt>  <tt class="py-line">                   <tt class="py-name">ackToDevice</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">thresholdMax</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L646"></a><tt class="py-lineno">646</tt>  <tt class="py-line">                    <tt class="py-name">ackToDeviceLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">ackToDevice</tt> </tt>
+<a name="L647"></a><tt class="py-lineno">647</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-130', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> </tt>
+<a name="L648"></a><tt class="py-lineno">648</tt>  <tt class="py-line">                            <tt class="py-string">" ack-to-device: "</tt><tt class="py-op">+</tt> </tt>
+<a name="L649"></a><tt class="py-lineno">649</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ackToDevice</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L650"></a><tt class="py-lineno">650</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L651"></a><tt class="py-lineno">651</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-131', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> </tt>
+<a name="L652"></a><tt class="py-lineno">652</tt>  <tt class="py-line">                            <tt class="py-string">" ack-to-device "</tt><tt class="py-op">+</tt> </tt>
+<a name="L653"></a><tt class="py-lineno">653</tt>  <tt class="py-line">                            <tt class="py-string">"measurement ignored due to excess in "</tt><tt class="py-op">+</tt> </tt>
+<a name="L654"></a><tt class="py-lineno">654</tt>  <tt class="py-line">                            <tt class="py-string">"threshold or premature iteration: "</tt><tt class="py-op">)</tt> </tt>
+<a name="L655"></a><tt class="py-lineno">655</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-132', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ackToDevice</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L656"></a><tt class="py-lineno">656</tt>  <tt class="py-line"> </tt>
+<a name="L657"></a><tt class="py-lineno">657</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">deviceToGraph</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">thresholdMin</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L658"></a><tt class="py-lineno">658</tt>  <tt class="py-line">                   <tt class="py-name">deviceToGraph</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">thresholdMax</tt> <tt class="py-keyword">and</tt> <tt class="py-name">i</tt> <tt class="py-op">&gt;=</tt> <tt class="py-name">iterIgnore</tt><tt class="py-op">:</tt> </tt>
+<a name="L659"></a><tt class="py-lineno">659</tt>  <tt class="py-line">                    <tt class="py-name">deviceToGraphDiscLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">deviceToGraph</tt> </tt>
+<a name="L660"></a><tt class="py-lineno">660</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-133', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> </tt>
+<a name="L661"></a><tt class="py-lineno">661</tt>  <tt class="py-line">                            <tt class="py-string">" device-to-graph disconnect: "</tt><tt class="py-op">+</tt> </tt>
+<a name="L662"></a><tt class="py-lineno">662</tt>  <tt class="py-line">                            <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceToGraph</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" ms"</tt><tt class="py-op">)</tt> </tt>
+<a name="L663"></a><tt class="py-lineno">663</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L664"></a><tt class="py-lineno">664</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-134', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ONOS "</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">nodeNum</tt><tt class="py-op">)</tt><tt class="py-op">+</tt> </tt>
+<a name="L665"></a><tt class="py-lineno">665</tt>  <tt class="py-line">                            <tt class="py-string">" device-to-graph disconnect "</tt><tt class="py-op">+</tt> </tt>
+<a name="L666"></a><tt class="py-lineno">666</tt>  <tt class="py-line">                            <tt class="py-string">"measurement ignored due to excess in "</tt><tt class="py-op">+</tt> </tt>
+<a name="L667"></a><tt class="py-lineno">667</tt>  <tt class="py-line">                            <tt class="py-string">"threshold or premature iteration: "</tt><tt class="py-op">)</tt> </tt>
+<a name="L668"></a><tt class="py-lineno">668</tt>  <tt class="py-line">                    <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-135', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceToGraph</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L669"></a><tt class="py-lineno">669</tt>  <tt class="py-line"> </tt>
+<a name="L670"></a><tt class="py-lineno">670</tt>  <tt class="py-line">        <tt class="py-name">endToEndAvg</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L671"></a><tt class="py-lineno">671</tt>  <tt class="py-line">        <tt class="py-name">ofpToGraphAvg</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L672"></a><tt class="py-lineno">672</tt>  <tt class="py-line">        <tt class="py-name">dbCmdList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L673"></a><tt class="py-lineno">673</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">node</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">clusterCount</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L674"></a><tt class="py-lineno">674</tt>  <tt class="py-line">            <tt class="py-comment"># List of latency for each node</tt> </tt>
+<a name="L675"></a><tt class="py-lineno">675</tt>  <tt class="py-line">            <tt class="py-name">endToEndList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L676"></a><tt class="py-lineno">676</tt>  <tt class="py-line">            <tt class="py-name">tcpToFeatureList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L677"></a><tt class="py-lineno">677</tt>  <tt class="py-line">            <tt class="py-name">featureToRoleList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L678"></a><tt class="py-lineno">678</tt>  <tt class="py-line">            <tt class="py-name">roleToOfpList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L679"></a><tt class="py-lineno">679</tt>  <tt class="py-line">            <tt class="py-name">ofpToDeviceList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L680"></a><tt class="py-lineno">680</tt>  <tt class="py-line">            <tt class="py-name">deviceToGraphList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L681"></a><tt class="py-lineno">681</tt>  <tt class="py-line"> </tt>
+<a name="L682"></a><tt class="py-lineno">682</tt>  <tt class="py-line">            <tt class="py-name">finAckTransactionList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L683"></a><tt class="py-lineno">683</tt>  <tt class="py-line">            <tt class="py-name">ackToDeviceList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L684"></a><tt class="py-lineno">684</tt>  <tt class="py-line">            <tt class="py-name">deviceToGraphDiscList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L685"></a><tt class="py-lineno">685</tt>  <tt class="py-line">            <tt class="py-name">endToEndDiscList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L686"></a><tt class="py-lineno">686</tt>  <tt class="py-line"> </tt>
+<a name="L687"></a><tt class="py-lineno">687</tt>  <tt class="py-line">            <tt class="py-comment"># LatNodeIter 2d arrays contain all iteration latency</tt> </tt>
+<a name="L688"></a><tt class="py-lineno">688</tt>  <tt class="py-line">            <tt class="py-comment"># for each node of the current scale cluster size</tt> </tt>
+<a name="L689"></a><tt class="py-lineno">689</tt>  <tt class="py-line">            <tt class="py-comment"># Switch connection measurements</tt> </tt>
+<a name="L690"></a><tt class="py-lineno">690</tt>  <tt class="py-line">            <tt class="py-comment"># Set further acceptance criteria for measurements</tt> </tt>
+<a name="L691"></a><tt class="py-lineno">691</tt>  <tt class="py-line">            <tt class="py-comment"># here if you would like to filter reporting results</tt> </tt>
+<a name="L692"></a><tt class="py-lineno">692</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">endToEndLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L693"></a><tt class="py-lineno">693</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L694"></a><tt class="py-lineno">694</tt>  <tt class="py-line">                    <tt class="py-name">endToEndList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L695"></a><tt class="py-lineno">695</tt>  <tt class="py-line"> </tt>
+<a name="L696"></a><tt class="py-lineno">696</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tcpToFeatureLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L697"></a><tt class="py-lineno">697</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L698"></a><tt class="py-lineno">698</tt>  <tt class="py-line">                    <tt class="py-name">tcpToFeatureList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L699"></a><tt class="py-lineno">699</tt>  <tt class="py-line"> </tt>
+<a name="L700"></a><tt class="py-lineno">700</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">featureToRoleRequestLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L701"></a><tt class="py-lineno">701</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L702"></a><tt class="py-lineno">702</tt>  <tt class="py-line">                    <tt class="py-name">featureToRoleList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L703"></a><tt class="py-lineno">703</tt>  <tt class="py-line"> </tt>
+<a name="L704"></a><tt class="py-lineno">704</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">roleRequestToRoleReplyLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L705"></a><tt class="py-lineno">705</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L706"></a><tt class="py-lineno">706</tt>  <tt class="py-line">                    <tt class="py-name">roleToOfpList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L707"></a><tt class="py-lineno">707</tt>  <tt class="py-line"> </tt>
+<a name="L708"></a><tt class="py-lineno">708</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">roleReplyToDeviceLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L709"></a><tt class="py-lineno">709</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L710"></a><tt class="py-lineno">710</tt>  <tt class="py-line">                    <tt class="py-name">ofpToDeviceList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L711"></a><tt class="py-lineno">711</tt>  <tt class="py-line"> </tt>
+<a name="L712"></a><tt class="py-lineno">712</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">featureToRoleRequestLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L713"></a><tt class="py-lineno">713</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L714"></a><tt class="py-lineno">714</tt>  <tt class="py-line">                    <tt class="py-name">featureToRoleList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L715"></a><tt class="py-lineno">715</tt>  <tt class="py-line"> </tt>
+<a name="L716"></a><tt class="py-lineno">716</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">deviceToGraphLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L717"></a><tt class="py-lineno">717</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L718"></a><tt class="py-lineno">718</tt>  <tt class="py-line">                    <tt class="py-name">deviceToGraphList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L719"></a><tt class="py-lineno">719</tt>  <tt class="py-line"> </tt>
+<a name="L720"></a><tt class="py-lineno">720</tt>  <tt class="py-line">            <tt class="py-comment"># Switch disconnect measurements</tt> </tt>
+<a name="L721"></a><tt class="py-lineno">721</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">endToEndDiscLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L722"></a><tt class="py-lineno">722</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L723"></a><tt class="py-lineno">723</tt>  <tt class="py-line">                    <tt class="py-name">endToEndDiscList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L724"></a><tt class="py-lineno">724</tt>  <tt class="py-line"> </tt>
+<a name="L725"></a><tt class="py-lineno">725</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">finAckTransactionLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L726"></a><tt class="py-lineno">726</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L727"></a><tt class="py-lineno">727</tt>  <tt class="py-line">                    <tt class="py-name">finAckTransactionList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L728"></a><tt class="py-lineno">728</tt>  <tt class="py-line"> </tt>
+<a name="L729"></a><tt class="py-lineno">729</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ackToDeviceLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L730"></a><tt class="py-lineno">730</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L731"></a><tt class="py-lineno">731</tt>  <tt class="py-line">                    <tt class="py-name">ackToDeviceList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L732"></a><tt class="py-lineno">732</tt>  <tt class="py-line"> </tt>
+<a name="L733"></a><tt class="py-lineno">733</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">deviceToGraphDiscLatNodeIter</tt><tt class="py-op">[</tt><tt class="py-name">node</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L734"></a><tt class="py-lineno">734</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">0.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L735"></a><tt class="py-lineno">735</tt>  <tt class="py-line">                    <tt class="py-name">deviceToGraphDiscList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L736"></a><tt class="py-lineno">736</tt>  <tt class="py-line"> </tt>
+<a name="L737"></a><tt class="py-lineno">737</tt>  <tt class="py-line">            <tt class="py-name">endToEndAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">endToEndList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L738"></a><tt class="py-lineno">738</tt>  <tt class="py-line">            <tt class="py-name">endToEndStdDev</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">endToEndList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L739"></a><tt class="py-lineno">739</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-136', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"endToEndList: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">endToEndList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L740"></a><tt class="py-lineno">740</tt>  <tt class="py-line"> </tt>
+<a name="L741"></a><tt class="py-lineno">741</tt>  <tt class="py-line">            <tt class="py-name">tcpToFeatureAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">tcpToFeatureList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L742"></a><tt class="py-lineno">742</tt>  <tt class="py-line">            <tt class="py-name">tcpToFeatureStdDev</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">tcpToFeatureList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L743"></a><tt class="py-lineno">743</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-137', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"tcpToFeatureList: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpToFeatureList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L744"></a><tt class="py-lineno">744</tt>  <tt class="py-line"> </tt>
+<a name="L745"></a><tt class="py-lineno">745</tt>  <tt class="py-line">            <tt class="py-name">featureToRoleAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">featureToRoleList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L746"></a><tt class="py-lineno">746</tt>  <tt class="py-line">            <tt class="py-name">featureToRoleStdDev</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">featureToRoleList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L747"></a><tt class="py-lineno">747</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-138', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"featureToRoleList: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">featureToRoleList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt>  </tt>
+<a name="L748"></a><tt class="py-lineno">748</tt>  <tt class="py-line"> </tt>
+<a name="L749"></a><tt class="py-lineno">749</tt>  <tt class="py-line">            <tt class="py-name">roleToOfpAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">roleToOfpList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L750"></a><tt class="py-lineno">750</tt>  <tt class="py-line">            <tt class="py-name">roleToOfpStdDev</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">roleToOfpList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L751"></a><tt class="py-lineno">751</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-139', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"roleToOfList: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">roleToOfpList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L752"></a><tt class="py-lineno">752</tt>  <tt class="py-line"> </tt>
+<a name="L753"></a><tt class="py-lineno">753</tt>  <tt class="py-line">            <tt class="py-name">ofpToDeviceAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">ofpToDeviceList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L754"></a><tt class="py-lineno">754</tt>  <tt class="py-line">            <tt class="py-name">ofpToDeviceStdDev</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">ofpToDeviceList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L755"></a><tt class="py-lineno">755</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-140', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ofpToDeviceList: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ofpToDeviceList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L756"></a><tt class="py-lineno">756</tt>  <tt class="py-line"> </tt>
+<a name="L757"></a><tt class="py-lineno">757</tt>  <tt class="py-line">            <tt class="py-name">deviceToGraphAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">deviceToGraphList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L758"></a><tt class="py-lineno">758</tt>  <tt class="py-line">            <tt class="py-name">deviceToGraphStdDev</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">deviceToGraphList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L759"></a><tt class="py-lineno">759</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-141', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"deviceToGraphList: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceToGraphList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L760"></a><tt class="py-lineno">760</tt>  <tt class="py-line"> </tt>
+<a name="L761"></a><tt class="py-lineno">761</tt>  <tt class="py-line">            <tt class="py-name">endToEndDiscAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">endToEndDiscList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L762"></a><tt class="py-lineno">762</tt>  <tt class="py-line">            <tt class="py-name">endToEndDiscStdDev</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">endToEndDiscList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L763"></a><tt class="py-lineno">763</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-142', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"endToEndDiscList: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">endToEndDiscList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L764"></a><tt class="py-lineno">764</tt>  <tt class="py-line"> </tt>
+<a name="L765"></a><tt class="py-lineno">765</tt>  <tt class="py-line">            <tt class="py-name">finAckAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">finAckTransactionList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L766"></a><tt class="py-lineno">766</tt>  <tt class="py-line">            <tt class="py-name">finAckStdDev</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">finAckTransactionList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L767"></a><tt class="py-lineno">767</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-143', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"finAckTransactionList: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">finAckTransactionList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L768"></a><tt class="py-lineno">768</tt>  <tt class="py-line"> </tt>
+<a name="L769"></a><tt class="py-lineno">769</tt>  <tt class="py-line">            <tt class="py-name">ackToDeviceAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">ackToDeviceList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L770"></a><tt class="py-lineno">770</tt>  <tt class="py-line">            <tt class="py-name">ackToDeviceStdDev</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">ackToDeviceList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L771"></a><tt class="py-lineno">771</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-144', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"ackToDeviceList: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ackToDeviceList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L772"></a><tt class="py-lineno">772</tt>  <tt class="py-line"> </tt>
+<a name="L773"></a><tt class="py-lineno">773</tt>  <tt class="py-line">            <tt class="py-name">deviceToGraphDiscAvg</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">deviceToGraphDiscList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L774"></a><tt class="py-lineno">774</tt>  <tt class="py-line">            <tt class="py-name">deviceToGraphDiscStdDev</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">deviceToGraphDiscList</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L775"></a><tt class="py-lineno">775</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-145', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"deviceToGraphDiscList: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceToGraphDiscList</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L776"></a><tt class="py-lineno">776</tt>  <tt class="py-line"> </tt>
+<a name="L777"></a><tt class="py-lineno">777</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-146', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' - Node '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' Summary - '</tt><tt class="py-op">)</tt> </tt>
+<a name="L778"></a><tt class="py-lineno">778</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-147', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' - Switch Connection Statistics - '</tt><tt class="py-op">)</tt> </tt>
+<a name="L779"></a><tt class="py-lineno">779</tt>  <tt class="py-line"> </tt>
+<a name="L780"></a><tt class="py-lineno">780</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-148', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' End-to-end Avg: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">endToEndAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L781"></a><tt class="py-lineno">781</tt>  <tt class="py-line">                    <tt class="py-string">' ms'</tt> <tt class="py-op">+</tt> <tt class="py-string">' End-to-end Std dev: '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L782"></a><tt class="py-lineno">782</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">endToEndStdDev</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L783"></a><tt class="py-lineno">783</tt>  <tt class="py-line"> </tt>
+<a name="L784"></a><tt class="py-lineno">784</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-149', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Tcp-to-feature-reply Avg: '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L785"></a><tt class="py-lineno">785</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpToFeatureAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L786"></a><tt class="py-lineno">786</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-150', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Tcp-to-feature-reply Std dev: '</tt><tt class="py-op">+</tt> </tt>
+<a name="L787"></a><tt class="py-lineno">787</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpToFeatureStdDev</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L788"></a><tt class="py-lineno">788</tt>  <tt class="py-line"> </tt>
+<a name="L789"></a><tt class="py-lineno">789</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-151', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Feature-reply-to-role-request Avg: '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L790"></a><tt class="py-lineno">790</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">featureToRoleAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L791"></a><tt class="py-lineno">791</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-152', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Feature-reply-to-role-request Std Dev: '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L792"></a><tt class="py-lineno">792</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">featureToRoleStdDev</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L793"></a><tt class="py-lineno">793</tt>  <tt class="py-line"> </tt>
+<a name="L794"></a><tt class="py-lineno">794</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-153', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Role-request-to-role-reply Avg: '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L795"></a><tt class="py-lineno">795</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">roleToOfpAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt><tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L796"></a><tt class="py-lineno">796</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-154', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Role-request-to-role-reply Std dev: '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L797"></a><tt class="py-lineno">797</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">roleToOfpStdDev</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L798"></a><tt class="py-lineno">798</tt>  <tt class="py-line"> </tt>
+<a name="L799"></a><tt class="py-lineno">799</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-155', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Role-reply-to-device Avg: '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L800"></a><tt class="py-lineno">800</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ofpToDeviceAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt><tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L801"></a><tt class="py-lineno">801</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-156', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Role-reply-to-device Std dev: '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L802"></a><tt class="py-lineno">802</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ofpToDeviceStdDev</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L803"></a><tt class="py-lineno">803</tt>  <tt class="py-line"> </tt>
+<a name="L804"></a><tt class="py-lineno">804</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-157', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Device-to-graph Avg: '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L805"></a><tt class="py-lineno">805</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceToGraphAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L806"></a><tt class="py-lineno">806</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-158', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt> <tt class="py-string">'Device-to-graph Std dev: '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L807"></a><tt class="py-lineno">807</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceToGraphStdDev</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L808"></a><tt class="py-lineno">808</tt>  <tt class="py-line"> </tt>
+<a name="L809"></a><tt class="py-lineno">809</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-159', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' - Switch Disconnection Statistics - '</tt><tt class="py-op">)</tt> </tt>
+<a name="L810"></a><tt class="py-lineno">810</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-160', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' End-to-end switch disconnect Avg: '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L811"></a><tt class="py-lineno">811</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">endToEndDiscAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L812"></a><tt class="py-lineno">812</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-161', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' End-to-end switch disconnect Std dev: '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L813"></a><tt class="py-lineno">813</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">endToEndDiscStdDev</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L814"></a><tt class="py-lineno">814</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-162', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Fin/Ack-to-Ack Avg: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">finAckAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L815"></a><tt class="py-lineno">815</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-163', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Fin/Ack-to-Ack Std dev: '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L816"></a><tt class="py-lineno">816</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">finAckStdDev</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L817"></a><tt class="py-lineno">817</tt>  <tt class="py-line"> </tt>
+<a name="L818"></a><tt class="py-lineno">818</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-164', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Ack-to-device Avg: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ackToDeviceAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L819"></a><tt class="py-lineno">819</tt>  <tt class="py-line">                    <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L820"></a><tt class="py-lineno">820</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-165', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Ack-to-device Std dev: '</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ackToDeviceStdDev</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L821"></a><tt class="py-lineno">821</tt>  <tt class="py-line">                    <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L822"></a><tt class="py-lineno">822</tt>  <tt class="py-line"> </tt>
+<a name="L823"></a><tt class="py-lineno">823</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-166', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Device-to-graph (disconnect) Avg: '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L824"></a><tt class="py-lineno">824</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceToGraphDiscAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L825"></a><tt class="py-lineno">825</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-167', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-string">' Device-to-graph (disconnect) Std dev: '</tt> <tt class="py-op">+</tt> </tt>
+<a name="L826"></a><tt class="py-lineno">826</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceToGraphDiscStdDev</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">' ms'</tt><tt class="py-op">)</tt> </tt>
+<a name="L827"></a><tt class="py-lineno">827</tt>  <tt class="py-line"> </tt>
+<a name="L828"></a><tt class="py-lineno">828</tt>  <tt class="py-line">            <tt class="py-comment"># For database schema, refer to Amazon web services</tt> </tt>
+<a name="L829"></a><tt class="py-lineno">829</tt>  <tt class="py-line">            <tt class="py-name">dbCmdList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L830"></a><tt class="py-lineno">830</tt>  <tt class="py-line">                    <tt class="py-string">"INSERT INTO switch_latency_details VALUES('"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L831"></a><tt class="py-lineno">831</tt>  <tt class="py-line">                    <tt class="py-name">timeToPost</tt> <tt class="py-op">+</tt> <tt class="py-string">"','switch_latency_results',"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L832"></a><tt class="py-lineno">832</tt>  <tt class="py-line">                    <tt class="py-name">jenkinsBuildNumber</tt> <tt class="py-op">+</tt> <tt class="py-string">','</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">clusterCount</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">",'baremetal"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L833"></a><tt class="py-lineno">833</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">node</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"',"</tt> <tt class="py-op">+</tt> </tt>
+<a name="L834"></a><tt class="py-lineno">834</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">endToEndAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">','</tt> <tt class="py-op">+</tt> </tt>
+<a name="L835"></a><tt class="py-lineno">835</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">tcpToFeatureAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">','</tt> <tt class="py-op">+</tt> </tt>
+<a name="L836"></a><tt class="py-lineno">836</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">featureToRoleAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">','</tt> <tt class="py-op">+</tt> </tt>
+<a name="L837"></a><tt class="py-lineno">837</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">roleToOfpAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">','</tt> <tt class="py-op">+</tt> </tt>
+<a name="L838"></a><tt class="py-lineno">838</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ofpToDeviceAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">','</tt> <tt class="py-op">+</tt> </tt>
+<a name="L839"></a><tt class="py-lineno">839</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceToGraphAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">','</tt> <tt class="py-op">+</tt> </tt>
+<a name="L840"></a><tt class="py-lineno">840</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">endToEndDiscAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">','</tt> <tt class="py-op">+</tt> </tt>
+<a name="L841"></a><tt class="py-lineno">841</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">finAckAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">','</tt> <tt class="py-op">+</tt> </tt>
+<a name="L842"></a><tt class="py-lineno">842</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">ackToDeviceAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">','</tt> <tt class="py-op">+</tt> </tt>
+<a name="L843"></a><tt class="py-lineno">843</tt>  <tt class="py-line">                    <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">deviceToGraphDiscAvg</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> </tt>
+<a name="L844"></a><tt class="py-lineno">844</tt>  <tt class="py-line">                    <tt class="py-string">');'</tt><tt class="py-op">)</tt> </tt>
+<a name="L845"></a><tt class="py-lineno">845</tt>  <tt class="py-line"> </tt>
+<a name="L846"></a><tt class="py-lineno">846</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">debugMode</tt> <tt class="py-op">==</tt> <tt class="py-string">'on'</tt><tt class="py-op">:</tt> </tt>
+<a name="L847"></a><tt class="py-lineno">847</tt>  <tt class="py-line">            <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">ONOSbench</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name" targets="Method TestON.drivers.common.cli.onosdriver.OnosDriver.cpLogsToDir()=TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cpLogsToDir"><a title="TestON.drivers.common.cli.onosdriver.OnosDriver.cpLogsToDir" class="py-name" href="#" onclick="return doclink('link-168', 'cpLogsToDir', 'link-168');">cpLogsToDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'/opt/onos/log/karaf.log'</tt><tt class="py-op">,</tt> </tt>
+<a name="L848"></a><tt class="py-lineno">848</tt>  <tt class="py-line">                    <tt class="py-string">'/tmp/'</tt><tt class="py-op">,</tt> <tt class="py-name">copyFileName</tt><tt class="py-op">=</tt><tt class="py-string">'sw_lat_karaf'</tt><tt class="py-op">)</tt> </tt>
+<a name="L849"></a><tt class="py-lineno">849</tt>  <tt class="py-line">        <tt class="py-name">fResult</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">resultPath</tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L850"></a><tt class="py-lineno">850</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dbCmdList</tt><tt class="py-op">:</tt> </tt>
+<a name="L851"></a><tt class="py-lineno">851</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L852"></a><tt class="py-lineno">852</tt>  <tt class="py-line">                <tt class="py-name">fResult</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">line</tt> <tt class="py-op">+</tt> <tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L853"></a><tt class="py-lineno">853</tt>  <tt class="py-line">                <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log" class="py-name" href="#" onclick="return doclink('link-169', 'log', 'link-3');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">report</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L854"></a><tt class="py-lineno">854</tt>  <tt class="py-line">        <tt class="py-name">fResult</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L855"></a><tt class="py-lineno">855</tt>  <tt class="py-line"> </tt>
+<a name="L856"></a><tt class="py-lineno">856</tt>  <tt class="py-line">        <tt class="py-name">assertion</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt> </tt>
+<a name="L857"></a><tt class="py-lineno">857</tt>  <tt class="py-line"> </tt>
+<a name="L858"></a><tt class="py-lineno">858</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt> <tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">assertion</tt><tt class="py-op">,</tt> </tt>
+<a name="L859"></a><tt class="py-lineno">859</tt>  <tt class="py-line">                <tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">'Switch latency test successful'</tt><tt class="py-op">,</tt> </tt>
+<a name="L860"></a><tt class="py-lineno">860</tt>  <tt class="py-line">                <tt id="link-170" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
+TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-170', 'onfail', 'link-170');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">'Switch latency test failed'</tt><tt class="py-op">)</tt> </tt>
+<a name="L861"></a><tt class="py-lineno">861</tt>  <tt class="py-line"> </tt>
+<a name="L862"></a><tt class="py-lineno">862</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">Mininet1</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name" targets="Method TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet()=TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopNet"><a title="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet" class="py-name" href="#" onclick="return doclink('link-171', 'stopNet', 'link-171');">stopNet</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L863"></a><tt class="py-lineno">863</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:40 2015
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html b/TestON/Documentation/TestON_Document/TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html
similarity index 77%
copy from TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html
copy to TestON/Documentation/TestON_Document/TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html
index 5e3bc3e..7ef3880 100644
--- a/TestON/Documentation/TestON_Document/TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html
+++ b/TestON/Documentation/TestON_Document/TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>TestON.tests.DpctlTest.DpctlTest.DpctlTest</title>
+  <title>TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -39,9 +44,9 @@
       <span class="breadcrumbs">
         <a href="TestON-module.html">Package&nbsp;TestON</a> ::
         <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.DpctlTest-module.html">Package&nbsp;DpctlTest</a> ::
-        <a href="TestON.tests.DpctlTest.DpctlTest-module.html">Module&nbsp;DpctlTest</a> ::
-        Class&nbsp;DpctlTest
+        <a href="TestON.tests.SCPFswitchLat-module.html">Package&nbsp;SCPFswitchLat</a> ::
+        <a href="TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html">Module&nbsp;SCPFswitchLat</a> ::
+        Class&nbsp;SCPFswitchLat
       </span>
     </td>
     <td>
@@ -51,14 +56,14 @@
     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
         <tr><td align="right"><span class="options"
             >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html"
+            >]&nbsp;|&nbsp;<a href="TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html"
             target="_top">no&nbsp;frames</a>]</span></td></tr>
       </table>
     </td>
   </tr>
 </table>
 <!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class DpctlTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest">source&nbsp;code</a></span></p>
+<h1 class="epydoc">Class SCPFswitchLat</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.SCPFswitchLat.SCPFswitchLat-pysrc.html#SCPFswitchLat">source&nbsp;code</a></span></p>
 <!-- ==================== INSTANCE METHODS ==================== -->
 <a name="section-InstanceMethods"></a>
 <table class="summary" border="1" cellpadding="3"
@@ -84,7 +89,7 @@
         <tr>
           <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.__init__">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFswitchLat.SCPFswitchLat-pysrc.html#SCPFswitchLat.__init__">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -101,7 +106,7 @@
           <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">main</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.CASE1">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFswitchLat.SCPFswitchLat-pysrc.html#SCPFswitchLat.CASE1">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -118,7 +123,7 @@
           <td><span class="summary-sig"><a name="CASE2"></a><span class="summary-sig-name">CASE2</span>(<span class="summary-sig-arg">self</span>,
         <span class="summary-sig-arg">main</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.DpctlTest.DpctlTest-pysrc.html#DpctlTest.CASE2">source&nbsp;code</a></span>
+            <span class="codelink"><a href="TestON.tests.SCPFswitchLat.SCPFswitchLat-pysrc.html#SCPFswitchLat.CASE2">source&nbsp;code</a></span>
             
           </td>
         </tr>
@@ -147,13 +152,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.TicketBooking-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.TicketBooking-pysrc.html
deleted file mode 100644
index d6873fe..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.TicketBooking-pysrc.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.TicketBooking</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        Package&nbsp;TicketBooking
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.TicketBooking-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.TicketBooking-module.html">Package TestON.tests.TicketBooking</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
-<a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.TicketBooking.TicketBooking-module.html b/TestON/Documentation/TestON_Document/TestON.tests.TicketBooking.TicketBooking-module.html
deleted file mode 100644
index 7eb70b5..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.TicketBooking.TicketBooking-module.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.TicketBooking.TicketBooking</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.TicketBooking-module.html">Package&nbsp;TicketBooking</a> ::
-        Module&nbsp;TicketBooking
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.TicketBooking.TicketBooking-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module TicketBooking</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.TicketBooking.TicketBooking-pysrc.html">source&nbsp;code</a></span></p>
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html" class="summary-name">TicketBooking</a>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.TicketBooking.TicketBooking-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.TicketBooking.TicketBooking-pysrc.html
deleted file mode 100644
index e31e020..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.TicketBooking.TicketBooking-pysrc.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.TicketBooking.TicketBooking</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.TicketBooking-module.html">Package&nbsp;TicketBooking</a> ::
-        Module&nbsp;TicketBooking
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.TicketBooking.TicketBooking-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.TicketBooking.TicketBooking-module.html">Module TestON.tests.TicketBooking.TicketBooking</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"> </tt>
-<a name="TicketBooking"></a><div id="TicketBooking-def"><a name="L2"></a><tt class="py-lineno"> 2</tt> <a class="py-toggle" href="#" id="TicketBooking-toggle" onclick="return toggle('TicketBooking');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html">TicketBooking</a> <tt class="py-op">:</tt> </tt>
-</div><div id="TicketBooking-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="TicketBooking-expanded"><a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"> </tt>
-<a name="TicketBooking.__init__"></a><div id="TicketBooking.__init__-def"><a name="L4"></a><tt class="py-lineno"> 4</tt> <a class="py-toggle" href="#" id="TicketBooking.__init__-toggle" onclick="return toggle('TicketBooking.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="TicketBooking.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="TicketBooking.__init__-expanded"><a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-</div><a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"> </tt>
-<a name="TicketBooking.CASE1"></a><div id="TicketBooking.CASE1-def"><a name="L7"></a><tt class="py-lineno"> 7</tt> <a class="py-toggle" href="#" id="TicketBooking.CASE1-toggle" onclick="return toggle('TicketBooking.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#CASE1">CASE1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="TicketBooking.CASE1-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="TicketBooking.CASE1-expanded"><a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"Travles Ticket Booking Sample Test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Searching Bus"</tt><tt class="py-op">)</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">        <tt class="py-name">search_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">BitlaSoftReservationPage</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method TestON.drivers.common.webdriver.WebDriver.search_bus()=TestON.drivers.common.webdriver.WebDriver-class.html#search_bus"><a title="TestON.drivers.common.webdriver.WebDriver.search_bus" class="py-name" href="#" onclick="return doclink('link-3', 'search_bus', 'link-3');">search_bus</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">search_result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Search Bus success"</tt><tt class="py-op">,</tt><tt id="link-4" class="py-name" targets="Method TestON.core.teston.TestON.onfail()=TestON.core.teston.TestON-class.html#onfail,Method TestON.drivers.common.clidriver.CLI.onfail()=TestON.drivers.common.clidriver.CLI-class.html#onfail"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-4', 'onfail', 'link-4');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to search Bus"</tt><tt class="py-op">)</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">     </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-5', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Selecting Bus for next day"</tt><tt class="py-op">)</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">        <tt class="py-name">select_bus_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">BitlaSoftReservationPage</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method TestON.drivers.common.webdriver.WebDriver.select_bus()=TestON.drivers.common.webdriver.WebDriver-class.html#select_bus"><a title="TestON.drivers.common.webdriver.WebDriver.select_bus" class="py-name" href="#" onclick="return doclink('link-6', 'select_bus', 'link-6');">select_bus</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">select_bus_result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Selected Bus successfully"</tt><tt class="py-op">,</tt><tt id="link-7" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-7', 'onfail', 'link-4');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to select Bus"</tt><tt class="py-op">)</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">     </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-8', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Selecting Seat"</tt><tt class="py-op">)</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">        <tt class="py-name">select_seat_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">BitlaSoftReservationPage</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method TestON.drivers.common.webdriver.WebDriver.select_seat()=TestON.drivers.common.webdriver.WebDriver-class.html#select_seat"><a title="TestON.drivers.common.webdriver.WebDriver.select_seat" class="py-name" href="#" onclick="return doclink('link-9', 'select_seat', 'link-9');">select_seat</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">select_seat_result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Selected seat successfully"</tt><tt class="py-op">,</tt><tt id="link-10" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-10', 'onfail', 'link-4');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to select seat "</tt><tt class="py-op">)</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">     </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-11', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"Filling the details "</tt><tt class="py-op">)</tt> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-name">fill_details_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">BitlaSoftReservationPage</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method TestON.drivers.common.webdriver.WebDriver.fill_details()=TestON.drivers.common.webdriver.WebDriver-class.html#fill_details"><a title="TestON.drivers.common.webdriver.WebDriver.fill_details" class="py-name" href="#" onclick="return doclink('link-12', 'fill_details', 'link-12');">fill_details</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP4'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'title'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">passenger_name</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP4'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'passenger_name'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">passenger_age</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP4'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'passenger_age'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">drop_off</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP4'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'drop_off'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">email</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP4'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'email'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">phone_number</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP4'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'phone_number'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">id_card_number</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP4'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'id_card_number'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">id_card_issued</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP4'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'id_card_issued'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">address</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'CASE1'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'STEP4'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'address'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">fill_details_result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Filled details successfully"</tt><tt class="py-op">,</tt><tt id="link-13" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-13', 'onfail', 'link-4');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to fill the details "</tt><tt class="py-op">)</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">     </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-name">deselect_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">BitlaSoftReservationPage</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method TestON.drivers.common.webdriver.WebDriver.deselect_seat()=TestON.drivers.common.webdriver.WebDriver-class.html#deselect_seat"><a title="TestON.drivers.common.webdriver.WebDriver.deselect_seat" class="py-name" href="#" onclick="return doclink('link-14', 'deselect_seat', 'link-14');">deselect_seat</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-name">utilities</tt><tt class="py-op">.</tt><tt class="py-name">assert_equals</tt><tt class="py-op">(</tt><tt class="py-name">expect</tt><tt class="py-op">=</tt><tt class="py-name">main</tt><tt class="py-op">.</tt><tt class="py-name">TRUE</tt><tt class="py-op">,</tt><tt class="py-name">actual</tt><tt class="py-op">=</tt><tt class="py-name">deselect_result</tt><tt class="py-op">,</tt><tt class="py-name">onpass</tt><tt class="py-op">=</tt><tt class="py-string">"Deselected the seat"</tt><tt class="py-op">,</tt><tt id="link-15" class="py-name"><a title="TestON.core.teston.TestON.onfail
-TestON.drivers.common.clidriver.CLI.onfail" class="py-name" href="#" onclick="return doclink('link-15', 'onfail', 'link-4');">onfail</a></tt><tt class="py-op">=</tt><tt class="py-string">"Failed to deselect seat"</tt><tt class="py-op">)</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">     </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method TestON.drivers.component.Component.log()=TestON.drivers.component.Component-class.html#log"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-16', 'log', 'link-16');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Ticket Booked Successfully"</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html b/TestON/Documentation/TestON_Document/TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html
deleted file mode 100644
index ce12254..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.TicketBooking.TicketBooking.TicketBooking</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.TicketBooking-module.html">Package&nbsp;TicketBooking</a> ::
-        <a href="TestON.tests.TicketBooking.TicketBooking-module.html">Module&nbsp;TicketBooking</a> ::
-        Class&nbsp;TicketBooking
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class TicketBooking</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.TicketBooking.TicketBooking-pysrc.html#TicketBooking">source&nbsp;code</a></span></p>
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.TicketBooking.TicketBooking-pysrc.html#TicketBooking.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">main</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.TicketBooking.TicketBooking-pysrc.html#TicketBooking.CASE1">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.VyattaTest.VyattaTest-module.html b/TestON/Documentation/TestON_Document/TestON.tests.VyattaTest.VyattaTest-module.html
deleted file mode 100644
index 2b95f90..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.VyattaTest.VyattaTest-module.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.VyattaTest.VyattaTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.VyattaTest-module.html">Package&nbsp;VyattaTest</a> ::
-        Module&nbsp;VyattaTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.VyattaTest.VyattaTest-module.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module VyattaTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.VyattaTest.VyattaTest-pysrc.html">source&nbsp;code</a></span></p>
-<!-- ==================== CLASSES ==================== -->
-<a name="section-Classes"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Classes</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Classes"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-        <a href="TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html" class="summary-name">VyattaTest</a>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.VyattaTest.VyattaTest-pysrc.html b/TestON/Documentation/TestON_Document/TestON.tests.VyattaTest.VyattaTest-pysrc.html
deleted file mode 100644
index 4d2e440..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.VyattaTest.VyattaTest-pysrc.html
+++ /dev/null
@@ -1,194 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.VyattaTest.VyattaTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.VyattaTest-module.html">Package&nbsp;VyattaTest</a> ::
-        Module&nbsp;VyattaTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.VyattaTest.VyattaTest-pysrc.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="TestON.tests.VyattaTest.VyattaTest-module.html">Module TestON.tests.VyattaTest.VyattaTest</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"> </tt>
-<a name="VyattaTest"></a><div id="VyattaTest-def"><a name="L2"></a><tt class="py-lineno"> 2</tt> <a class="py-toggle" href="#" id="VyattaTest-toggle" onclick="return toggle('VyattaTest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html">VyattaTest</a> <tt class="py-op">:</tt> </tt>
-</div><div id="VyattaTest-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="VyattaTest-expanded"><a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"> </tt>
-<a name="VyattaTest.__init__"></a><div id="VyattaTest.__init__-def"><a name="L4"></a><tt class="py-lineno"> 4</tt> <a class="py-toggle" href="#" id="VyattaTest.__init__-toggle" onclick="return toggle('VyattaTest.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="VyattaTest.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="VyattaTest.__init__-expanded"><a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method TestON.bin.cli.CLI.default()=TestON.bin.cli.CLI-class.html#default"><a title="TestON.bin.cli.CLI.default" class="py-name" href="#" onclick="return doclink('link-0', 'default', 'link-0');">default</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-</div><a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"> </tt>
-<a name="VyattaTest.CASE1"></a><div id="VyattaTest.CASE1-def"><a name="L7"></a><tt class="py-lineno"> 7</tt> <a class="py-toggle" href="#" id="VyattaTest.CASE1-toggle" onclick="return toggle('VyattaTest.CASE1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#CASE1">CASE1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">main</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
-</div><div id="VyattaTest.CASE1-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="VyattaTest.CASE1-expanded"><a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method TestON.core.teston.TestON.case()=TestON.core.teston.TestON-class.html#case"><a title="TestON.core.teston.TestON.case" class="py-name" href="#" onclick="return doclink('link-1', 'case', 'link-1');">case</a></tt><tt class="py-op">(</tt><tt class="py-string">"VyattaTest Sample Test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method TestON.core.teston.TestON.step()=TestON.core.teston.TestON-class.html#step"><a title="TestON.core.teston.TestON.step" class="py-name" href="#" onclick="return doclink('link-2', 'step', 'link-2');">step</a></tt><tt class="py-op">(</tt><tt class="py-string">"VyattaTest Sample Test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">        <tt class="py-name">config_result</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Class TestON.bin.vyatta.Vyatta=TestON.bin.vyatta.Vyatta-class.html"><a title="TestON.bin.vyatta.Vyatta" class="py-name" href="#" onclick="return doclink('link-3', 'Vyatta', 'link-3');">Vyatta</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method TestON.bin.generatedriver.GenerateDriver.configure()=TestON.bin.generatedriver.GenerateDriver-class.html#configure"><a title="TestON.bin.generatedriver.GenerateDriver.configure" class="py-name" href="#" onclick="return doclink('link-4', 'configure', 'link-4');">configure</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method TestON.drivers.component.Component.log()=TestON.drivers.component.Component-class.html#log"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-5', 'log', 'link-5');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">config_result</tt><tt class="py-op">)</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">         </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">        <tt class="py-name">command_details</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="TestON.bin.vyatta.Vyatta" class="py-name" href="#" onclick="return doclink('link-6', 'Vyatta', 'link-3');">Vyatta</a></tt><tt class="py-op">.</tt><tt class="py-name">get_details</tt><tt class="py-op">(</tt><tt class="py-string">"show"</tt><tt class="py-op">)</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-7', 'log', 'link-5');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"show \n command_details\n\t"</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">command_details</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">         </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">        <tt class="py-name">command_details</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="TestON.bin.vyatta.Vyatta" class="py-name" href="#" onclick="return doclink('link-8', 'Vyatta', 'link-3');">Vyatta</a></tt><tt class="py-op">.</tt><tt class="py-name">get_details</tt><tt class="py-op">(</tt><tt class="py-string">"show interfaces"</tt><tt class="py-op">)</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-9', 'log', 'link-5');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"show interfaces \n command_details\n\t"</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">command_details</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">                 </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-name">command_details</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="TestON.bin.vyatta.Vyatta" class="py-name" href="#" onclick="return doclink('link-10', 'Vyatta', 'link-3');">Vyatta</a></tt><tt class="py-op">.</tt><tt class="py-name">get_details</tt><tt class="py-op">(</tt><tt class="py-string">"show interfaces ethernet"</tt><tt class="py-op">)</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-11', 'log', 'link-5');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"show interfaces ethernet \n command_details\n\t"</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">command_details</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">                 </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-name">command_details</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="TestON.bin.vyatta.Vyatta" class="py-name" href="#" onclick="return doclink('link-12', 'Vyatta', 'link-3');">Vyatta</a></tt><tt class="py-op">.</tt><tt class="py-name">get_details</tt><tt class="py-op">(</tt><tt class="py-string">"show interfaces ethernet eth1"</tt><tt class="py-op">)</tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-13', 'log', 'link-5');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"show interfaces ethernet eth1 \n command_details\n\t"</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">command_details</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">         </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-name">command_details</tt> <tt class="py-op">=</tt> <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="TestON.bin.vyatta.Vyatta" class="py-name" href="#" onclick="return doclink('link-14', 'Vyatta', 'link-3');">Vyatta</a></tt><tt class="py-op">.</tt><tt class="py-name">get_details</tt><tt class="py-op">(</tt><tt class="py-string">"show interfaces ethernet eth1 address"</tt><tt class="py-op">)</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">        <tt class="py-name">main</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="TestON.drivers.component.Component.log" class="py-name" href="#" onclick="return doclink('link-15', 'log', 'link-5');">log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"show interfaces ethernet eth1 address \n command_details\n\t"</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">command_details</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">         </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">         </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt class="py-string">'''</tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"><tt class="py-string">        main.Vyatta.handle.expect("\$")</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line"><tt class="py-string">        </tt> </tt>
-<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"><tt class="py-string">        resultCommand = main.Vyatta.execute(cmd="configure",prompt='\#',timeout=10)</tt> </tt>
-<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"><tt class="py-string">        </tt> </tt>
-<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line"><tt class="py-string">        resultCommand = main.Vyatta.execute(cmd="show interfaces ?",prompt='\#',timeout=10)</tt> </tt>
-<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"><tt class="py-string">        </tt> </tt>
-<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"><tt class="py-string">        print "Possible Options \t\t"</tt> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-string">        print main.last_response</tt> </tt>
-<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-string">        print " -&gt;"*10+"\n"*4</tt> </tt>
-<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line"><tt class="py-string">        import re</tt> </tt>
-<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"><tt class="py-string">        match = re.findall("\n\s*.\s+(\w+)", main.last_response, 0)</tt> </tt>
-<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line"><tt class="py-string">        print match</tt> </tt>
-<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"><tt class="py-string">        </tt> </tt>
-<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line"><tt class="py-string">        resultCommand = main.Vyatta.execute(cmd="XYZ",prompt='\#',timeout=10)</tt> </tt>
-<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"><tt class="py-string">        </tt> </tt>
-<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line"><tt class="py-string">        print "Command result Upto here \t\t"</tt> </tt>
-<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line"><tt class="py-string">        print main.last_response</tt> </tt>
-<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"><tt class="py-string">        print " -&gt;"*10+"\n"*4</tt> </tt>
-<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"><tt class="py-string">        import re</tt> </tt>
-<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"><tt class="py-string">        match = re.findall("\n\s*.\s+(\w+)", main.last_response, 0)</tt> </tt>
-<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line"><tt class="py-string">        print match</tt> </tt>
-<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line"><tt class="py-string">        </tt> </tt>
-<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line"><tt class="py-string">        </tt> </tt>
-<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line"><tt class="py-string">        resultCommand = main.Vyatta.execute(cmd="XYZ",prompt='\#',timeout=10)</tt> </tt>
-<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line"><tt class="py-string">        </tt> </tt>
-<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line"><tt class="py-string">        print "Command result Upto here \t\t"</tt> </tt>
-<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line"><tt class="py-string">        print main.last_response</tt> </tt>
-<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line"><tt class="py-string">        print " -&gt;"*10+"\n"*4</tt> </tt>
-<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line"><tt class="py-string">        import re</tt> </tt>
-<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line"><tt class="py-string">        match = re.findall("\n\s*.\s+(\w+)", main.last_response, 0)</tt> </tt>
-<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line"><tt class="py-string">        print match</tt> </tt>
-<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line"><tt class="py-string">        </tt> </tt>
-<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line"><tt class="py-string">        </tt> </tt>
-<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line"><tt class="py-string">        resultCommand = main.Vyatta.execute(cmd="show interfaces ethernet ?",prompt='\#',timeout=10)</tt> </tt>
-<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line"><tt class="py-string">        </tt> </tt>
-<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line"><tt class="py-string">        print "Possible Options \t\t"</tt> </tt>
-<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line"><tt class="py-string">        print main.last_response</tt> </tt>
-<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line"><tt class="py-string">        print " -&gt;"*10+"\n"*4</tt> </tt>
-<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line"><tt class="py-string">        import re</tt> </tt>
-<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line"><tt class="py-string">        match = re.findall("\n\s*.\s+(\w+)", main.last_response, 0)</tt> </tt>
-<a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line"><tt class="py-string">        print match</tt> </tt>
-<a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line"><tt class="py-string">        </tt> </tt>
-<a name="L73"></a><tt class="py-lineno">73</tt>  <tt class="py-line"><tt class="py-string">        resultCommand = main.Vyatta.execute(cmd="XYZ",prompt='\#',timeout=10)</tt> </tt>
-<a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line"><tt class="py-string">        </tt> </tt>
-<a name="L75"></a><tt class="py-lineno">75</tt>  <tt class="py-line"><tt class="py-string">        print "Command result Upto here \t\t"</tt> </tt>
-<a name="L76"></a><tt class="py-lineno">76</tt>  <tt class="py-line"><tt class="py-string">        print main.last_response</tt> </tt>
-<a name="L77"></a><tt class="py-lineno">77</tt>  <tt class="py-line"><tt class="py-string">        print " -&gt;"*10+"\n"*4</tt> </tt>
-<a name="L78"></a><tt class="py-lineno">78</tt>  <tt class="py-line"><tt class="py-string">        import re</tt> </tt>
-<a name="L79"></a><tt class="py-lineno">79</tt>  <tt class="py-line"><tt class="py-string">        match = re.findall("\n\s*.\s+(\w+)", main.last_response, 0)</tt> </tt>
-<a name="L80"></a><tt class="py-lineno">80</tt>  <tt class="py-line"><tt class="py-string">        print match</tt> </tt>
-<a name="L81"></a><tt class="py-lineno">81</tt>  <tt class="py-line"><tt class="py-string">        '''</tt> </tt>
-</div></div><a name="L82"></a><tt class="py-lineno">82</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:27 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html b/TestON/Documentation/TestON_Document/TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html
deleted file mode 100644
index 3d3c4a5..0000000
--- a/TestON/Documentation/TestON_Document/TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TestON.tests.VyattaTest.VyattaTest.VyattaTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="TestON-module.html">Package&nbsp;TestON</a> ::
-        <a href="TestON.tests-module.html">Package&nbsp;tests</a> ::
-        <a href="TestON.tests.VyattaTest-module.html">Package&nbsp;VyattaTest</a> ::
-        <a href="TestON.tests.VyattaTest.VyattaTest-module.html">Module&nbsp;VyattaTest</a> ::
-        Class&nbsp;VyattaTest
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >]&nbsp;|&nbsp;<a href="TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html"
-            target="_top">no&nbsp;frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class VyattaTest</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.tests.VyattaTest.VyattaTest-pysrc.html#VyattaTest">source&nbsp;code</a></span></p>
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.VyattaTest.VyattaTest-pysrc.html#VyattaTest.__init__">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="CASE1"></a><span class="summary-sig-name">CASE1</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">main</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="TestON.tests.VyattaTest.VyattaTest-pysrc.html#VyattaTest.CASE1">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="TestON-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Tree link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Index link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
-
-  <!-- Help link -->
-      <th>&nbsp;&nbsp;&nbsp;<a
-        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
-
-      <th class="navbar" width="100%"></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/api-objects.txt b/TestON/Documentation/TestON_Document/api-objects.txt
index 72a29d4..db5f8b3 100644
--- a/TestON/Documentation/TestON_Document/api-objects.txt
+++ b/TestON/Documentation/TestON_Document/api-objects.txt
@@ -1,42 +1,71 @@
 TestON	TestON-module.html
+TestON.__package__	TestON-module.html#__package__
 TestON.bin	TestON.bin-module.html
+TestON.bin.__package__	TestON.bin-module.html#__package__
 TestON.bin.cli	TestON.bin.cli-module.html
 TestON.bin.cli.dump	TestON.bin.cli-module.html#dump
-TestON.bin.cli.introduction	TestON.bin.cli-module.html#introduction
-TestON.bin.cli.output	TestON.bin.cli-module.html#output
 TestON.bin.cli.dictToObj	TestON.bin.cli-module.html#dictToObj
-TestON.bin.cli.error	TestON.bin.cli-module.html#error
 TestON.bin.cli.path	TestON.bin.cli-module.html#path
+TestON.bin.cli.logs_path	TestON.bin.cli-module.html#logs_path
+TestON.bin.cli.config_path	TestON.bin.cli-module.html#config_path
+TestON.bin.cli.introduction	TestON.bin.cli-module.html#introduction
+TestON.bin.cli.__package__	TestON.bin.cli-module.html#__package__
+TestON.bin.cli.location	TestON.bin.cli-module.html#location
+TestON.bin.cli.core_path	TestON.bin.cli-module.html#core_path
+TestON.bin.cli.drivers_path	TestON.bin.cli-module.html#drivers_path
+TestON.bin.cli.error	TestON.bin.cli-module.html#error
+TestON.bin.cli.output	TestON.bin.cli-module.html#output
+TestON.bin.cli.tests_path	TestON.bin.cli-module.html#tests_path
 TestON.bin.generatedriver	TestON.bin.generatedriver-module.html
+TestON.bin.generatedriver.__package__	TestON.bin.generatedriver-module.html#__package__
+TestON.bin.nec	TestON.bin.nec-module.html
+TestON.bin.nec.__package__	TestON.bin.nec-module.html#__package__
 TestON.bin.updatedriver	TestON.bin.updatedriver-module.html
+TestON.bin.updatedriver.__package__	TestON.bin.updatedriver-module.html#__package__
 TestON.bin.vyatta	TestON.bin.vyatta-module.html
+TestON.bin.vyatta.__package__	TestON.bin.vyatta-module.html#__package__
 TestON.core	TestON.core-module.html
+TestON.core.__package__	TestON.core-module.html#__package__
+TestON.core.Thread	TestON.core.Thread-module.html
+TestON.core.Thread.__package__	TestON.core.Thread-module.html#__package__
 TestON.core.ast	TestON.core.ast-module.html
-TestON.core.ast.iter_child_nodes	TestON.core.ast-module.html#iter_child_nodes
 TestON.core.ast.fix_missing_locations	TestON.core.ast-module.html#fix_missing_locations
-TestON.core.ast.iter_fields	TestON.core.ast-module.html#iter_fields
-TestON.core.ast.dump	TestON.core.ast-module.html#dump
-TestON.core.ast.walk	TestON.core.ast-module.html#walk
-TestON.core.ast.parse	TestON.core.ast-module.html#parse
-TestON.core.ast.copy_location	TestON.core.ast-module.html#copy_location
 TestON.core.ast.get_docstring	TestON.core.ast-module.html#get_docstring
+TestON.core.ast.PyCF_ONLY_AST	TestON.core.ast-module.html#PyCF_ONLY_AST
+TestON.core.ast.iter_child_nodes	TestON.core.ast-module.html#iter_child_nodes
+TestON.core.ast.walk	TestON.core.ast-module.html#walk
 TestON.core.ast.increment_lineno	TestON.core.ast-module.html#increment_lineno
+TestON.core.ast.dump	TestON.core.ast-module.html#dump
+TestON.core.ast.iter_fields	TestON.core.ast-module.html#iter_fields
+TestON.core.ast.parse	TestON.core.ast-module.html#parse
+TestON.core.ast.__package__	TestON.core.ast-module.html#__package__
+TestON.core.ast.copy_location	TestON.core.ast-module.html#copy_location
 TestON.core.ast.literal_eval	TestON.core.ast-module.html#literal_eval
+TestON.core.dicttoobject	TestON.core.dicttoobject-module.html
+TestON.core.dicttoobject.__package__	TestON.core.dicttoobject-module.html#__package__
 TestON.core.iniparser	TestON.core.iniparser-module.html
+TestON.core.iniparser.__package__	TestON.core.iniparser-module.html#__package__
+TestON.core.jsonparser	TestON.core.jsonparser-module.html
+TestON.core.jsonparser.__package__	TestON.core.jsonparser-module.html#__package__
 TestON.core.logger	TestON.core.logger-module.html
+TestON.core.logger.__package__	TestON.core.logger-module.html#__package__
 TestON.core.openspeak	TestON.core.openspeak-module.html
+TestON.core.openspeak.__package__	TestON.core.openspeak-module.html#__package__
 TestON.core.teston	TestON.core.teston-module.html
 TestON.core.teston.load_parser	TestON.core.teston-module.html#load_parser
 TestON.core.teston.load_defaultParser	TestON.core.teston-module.html#load_defaultParser
+TestON.core.teston.verifyOnosCell	TestON.core.teston-module.html#verifyOnosCell
 TestON.core.teston.verifyTest	TestON.core.teston-module.html#verifyTest
 TestON.core.teston.path	TestON.core.teston-module.html#path
 TestON.core.teston.logs_path	TestON.core.teston-module.html#logs_path
 TestON.core.teston.load_defaultlogger	TestON.core.teston-module.html#load_defaultlogger
 TestON.core.teston.config_path	TestON.core.teston-module.html#config_path
 TestON.core.teston.verifyExample	TestON.core.teston-module.html#verifyExample
+TestON.core.teston.__package__	TestON.core.teston-module.html#__package__
+TestON.core.teston.location	TestON.core.teston-module.html#location
+TestON.core.teston.Thread	TestON.core.Thread.Thread-class.html
 TestON.core.teston.verifyOptions	TestON.core.teston-module.html#verifyOptions
 TestON.core.teston.verifyLogdir	TestON.core.teston-module.html#verifyLogdir
-TestON.core.teston.module	TestON.core.teston-module.html#module
 TestON.core.teston.core_path	TestON.core.teston-module.html#core_path
 TestON.core.teston.verifyParams	TestON.core.teston-module.html#verifyParams
 TestON.core.teston.drivers_path	TestON.core.teston-module.html#drivers_path
@@ -47,70 +76,194 @@
 TestON.core.teston.tests_path	TestON.core.teston-module.html#tests_path
 TestON.core.teston.verifyTestCases	TestON.core.teston-module.html#verifyTestCases
 TestON.core.testparser	TestON.core.testparser-module.html
+TestON.core.testparser.__package__	TestON.core.testparser-module.html#__package__
 TestON.core.xmldict	TestON.core.xmldict-module.html
 TestON.core.xmldict._from_xml	TestON.core.xmldict-module.html#_from_xml
 TestON.core.xmldict._str_to_boolean	TestON.core.xmldict-module.html#_str_to_boolean
-TestON.core.xmldict._is_xml_el_list	TestON.core.xmldict-module.html#_is_xml_el_list
+TestON.core.xmldict._to_xml	TestON.core.xmldict-module.html#_to_xml
 TestON.core.xmldict._val_and_maybe_convert	TestON.core.xmldict-module.html#_val_and_maybe_convert
 TestON.core.xmldict.dict_to_xml	TestON.core.xmldict-module.html#dict_to_xml
 TestON.core.xmldict._list_from_xml	TestON.core.xmldict-module.html#_list_from_xml
 TestON.core.xmldict._dict_to_xml	TestON.core.xmldict-module.html#_dict_to_xml
-TestON.core.xmldict._to_xml	TestON.core.xmldict-module.html#_to_xml
+TestON.core.xmldict._is_xml_el_list	TestON.core.xmldict-module.html#_is_xml_el_list
 TestON.core.xmldict.xml_to_dict	TestON.core.xmldict-module.html#xml_to_dict
 TestON.core.xmldict._str_to_datetime	TestON.core.xmldict-module.html#_str_to_datetime
 TestON.core.xmldict._dict_from_xml	TestON.core.xmldict-module.html#_dict_from_xml
 TestON.core.xmldict._is_xml_el_dict	TestON.core.xmldict-module.html#_is_xml_el_dict
 TestON.core.xmldict._extract_attrs	TestON.core.xmldict-module.html#_extract_attrs
+TestON.core.xmldict.__package__	TestON.core.xmldict-module.html#__package__
 TestON.core.xmlparser	TestON.core.xmlparser-module.html
+TestON.core.xmlparser.__package__	TestON.core.xmlparser-module.html#__package__
 TestON.drivers	TestON.drivers-module.html
+TestON.drivers.__package__	TestON.drivers-module.html#__package__
 TestON.drivers.common	TestON.drivers.common-module.html
+TestON.drivers.common.__package__	TestON.drivers.common-module.html#__package__
 TestON.drivers.common.api	TestON.drivers.common.api-module.html
+TestON.drivers.common.api.__package__	TestON.drivers.common.api-module.html#__package__
 TestON.drivers.common.api.controller	TestON.drivers.common.api.controller-module.html
+TestON.drivers.common.api.controller.__package__	TestON.drivers.common.api.controller-module.html#__package__
+TestON.drivers.common.api.controller.onosrestdriver	TestON.drivers.common.api.controller.onosrestdriver-module.html
 TestON.drivers.common.api.controllerdriver	TestON.drivers.common.api.controllerdriver-module.html
 TestON.drivers.common.api.fvtapidriver	TestON.drivers.common.api.fvtapidriver-module.html
-TestON.drivers.common.api.fvtapidriver.test_set_init	TestON.drivers.common.api.fvtapidriver-module.html#test_set_init
 TestON.drivers.common.api.fvtapidriver.config_default	TestON.drivers.common.api.fvtapidriver-module.html#config_default
+TestON.drivers.common.api.fvtapidriver.test_set_init	TestON.drivers.common.api.fvtapidriver-module.html#test_set_init
+TestON.drivers.common.apidriver	TestON.drivers.common.apidriver-module.html
 TestON.drivers.common.cli	TestON.drivers.common.cli-module.html
+TestON.drivers.common.cli.__package__	TestON.drivers.common.cli-module.html#__package__
+TestON.drivers.common.cli.dpclidriver	TestON.drivers.common.cli.dpclidriver-module.html
 TestON.drivers.common.cli.emulator	TestON.drivers.common.cli.emulator-module.html
+TestON.drivers.common.cli.emulator.__package__	TestON.drivers.common.cli.emulator-module.html#__package__
+TestON.drivers.common.cli.emulator.flowvisordriver	TestON.drivers.common.cli.emulator.flowvisordriver-module.html
+TestON.drivers.common.cli.emulator.lincoedriver	TestON.drivers.common.cli.emulator.lincoedriver-module.html
 TestON.drivers.common.cli.emulator.mininetclidriver	TestON.drivers.common.cli.emulator.mininetclidriver-module.html
 TestON.drivers.common.cli.emulator.poxclidriver	TestON.drivers.common.cli.emulator.poxclidriver-module.html
+TestON.drivers.common.cli.emulator.remotemininetdriver	TestON.drivers.common.cli.emulator.remotemininetdriver-module.html
 TestON.drivers.common.cli.emulatordriver	TestON.drivers.common.cli.emulatordriver-module.html
+TestON.drivers.common.cli.onosclidriver	TestON.drivers.common.cli.onosclidriver-module.html
+TestON.drivers.common.cli.onosdriver	TestON.drivers.common.cli.onosdriver-module.html
+TestON.drivers.common.cli.quaggaclidriver	TestON.drivers.common.cli.quaggaclidriver-module.html
 TestON.drivers.common.cli.remotesys	TestON.drivers.common.cli.remotesys-module.html
-TestON.drivers.common.cli.remotesys.hpswitchdriver	TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+TestON.drivers.common.cli.remotesys.__package__	TestON.drivers.common.cli.remotesys-module.html#__package__
 TestON.drivers.common.cli.remotesysdriver	TestON.drivers.common.cli.remotesysdriver-module.html
+TestON.drivers.common.cli.remotetestbed	TestON.drivers.common.cli.remotetestbed-module.html
+TestON.drivers.common.cli.remotetestbed.__package__	TestON.drivers.common.cli.remotetestbed-module.html#__package__
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver	TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html
+TestON.drivers.common.cli.remotetestbed.necswitchdriver	TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.__package__	TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html#__package__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver	TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html
+TestON.drivers.common.cli.remotetestbed.remotevmdriver	TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html
+TestON.drivers.common.cli.remotetestbeddriver	TestON.drivers.common.cli.remotetestbeddriver-module.html
 TestON.drivers.common.cli.tool	TestON.drivers.common.cli.tool-module.html
+TestON.drivers.common.cli.tool.__package__	TestON.drivers.common.cli.tool-module.html#__package__
 TestON.drivers.common.cli.tool.dpctlclidriver	TestON.drivers.common.cli.tool.dpctlclidriver-module.html
 TestON.drivers.common.cli.toolsdriver	TestON.drivers.common.cli.toolsdriver-module.html
 TestON.drivers.common.clidriver	TestON.drivers.common.clidriver-module.html
-TestON.drivers.common.webdriver	TestON.drivers.common.webdriver-module.html
-TestON.drivers.component	TestON.drivers.component-module.html
 TestON.examples	TestON.examples-module.html
+TestON.examples.__package__	TestON.examples-module.html#__package__
 TestON.examples.Assert	TestON.examples.Assert-module.html
+TestON.examples.Assert.__package__	TestON.examples.Assert-module.html#__package__
 TestON.examples.Assert.Assert	TestON.examples.Assert.Assert-module.html
+TestON.examples.Assert.Assert.__package__	TestON.examples.Assert.Assert-module.html#__package__
 TestON.examples.CaseParams	TestON.examples.CaseParams-module.html
+TestON.examples.CaseParams.__package__	TestON.examples.CaseParams-module.html#__package__
 TestON.examples.CaseParams.CaseParams	TestON.examples.CaseParams.CaseParams-module.html
+TestON.examples.CaseParams.CaseParams.__package__	TestON.examples.CaseParams.CaseParams-module.html#__package__
 TestON.examples.ExperimentTest	TestON.examples.ExperimentTest-module.html
+TestON.examples.ExperimentTest.__package__	TestON.examples.ExperimentTest-module.html#__package__
 TestON.examples.ExperimentTest.ExperimentTest	TestON.examples.ExperimentTest.ExperimentTest-module.html
+TestON.examples.ExperimentTest.ExperimentTest.__package__	TestON.examples.ExperimentTest.ExperimentTest-module.html#__package__
 TestON.examples.StepParams	TestON.examples.StepParams-module.html
+TestON.examples.StepParams.__package__	TestON.examples.StepParams-module.html#__package__
 TestON.examples.StepParams.StepParams	TestON.examples.StepParams.StepParams-module.html
+TestON.examples.StepParams.StepParams.__package__	TestON.examples.StepParams.StepParams-module.html#__package__
 TestON.examples.Topology	TestON.examples.Topology-module.html
+TestON.examples.Topology.__package__	TestON.examples.Topology-module.html#__package__
 TestON.examples.Topology.Topology	TestON.examples.Topology.Topology-module.html
+TestON.examples.Topology.Topology.__package__	TestON.examples.Topology.Topology-module.html#__package__
 TestON.lib	TestON.lib-module.html
+TestON.lib.__package__	TestON.lib-module.html#__package__
 TestON.tests	TestON.tests-module.html
-TestON.tests.DpctlTest	TestON.tests.DpctlTest-module.html
-TestON.tests.DpctlTest.DpctlTest	TestON.tests.DpctlTest.DpctlTest-module.html
-TestON.tests.FvtTest	TestON.tests.FvtTest-module.html
-TestON.tests.FvtTest.FvtTest	TestON.tests.FvtTest.FvtTest-module.html
-TestON.tests.HPSwitchTest	TestON.tests.HPSwitchTest-module.html
-TestON.tests.HPSwitchTest.HPSwitchTest	TestON.tests.HPSwitchTest.HPSwitchTest-module.html
-TestON.tests.MininetTest	TestON.tests.MininetTest-module.html
-TestON.tests.MininetTest.MininetTest	TestON.tests.MininetTest.MininetTest-module.html
-TestON.tests.PoxTest	TestON.tests.PoxTest-module.html
-TestON.tests.PoxTest.PoxTest	TestON.tests.PoxTest.PoxTest-module.html
-TestON.tests.TicketBooking	TestON.tests.TicketBooking-module.html
-TestON.tests.TicketBooking.TicketBooking	TestON.tests.TicketBooking.TicketBooking-module.html
-TestON.tests.VyattaTest	TestON.tests.VyattaTest-module.html
-TestON.tests.VyattaTest.VyattaTest	TestON.tests.VyattaTest.VyattaTest-module.html
+TestON.tests.__package__	TestON.tests-module.html#__package__
+TestON.tests.CHOtest	TestON.tests.CHOtest-module.html
+TestON.tests.CHOtest.__package__	TestON.tests.CHOtest-module.html#__package__
+TestON.tests.CHOtest.CHOtest	TestON.tests.CHOtest.CHOtest-module.html
+TestON.tests.CHOtest.CHOtest.__package__	TestON.tests.CHOtest.CHOtest-module.html#__package__
+TestON.tests.FUNCintent	TestON.tests.FUNCintent-module.html
+TestON.tests.FUNCintent.__package__	TestON.tests.FUNCintent-module.html#__package__
+TestON.tests.FUNCintent.FUNCintent	TestON.tests.FUNCintent.FUNCintent-module.html
+TestON.tests.FUNCintent.FUNCintent.__package__	TestON.tests.FUNCintent.FUNCintent-module.html#__package__
+TestON.tests.HAclusterRestart	TestON.tests.HAclusterRestart-module.html
+TestON.tests.HAclusterRestart.__package__	TestON.tests.HAclusterRestart-module.html#__package__
+TestON.tests.HAclusterRestart.HAclusterRestart	TestON.tests.HAclusterRestart.HAclusterRestart-module.html
+TestON.tests.HAclusterRestart.HAclusterRestart.__package__	TestON.tests.HAclusterRestart.HAclusterRestart-module.html#__package__
+TestON.tests.HAclusterRestart.dependencies	TestON.tests.HAclusterRestart.dependencies-module.html
+TestON.tests.HAclusterRestart.dependencies.__package__	TestON.tests.HAclusterRestart.dependencies-module.html#__package__
+TestON.tests.HAclusterRestart.dependencies.Counters	TestON.tests.HAclusterRestart.dependencies.Counters-module.html
+TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck	TestON.tests.HAclusterRestart.dependencies.Counters-module.html#counterCheck
+TestON.tests.HAclusterRestart.dependencies.Counters.__init__	TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__
+TestON.tests.HAclusterRestart.dependencies.Counters.__package__	TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__package__
+TestON.tests.HAclusterRestart.dependencies.obelisk	TestON.tests.HAclusterRestart.dependencies.obelisk-module.html
+TestON.tests.HAclusterRestart.dependencies.obelisk.topos	TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#topos
+TestON.tests.HAclusterRestart.dependencies.obelisk.run	TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#run
+TestON.tests.HAclusterRestart.dependencies.obelisk.__package__	TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#__package__
+TestON.tests.HAminorityRestart	TestON.tests.HAminorityRestart-module.html
+TestON.tests.HAminorityRestart.__package__	TestON.tests.HAminorityRestart-module.html#__package__
+TestON.tests.HAminorityRestart.HAminorityRestart	TestON.tests.HAminorityRestart.HAminorityRestart-module.html
+TestON.tests.HAminorityRestart.HAminorityRestart.__package__	TestON.tests.HAminorityRestart.HAminorityRestart-module.html#__package__
+TestON.tests.HAminorityRestart.dependencies	TestON.tests.HAminorityRestart.dependencies-module.html
+TestON.tests.HAminorityRestart.dependencies.__package__	TestON.tests.HAminorityRestart.dependencies-module.html#__package__
+TestON.tests.HAminorityRestart.dependencies.Counters	TestON.tests.HAminorityRestart.dependencies.Counters-module.html
+TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck	TestON.tests.HAminorityRestart.dependencies.Counters-module.html#counterCheck
+TestON.tests.HAminorityRestart.dependencies.Counters.__init__	TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__
+TestON.tests.HAminorityRestart.dependencies.Counters.__package__	TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__package__
+TestON.tests.HAminorityRestart.dependencies.obelisk	TestON.tests.HAminorityRestart.dependencies.obelisk-module.html
+TestON.tests.HAminorityRestart.dependencies.obelisk.topos	TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#topos
+TestON.tests.HAminorityRestart.dependencies.obelisk.run	TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#run
+TestON.tests.HAminorityRestart.dependencies.obelisk.__package__	TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#__package__
+TestON.tests.HAsanity	TestON.tests.HAsanity-module.html
+TestON.tests.HAsanity.__package__	TestON.tests.HAsanity-module.html#__package__
+TestON.tests.HAsanity.HAsanity	TestON.tests.HAsanity.HAsanity-module.html
+TestON.tests.HAsanity.HAsanity.__package__	TestON.tests.HAsanity.HAsanity-module.html#__package__
+TestON.tests.HAsanity.dependencies	TestON.tests.HAsanity.dependencies-module.html
+TestON.tests.HAsanity.dependencies.__package__	TestON.tests.HAsanity.dependencies-module.html#__package__
+TestON.tests.HAsanity.dependencies.Counters	TestON.tests.HAsanity.dependencies.Counters-module.html
+TestON.tests.HAsanity.dependencies.Counters.counterCheck	TestON.tests.HAsanity.dependencies.Counters-module.html#counterCheck
+TestON.tests.HAsanity.dependencies.Counters.__init__	TestON.tests.HAsanity.dependencies.Counters-module.html#__init__
+TestON.tests.HAsanity.dependencies.Counters.__package__	TestON.tests.HAsanity.dependencies.Counters-module.html#__package__
+TestON.tests.HAsanity.dependencies.obelisk	TestON.tests.HAsanity.dependencies.obelisk-module.html
+TestON.tests.HAsanity.dependencies.obelisk.topos	TestON.tests.HAsanity.dependencies.obelisk-module.html#topos
+TestON.tests.HAsanity.dependencies.obelisk.run	TestON.tests.HAsanity.dependencies.obelisk-module.html#run
+TestON.tests.HAsanity.dependencies.obelisk.__package__	TestON.tests.HAsanity.dependencies.obelisk-module.html#__package__
+TestON.tests.HAsingleInstanceRestart	TestON.tests.HAsingleInstanceRestart-module.html
+TestON.tests.HAsingleInstanceRestart.__package__	TestON.tests.HAsingleInstanceRestart-module.html#__package__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.__package__	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html#__package__
+TestON.tests.HAsingleInstanceRestart.dependencies	TestON.tests.HAsingleInstanceRestart.dependencies-module.html
+TestON.tests.HAsingleInstanceRestart.dependencies.__package__	TestON.tests.HAsingleInstanceRestart.dependencies-module.html#__package__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters	TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck	TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#counterCheck
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__	TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__
+TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__package__	TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__package__
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk	TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.topos	TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#topos
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run	TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#run
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.__package__	TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#__package__
+TestON.tests.SAMPscaleTopo	TestON.tests.SAMPscaleTopo-module.html
+TestON.tests.SAMPscaleTopo.__package__	TestON.tests.SAMPscaleTopo-module.html#__package__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo	TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.__package__	TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html#__package__
+TestON.tests.SAMPstartTemplate	TestON.tests.SAMPstartTemplate-module.html
+TestON.tests.SAMPstartTemplate.__package__	TestON.tests.SAMPstartTemplate-module.html#__package__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate	TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.__package__	TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html#__package__
+TestON.tests.SCPFcbench	TestON.tests.SCPFcbench-module.html
+TestON.tests.SCPFcbench.__package__	TestON.tests.SCPFcbench-module.html#__package__
+TestON.tests.SCPFcbench.SCPFcbench	TestON.tests.SCPFcbench.SCPFcbench-module.html
+TestON.tests.SCPFcbench.SCPFcbench.__package__	TestON.tests.SCPFcbench.SCPFcbench-module.html#__package__
+TestON.tests.SCPFflowTp1g	TestON.tests.SCPFflowTp1g-module.html
+TestON.tests.SCPFflowTp1g.__package__	TestON.tests.SCPFflowTp1g-module.html#__package__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g	TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.__package__	TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html#__package__
+TestON.tests.SCPFintentEventTp	TestON.tests.SCPFintentEventTp-module.html
+TestON.tests.SCPFintentEventTp.__package__	TestON.tests.SCPFintentEventTp-module.html#__package__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp	TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.__package__	TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html#__package__
+TestON.tests.SCPFintentInstallWithdrawLat	TestON.tests.SCPFintentInstallWithdrawLat-module.html
+TestON.tests.SCPFintentInstallWithdrawLat.__package__	TestON.tests.SCPFintentInstallWithdrawLat-module.html#__package__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat	TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__package__	TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html#__package__
+TestON.tests.SCPFintentRerouteLat	TestON.tests.SCPFintentRerouteLat-module.html
+TestON.tests.SCPFintentRerouteLat.__package__	TestON.tests.SCPFintentRerouteLat-module.html#__package__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat	TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.__package__	TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html#__package__
+TestON.tests.SCPFportLat	TestON.tests.SCPFportLat-module.html
+TestON.tests.SCPFportLat.__package__	TestON.tests.SCPFportLat-module.html#__package__
+TestON.tests.SCPFportLat.SCPFportLat	TestON.tests.SCPFportLat.SCPFportLat-module.html
+TestON.tests.SCPFportLat.SCPFportLat.__package__	TestON.tests.SCPFportLat.SCPFportLat-module.html#__package__
+TestON.tests.SCPFswitchLat	TestON.tests.SCPFswitchLat-module.html
+TestON.tests.SCPFswitchLat.__package__	TestON.tests.SCPFswitchLat-module.html#__package__
+TestON.tests.SCPFswitchLat.SCPFswitchLat	TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html
+TestON.tests.SCPFswitchLat.SCPFswitchLat.__package__	TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html#__package__
 TestON.bin.cli.CLI	TestON.bin.cli.CLI-class.html
 TestON.bin.cli.CLI.do_help	TestON.bin.cli.CLI-class.html#do_help
 TestON.bin.cli.CLI.prompt	TestON.bin.cli.CLI-class.html#prompt
@@ -125,14 +278,14 @@
 TestON.bin.cli.CLI.do_py	TestON.bin.cli.CLI-class.html#do_py
 TestON.bin.cli.CLI.do_quit	TestON.bin.cli.CLI-class.html#do_quit
 TestON.bin.cli.CLI.cmdloop	TestON.bin.cli.CLI-class.html#cmdloop
-TestON.bin.cli.CLI.do_stop	TestON.bin.cli.CLI-class.html#do_stop
+TestON.bin.cli.CLI.helpStr	TestON.bin.cli.CLI-class.html#helpStr
 TestON.bin.cli.CLI.isatty	TestON.bin.cli.CLI-class.html#isatty
 TestON.bin.cli.CLI.do_time	TestON.bin.cli.CLI-class.html#do_time
 TestON.bin.cli.CLI.do_run	TestON.bin.cli.CLI-class.html#do_run
 TestON.bin.cli.CLI.do_EOF	TestON.bin.cli.CLI-class.html#do_EOF
 TestON.bin.cli.CLI.emptyline	TestON.bin.cli.CLI-class.html#emptyline
 TestON.bin.cli.CLI.testcasesInRange	TestON.bin.cli.CLI-class.html#testcasesInRange
-TestON.bin.cli.CLI.helpStr	TestON.bin.cli.CLI-class.html#helpStr
+TestON.bin.cli.CLI.do_stop	TestON.bin.cli.CLI-class.html#do_stop
 TestON.bin.cli.CLI.do_do	TestON.bin.cli.CLI-class.html#do_do
 TestON.bin.cli.CLI.do_exit	TestON.bin.cli.CLI-class.html#do_exit
 TestON.bin.cli.CLI.do_updatedriver	TestON.bin.cli.CLI-class.html#do_updatedriver
@@ -161,6 +314,62 @@
 TestON.bin.generatedriver.GenerateDriver.get_details_recursive	TestON.bin.generatedriver.GenerateDriver-class.html#get_details_recursive
 TestON.bin.generatedriver.GenerateDriver.connect	TestON.bin.generatedriver.GenerateDriver-class.html#connect
 TestON.bin.generatedriver.GenerateDriver.__init__	TestON.bin.generatedriver.GenerateDriver-class.html#__init__
+TestON.bin.nec.NEC	TestON.bin.nec.NEC-class.html
+TestON.bin.nec.NEC.show_ssh	TestON.bin.nec.NEC-class.html#show_ssh
+TestON.bin.nec.NEC.show_netconf	TestON.bin.nec.NEC-class.html#show_netconf
+TestON.bin.nec.NEC.show	TestON.bin.nec.NEC-class.html#show
+TestON.bin.nec.NEC.show_lldp	TestON.bin.nec.NEC-class.html#show_lldp
+TestON.bin.nec.NEC.show_whoami	TestON.bin.nec.NEC-class.html#show_whoami
+TestON.bin.nec.NEC.show_qos	TestON.bin.nec.NEC-class.html#show_qos
+TestON.bin.nec.NEC.show_igmpsnooping	TestON.bin.nec.NEC-class.html#show_igmpsnooping
+TestON.bin.nec.NEC.__init__	TestON.bin.nec.NEC-class.html#__init__
+TestON.bin.nec.NEC.show_environment	TestON.bin.nec.NEC-class.html#show_environment
+TestON.bin.nec.NEC.show_configlockstatus	TestON.bin.nec.NEC-class.html#show_configlockstatus
+TestON.bin.nec.NEC.show_channelgroup	TestON.bin.nec.NEC-class.html#show_channelgroup
+TestON.bin.nec.NEC.show_version	TestON.bin.nec.NEC-class.html#show_version
+TestON.bin.nec.NEC.show_ntp	TestON.bin.nec.NEC-class.html#show_ntp
+TestON.bin.nec.NEC.show_mc	TestON.bin.nec.NEC-class.html#show_mc
+TestON.bin.nec.NEC.show_history	TestON.bin.nec.NEC-class.html#show_history
+TestON.bin.nec.NEC.show_efmoam	TestON.bin.nec.NEC-class.html#show_efmoam
+TestON.bin.nec.NEC.show_system	TestON.bin.nec.NEC-class.html#show_system
+TestON.bin.nec.NEC.show_processes	TestON.bin.nec.NEC-class.html#show_processes
+TestON.bin.nec.NEC.show_vlan	TestON.bin.nec.NEC-class.html#show_vlan
+TestON.bin.nec.NEC.show_interfaces	TestON.bin.nec.NEC-class.html#show_interfaces
+TestON.bin.nec.NEC.show_port	TestON.bin.nec.NEC-class.html#show_port
+TestON.bin.nec.NEC.show_memory	TestON.bin.nec.NEC-class.html#show_memory
+TestON.bin.nec.NEC.show_acknowledgments_interface	TestON.bin.nec.NEC-class.html#show_acknowledgments_interface
+TestON.bin.nec.NEC.show_oadp	TestON.bin.nec.NEC-class.html#show_oadp
+TestON.bin.nec.NEC.show_tcpdump	TestON.bin.nec.NEC-class.html#show_tcpdump
+TestON.bin.nec.NEC.show_dhcp	TestON.bin.nec.NEC-class.html#show_dhcp
+TestON.bin.nec.NEC.show_openflow	TestON.bin.nec.NEC-class.html#show_openflow
+TestON.bin.nec.NEC.show_macaddresstable	TestON.bin.nec.NEC-class.html#show_macaddresstable
+TestON.bin.nec.NEC.show_cpu	TestON.bin.nec.NEC-class.html#show_cpu
+TestON.bin.nec.NEC.show_file	TestON.bin.nec.NEC-class.html#show_file
+TestON.bin.nec.NEC.show_sessions	TestON.bin.nec.NEC-class.html#show_sessions
+TestON.bin.nec.NEC.show_gsrp	TestON.bin.nec.NEC-class.html#show_gsrp
+TestON.bin.nec.NEC.show_clock	TestON.bin.nec.NEC-class.html#show_clock
+TestON.bin.nec.NEC.show_vrrpstatus	TestON.bin.nec.NEC-class.html#show_vrrpstatus
+TestON.bin.nec.NEC.show_flash	TestON.bin.nec.NEC-class.html#show_flash
+TestON.bin.nec.NEC.show_license	TestON.bin.nec.NEC-class.html#show_license
+TestON.bin.nec.NEC.show_ipdual	TestON.bin.nec.NEC-class.html#show_ipdual
+TestON.bin.nec.NEC.show_ipv6dhcp	TestON.bin.nec.NEC-class.html#show_ipv6dhcp
+TestON.bin.nec.NEC.show_autoconfig	TestON.bin.nec.NEC-class.html#show_autoconfig
+TestON.bin.nec.NEC.show_logging	TestON.bin.nec.NEC-class.html#show_logging
+TestON.bin.nec.NEC.show_sflow	TestON.bin.nec.NEC-class.html#show_sflow
+TestON.bin.nec.NEC.show_loopdetection	TestON.bin.nec.NEC-class.html#show_loopdetection
+TestON.bin.nec.NEC.show_track	TestON.bin.nec.NEC-class.html#show_track
+TestON.bin.nec.NEC.show_acknowledgments	TestON.bin.nec.NEC-class.html#show_acknowledgments
+TestON.bin.nec.NEC.show_cfm	TestON.bin.nec.NEC-class.html#show_cfm
+TestON.bin.nec.NEC.show_power	TestON.bin.nec.NEC-class.html#show_power
+TestON.bin.nec.NEC.show_netstat	TestON.bin.nec.NEC-class.html#show_netstat
+TestON.bin.nec.NEC.show_spanningtree	TestON.bin.nec.NEC-class.html#show_spanningtree
+TestON.bin.nec.NEC.show_mldsnooping	TestON.bin.nec.NEC-class.html#show_mldsnooping
+TestON.bin.nec.NEC.show_dumpfile	TestON.bin.nec.NEC-class.html#show_dumpfile
+TestON.bin.nec.NEC.show_axrp	TestON.bin.nec.NEC-class.html#show_axrp
+TestON.bin.nec.NEC.show_qosflow	TestON.bin.nec.NEC-class.html#show_qosflow
+TestON.bin.nec.NEC.show_dot1x	TestON.bin.nec.NEC-class.html#show_dot1x
+TestON.bin.nec.NEC.show_techsupport	TestON.bin.nec.NEC-class.html#show_techsupport
+TestON.bin.nec.NEC.show_ip	TestON.bin.nec.NEC-class.html#show_ip
 TestON.bin.updatedriver.UpdateDriver	TestON.bin.updatedriver.UpdateDriver-class.html
 TestON.bin.updatedriver.UpdateDriver.writeDriver	TestON.bin.updatedriver.UpdateDriver-class.html#writeDriver
 TestON.bin.updatedriver.UpdateDriver.getDriverPath	TestON.bin.updatedriver.UpdateDriver-class.html#getDriverPath
@@ -171,22 +380,23 @@
 TestON.bin.updatedriver.UpdateDriver.echo	TestON.bin.updatedriver.UpdateDriver-class.html#echo
 TestON.bin.updatedriver.UpdateDriver.printHeader	TestON.bin.updatedriver.UpdateDriver-class.html#printHeader
 TestON.bin.updatedriver.UpdateDriver.add_method	TestON.bin.updatedriver.UpdateDriver-class.html#add_method
-TestON.bin.updatedriver.UpdateDriver.appendDriver	TestON.bin.updatedriver.UpdateDriver-class.html#appendDriver
-TestON.bin.updatedriver.UpdateDriver.getMethodArgsHash	TestON.bin.updatedriver.UpdateDriver-class.html#getMethodArgsHash
-TestON.bin.updatedriver.UpdateDriver.getargs	TestON.bin.updatedriver.UpdateDriver-class.html#getargs
 TestON.bin.updatedriver.UpdateDriver.__init__	TestON.bin.updatedriver.UpdateDriver-class.html#__init__
 TestON.bin.updatedriver.UpdateDriver.configparser	TestON.bin.updatedriver.UpdateDriver-class.html#configparser
+TestON.bin.updatedriver.UpdateDriver.getargs	TestON.bin.updatedriver.UpdateDriver-class.html#getargs
+TestON.bin.updatedriver.UpdateDriver.appendDriver	TestON.bin.updatedriver.UpdateDriver-class.html#appendDriver
+TestON.bin.updatedriver.UpdateDriver.getMethodArgsHash	TestON.bin.updatedriver.UpdateDriver-class.html#getMethodArgsHash
 TestON.bin.vyatta.Vyatta	TestON.bin.vyatta.Vyatta-class.html
 TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth0_duplex_auto	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_duplex_auto
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid
-TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_ip_enableproxyarp	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_enableproxyarp
+TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_duplex_full	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex_full
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_DHCPv6	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_DHCPv6
-TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth0_smp_affinity	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_smp_affinity
-TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain
+TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth1_smp_affinity_auto	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_smp_affinity_auto
+TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_temporary	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_dhcpv6options_temporary
 TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth1	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1
-TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth1_hwid	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_hwid
+TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth1_speed	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_speed
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_description	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_description
 TestON.bin.vyatta.Vyatta.show_interfaces_loopback_lo	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_loopback_lo
+TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_duplex_half	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex_half
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_Acquire	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_dhcpv6options_Acquire
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_bridgegroup	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bridgegroup
@@ -198,65 +408,77 @@
 TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth0_speed	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_speed
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_ip	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_Ignore	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_Ignore
-TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_disableflowcontrol	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_disableflowcontrol
+TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth0_hwid	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_hwid
+TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_firewall_out_ipv6name	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_out_ipv6name
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_firewall_in	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_in
-TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_temporary	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_dhcpv6options_temporary
+TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_ip_ospf	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_dhcpv6options_parametersonly	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_dhcpv6options_parametersonly
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_ip_ospf_OSPF	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_OSPF
-TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth1_smp_affinity_auto	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_smp_affinity_auto
-TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_firewall_out_ipv6name	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_out_ipv6name
 TestON.bin.vyatta.Vyatta.show_interfaces	TestON.bin.vyatta.Vyatta-class.html#show_interfaces
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_hwid	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_hwid
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_duplex	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_disable	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_disable
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_address	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_address
+TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_hwid_Media	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_hwid_Media
 TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth1_duplex	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_duplex
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_ip_ospf_cost	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_cost
-TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword
 TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth0_duplex	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_duplex
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_ip_ospf_bandwidth	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_bandwidth
-TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet
+TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_duplex_auto	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex_auto
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_md5	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_md5
 TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth0_smp_affinity_auto	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_smp_affinity_auto
-TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_bridgegroup_priority	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bridgegroup_priority
-TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_duplex_full	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex_full
+TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication
+TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_ip_enableproxyarp	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_enableproxyarp
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_firewall_out_name	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_out_name
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_bridgegroup_cost	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bridgegroup_cost
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_firewall_out	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_out
-TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_firewall_local	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_local
-TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_duplex_auto	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex_auto
+TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_bridgegroup_priority	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bridgegroup_priority
+TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword
+TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_disableflowcontrol	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_disableflowcontrol
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_bondgroup	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bondgroup
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_firewall_local_ipv6name	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_local_ipv6name
 TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth0_speed_auto	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_speed_auto
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_ip_Enable	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_Enable
-TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_firewall_local_name	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_local_name
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_firewall_in_ipv6name	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_in_ipv6name
-TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth1_speed	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_speed
+TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth1_hwid	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_hwid
 TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth1_speed_auto	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_speed_auto
 TestON.bin.vyatta.Vyatta.show_interfaces_loopback	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_loopback
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_dhcpv6options	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_dhcpv6options
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_firewall	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall
-TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_hwid_Media	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_hwid_Media
+TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_firewall_local	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_local
 TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth1_smp_affinity	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_smp_affinity
 TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth1_duplex_auto	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_duplex_auto
 TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_bridgegroup_bridge	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bridgegroup_bridge
 TestON.bin.vyatta.Vyatta.show_interfaces_ethernet	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet
-TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth0_hwid	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_hwid
-TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_duplex_half	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex_half
+TestON.bin.vyatta.Vyatta.set_interfaces_ethernet_eth0_firewall_local_name	TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_local_name
+TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth0_smp_affinity	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_smp_affinity
 TestON.bin.vyatta.Vyatta.show_interfaces_ethernet_eth0	TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0
+TestON.core.Thread.Thread	TestON.core.Thread.Thread-class.html
+TestON.core.Thread.Thread.__init__	TestON.core.Thread.Thread-class.html#__init__
+TestON.core.Thread.Thread.run	TestON.core.Thread.Thread-class.html#run
 TestON.core.ast.NodeTransformer	TestON.core.ast.NodeTransformer-class.html
 TestON.core.ast.NodeVisitor.visit	TestON.core.ast.NodeVisitor-class.html#visit
 TestON.core.ast.NodeTransformer.generic_visit	TestON.core.ast.NodeTransformer-class.html#generic_visit
 TestON.core.ast.NodeVisitor	TestON.core.ast.NodeVisitor-class.html
 TestON.core.ast.NodeVisitor.visit	TestON.core.ast.NodeVisitor-class.html#visit
 TestON.core.ast.NodeVisitor.generic_visit	TestON.core.ast.NodeVisitor-class.html#generic_visit
+TestON.core.dicttoobject.DictToObject	TestON.core.dicttoobject.DictToObject-class.html
+TestON.core.dicttoobject.DictToObject.__init__	TestON.core.dicttoobject.DictToObject-class.html#__init__
+TestON.core.dicttoobject.DictToObject.__setattr__	TestON.core.dicttoobject.DictToObject-class.html#__setattr__
+TestON.core.dicttoobject.DictToObject.__getattr__	TestON.core.dicttoobject.DictToObject-class.html#__getattr__
+TestON.core.dicttoobject.DictToObject.update	TestON.core.dicttoobject.DictToObject-class.html#update
+TestON.core.dicttoobject.DictToObject.__update	TestON.core.dicttoobject.DictToObject-class.html#__update
+TestON.core.dicttoobject.DictToObject.merge	TestON.core.dicttoobject.DictToObject-class.html#merge
 TestON.core.iniparser.iniparser	TestON.core.iniparser.iniparser-class.html
 TestON.core.iniparser.iniparser.parse	TestON.core.iniparser.iniparser-class.html#parse
 TestON.core.iniparser.iniparser.parseParams	TestON.core.iniparser.iniparser-class.html#parseParams
 TestON.core.iniparser.iniparser.__init__	TestON.core.iniparser.iniparser-class.html#__init__
 TestON.core.iniparser.iniparser.parseTopology	TestON.core.iniparser.iniparser-class.html#parseTopology
+TestON.core.jsonparser.JsonParser	TestON.core.jsonparser.JsonParser-class.html
+TestON.core.jsonparser.JsonParser.response_parse	TestON.core.jsonparser.JsonParser-class.html#response_parse
+TestON.core.jsonparser.JsonParser.__init__	TestON.core.jsonparser.JsonParser-class.html#__init__
 TestON.core.logger.Logger	TestON.core.logger.Logger-class.html
 TestON.core.logger.Logger.testSummary	TestON.core.logger.Logger-class.html#testSummary
 TestON.core.logger.Logger._printHeader	TestON.core.logger.Logger-class.html#_printHeader
@@ -270,45 +492,49 @@
 TestON.core.openspeak.OpenSpeak.translate_testcase_name	TestON.core.openspeak.OpenSpeak-class.html#translate_testcase_name
 TestON.core.openspeak.OpenSpeak.translate_store	TestON.core.openspeak.OpenSpeak-class.html#translate_store
 TestON.core.openspeak.OpenSpeak.translate_assertion	TestON.core.openspeak.OpenSpeak-class.html#translate_assertion
-TestON.core.openspeak.OpenSpeak.translate_response_result	TestON.core.openspeak.OpenSpeak-class.html#translate_response_result
+TestON.core.openspeak.OpenSpeak.translate_comment	TestON.core.openspeak.OpenSpeak-class.html#translate_comment
 TestON.core.openspeak.OpenSpeak.translate_logs	TestON.core.openspeak.OpenSpeak-class.html#translate_logs
 TestON.core.openspeak.OpenSpeak.translate_loop_block	TestON.core.openspeak.OpenSpeak-class.html#translate_loop_block
 TestON.core.openspeak.OpenSpeak.translate_onDOAs	TestON.core.openspeak.OpenSpeak-class.html#translate_onDOAs
-TestON.core.openspeak.OpenSpeak._argsCheck	TestON.core.openspeak.OpenSpeak-class.html#_argsCheck
+TestON.core.openspeak.OpenSpeak.__init__	TestON.core.openspeak.OpenSpeak-class.html#__init__
+TestON.core.openspeak.OpenSpeak.translate_if_else_operator	TestON.core.openspeak.OpenSpeak-class.html#translate_if_else_operator
 TestON.core.openspeak.OpenSpeak.translate_conjuction	TestON.core.openspeak.OpenSpeak-class.html#translate_conjuction
 TestON.core.openspeak.OpenSpeak.translate_parameters	TestON.core.openspeak.OpenSpeak-class.html#translate_parameters
 TestON.core.openspeak.OpenSpeak.translate_repeat	TestON.core.openspeak.OpenSpeak-class.html#translate_repeat
-TestON.core.openspeak.OpenSpeak.__init__	TestON.core.openspeak.OpenSpeak-class.html#__init__
+TestON.core.openspeak.OpenSpeak._argsCheck	TestON.core.openspeak.OpenSpeak-class.html#_argsCheck
 TestON.core.openspeak.OpenSpeak.translate_step	TestON.core.openspeak.OpenSpeak-class.html#translate_step
-TestON.core.openspeak.OpenSpeak.translate_comment	TestON.core.openspeak.OpenSpeak-class.html#translate_comment
 TestON.core.openspeak.OpenSpeak.translate_usingas	TestON.core.openspeak.OpenSpeak-class.html#translate_usingas
 TestON.core.openspeak.OpenSpeak.translate_operator	TestON.core.openspeak.OpenSpeak-class.html#translate_operator
 TestON.core.openspeak.OpenSpeak.interpret	TestON.core.openspeak.OpenSpeak-class.html#interpret
 TestON.core.openspeak.OpenSpeak.compiler	TestON.core.openspeak.OpenSpeak-class.html#compiler
 TestON.core.openspeak.OpenSpeak.parse_args	TestON.core.openspeak.OpenSpeak-class.html#parse_args
-TestON.core.openspeak.OpenSpeak.translate_experimental_mode	TestON.core.openspeak.OpenSpeak-class.html#translate_experimental_mode
+TestON.core.openspeak.OpenSpeak.translate_log_message	TestON.core.openspeak.OpenSpeak-class.html#translate_log_message
 TestON.core.openspeak.OpenSpeak.translate_case_block	TestON.core.openspeak.OpenSpeak-class.html#translate_case_block
 TestON.core.openspeak.OpenSpeak.handle_conjuction	TestON.core.openspeak.OpenSpeak-class.html#handle_conjuction
-TestON.core.openspeak.OpenSpeak.translate_log_message	TestON.core.openspeak.OpenSpeak-class.html#translate_log_message
-TestON.core.openspeak.OpenSpeak.translate_if_else_operator	TestON.core.openspeak.OpenSpeak-class.html#translate_if_else_operator
+TestON.core.openspeak.OpenSpeak.translate_experimental_mode	TestON.core.openspeak.OpenSpeak-class.html#translate_experimental_mode
+TestON.core.openspeak.OpenSpeak.translate_response_result	TestON.core.openspeak.OpenSpeak-class.html#translate_response_result
 TestON.core.teston.TestON	TestON.core.teston.TestON-class.html
 TestON.core.teston.TestON.case	TestON.core.teston.TestON-class.html#case
 TestON.core.teston.TestON._getTest	TestON.core.teston.TestON-class.html#_getTest
+TestON.core.teston.TestON.response_to_dict	TestON.core.teston.TestON-class.html#response_to_dict
 TestON.core.teston.TestON.pause	TestON.core.teston.TestON-class.html#pause
 TestON.core.teston.TestON.run	TestON.core.teston.TestON-class.html#run
 TestON.core.teston.TestON.getDriverPath	TestON.core.teston.TestON-class.html#getDriverPath
+TestON.core.teston.TestON.get_random	TestON.core.teston.TestON-class.html#get_random
+TestON.core.teston.TestON.runStep	TestON.core.teston.TestON-class.html#runStep
 TestON.core.teston.TestON.runCase	TestON.core.teston.TestON-class.html#runCase
 TestON.core.teston.TestON.onfail	TestON.core.teston.TestON-class.html#onfail
 TestON.core.teston.TestON.componentInit	TestON.core.teston.TestON-class.html#componentInit
 TestON.core.teston.TestON.testDesc	TestON.core.teston.TestON-class.html#testDesc
-TestON.core.teston.TestON.runStep	TestON.core.teston.TestON-class.html#runStep
+TestON.core.teston.TestON.step	TestON.core.teston.TestON-class.html#step
 TestON.core.teston.TestON.cleanup	TestON.core.teston.TestON-class.html#cleanup
 TestON.core.teston.TestON.exit	TestON.core.teston.TestON-class.html#exit
-TestON.core.teston.TestON.step	TestON.core.teston.TestON-class.html#step
+TestON.core.teston.TestON.response_parser	TestON.core.teston.TestON-class.html#response_parser
+TestON.core.teston.TestON.dict_to_return_format	TestON.core.teston.TestON-class.html#dict_to_return_format
 TestON.core.teston.TestON.addCaseFooter	TestON.core.teston.TestON-class.html#addCaseFooter
-TestON.core.teston.TestON.addCaseHeader	TestON.core.teston.TestON-class.html#addCaseHeader
-TestON.core.teston.TestON.__init__	TestON.core.teston.TestON-class.html#__init__
 TestON.core.teston.TestON.configparser	TestON.core.teston.TestON-class.html#configparser
+TestON.core.teston.TestON.__init__	TestON.core.teston.TestON-class.html#__init__
+TestON.core.teston.TestON.addCaseHeader	TestON.core.teston.TestON-class.html#addCaseHeader
 TestON.core.testparser.TestParser	TestON.core.testparser.TestParser-class.html
 TestON.core.testparser.TestParser.case_code	TestON.core.testparser.TestParser-class.html#case_code
 TestON.core.testparser.TestParser.getStepCode	TestON.core.testparser.TestParser-class.html#getStepCode
@@ -319,114 +545,491 @@
 TestON.core.xmlparser.xmlparser.parseParams	TestON.core.xmlparser.xmlparser-class.html#parseParams
 TestON.core.xmlparser.xmlparser.__init__	TestON.core.xmlparser.xmlparser-class.html#__init__
 TestON.core.xmlparser.xmlparser.parseTopology	TestON.core.xmlparser.xmlparser-class.html#parseTopology
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intents	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intents
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.removeIntent	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#removeIntent
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.checkFlowsState	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#checkFlowsState
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.connect	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.removeAllIntents	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#removeAllIntents
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.__init__	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.apps	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#apps
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addPointIntent	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addPointIntent
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.send	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#send
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getFlows	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getFlows
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addFlow	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addFlow
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.removeFlow	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#removeFlow
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getHost	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getHost
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.activateApp	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#activateApp
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.flows	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#flows
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.checkIntentState	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#checkIntentState
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.intent	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intent
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.topology	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#topology
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.deactivateApp	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#deactivateApp
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getApp	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getApp
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.hosts	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#hosts
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getIntentState	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getIntentState
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.addHostIntent	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addHostIntent
+TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver.getIntentsId	TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getIntentsId
 TestON.drivers.common.api.controllerdriver.Controller	TestON.drivers.common.api.controllerdriver.Controller-class.html
+TestON.drivers.common.apidriver.API.connect	TestON.drivers.common.apidriver.API-class.html#connect
 TestON.drivers.common.api.controllerdriver.Controller.__init__	TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html
-TestON.drivers.common.api.fvtapidriver.FvtApiDriver.recvStats	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#recvStats
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.ofmsgSndCmpWithXid	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#ofmsgSndCmpWithXid
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.chkSwitchStats	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkSwitchStats
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPacketOut	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPacketOut
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.chkSliceStats	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkSliceStats
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPhyPort	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPhyPort
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.recvStats	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#recvStats
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#disconnect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.setUp	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#setUp
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPacketIn	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPacketIn
-TestON.drivers.common.api.fvtapidriver.FvtApiDriver.close_log_handles	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#close_log_handles
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.ofmsgSndCmp	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#ofmsgSndCmp
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.simplePacket	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#simplePacket
-TestON.drivers.common.api.fvtapidriver.FvtApiDriver.chkSwitchStats	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkSwitchStats
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.setRule	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#setRule
-TestON.drivers.common.api.fvtapidriver.FvtApiDriver.chkSliceStats	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkSliceStats
-TestON.drivers.common.api.fvtapidriver.FvtApiDriver.disconnect	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#disconnect
-TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.close_log_handles	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#close_log_handles
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.chkFlowdb	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkFlowdb
-TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPacketOut	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPacketOut
 TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genFlowModFlush	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genFlowModFlush
-TestON.drivers.common.api.fvtapidriver.FvtApiDriver.genPhyPort	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPhyPort
-TestON.drivers.common.api.fvtapidriver.FvtApiDriver.setUp	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#setUp
-TestON.drivers.common.api.fvtapidriver.FvtApiDriver.__init__	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dump	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#dump
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkIP
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingHost
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.iperf	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperf
+TestON.drivers.common.api.fvtapidriver.FvtApiDriver.connect	TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect
+TestON.drivers.common.apidriver.API	TestON.drivers.common.apidriver.API-class.html
+TestON.drivers.common.apidriver.API.connect	TestON.drivers.common.apidriver.API-class.html#connect
+TestON.drivers.common.apidriver.API.__init__	TestON.drivers.common.apidriver.API-class.html#__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver	TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.connect	TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect
 TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.intfs	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#intfs
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#disconnect
-TestON.drivers.component.Component.log	TestON.drivers.component.Component-class.html#log
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.get_version	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#get_version
-TestON.drivers.component.Component.__getattr__	TestON.drivers.component.Component-class.html#__getattr__
-TestON.drivers.component.Component.cleanup	TestON.drivers.component.Component-class.html#cleanup
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingall
-TestON.drivers.component.Component.experimentRun	TestON.drivers.component.Component-class.html#experimentRun
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#net
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingpair	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingpair
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.__init__	TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.disconnect	TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#disconnect
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
 TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#link
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dpctl	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#dpctl
-TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#nodes
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.pingall_interfaces	TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#pingall_interfaces
 TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
 TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
-TestON.drivers.component.Component.config	TestON.drivers.component.Component-class.html#config
+TestON.drivers.common.cli.dpclidriver.DPCliDriver.create_interfaces	TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#create_interfaces
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver	TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.connect	TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect
+TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.removeFlowSpace	TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#removeFlowSpace
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.__init__	TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.listFlowSpace	TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#listFlowSpace
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.disconnect	TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#disconnect
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.addFlowSpace	TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#addFlowSpace
+TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver.listDevices	TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#listDevices
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
+TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
+TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
+TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver	TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.startSwitch	TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#startSwitch
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.listPorts	TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#listPorts
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.setInterfaceUp	TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#setInterfaceUp
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.connect	TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect
+TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.__init__	TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.disconnect	TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#disconnect
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.getDatapathId	TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#getDatapathId
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.startConsole	TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#startConsole
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.portDown	TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#portDown
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.build	TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#build
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
+TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.stopSwitch	TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#stopSwitch
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.stopLincOEConsole	TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#stopLincOEConsole
+TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.attachLincOESession	TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#attachLincOESession
+TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
+TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver.portUp	TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#portUp
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startNet	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startNet
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingIpv6Hosts	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingIpv6Hosts
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitchDPID	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitchDPID
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.numSwitchesNlinks	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#numSwitchesNlinks
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getVersion	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getVersion
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.disconnect	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#disconnect
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addHost	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addHost
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getDPID	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getDPID
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.decToHex	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#decToHex
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.startTcpdump	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startTcpdump
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.delSwitch	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delSwitch
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.nodes	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#nodes
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.iperfudpAll	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperfudpAll
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareHosts	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareHosts
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dpctl	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#dpctl
+TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
+TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareSwitches	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareSwitches
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHostsOld	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getHostsOld
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.dump	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#dump
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignSwController	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignSwController
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addStaticMACAddress	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addStaticMACAddress
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getPorts	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getPorts
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.connect	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect
+TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingall	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingall
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getMacAddress	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getMacAddress
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.intfs	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#intfs
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.moveHost	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#moveHost
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitchFlowCount	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitchFlowCount
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.net	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#net
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getIPAddress	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getIPAddress
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getLinks	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getLinks
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopTcpdump	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopTcpdump
+TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getHosts	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getHosts
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getFlowTable	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getFlowTable
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.changeIP	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#changeIP
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.plug	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#plug
 TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.iperfudp	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperfudp
-TestON.drivers.component.Component.close_log_handles	TestON.drivers.component.Component-class.html#close_log_handles
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addLink	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addLink
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.compareLinks	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareLinks
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.fpingHost	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#fpingHost
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingHost	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingHost
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.changeDefaultGateway	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#changeDefaultGateway
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.verifySSH	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#verifySSH
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.iperftcp	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperftcp
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.assignVLAN	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignVLAN
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingpair	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingpair
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.stopNet	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopNet
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.delHost	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delHost
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.link	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#link
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.pingallHosts	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingallHosts
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.flowComp	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#flowComp
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwController	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwController
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.links	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#links
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkIP	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkIP
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.verifyStaticGWandMAC	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#verifyStaticGWandMAC
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.__init__	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitches	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitches
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.deleteSwController	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#deleteSwController
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getInterfaceMACAddress	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getInterfaceMACAddress
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getInterfaces	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getInterfaces
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.calculateSwAndLinks	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#calculateSwAndLinks
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.arping	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#arping
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.update	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#update
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.iperftcpAll	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperftcpAll
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.addSwitch	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addSwitch
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.delLink	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delLink
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.getSwitch	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitch
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.checkFlows	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkFlows
+TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver.yank	TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#yank
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver	TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.getcmd	TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#getcmd
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.connect	TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect
 TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.__init__	TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.disconnect	TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#disconnect
-TestON.drivers.component.Component.log	TestON.drivers.component.Component-class.html#log
 TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver.get_version	TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#get_version
-TestON.drivers.component.Component.__getattr__	TestON.drivers.component.Component-class.html#__getattr__
-TestON.drivers.component.Component.cleanup	TestON.drivers.component.Component-class.html#cleanup
-TestON.drivers.component.Component.experimentRun	TestON.drivers.component.Component-class.html#experimentRun
-TestON.drivers.component.Component.config	TestON.drivers.component.Component-class.html#config
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
 TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
 TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
 TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
-TestON.drivers.component.Component.close_log_handles	TestON.drivers.component.Component-class.html#close_log_handles
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver	TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.checkForLoss	TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#checkForLoss
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingKill	TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingKill
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.connect	TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingHost	TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingHost
+TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.__init__	TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.disconnect	TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#disconnect
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingHostOptical	TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingHostOptical
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.checknum	TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#checknum
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLongKill	TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingLongKill
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.startTcpdump	TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#startTcpdump
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingstatus	TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingstatus
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.stopTcpdump	TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#stopTcpdump
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.pingLong	TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingLong
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
+TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.runOpticalMnScript	TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#runOpticalMnScript
+TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.attachLincOESession	TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#attachLincOESession
+TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver.setIpTablesOUTPUT	TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#setIpTablesOUTPUT
+TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
 TestON.drivers.common.cli.emulatordriver.Emulator	TestON.drivers.common.cli.emulatordriver.Emulator-class.html
 TestON.drivers.common.clidriver.CLI.connect	TestON.drivers.common.clidriver.CLI-class.html#connect
 TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
 TestON.drivers.common.cli.emulatordriver.Emulator.__init__	TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__
 TestON.drivers.common.clidriver.CLI.disconnect	TestON.drivers.common.clidriver.CLI-class.html#disconnect
-TestON.drivers.component.Component.log	TestON.drivers.component.Component-class.html#log
-TestON.drivers.component.Component.get_version	TestON.drivers.component.Component-class.html#get_version
-TestON.drivers.component.Component.__getattr__	TestON.drivers.component.Component-class.html#__getattr__
-TestON.drivers.component.Component.cleanup	TestON.drivers.component.Component-class.html#cleanup
-TestON.drivers.component.Component.experimentRun	TestON.drivers.component.Component-class.html#experimentRun
-TestON.drivers.component.Component.config	TestON.drivers.component.Component-class.html#config
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
 TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
 TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
 TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
-TestON.drivers.component.Component.close_log_handles	TestON.drivers.component.Component-class.html#close_log_handles
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver	TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.connect	TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.removeIntent	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#removeIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intentsEventsMetrics	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intentsEventsMetrics
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCell	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appStatus	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appStatus
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.rolesNotNull	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#rolesNotNull
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appIDs	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appIDs
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.disconnect	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#disconnect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addPointIntent	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addPointIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestAddAndGet	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counterTestAddAndGet
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.FlowAddedCount	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#FlowAddedCount
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.clusters	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#clusters
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.nodes	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#nodes
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deviceRemove	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deviceRemove
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.partitions	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#partitions
+TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevice	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getDevice
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkFlowsState	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkFlowsState
+TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addSinglepointToMultipointIntent	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addSinglepointToMultipointIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.summary	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#summary
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deactivateApp	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deactivateApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.hosts	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#hosts
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getIntentState	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getIntentState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addHostIntent	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addHostIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.ports	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#ports
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getCfg	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getCfg
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.appToIDCheck	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appToIDCheck
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaders	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#leaders
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.connect	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.balanceMasters	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#balanceMasters
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.sendline	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.leaderCandidates	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#leaderCandidates
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getHost	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getHost
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counters	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counters
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addMultipointToSinglepointIntent	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addMultipointToSinglepointIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkIntentState	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkIntentState
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.logout	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#logout
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topology	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topology
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllDevicesId	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllDevicesId
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkStatus	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkStatus
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.routes	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#routes
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestGet	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestGet
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestAdd	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestAdd
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.purgeWithdrawnIntents	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#purgeWithdrawnIntents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.app	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#app
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestRemove	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestRemove
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentsId	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllIntentsId
 TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
-TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver.__init__	TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#__init__
-TestON.drivers.common.clidriver.CLI.disconnect	TestON.drivers.common.clidriver.CLI-class.html#disconnect
-TestON.drivers.component.Component.log	TestON.drivers.component.Component-class.html#log
-TestON.drivers.component.Component.get_version	TestON.drivers.component.Component-class.html#get_version
-TestON.drivers.component.Component.__getattr__	TestON.drivers.component.Component-class.html#__getattr__
-TestON.drivers.component.Component.cleanup	TestON.drivers.component.Component-class.html#cleanup
-TestON.drivers.component.Component.experimentRun	TestON.drivers.component.Component-class.html#experimentRun
-TestON.drivers.component.Component.config	TestON.drivers.component.Component-class.html#config
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.log	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.removeNode	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#removeNode
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.featureInstall	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#featureInstall
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pushTestIntents	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#pushTestIntents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.apps	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#apps
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.uninstallApp	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#uninstallApp
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getHostsId	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getHostsId
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addNode	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addNode
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestLeader	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestLeader
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllNodesId	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllNodesId
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getAllIntentIds	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllIntentIds
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.startOnosCli	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#startOnosCli
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.roles	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#roles
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intentSummary	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intentSummary
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setCfg	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCfg
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.devices	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#devices
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestWithdraw	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestWithdraw
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.specificLeaderCandidate	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#specificLeaderCandidate
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.intents	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intents
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.pendingMap	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#pendingMap
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.setTestSize	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestSize
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.links	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#links
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.featureUninstall	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#featureUninstall
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.__init__	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.paths	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#paths
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDevicePortsEnabledCount	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getDevicePortsEnabledCount
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.deviceRole	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deviceRole
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkBalanceMasters	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkBalanceMasters
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getRole	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getRole
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addOpticalIntent	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addOpticalIntent
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.activateApp	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#activateApp
 TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
-TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.flows	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#flows
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.counterTestGetAndAdd	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counterTestGetAndAdd
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.topologyEventsMetrics	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topologyEventsMetrics
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.electionTestRun	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestRun
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.getDeviceLinksActiveCount	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getDeviceLinksActiveCount
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.checkMasters	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkMasters
+TestON.drivers.common.cli.onosclidriver.OnosCliDriver.addMplsIntent	TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addMplsIntent
+TestON.drivers.common.cli.onosdriver.OnosDriver	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html
+TestON.drivers.common.cli.onosdriver.OnosDriver.setIpTables	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setIpTables
+TestON.drivers.common.cli.onosdriver.OnosDriver.pushTestIntentsShell	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#pushTestIntentsShell
+TestON.drivers.common.cli.onosdriver.OnosDriver.configNullDev	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#configNullDev
+TestON.drivers.common.cli.onosdriver.OnosDriver.onosUninstall	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosUninstall
+TestON.drivers.common.cli.onosdriver.OnosDriver.runOnosTopoCfg	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#runOnosTopoCfg
+TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkPcap	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#tsharkPcap
+TestON.drivers.common.cli.onosdriver.OnosDriver.setCell	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.connect	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect
+TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
+TestON.drivers.common.cli.onosdriver.OnosDriver.onosStatus	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStatus
+TestON.drivers.common.cli.onosdriver.OnosDriver.__init__	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__
+TestON.drivers.common.cli.onosdriver.OnosDriver.onosPackage	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage
+TestON.drivers.common.cli.onosdriver.OnosDriver.gitPull	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull
+TestON.drivers.common.cli.onosdriver.OnosDriver.disconnect	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#disconnect
+TestON.drivers.common.cli.onosdriver.OnosDriver.jvmSet	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#jvmSet
+TestON.drivers.common.cli.onosdriver.OnosDriver.createDBFile	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createDBFile
+TestON.drivers.common.cli.onosdriver.OnosDriver.onosInstall	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall
+TestON.drivers.common.cli.onosdriver.OnosDriver.logReport	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#logReport
+TestON.drivers.common.cli.onosdriver.OnosDriver.ptpd	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#ptpd
 TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
-TestON.drivers.component.Component.close_log_handles	TestON.drivers.component.Component-class.html#close_log_handles
+TestON.drivers.common.cli.onosdriver.OnosDriver.configNullLink	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#configNullLink
+TestON.drivers.common.cli.onosdriver.OnosDriver.onosCfgSet	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosCfgSet
+TestON.drivers.common.cli.onosdriver.OnosDriver.copyMininetFile	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#copyMininetFile
+TestON.drivers.common.cli.onosdriver.OnosDriver.onosStart	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStart
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
+TestON.drivers.common.cli.onosdriver.OnosDriver.createCellFile	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile
+TestON.drivers.common.cli.onosdriver.OnosDriver.onosCli	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosCli
+TestON.drivers.common.cli.onosdriver.OnosDriver.cpLogsToDir	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cpLogsToDir
+TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
+TestON.drivers.common.cli.onosdriver.OnosDriver.checkLogs	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#checkLogs
+TestON.drivers.common.cli.onosdriver.OnosDriver.verifySummary	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifySummary
+TestON.drivers.common.cli.onosdriver.OnosDriver.createLinkGraphFile	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createLinkGraphFile
+TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkStop	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#tsharkStop
+TestON.drivers.common.cli.onosdriver.OnosDriver.getVersion	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getVersion
+TestON.drivers.common.cli.onosdriver.OnosDriver.onosRemoveRaftLogs	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosRemoveRaftLogs
+TestON.drivers.common.cli.onosdriver.OnosDriver.tsharkGrep	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#tsharkGrep
+TestON.drivers.common.cli.onosdriver.OnosDriver.verifyCell	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifyCell
+TestON.drivers.common.cli.onosdriver.OnosDriver.getTopology	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getTopology
+TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
+TestON.drivers.common.cli.onosdriver.OnosDriver.getEpochMs	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getEpochMs
+TestON.drivers.common.cli.onosdriver.OnosDriver.getOnosIps	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getOnosIps
+TestON.drivers.common.cli.onosdriver.OnosDriver.getBranchName	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getBranchName
+TestON.drivers.common.cli.onosdriver.OnosDriver.onosBuild	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosBuild
+TestON.drivers.common.cli.onosdriver.OnosDriver.onosStartNetwork	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStartNetwork
+TestON.drivers.common.cli.onosdriver.OnosDriver.onosStop	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStop
+TestON.drivers.common.cli.onosdriver.OnosDriver.isup	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#isup
+TestON.drivers.common.cli.onosdriver.OnosDriver.checkStatus	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#checkStatus
+TestON.drivers.common.cli.onosdriver.OnosDriver.onosDie	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosDie
+TestON.drivers.common.cli.onosdriver.OnosDriver.cleanInstall	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cleanInstall
+TestON.drivers.common.cli.onosdriver.OnosDriver.onosKill	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosKill
+TestON.drivers.common.cli.onosdriver.OnosDriver.detailed_status	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#detailed_status
+TestON.drivers.common.cli.onosdriver.OnosDriver.gitCheckout	TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitCheckout
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disable_bgp_peer	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#disable_bgp_peer
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connect	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.deleteRoutes	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#deleteRoutes
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.addRoute	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#addRoute
+TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.__init__	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.generateExpectedSingleRouteIntent	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#generateExpectedSingleRouteIntent
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.disconnect	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#disconnect
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.checkRoutes	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#checkRoutes
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.extractActualBgpIntents	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualBgpIntents
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.delRoute	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#delRoute
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.loginQuagga	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#loginQuagga
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.extractActualRouteIntentNum	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualRouteIntentNum
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.enable_bgp_peer	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#enable_bgp_peer
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.addRoutes	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#addRoutes
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.pingTest	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#pingTest
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.generateExpectedRouteIntents	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#generateExpectedRouteIntents
+TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.extractActualBgpIntentNum	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualBgpIntentNum
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.generatePrefixes	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#generatePrefixes
+TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.extractActualRoutesMaster	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualRoutesMaster
+TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.connectQuagga	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connectQuagga
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.generateExpectedBgpIntents	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#generateExpectedBgpIntents
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.extractActualRoutesOneDotZero	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualRoutesOneDotZero
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.extractActualRouteIntents	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualRouteIntents
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.generateExpectedOnePeerRouteIntents	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#generateExpectedOnePeerRouteIntents
+TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver.enterConfig	TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#enterConfig
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver	TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.connect	TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect
 TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
 TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.__init__	TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__
 TestON.drivers.common.clidriver.CLI.disconnect	TestON.drivers.common.clidriver.CLI-class.html#disconnect
-TestON.drivers.component.Component.log	TestON.drivers.component.Component-class.html#log
-TestON.drivers.component.Component.get_version	TestON.drivers.component.Component-class.html#get_version
-TestON.drivers.component.Component.__getattr__	TestON.drivers.component.Component-class.html#__getattr__
-TestON.drivers.component.Component.cleanup	TestON.drivers.component.Component-class.html#cleanup
-TestON.drivers.component.Component.experimentRun	TestON.drivers.component.Component-class.html#experimentRun
-TestON.drivers.component.Component.config	TestON.drivers.component.Component-class.html#config
+TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver.handle	TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#handle
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
 TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
 TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
 TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
-TestON.drivers.component.Component.close_log_handles	TestON.drivers.component.Component-class.html#close_log_handles
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver	TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.connect	TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect
+TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
+TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver.__init__	TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__
+TestON.drivers.common.clidriver.CLI.disconnect	TestON.drivers.common.clidriver.CLI-class.html#disconnect
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
+TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
+TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
+TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_ssh	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_ssh
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_netconf	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_netconf
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_lldp	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_lldp
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_whoami	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_whoami
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_qos	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_qos
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_igmpsnooping	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_igmpsnooping
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.__init__	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_environment	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_environment
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_configlockstatus	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_configlockstatus
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_channelgroup	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_channelgroup
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_version	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_version
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_ntp	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_ntp
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_mc	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_mc
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_history	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_history
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_efmoam	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_efmoam
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_system	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_system
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_processes	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_processes
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_vlan	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_vlan
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_interfaces	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_interfaces
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_port	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_port
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_memory	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_memory
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_acknowledgments_interface	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_acknowledgments_interface
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_oadp	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_oadp
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_tcpdump	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_tcpdump
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_dhcp	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_dhcp
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_openflow	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_openflow
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_macaddresstable	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_macaddresstable
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_cpu	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_cpu
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_file	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_file
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_sessions	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_sessions
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_gsrp	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_gsrp
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_clock	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_clock
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_vrrpstatus	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_vrrpstatus
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_flash	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_flash
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_license	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_license
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_ipdual	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_ipdual
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_ipv6dhcp	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_ipv6dhcp
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_autoconfig	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_autoconfig
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_logging	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_logging
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_sflow	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_sflow
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_loopdetection	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_loopdetection
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_track	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_track
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_acknowledgments	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_acknowledgments
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_cfm	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_cfm
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_power	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_power
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_netstat	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_netstat
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_spanningtree	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_spanningtree
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_mldsnooping	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_mldsnooping
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_dumpfile	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_dumpfile
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_axrp	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_axrp
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_qosflow	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_qosflow
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_dot1x	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_dot1x
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_techsupport	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_techsupport
+TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC.show_ip	TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_ip
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver	TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.connect	TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect
+TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.__init__	TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__
+TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver.disconnect	TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#disconnect
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
+TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
+TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
+TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver	TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.connect	TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect
+TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.__init__	TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__
+TestON.drivers.common.clidriver.CLI.disconnect	TestON.drivers.common.clidriver.CLI-class.html#disconnect
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
+TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
+TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
+TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
+TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver.SSH	TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#SSH
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver	TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.connect	TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect
+TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
+TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver.__init__	TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__
+TestON.drivers.common.clidriver.CLI.disconnect	TestON.drivers.common.clidriver.CLI-class.html#disconnect
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
+TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
+TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
+TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver	TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.dumpAggregate	TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpAggregate
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.show	TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#show
@@ -435,86 +1038,36 @@
 TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.__init__	TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__
 TestON.drivers.common.clidriver.CLI.disconnect	TestON.drivers.common.clidriver.CLI-class.html#disconnect
-TestON.drivers.component.Component.log	TestON.drivers.component.Component-class.html#log
-TestON.drivers.component.Component.get_version	TestON.drivers.component.Component-class.html#get_version
-TestON.drivers.component.Component.__getattr__	TestON.drivers.component.Component-class.html#__getattr__
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.addFlow	TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#addFlow
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.dumpTables	TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpTables
-TestON.drivers.component.Component.experimentRun	TestON.drivers.component.Component-class.html#experimentRun
-TestON.drivers.component.Component.config	TestON.drivers.component.Component-class.html#config
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.showStatus	TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#showStatus
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
 TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
 TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.showFlow	TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#showFlow
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.dumpDesc	TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpDesc
 TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.desc_set	TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#desc_set
-TestON.drivers.component.Component.close_log_handles	TestON.drivers.component.Component-class.html#close_log_handles
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.dumpPorts	TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpPorts
-TestON.drivers.component.Component.cleanup	TestON.drivers.component.Component-class.html#cleanup
 TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver.dumpFlow	TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpFlow
 TestON.drivers.common.cli.toolsdriver.Tools	TestON.drivers.common.cli.toolsdriver.Tools-class.html
 TestON.drivers.common.clidriver.CLI.connect	TestON.drivers.common.clidriver.CLI-class.html#connect
 TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
 TestON.drivers.common.cli.toolsdriver.Tools.__init__	TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__
 TestON.drivers.common.clidriver.CLI.disconnect	TestON.drivers.common.clidriver.CLI-class.html#disconnect
-TestON.drivers.component.Component.log	TestON.drivers.component.Component-class.html#log
-TestON.drivers.component.Component.get_version	TestON.drivers.component.Component-class.html#get_version
-TestON.drivers.component.Component.__getattr__	TestON.drivers.component.Component-class.html#__getattr__
-TestON.drivers.component.Component.cleanup	TestON.drivers.component.Component-class.html#cleanup
-TestON.drivers.component.Component.experimentRun	TestON.drivers.component.Component-class.html#experimentRun
-TestON.drivers.component.Component.config	TestON.drivers.component.Component-class.html#config
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
 TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
 TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
 TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
-TestON.drivers.component.Component.close_log_handles	TestON.drivers.component.Component-class.html#close_log_handles
 TestON.drivers.common.clidriver.CLI	TestON.drivers.common.clidriver.CLI-class.html
 TestON.drivers.common.clidriver.CLI.connect	TestON.drivers.common.clidriver.CLI-class.html#connect
 TestON.drivers.common.clidriver.CLI.secureCopy	TestON.drivers.common.clidriver.CLI-class.html#secureCopy
 TestON.drivers.common.clidriver.CLI.__init__	TestON.drivers.common.clidriver.CLI-class.html#__init__
 TestON.drivers.common.clidriver.CLI.disconnect	TestON.drivers.common.clidriver.CLI-class.html#disconnect
-TestON.drivers.component.Component.log	TestON.drivers.component.Component-class.html#log
-TestON.drivers.component.Component.get_version	TestON.drivers.component.Component-class.html#get_version
-TestON.drivers.component.Component.__getattr__	TestON.drivers.component.Component-class.html#__getattr__
-TestON.drivers.component.Component.cleanup	TestON.drivers.component.Component-class.html#cleanup
-TestON.drivers.component.Component.experimentRun	TestON.drivers.component.Component-class.html#experimentRun
-TestON.drivers.component.Component.config	TestON.drivers.component.Component-class.html#config
+TestON.drivers.common.clidriver.CLI.remove_contol_chars	TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars
 TestON.drivers.common.clidriver.CLI.onfail	TestON.drivers.common.clidriver.CLI-class.html#onfail
 TestON.drivers.common.clidriver.CLI.execute	TestON.drivers.common.clidriver.CLI-class.html#execute
 TestON.drivers.common.clidriver.CLI.runAsSudoUser	TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser
-TestON.drivers.component.Component.close_log_handles	TestON.drivers.component.Component-class.html#close_log_handles
-TestON.drivers.common.webdriver.WebDriver	TestON.drivers.common.webdriver.WebDriver-class.html
-TestON.drivers.common.webdriver.WebDriver.fill_details	TestON.drivers.common.webdriver.WebDriver-class.html#fill_details
-TestON.drivers.common.webdriver.WebDriver.wait_for_element	TestON.drivers.common.webdriver.WebDriver-class.html#wait_for_element
-TestON.drivers.common.webdriver.WebDriver.__init__	TestON.drivers.common.webdriver.WebDriver-class.html#__init__
-TestON.drivers.common.webdriver.WebDriver.disconnect	TestON.drivers.common.webdriver.WebDriver-class.html#disconnect
-TestON.drivers.component.Component.log	TestON.drivers.component.Component-class.html#log
-TestON.drivers.component.Component.get_version	TestON.drivers.component.Component-class.html#get_version
-TestON.drivers.common.webdriver.WebDriver.__getattr__	TestON.drivers.common.webdriver.WebDriver-class.html#__getattr__
-TestON.drivers.component.Component.cleanup	TestON.drivers.component.Component-class.html#cleanup
-TestON.drivers.common.webdriver.WebDriver.search_bus	TestON.drivers.common.webdriver.WebDriver-class.html#search_bus
-TestON.drivers.component.Component.experimentRun	TestON.drivers.component.Component-class.html#experimentRun
-TestON.drivers.common.webdriver.WebDriver.wait	TestON.drivers.common.webdriver.WebDriver-class.html#wait
-TestON.drivers.component.Component.config	TestON.drivers.component.Component-class.html#config
-TestON.drivers.component.Component.close_log_handles	TestON.drivers.component.Component-class.html#close_log_handles
-TestON.drivers.component.Component.execute	TestON.drivers.component.Component-class.html#execute
-TestON.drivers.common.webdriver.WebDriver.deselect_seat	TestON.drivers.common.webdriver.WebDriver-class.html#deselect_seat
-TestON.drivers.common.webdriver.WebDriver.select_seat	TestON.drivers.common.webdriver.WebDriver-class.html#select_seat
-TestON.drivers.common.webdriver.WebDriver.select_bus	TestON.drivers.common.webdriver.WebDriver-class.html#select_bus
-TestON.drivers.common.webdriver.WebDriver.selenium_method	TestON.drivers.common.webdriver.WebDriver-class.html#selenium_method
-TestON.drivers.common.webdriver.WebDriver.connect	TestON.drivers.common.webdriver.WebDriver-class.html#connect
-TestON.drivers.component.Component	TestON.drivers.component.Component-class.html
-TestON.drivers.component.Component.connect	TestON.drivers.component.Component-class.html#connect
-TestON.drivers.component.Component.__init__	TestON.drivers.component.Component-class.html#__init__
-TestON.drivers.component.Component.disconnect	TestON.drivers.component.Component-class.html#disconnect
-TestON.drivers.component.Component.log	TestON.drivers.component.Component-class.html#log
-TestON.drivers.component.Component.get_version	TestON.drivers.component.Component-class.html#get_version
-TestON.drivers.component.Component.__getattr__	TestON.drivers.component.Component-class.html#__getattr__
-TestON.drivers.component.Component.cleanup	TestON.drivers.component.Component-class.html#cleanup
-TestON.drivers.component.Component.experimentRun	TestON.drivers.component.Component-class.html#experimentRun
-TestON.drivers.component.Component.config	TestON.drivers.component.Component-class.html#config
-TestON.drivers.component.Component.close_log_handles	TestON.drivers.component.Component-class.html#close_log_handles
-TestON.drivers.component.Component.execute	TestON.drivers.component.Component-class.html#execute
 TestON.examples.Assert.Assert.Assert	TestON.examples.Assert.Assert.Assert-class.html
 TestON.examples.Assert.Assert.Assert.CASE1	TestON.examples.Assert.Assert.Assert-class.html#CASE1
 TestON.examples.Assert.Assert.Assert.__init__	TestON.examples.Assert.Assert.Assert-class.html#__init__
@@ -533,26 +1086,183 @@
 TestON.examples.Topology.Topology.Topology	TestON.examples.Topology.Topology.Topology-class.html
 TestON.examples.Topology.Topology.Topology.CASE1	TestON.examples.Topology.Topology.Topology-class.html#CASE1
 TestON.examples.Topology.Topology.Topology.__init__	TestON.examples.Topology.Topology.Topology-class.html#__init__
-TestON.tests.DpctlTest.DpctlTest.DpctlTest	TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html
-TestON.tests.DpctlTest.DpctlTest.DpctlTest.CASE1	TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#CASE1
-TestON.tests.DpctlTest.DpctlTest.DpctlTest.CASE2	TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#CASE2
-TestON.tests.DpctlTest.DpctlTest.DpctlTest.__init__	TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#__init__
-TestON.tests.FvtTest.FvtTest.FvtTest	TestON.tests.FvtTest.FvtTest.FvtTest-class.html
-TestON.tests.FvtTest.FvtTest.FvtTest.CASE1	TestON.tests.FvtTest.FvtTest.FvtTest-class.html#CASE1
-TestON.tests.FvtTest.FvtTest.FvtTest.__init__	TestON.tests.FvtTest.FvtTest.FvtTest-class.html#__init__
-TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest	TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html
-TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.CASE1	TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#CASE1
-TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest.__init__	TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#__init__
-TestON.tests.MininetTest.MininetTest.MininetTest	TestON.tests.MininetTest.MininetTest.MininetTest-class.html
-TestON.tests.MininetTest.MininetTest.MininetTest.CASE1	TestON.tests.MininetTest.MininetTest.MininetTest-class.html#CASE1
-TestON.tests.MininetTest.MininetTest.MininetTest.CASE2	TestON.tests.MininetTest.MininetTest.MininetTest-class.html#CASE2
-TestON.tests.MininetTest.MininetTest.MininetTest.__init__	TestON.tests.MininetTest.MininetTest.MininetTest-class.html#__init__
-TestON.tests.PoxTest.PoxTest.PoxTest	TestON.tests.PoxTest.PoxTest.PoxTest-class.html
-TestON.tests.PoxTest.PoxTest.PoxTest.CASE1	TestON.tests.PoxTest.PoxTest.PoxTest-class.html#CASE1
-TestON.tests.PoxTest.PoxTest.PoxTest.__init__	TestON.tests.PoxTest.PoxTest.PoxTest-class.html#__init__
-TestON.tests.TicketBooking.TicketBooking.TicketBooking	TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html
-TestON.tests.TicketBooking.TicketBooking.TicketBooking.CASE1	TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#CASE1
-TestON.tests.TicketBooking.TicketBooking.TicketBooking.__init__	TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#__init__
-TestON.tests.VyattaTest.VyattaTest.VyattaTest	TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html
-TestON.tests.VyattaTest.VyattaTest.VyattaTest.CASE1	TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#CASE1
-TestON.tests.VyattaTest.VyattaTest.VyattaTest.__init__	TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#__init__
+TestON.tests.CHOtest.CHOtest.CHOtest	TestON.tests.CHOtest.CHOtest.CHOtest-class.html
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE98	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE98
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE91	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE91
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE90	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE90
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE93	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE93
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE92	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE92
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE94	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE94
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE97	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE97
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE96	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE96
+TestON.tests.CHOtest.CHOtest.CHOtest.__init__	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE20	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE20
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE21	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE21
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE22	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE22
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE60	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE60
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE61	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE61
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE62	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE62
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE42	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE42
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE40	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE40
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE41	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE41
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE82	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE82
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE83	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE83
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE80	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE80
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE81	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE81
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE84	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE84
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE74	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE74
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE1	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE1
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE3	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE3
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE5	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE5
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE10	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE10
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE12	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE12
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE73	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE73
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE72	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE72
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE71	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE71
+TestON.tests.CHOtest.CHOtest.CHOtest.CASE70	TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE70
+TestON.tests.FUNCintent.FUNCintent.FUNCintent	TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.CASE11	TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE11
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.CASE10	TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE10
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.CASE13	TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE13
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.CASE12	TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE12
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.CASE14	TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE14
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.CASE9	TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE9
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.CASE4000	TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE4000
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.CASE8	TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE8
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.CASE2000	TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE2000
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.CASE1000	TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE1000
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.CASE1	TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE1
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.CASE2	TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE2
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.CASE5000	TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE5000
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.CASE3000	TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE3000
+TestON.tests.FUNCintent.FUNCintent.FUNCintent.__init__	TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE11	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE11
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE10	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE10
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE13	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE13
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE12	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE12
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE15	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE15
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE14	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE14
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE17	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE17
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE16	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE16
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE21	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE21
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE9	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE9
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE8	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE8
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.__init__	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE1	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE1
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE3	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE3
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE2	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE2
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE5	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE5
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE4	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE4
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE7	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE7
+TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart.CASE6	TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE6
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo	TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html
+TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo.__init__	TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE11	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE11
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE10	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE10
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE13	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE13
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE12	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE12
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE15	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE15
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE14	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE14
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE17	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE17
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE16	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE16
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE21	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE21
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE9	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE9
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE8	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE8
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.__init__	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE1	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE1
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE3	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE3
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE2	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE2
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE5	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE5
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE4	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE4
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE7	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE7
+TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart.CASE6	TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE6
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo	TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html
+TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo.__init__	TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__
+TestON.tests.HAsanity.HAsanity.HAsanity	TestON.tests.HAsanity.HAsanity.HAsanity-class.html
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE11	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE11
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE10	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE10
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE13	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE13
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE12	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE12
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE15	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE15
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE14	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE14
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE17	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE17
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE16	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE16
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE21	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE21
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE9	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE9
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE8	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE8
+TestON.tests.HAsanity.HAsanity.HAsanity.__init__	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE1	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE1
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE3	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE3
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE2	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE2
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE5	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE5
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE4	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE4
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE7	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE7
+TestON.tests.HAsanity.HAsanity.HAsanity.CASE6	TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE6
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo	TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html
+TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo.__init__	TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE11	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE11
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE10	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE10
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE13	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE13
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE12	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE12
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE15	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE15
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE14	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE14
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE17	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE17
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE16	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE16
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE21	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE21
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE9	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE9
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE8	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE8
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.__init__	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE1	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE1
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE3	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE3
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE2	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE2
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE5	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE5
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE4	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE4
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE7	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE7
+TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart.CASE6	TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE6
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo	TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html
+TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo.__init__	TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo	TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.CASE11	TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#CASE11
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.CASE9	TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#CASE9
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.CASE1001	TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#CASE1001
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.CASE1	TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#CASE1
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.CASE2	TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#CASE2
+TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo.__init__	TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate	TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.CASE11	TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#CASE11
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.CASE12	TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#CASE12
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.CASE9	TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#CASE9
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.CASE1	TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#CASE1
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.CASE2	TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#CASE2
+TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate.__init__	TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench	TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.CASE1	TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#CASE1
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.CASE2	TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#CASE2
+TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench.__init__	TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g	TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.CASE1	TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#CASE1
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.CASE2	TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#CASE2
+TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g.__init__	TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp	TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.CASE1	TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#CASE1
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.CASE2	TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#CASE2
+TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp.__init__	TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat	TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.CASE1	TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#CASE1
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.CASE2	TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#CASE2
+TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__init__	TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat	TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.CASE1	TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#CASE1
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.CASE2	TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#CASE2
+TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat.__init__	TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat	TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.CASE1	TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#CASE1
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.CASE2	TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#CASE2
+TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat.__init__	TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat	TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.CASE1	TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#CASE1
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.CASE2	TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#CASE2
+TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat.__init__	TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__
diff --git a/TestON/Documentation/TestON_Document/class-tree.html b/TestON/Documentation/TestON_Document/class-tree.html
index 435ac7d..f0c1cf1 100644
--- a/TestON/Documentation/TestON_Document/class-tree.html
+++ b/TestON/Documentation/TestON_Document/class-tree.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -57,6 +62,8 @@
 <ul class="nomargin-top">
     <li> <strong class="uidlink"><a href="TestON.examples.Assert.Assert.Assert-class.html">TestON.examples.Assert.Assert.Assert</a></strong>
     </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">TestON.tests.CHOtest.CHOtest.CHOtest</a></strong>
+    </li>
     <li> <strong class="uidlink"><a href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html">TestON.examples.CaseParams.CaseParams.CaseParams</a></strong>:
       <em class="summary">This example shows the usage of the CASE level parameters, in params file the
 [[CASE]]
@@ -64,28 +71,57 @@
     </li>
     <li> <strong class="uidlink">cmd.Cmd</strong>:
       <em class="summary">A simple framework for writing line-oriented command interpreters.</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.bin.cli.CLI-class.html">TestON.bin.cli.CLI</a></strong>:
+      <em class="summary">command-line interface to execute the test.</em>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html">TestON.tests.DpctlTest.DpctlTest.DpctlTest</a></strong>
+    </ul>
     </li>
     <li> <strong class="uidlink"><a href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html">TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest</a></strong>:
       <em class="summary">Testing of the Experimental Mode</em>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.FvtTest.FvtTest.FvtTest-class.html">TestON.tests.FvtTest.FvtTest.FvtTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">TestON.tests.FUNCintent.FUNCintent.FUNCintent</a></strong>
     </li>
     <li> <strong class="uidlink"><a href="TestON.bin.generatedriver.GenerateDriver-class.html">TestON.bin.generatedriver.GenerateDriver</a></strong>:
       <em class="summary">This will</em>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html">TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">TestON.tests.HAsanity.HAsanity.HAsanity</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.core.jsonparser.JsonParser-class.html">TestON.core.jsonparser.JsonParser</a></strong>:
+      <em class="summary">Module that parses the response Json to Dictionary and Vice versa.</em>
     </li>
     <li> <strong class="uidlink"><a href="TestON.core.logger.Logger-class.html">TestON.core.logger.Logger</a></strong>:
       <em class="summary">Add continuous logs and reports of the test.</em>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html">TestON.tests.MininetTest.MininetTest.MininetTest</a></strong>:
-      <em class="summary">Testing of the some basic Mininet functions included here</em>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.bin.nec.NEC-class.html">TestON.bin.nec.NEC</a></strong>
     </li>
     <li> <strong class="uidlink"><a href="TestON.core.openspeak.OpenSpeak-class.html">TestON.core.openspeak.OpenSpeak</a></strong>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html">TestON.tests.PoxTest.PoxTest.PoxTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html">TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html">TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html">TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html">TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html">TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html">TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html">TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html">TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html">TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat</a></strong>
     </li>
     <li> <strong class="uidlink"><a href="TestON.examples.StepParams.StepParams.StepParams-class.html">TestON.examples.StepParams.StepParams.StepParams</a></strong>:
       <em class="summary">This example shows the usage of the STEP level parameters, in params file the
@@ -100,8 +136,6 @@
     </li>
     <li> <strong class="uidlink"><a href="TestON.core.testparser.TestParser-class.html">TestON.core.testparser.TestParser</a></strong>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html">TestON.tests.TicketBooking.TicketBooking.TicketBooking</a></strong>
-    </li>
     <li> <strong class="uidlink"><a href="TestON.examples.Topology.Topology.Topology-class.html">TestON.examples.Topology.Topology.Topology</a></strong>:
       <em class="summary">This example shows, how we can use the topology file:</em>
     </li>
@@ -109,8 +143,6 @@
     </li>
     <li> <strong class="uidlink"><a href="TestON.bin.vyatta.Vyatta-class.html">TestON.bin.vyatta.Vyatta</a></strong>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html">TestON.tests.VyattaTest.VyattaTest.VyattaTest</a></strong>
-    </li>
     <li> <strong class="uidlink"><a href="TestON.core.iniparser.iniparser-class.html">TestON.core.iniparser.iniparser</a></strong>:
       <em class="summary">Manages authoring, parsing and execution of the test.</em>
     </li>
@@ -120,12 +152,64 @@
     <li> <strong class="uidlink"><a href="TestON.bin.cli.CLI-class.html">TestON.bin.cli.CLI</a></strong>:
       <em class="summary">command-line interface to execute the test.</em>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.component.Component-class.html">TestON.drivers.component.Component</a></strong>:
+    <li> <strong class="uidlink">TestON.drivers.component.Component</strong>:
       <em class="summary">This is the tempalte class for components</em>
     </li>
     <li> <strong class="uidlink"><a href="TestON.core.ast.NodeVisitor-class.html">TestON.core.ast.NodeVisitor</a></strong>:
       <em class="summary">A node visitor base class that walks the abstract syntax tree and 
         calls a visitor function for every node found.</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.core.ast.NodeTransformer-class.html">TestON.core.ast.NodeTransformer</a></strong>:
+      <em class="summary">A :class:`NodeVisitor` subclass that walks the abstract syntax tree
+        and allows modification of nodes.</em>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink">mininet.topo.Topo</strong>:
+      <em class="summary">Data center network representation for structured multi-trees.</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html">TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html">TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html">TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html">TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo</a></strong>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink">threading._Verbose</strong>
+    <ul>
+    <li> <strong class="uidlink">threading.Thread</strong>:
+      <em class="summary">A class that represents a thread of control.</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.bin.cli.CLI-class.html">TestON.bin.cli.CLI</a></strong>:
+      <em class="summary">command-line interface to execute the test.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.bin.cli.TestThread-class.html">TestON.bin.cli.TestThread</a></strong>:
+      <em class="summary">TestThread class will handle the test execution and will 
+        communicate with the thread in the do_run.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.core.Thread.Thread-class.html">TestON.core.Thread.Thread</a></strong>
+    </li>
+    </ul>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink">dict</strong>:
+      <em class="summary">dict() -&gt; new empty dictionary
+dict(mapping) -&gt; new dictionary initialized from a mapping object's
+    (key, value) pairs
+dict(iterable) -&gt; new dictionary initialized as if via:
+    d = {}
+    for k, v in iterable:
+        d[k] = v
+dict(**kwargs) -&gt; new dictionary initialized with the name=value pairs
+    in the keyword argument list.</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.core.dicttoobject.DictToObject-class.html">TestON.core.dicttoobject.DictToObject</a></strong>
+    </li>
+    </ul>
     </li>
     </ul>
     </li>
@@ -152,13 +236,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_api.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_api.gif
new file mode 100644
index 0000000..6432fa1
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_api.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_cli.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_cli.gif
new file mode 100644
index 0000000..5e24752
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_cli.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_cli_2.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_cli_2.gif
new file mode 100644
index 0000000..37f89e8
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_cli_2.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_controller.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_controller.gif
new file mode 100644
index 0000000..18d2f44
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_controller.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_dicttoobje.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_dicttoobje.gif
new file mode 100644
index 0000000..5361e0f
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_dicttoobje.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_dpclidrive.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_dpclidrive.gif
new file mode 100644
index 0000000..c132d06
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_dpclidrive.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_dpctlclidr.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_dpctlclidr.gif
new file mode 100644
index 0000000..20a2464
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_dpctlclidr.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_emulator.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_emulator.gif
new file mode 100644
index 0000000..11e93b4
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_emulator.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_floodlight.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_floodlight.gif
new file mode 100644
index 0000000..088d48e
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_floodlight.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_flowvisord.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_flowvisord.gif
new file mode 100644
index 0000000..27fec39
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_flowvisord.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_fvtapidriv.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_fvtapidriv.gif
new file mode 100644
index 0000000..647823e
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_fvtapidriv.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_lincoedriv.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_lincoedriv.gif
new file mode 100644
index 0000000..2633006
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_lincoedriv.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_mininetcli.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_mininetcli.gif
new file mode 100644
index 0000000..4da9303
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_mininetcli.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_nodetransf.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_nodetransf.gif
new file mode 100644
index 0000000..5463f2d
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_nodetransf.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_nodevisito.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_nodevisito.gif
new file mode 100644
index 0000000..aac535b
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_nodevisito.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_obelisktop.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_obelisktop.gif
new file mode 100644
index 0000000..abd3094
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_obelisktop.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_obelisktop_2.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_obelisktop_2.gif
new file mode 100644
index 0000000..abd3094
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_obelisktop_2.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_obelisktop_3.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_obelisktop_3.gif
new file mode 100644
index 0000000..abd3094
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_obelisktop_3.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_obelisktop_4.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_obelisktop_4.gif
new file mode 100644
index 0000000..abd3094
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_obelisktop_4.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_onosclidri.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_onosclidri.gif
new file mode 100644
index 0000000..8639187
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_onosclidri.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_onosdriver.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_onosdriver.gif
new file mode 100644
index 0000000..2c3511d
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_onosdriver.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_onosrestdr.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_onosrestdr.gif
new file mode 100644
index 0000000..cab57cb
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_onosrestdr.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_poxclidriv.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_poxclidriv.gif
new file mode 100644
index 0000000..4d21162
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_poxclidriv.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_quaggaclid.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_quaggaclid.gif
new file mode 100644
index 0000000..0ea195b
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_quaggaclid.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_remotemini.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_remotemini.gif
new file mode 100644
index 0000000..fa4fb98
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_remotemini.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_remotepoxd.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_remotepoxd.gif
new file mode 100644
index 0000000..de2c0ee
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_remotepoxd.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_remotesysd.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_remotesysd.gif
new file mode 100644
index 0000000..2560626
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_remotesysd.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_remotetest.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_remotetest.gif
new file mode 100644
index 0000000..35cd722
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_remotetest.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_remotevmdr.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_remotevmdr.gif
new file mode 100644
index 0000000..21f4582
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_remotevmdr.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_testthread.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_testthread.gif
new file mode 100644
index 0000000..a3e9fff
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_testthread.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_thread.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_thread.gif
new file mode 100644
index 0000000..d8a26fc
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_thread.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/class_hierarchy_for_tools.gif b/TestON/Documentation/TestON_Document/class_hierarchy_for_tools.gif
new file mode 100644
index 0000000..2db54d0
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/class_hierarchy_for_tools.gif
Binary files differ
diff --git a/TestON/Documentation/TestON_Document/frames.html b/TestON/Documentation/TestON_Document/frames.html
index 1e7604d..ea95490 100644
--- a/TestON/Documentation/TestON_Document/frames.html
+++ b/TestON/Documentation/TestON_Document/frames.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-frameset.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title> API Documentation </title>
+  <title> TestON </title>
 </head>
 <frameset cols="20%,80%">
   <frameset rows="30%,70%">
diff --git a/TestON/Documentation/TestON_Document/help.html b/TestON/Documentation/TestON_Document/help.html
index f140bb7..cd9a3b9 100644
--- a/TestON/Documentation/TestON_Document/help.html
+++ b/TestON/Documentation/TestON_Document/help.html
@@ -30,7 +30,12 @@
       <th bgcolor="#70b0f0" class="navbar-select"
           >&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -53,7 +58,7 @@
 <h1 class="epydoc"> API Documentation </h1>
 
 <p> This document contains the API (Application Programming Interface)
-documentation for this project.  Documentation for the Python
+documentation for TestON.  Documentation for the Python
 objects defined by the project is divided into separate pages for each
 package, module, and class.  The API documentation also includes two
 pages containing information about the project as a whole: a trees
@@ -240,13 +245,18 @@
       <th bgcolor="#70b0f0" class="navbar-select"
           >&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/identifier-index.html b/TestON/Documentation/TestON_Document/identifier-index.html
index 750c928..2741197 100644
--- a/TestON/Documentation/TestON_Document/identifier-index.html
+++ b/TestON/Documentation/TestON_Document/identifier-index.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -63,14 +68,14 @@
  <a href="#G">G</a>
  <a href="#H">H</a>
  <a href="#I">I</a>
-  J
+ <a href="#J">J</a>
   K
  <a href="#L">L</a>
  <a href="#M">M</a>
  <a href="#N">N</a>
  <a href="#O">O</a>
  <a href="#P">P</a>
-  Q
+ <a href="#Q">Q</a>
  <a href="#R">R</a>
  <a href="#S">S</a>
  <a href="#T">T</a>
@@ -78,7 +83,7 @@
  <a href="#V">V</a>
  <a href="#W">W</a>
  <a href="#X">X</a>
-  Y
+ <a href="#Y">Y</a>
   Z
  <a href="#_">_</a>
 ]
@@ -88,34 +93,116 @@
 <td valign="top">
 <table class="link-index" width="100%" border="1">
 <tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#activateApp">activateApp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addNode">addNode()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appIDs">appIDs()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#activateApp">activateApp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addOpticalIntent">addOpticalIntent()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#apps">apps()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+</tr>
+<tr>
 <td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#add_method">add_method()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.api-module.html">api</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common-module.html">TestON.drivers.common</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.examples.Assert.Assert.Assert-class.html">Assert</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples.Assert.Assert-module.html">TestON.examples.Assert.Assert</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addPointIntent">addPointIntent()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#apps">apps()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#addCaseFooter">addCaseFooter()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#appendDriver">appendDriver()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.ast-module.html">ast</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core-module.html">TestON.core</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addPointIntent">addPointIntent()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appStatus">appStatus()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#addCaseHeader">addCaseHeader()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.examples.Assert-module.html">Assert</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples-module.html">TestON.examples</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#addRoute">addRoute()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#appToIDCheck">appToIDCheck()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addFlow">addFlow()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#addRoutes">addRoutes()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#arping">arping()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#addFlow">addFlow()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addSinglepointToMultipointIntent">addSinglepointToMultipointIntent()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.Assert-module.html">Assert</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples-module.html">TestON.examples</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#addFlowSpace">addFlowSpace()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html">FlowVisorDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addStaticMACAddress">addStaticMACAddress()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.examples.Assert.Assert-module.html">Assert</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.examples.Assert-module.html">TestON.examples.Assert</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addHost">addHost()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addSwitch">addSwitch()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.Assert.Assert.Assert-class.html">Assert</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.Assert.Assert-module.html">TestON.examples.Assert.Assert</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addHostIntent">addHostIntent()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api-module.html">api</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common-module.html">TestON.drivers.common</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignSwController">assignSwController()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addHostIntent">addHostIntent()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.apidriver.API-class.html">API</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.apidriver-module.html">TestON.drivers.common.apidriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#assignVLAN">assignVLAN()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#addLink">addLink()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.apidriver-module.html">apidriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common-module.html">TestON.drivers.common</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.ast-module.html">ast</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core-module.html">TestON.core</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addMplsIntent">addMplsIntent()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#app">app()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#attachLincOESession">attachLincOESession()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html">LincOEDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#addMultipointToSinglepointIntent">addMultipointToSinglepointIntent()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#appendDriver">appendDriver()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#attachLincOESession">attachLincOESession()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a>)</span></td>
 </tr>
 </table>
 </td></tr>
@@ -123,10 +210,12 @@
 <td valign="top">
 <table class="link-index" width="100%" border="1">
 <tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#balanceMasters">balanceMasters()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.bin-module.html">bin</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON-module.html">TestON</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#build">build()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html">LincOEDriver</a>)</span></td>
 </tr>
 <tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
 </table>
@@ -135,179 +224,668 @@
 <td valign="top">
 <table class="link-index" width="100%" border="1">
 <tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#calculateSwAndLinks">calculateSwAndLinks()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE20">CASE20()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#checkLogs">checkLogs()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
 <td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#case">case()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkIP">checkIP()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#config_path">config_path</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE2000">CASE2000()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">FUNCintent</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkMasters">checkMasters()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.examples.Assert.Assert.Assert-class.html#CASE1">CASE1()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.examples.Assert.Assert.Assert-class.html">Assert</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkFlowdb">chkFlowdb()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#configparser">configparser()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE21">CASE21()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#checknum">checknum()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html#CASE1">CASE1()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html">CaseParams</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkSliceStats">chkSliceStats()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#configparser">configparser()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE21">CASE21()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#checkRoutes">checkRoutes()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#CASE1">CASE1()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html">ExperimentTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkSwitchStats">chkSwitchStats()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#configure">configure()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE21">CASE21()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkStatus">checkStatus()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.examples.StepParams.StepParams.StepParams-class.html#CASE1">CASE1()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.examples.StepParams.StepParams.StepParams-class.html">StepParams</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#class_ignoreList">class_ignoreList()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#connect">connect()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE21">CASE21()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#checkStatus">checkStatus()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.examples.Topology.Topology.Topology-class.html#CASE1">CASE1()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.examples.Topology.Topology.Topology-class.html">Topology</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE21">CASE21()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkFlowdb">chkFlowdb()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE1">CASE1()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE22">CASE22()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkSliceStats">chkSliceStats()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE1">CASE1()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">FUNCintent</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE3">CASE3()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#chkSwitchStats">chkSwitchStats()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE1">CASE1()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE3">CASE3()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest-module.html">CHOtest</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE1">CASE1()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE3">CASE3()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest-module.html">CHOtest</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest-module.html">TestON.tests.CHOtest</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE1">CASE1()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE3">CASE3()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest-module.html">TestON.tests.CHOtest.CHOtest</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE1">CASE1()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE3">CASE3()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#class_ignoreList">class_ignoreList()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#CASE1">CASE1()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html">SAMPscaleTopo</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE3000">CASE3000()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">FUNCintent</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cleanInstall">cleanInstall()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#CASE1">CASE1()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html">SAMPstartTemplate</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE4">CASE4()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#cleanup">cleanup()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#CASE1">CASE1()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html">SCPFcbench</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE4">CASE4()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html">cli</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin-module.html">TestON.bin</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#CASE1">CASE1()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html">SCPFflowTp1g</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE4">CASE4()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html">CLI</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#CASE1">CASE1()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html">SCPFintentEventTp</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE4">CASE4()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli-module.html">cli</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common-module.html">TestON.drivers.common</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#CASE1">CASE1()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html">SCPFintentInstallWithdrawLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE40">CASE40()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.clidriver.CLI-class.html">CLI</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.clidriver-module.html">TestON.drivers.common.clidriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#CASE1">CASE1()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html">SCPFintentRerouteLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE4000">CASE4000()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">FUNCintent</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.clidriver-module.html">clidriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common-module.html">TestON.drivers.common</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#CASE1">CASE1()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html">SCPFportLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE41">CASE41()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#close_log_handles">close_log_handles()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#CASE1">CASE1()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html">SCPFswitchLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE42">CASE42()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#clusters">clusters()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE10">CASE10()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE5">CASE5()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#cmdloop">cmdloop()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE10">CASE10()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">FUNCintent</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE5">CASE5()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common-module.html">common</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers-module.html">TestON.drivers</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE10">CASE10()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE5">CASE5()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareHosts">compareHosts()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE10">CASE10()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE5">CASE5()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareLinks">compareLinks()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE10">CASE10()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE5">CASE5()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#compareSwitches">compareSwitches()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE10">CASE10()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE5000">CASE5000()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">FUNCintent</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#compiler">compiler()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE1000">CASE1000()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">FUNCintent</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE6">CASE6()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#componentInit">componentInit()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#CASE1001">CASE1001()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html">SAMPscaleTopo</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE6">CASE6()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver-module.html#config_default">config_default</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver-module.html">TestON.drivers.common.api.fvtapidriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE11">CASE11()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">FUNCintent</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE6">CASE6()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#config_path">config_path</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE11">CASE11()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE6">CASE6()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#config_path">config_path</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE11">CASE11()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE60">CASE60()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#configNullDev">configNullDev()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE11">CASE11()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE61">CASE61()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#configNullLink">configNullLink()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE11">CASE11()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE62">CASE62()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#configparser">configparser()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#CASE11">CASE11()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html">SAMPscaleTopo</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE7">CASE7()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#configparser">configparser()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#CASE11">CASE11()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html">SAMPstartTemplate</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE7">CASE7()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#configure">configure()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE12">CASE12()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE7">CASE7()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#connect">connect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE12">CASE12()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">FUNCintent</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE7">CASE7()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect">connect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE12">CASE12()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE70">CASE70()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#connect">connect()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#CASE1">CASE1()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html">DpctlTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.component.Component-class.html#cleanup">cleanup()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.component.Component-class.html">Component</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE12">CASE12()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE71">CASE71()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.apidriver.API-class.html#connect">connect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.apidriver.API-class.html">API</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE12">CASE12()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE72">CASE72()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#connect">connect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html">DPCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE12">CASE12()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE73">CASE73()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#connect">connect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html">FlowVisorDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#CASE12">CASE12()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html">SAMPstartTemplate</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE74">CASE74()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#connect">connect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html">LincOEDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE13">CASE13()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">FUNCintent</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE8">CASE8()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">FUNCintent</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#connect">connect()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.tests.FvtTest.FvtTest.FvtTest-class.html#CASE1">CASE1()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.FvtTest.FvtTest.FvtTest-class.html">FvtTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html">cli</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin-module.html">TestON.bin</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE13">CASE13()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE8">CASE8()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#connect">connect()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html">PoxCliDriver</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#CASE1">CASE1()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html">HPSwitchTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html">CLI</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#connect">connect()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html">HPSwitchDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE13">CASE13()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE8">CASE8()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#connect">connect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html#CASE1">CASE1()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html">MininetTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli-module.html">cli</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common-module.html">TestON.drivers.common</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE13">CASE13()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE8">CASE8()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#connect">connect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE13">CASE13()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE8">CASE8()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#connect">connect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE14">CASE14()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">FUNCintent</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE80">CASE80()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connect">connect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE14">CASE14()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE81">CASE81()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#connect">connect()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html">RemoteSysDriver</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html#CASE1">CASE1()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html">PoxTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.clidriver.CLI-class.html">CLI</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.clidriver-module.html">TestON.drivers.common.clidriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE14">CASE14()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE82">CASE82()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#connect">connect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html">FloodLightCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE14">CASE14()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE83">CASE83()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#connect">connect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html">RemotePoxDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE14">CASE14()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE84">CASE84()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#connect">connect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html">RemoteVMDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE15">CASE15()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE9">CASE9()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">FUNCintent</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#connect">connect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html">RemoteTestBedDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE15">CASE15()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE9">CASE9()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#connect">connect()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#CASE1">CASE1()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html">TicketBooking</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.clidriver-module.html">clidriver</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common-module.html">TestON.drivers.common</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE15">CASE15()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE9">CASE9()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.clidriver.CLI-class.html#connect">connect()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.clidriver.CLI-class.html">CLI</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#CASE1">CASE1()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html">VyattaTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#close_log_handles">close_log_handles()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.webdriver.WebDriver-class.html#connect">connect()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.webdriver.WebDriver-class.html">WebDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE15">CASE15()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE9">CASE9()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#connectQuagga">connectQuagga()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html#CASE2">CASE2()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html">CaseParams</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.component.Component-class.html#close_log_handles">close_log_handles()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.component.Component-class.html">Component</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.component.Component-class.html#connect">connect()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.component.Component-class.html">Component</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#CASE2">CASE2()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html">ExperimentTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#cmdloop">cmdloop()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE16">CASE16()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE9">CASE9()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller-module.html">controller</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api-module.html">TestON.drivers.common.api</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.examples.StepParams.StepParams.StepParams-class.html#CASE2">CASE2()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples.StepParams.StepParams.StepParams-class.html">StepParams</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common-module.html">common</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers-module.html">TestON.drivers</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE16">CASE16()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#CASE9">CASE9()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html">SAMPscaleTopo</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.api.controllerdriver.Controller-class.html">Controller</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controllerdriver-module.html">TestON.drivers.common.api.controllerdriver</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#CASE2">CASE2()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html">DpctlTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#compiler">compiler()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE16">CASE16()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#CASE9">CASE9()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html">SAMPstartTemplate</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.api.controllerdriver-module.html">controllerdriver</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api-module.html">TestON.drivers.common.api</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html#CASE2">CASE2()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html">MininetTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.component-module.html">component</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers-module.html">TestON.drivers</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE16">CASE16()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE90">CASE90()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.ast-module.html#copy_location">copy_location()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.ast-module.html">TestON.core.ast</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.core.testparser.TestParser-class.html#case_code">case_code()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.testparser.TestParser-class.html">TestParser</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.component.Component-class.html">Component</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.component-module.html">TestON.drivers.component</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE17">CASE17()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE91">CASE91()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#copyMininetFile">copyMininetFile()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE17">CASE17()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE92">CASE92()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core-module.html">core</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON-module.html">TestON</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.examples.CaseParams-module.html">CaseParams</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples-module.html">TestON.examples</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#componentInit">componentInit()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE17">CASE17()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE93">CASE93()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#core_path">core_path</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE17">CASE17()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE94">CASE94()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.teston-module.html#core_path">core_path</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
 </tr>
 <tr>
+<td width="33%" class="link-index"><a href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html#CASE2">CASE2()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html">CaseParams</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE96">CASE96()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html#counterCheck">counterCheck()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html">TestON.tests.HAclusterRestart.dependencies.Counters</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#CASE2">CASE2()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html">ExperimentTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE97">CASE97()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html#counterCheck">counterCheck()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html">TestON.tests.HAminorityRestart.dependencies.Counters</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.examples.StepParams.StepParams.StepParams-class.html#CASE2">CASE2()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.StepParams.StepParams.StepParams-class.html">StepParams</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#CASE98">CASE98()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.dependencies.Counters-module.html#counterCheck">counterCheck()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.dependencies.Counters-module.html">TestON.tests.HAsanity.dependencies.Counters</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#CASE2">CASE2()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">FUNCintent</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.testparser.TestParser-class.html#case_code">case_code()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.testparser.TestParser-class.html">TestParser</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#counterCheck">counterCheck()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html">TestON.tests.HAsingleInstanceRestart.dependencies.Counters</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#CASE2">CASE2()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.CaseParams-module.html">CaseParams</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples-module.html">TestON.examples</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html">Counters</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies-module.html">TestON.tests.HAclusterRestart.dependencies</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#CASE2">CASE2()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.examples.CaseParams.CaseParams-module.html">CaseParams</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.examples.CaseParams-module.html">TestON.examples.CaseParams</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.component.Component-class.html#config">config()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.component.Component-class.html">Component</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html">Counters</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies-module.html">TestON.tests.HAminorityRestart.dependencies</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#CASE2">CASE2()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html">CaseParams</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.CaseParams.CaseParams-module.html">TestON.examples.CaseParams.CaseParams</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.dependencies.Counters-module.html">Counters</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.dependencies-module.html">TestON.tests.HAsanity.dependencies</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#CASE2">CASE2()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#changeDefaultGateway">changeDefaultGateway()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html">Counters</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html">TestON.tests.HAsingleInstanceRestart.dependencies</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#CASE2">CASE2()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html">SAMPscaleTopo</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#changeIP">changeIP()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counters">counters()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#CASE2">CASE2()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html">SAMPstartTemplate</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkBalanceMasters">checkBalanceMasters()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counterTestAddAndGet">counterTestAddAndGet()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#CASE2">CASE2()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html">SCPFcbench</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkFlows">checkFlows()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#counterTestGetAndAdd">counterTestGetAndAdd()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#CASE2">CASE2()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html">SCPFflowTp1g</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#checkFlowsState">checkFlowsState()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#cpLogsToDir">cpLogsToDir()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#CASE2">CASE2()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html">SCPFintentEventTp</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkFlowsState">checkFlowsState()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#create_driver">create_driver()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html">CaseParams</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples.CaseParams.CaseParams-module.html">TestON.examples.CaseParams.CaseParams</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver-module.html#config_default">config_default</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver-module.html">TestON.drivers.common.api.fvtapidriver</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#CASE2">CASE2()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html">SCPFintentInstallWithdrawLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#checkForLoss">checkForLoss()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#create_interfaces">create_interfaces()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html">DPCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#CASE2">CASE2()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html">SCPFintentRerouteLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#checkIntentState">checkIntentState()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createCellFile">createCellFile()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#CASE2">CASE2()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html">SCPFportLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#checkIntentState">checkIntentState()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createDBFile">createDBFile()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#CASE2">CASE2()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html">SCPFswitchLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#checkIP">checkIP()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#createLinkGraphFile">createLinkGraphFile()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
 </tr>
 </table>
 </td></tr>
@@ -315,141 +893,212 @@
 <td valign="top">
 <table class="link-index" width="100%" border="1">
 <tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#deactivateApp">deactivateApp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#disconnect">disconnect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_quit">do_quit()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deactivateApp">deactivateApp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#disconnect">disconnect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_resume">do_resume()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#decToHex">decToHex()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#disconnect">disconnect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html">DPCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_run">do_run()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+</tr>
+<tr>
 <td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#default">default()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_dumpvar">do_dumpvar()</a><br />
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#disconnect">disconnect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html">FlowVisorDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_sh">do_sh()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_updatedriver">do_updatedriver()</a><br />
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#deleteRoutes">deleteRoutes()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#disconnect">disconnect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html">LincOEDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_showlog">do_showlog()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#deleteSwController">deleteSwController()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#disconnect">disconnect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_source">do_source()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#delFlow">delFlow()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_echo">do_echo()</a><br />
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#disconnect">disconnect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html">PoxCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_stop">do_stop()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delHost">delHost()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#disconnect">disconnect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_time">do_time()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delLink">delLink()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#disconnect">disconnect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_updatedriver">do_updatedriver()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#delRoute">delRoute()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#disconnect">disconnect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.dpclidriver-module.html">dpclidriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#delSwitch">delSwitch()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#disconnect">disconnect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html">DPCliDriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.dpclidriver-module.html">TestON.drivers.common.cli.dpclidriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.dependencies-module.html">dependencies</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart-module.html">TestON.tests.HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#disconnect">disconnect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html">RemotePoxDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#dpctl">dpctl()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#desc_set">desc_set()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_EOF">do_EOF()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.dependencies-module.html">dependencies</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart-module.html">TestON.tests.HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.clidriver.CLI-class.html#disconnect">disconnect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.clidriver.CLI-class.html">CLI</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver-module.html">dpctlclidriver</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool-module.html">TestON.drivers.common.cli.tool</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.webdriver.WebDriver-class.html#deselect_seat">deselect_seat()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.webdriver.WebDriver-class.html">WebDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_exit">do_exit()</a><br />
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.dependencies-module.html">dependencies</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity-module.html">TestON.tests.HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_compile">do_compile()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver-module.html">TestON.drivers.common.cli.tool.dpctlclidriver</a>)</span></td>
 </tr>
 <tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html">dependencies</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart-module.html">TestON.tests.HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_currentcase">do_currentcase()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers-module.html">drivers</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON-module.html">TestON</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#desc_set">desc_set()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_currentstep">do_currentstep()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#drivers_path">drivers_path</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#detailed_status">detailed_status()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_do">do_do()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#drivers_path">drivers_path</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deviceRemove">deviceRemove()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_dumpvar">do_dumpvar()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#dump">dump</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#deviceRole">deviceRole()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_echo">do_echo()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.ast-module.html#dump">dump()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.ast-module.html">TestON.core.ast</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#devices">devices()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_EOF">do_EOF()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#dump">dump()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#dict_to_return_format">dict_to_return_format()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_exit">do_exit()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpAggregate">dumpAggregate()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
+</tr>
+<tr>
 <td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#dict_to_xml">dict_to_xml()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_gettest">do_gettest()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.DpctlTest-module.html">DpctlTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpDesc">dumpDesc()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#dictToObj">dictToObj()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_help">do_help()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.DpctlTest.DpctlTest-module.html">DpctlTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.DpctlTest-module.html">TestON.tests.DpctlTest</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#disconnect">disconnect()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_interpret">do_interpret()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html">DpctlTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.DpctlTest.DpctlTest-module.html">TestON.tests.DpctlTest.DpctlTest</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#disconnect">disconnect()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_nextstep">do_nextstep()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers-module.html">drivers</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON-module.html">TestON</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#disconnect">disconnect()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_py">do_py()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#drivers_path">drivers_path</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#disconnect">disconnect()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html">PoxCliDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_quit">do_quit()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#dump">dump</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.clidriver.CLI-class.html#disconnect">disconnect()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.clidriver.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_resume">do_resume()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.ast-module.html#dump">dump()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.ast-module.html">TestON.core.ast</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.webdriver.WebDriver-class.html#disconnect">disconnect()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.webdriver.WebDriver-class.html">WebDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_run">do_run()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#dump">dump()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.component.Component-class.html#disconnect">disconnect()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.component.Component-class.html">Component</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_sh">do_sh()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpAggregate">dumpAggregate()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_compile">do_compile()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_showlog">do_showlog()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpDesc">dumpDesc()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_currentcase">do_currentcase()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_source">do_source()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpFlow">dumpFlow()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_currentstep">do_currentstep()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_stop">do_stop()</a><br />
+<td width="33%" class="link-index"><a href="TestON.core.dicttoobject-module.html">dicttoobject</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core-module.html">TestON.core</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_interpret">do_interpret()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpPorts">dumpPorts()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_do">do_do()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_time">do_time()</a><br />
+<td width="33%" class="link-index"><a href="TestON.core.dicttoobject.DictToObject-class.html">DictToObject</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.dicttoobject-module.html">TestON.core.dicttoobject</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_nextstep">do_nextstep()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#dumpTables">dumpTables()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
 </tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#disable_bgp_peer">disable_bgp_peer()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#do_py">do_py()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
 </table>
 </td></tr>
 <tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="E">E</a></h2></td>
@@ -458,68 +1107,117 @@
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#echo">echo()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#error">error()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#exit">exit()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#emptyline">emptyline()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.examples-module.html">examples</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON-module.html">TestON</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.component.Component-class.html#experimentRun">experimentRun()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.component.Component-class.html">Component</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator-module.html">emulator</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#execute">execute()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.examples.ExperimentTest-module.html">ExperimentTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples-module.html">TestON.examples</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html">Emulator</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulatordriver-module.html">TestON.drivers.common.cli.emulatordriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute">execute()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.clidriver.CLI-class.html">CLI</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#enable_bgp_peer">enable_bgp_peer()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.examples.ExperimentTest.ExperimentTest-module.html">ExperimentTest</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.examples.ExperimentTest-module.html">TestON.examples.ExperimentTest</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulatordriver-module.html">emulatordriver</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.component.Component-class.html#execute">execute()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.component.Component-class.html">Component</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestLeader">electionTestLeader()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#enterConfig">enterConfig()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html">ExperimentTest</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.examples.ExperimentTest.ExperimentTest-module.html">TestON.examples.ExperimentTest.ExperimentTest</a>)</span></td>
 </tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestRun">electionTestRun()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#error">error()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualBgpIntentNum">extractActualBgpIntentNum()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#electionTestWithdraw">electionTestWithdraw()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples-module.html">examples</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON-module.html">TestON</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualBgpIntents">extractActualBgpIntents()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#emptyline">emptyline()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#execute">execute()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualRouteIntentNum">extractActualRouteIntentNum()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator-module.html">emulator</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.clidriver.CLI-class.html#execute">execute()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.clidriver.CLI-class.html">CLI</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualRouteIntents">extractActualRouteIntents()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html">Emulator</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulatordriver-module.html">TestON.drivers.common.cli.emulatordriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#exit">exit()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualRoutesMaster">extractActualRoutesMaster()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulatordriver-module.html">emulatordriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.ExperimentTest-module.html">ExperimentTest</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples-module.html">TestON.examples</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#extractActualRoutesOneDotZero">extractActualRoutesOneDotZero()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+</tr>
 </table>
 </td></tr>
 <tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="F">F</a></h2></td>
 <td valign="top">
 <table class="link-index" width="100%" border="1">
 <tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.webdriver.WebDriver-class.html#fill_details">fill_details()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.webdriver.WebDriver-class.html">WebDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver-module.html">TestON.drivers.common.api.fvtapidriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.FvtTest.FvtTest.FvtTest-class.html">FvtTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.FvtTest.FvtTest-module.html">TestON.tests.FvtTest.FvtTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#featureInstall">featureInstall()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#flowComp">flowComp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent-module.html">FUNCintent</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#featureUninstall">featureUninstall()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#flows">flows()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent-module.html">FUNCintent</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent-module.html">TestON.tests.FUNCintent</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.ast-module.html#fix_missing_locations">fix_missing_locations()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.ast-module.html">TestON.core.ast</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.FvtTest-module.html">FvtTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#flows">flows()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">FUNCintent</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent-module.html">TestON.tests.FUNCintent.FUNCintent</a>)</span></td>
 </tr>
 <tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html">floodlightclidriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed-module.html">TestON.drivers.common.cli.remotetestbed</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-module.html">flowvisordriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator-module.html">TestON.drivers.common.cli.emulator</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver-module.html">fvtapidriver</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api-module.html">TestON.drivers.common.api</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.FvtTest.FvtTest-module.html">FvtTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.FvtTest-module.html">TestON.tests.FvtTest</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html">FloodLightCliDriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html">TestON.drivers.common.cli.remotetestbed.floodlightclidriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html">FlowVisorDriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.flowvisordriver-module.html">TestON.drivers.common.cli.emulator.flowvisordriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver-module.html">TestON.drivers.common.api.fvtapidriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#FlowAddedCount">FlowAddedCount()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#fpingHost">fpingHost()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
 <td width="33%" class="link-index">&nbsp;</td>
 </tr>
 </table>
@@ -530,64 +1228,184 @@
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.generatedriver-module.html">generatedriver</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin-module.html">TestON.bin</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#get_command_details">get_command_details()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#getcmd">getcmd()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html">PoxCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getApp">getApp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getInterfaceMACAddress">getInterfaceMACAddress()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver-module.html">TestON.bin.generatedriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#get_command_help">get_command_help()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#getDriverPath">getDriverPath()</a><br />
+<td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#getargs">getargs()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getInterfaces">getInterfaces()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#generateExpectedBgpIntents">generateExpectedBgpIntents()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getBranchName">getBranchName()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getIPAddress">getIPAddress()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#generateExpectedOnePeerRouteIntents">generateExpectedOnePeerRouteIntents()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getCfg">getCfg()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getLinks">getLinks()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#generateExpectedRouteIntents">generateExpectedRouteIntents()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#getcmd">getcmd()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html">PoxCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#getList">getList()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#generateExpectedSingleRouteIntent">generateExpectedSingleRouteIntent()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#getDatapathId">getDatapathId()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html">LincOEDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getMacAddress">getMacAddress()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#generatePrefixes">generatePrefixes()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getDevice">getDevice()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#getMethodArgsHash">getMethodArgsHash()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.ast.NodeTransformer-class.html#generic_visit">generic_visit()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.ast.NodeTransformer-class.html">NodeTransformer</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#get_details_recursive">get_details_recursive()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#getDriverPath">getDriverPath()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.core.ast.NodeVisitor-class.html#generic_visit">generic_visit()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.ast.NodeVisitor-class.html">NodeVisitor</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.ast-module.html#get_docstring">get_docstring()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.ast-module.html">TestON.core.ast</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#getList">getList()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genFlowModFlush">genFlowModFlush()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#get_version">get_version()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#getMethodArgsHash">getMethodArgsHash()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPacketIn">genPacketIn()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#get_version">get_version()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html">PoxCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getDeviceLinksActiveCount">getDeviceLinksActiveCount()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#getmethods">getmethods()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
 </tr>
 <tr>
+<td width="33%" class="link-index"><a href="TestON.core.ast.NodeVisitor-class.html#generic_visit">generic_visit()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.ast.NodeVisitor-class.html">NodeVisitor</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getDevicePortsEnabledCount">getDevicePortsEnabledCount()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getOnosIps">getOnosIps()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genFlowModFlush">genFlowModFlush()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getDPID">getDPID()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getPorts">getPorts()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPacketIn">genPacketIn()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#getDriverPath">getDriverPath()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getRole">getRole()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+</tr>
+<tr>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPacketOut">genPacketOut()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.component.Component-class.html#get_version">get_version()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.component.Component-class.html">Component</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#getDriverPath">getDriverPath()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.testparser.TestParser-class.html#getStepCode">getStepCode()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.testparser.TestParser-class.html">TestParser</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#genPhyPort">genPhyPort()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#getargs">getargs()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getEpochMs">getEpochMs()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwController">getSwController()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#get_command_details">get_command_details()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getFlows">getFlows()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitch">getSwitch()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#get_command_help">get_command_help()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getFlowTable">getFlowTable()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitchDPID">getSwitchDPID()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#get_details_recursive">get_details_recursive()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getHost">getHost()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitches">getSwitches()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.core.ast-module.html#get_docstring">get_docstring()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.ast-module.html">TestON.core.ast</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getHost">getHost()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getSwitchFlowCount">getSwitchFlowCount()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#get_random">get_random()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getHosts">getHosts()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getTopology">getTopology()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#get_version">get_version()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html">PoxCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getHostsId">getHostsId()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getVersion">getVersion()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllDevicesId">getAllDevicesId()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#getHostsOld">getHostsOld()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#getVersion">getVersion()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllIntentIds">getAllIntentIds()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getIntentsId">getIntentsId()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitCheckout">gitCheckout()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllIntentsId">getAllIntentsId()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getIntentState">getIntentState()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#gitPull">gitPull()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getAllNodesId">getAllNodesId()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#getIntentState">getIntentState()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
 <td width="33%" class="link-index">&nbsp;</td>
 </tr>
 </table>
@@ -596,25 +1414,49 @@
 <td valign="top">
 <table class="link-index" width="100%" border="1">
 <tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart-module.html">HAclusterRestart</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#handle_conjuction">handle_conjuction()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html">HPSwitchDriver</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html">TestON.drivers.common.cli.remotesys.hpswitchdriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html">HPSwitchTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.HPSwitchTest.HPSwitchTest-module.html">TestON.tests.HPSwitchTest.HPSwitchTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html">TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart</a>)</span></td>
 </tr>
 <tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-module.html">HAclusterRestart</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart-module.html">TestON.tests.HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity-module.html">HAsanity</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#helpStr">helpStr</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.HPSwitchTest-module.html">HPSwitchTest</a><br />
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart-module.html">TestON.tests.HAclusterRestart.HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity-module.html">HAsanity</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity-module.html">TestON.tests.HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#hosts">hosts()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart-module.html">HAminorityRestart</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity-module.html">TestON.tests.HAsanity.HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#hosts">hosts()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-module.html">HAminorityRestart</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart-module.html">TestON.tests.HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart-module.html">HAsingleInstanceRestart</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
 <td width="33%" class="link-index">&nbsp;</td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html">hpswitchdriver</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotesys-module.html">TestON.drivers.common.cli.remotesys</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.HPSwitchTest.HPSwitchTest-module.html">HPSwitchTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.HPSwitchTest-module.html">TestON.tests.HPSwitchTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart-module.html">TestON.tests.HAminorityRestart.HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html">HAsingleInstanceRestart</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart-module.html">TestON.tests.HAsingleInstanceRestart</a>)</span></td>
 <td width="33%" class="link-index">&nbsp;</td>
 </tr>
 </table>
@@ -625,75 +1467,147 @@
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.ast-module.html#increment_lineno">increment_lineno()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.ast-module.html">TestON.core.ast</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intents">intents()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperftcpAll">iperftcpAll()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.core.iniparser-module.html">iniparser</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core-module.html">TestON.core</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intentsEventsMetrics">intentsEventsMetrics()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperfudp">iperfudp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.core.iniparser.iniparser-class.html">iniparser</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.iniparser-module.html">TestON.core.iniparser</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#intentSummary">intentSummary()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperfudpAll">iperfudpAll()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.core.logger.Logger-class.html#initlog">initlog()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.logger.Logger-class.html">Logger</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#interpret">interpret()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#isatty">isatty()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.core.iniparser-module.html">iniparser</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core-module.html">TestON.core</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#initOptions">initOptions()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#intfs">intfs()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#isup">isup()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intent">intent()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#introduction">introduction</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.ast-module.html#iter_child_nodes">iter_child_nodes()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.ast-module.html">TestON.core.ast</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.core.iniparser.iniparser-class.html">iniparser</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.iniparser-module.html">TestON.core.iniparser</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#introduction">introduction</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intents">intents()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperftcp">iperftcp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.ast-module.html#iter_fields">iter_fields()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.ast-module.html">TestON.core.ast</a>)</span></td>
 </tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="J">J</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
 <tr>
-<td width="33%" class="link-index"><a href="TestON.core.logger.Logger-class.html#initlog">initlog()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.logger.Logger-class.html">Logger</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperf">iperf()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index"><a href="TestON.core.jsonparser-module.html">jsonparser</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core-module.html">TestON.core</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.jsonparser.JsonParser-class.html">JsonParser</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.jsonparser-module.html">TestON.core.jsonparser</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#jvmSet">jvmSet()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
 </tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#initOptions">initOptions()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#iperfudp">iperfudp()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
-</tr>
+<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
 </table>
 </td></tr>
 <tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="L">L</a></h2></td>
 <td valign="top">
 <table class="link-index" width="100%" border="1">
 <tr>
-<td width="33%" class="link-index"><a href="TestON.lib-module.html">lib</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON-module.html">TestON</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#load_defaultParser">load_defaultParser()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#leaderCandidates">leaderCandidates()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#listFlowSpace">listFlowSpace()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html">FlowVisorDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#log">log()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#leaders">leaders()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#listPorts">listPorts()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html">LincOEDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.logger-module.html">logger</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core-module.html">TestON.core</a>)</span></td>
 </tr>
 <tr>
+<td width="33%" class="link-index"><a href="TestON.lib-module.html">lib</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON-module.html">TestON</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.ast-module.html#literal_eval">literal_eval()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.ast-module.html">TestON.core.ast</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.logger.Logger-class.html">Logger</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.logger-module.html">TestON.core.logger</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.lincoedriver-module.html">lincoedriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator-module.html">TestON.drivers.common.cli.emulator</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#load_defaultlogger">load_defaultlogger()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#loginQuagga">loginQuagga()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html">LincOEDriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver-module.html">TestON.drivers.common.cli.emulator.lincoedriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#load_defaultParser">load_defaultParser()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#logout">logout()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+</tr>
+<tr>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#link">link()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.teston-module.html#load_logger">load_logger()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.logger.Logger-class.html">Logger</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.logger-module.html">TestON.core.logger</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#logReport">logReport()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.core.ast-module.html#literal_eval">literal_eval()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.ast-module.html">TestON.core.ast</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#links">links()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.teston-module.html#load_parser">load_parser()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#logs_path">logs_path</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#links">links()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#location">location</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.teston-module.html#logs_path">logs_path</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#load_defaultlogger">load_defaultlogger()</a><br />
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#listDevices">listDevices()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html">FlowVisorDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#location">location</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.component.Component-class.html#log">log()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.component.Component-class.html">Component</a>)</span></td>
 <td width="33%" class="link-index">&nbsp;</td>
 </tr>
 </table>
@@ -702,25 +1616,18 @@
 <td valign="top">
 <table class="link-index" width="100%" border="1">
 <tr>
-<td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#method_ignoreList">method_ignoreList()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.MininetTest-module.html">MininetTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#module">module</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
-</tr>
-<tr>
+<td width="33%" class="link-index"><a href="TestON.core.dicttoobject.DictToObject-class.html#merge">merge()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.dicttoobject.DictToObject-class.html">DictToObject</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-module.html">mininetclidriver</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator-module.html">TestON.drivers.common.cli.emulator</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.MininetTest.MininetTest-module.html">MininetTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.MininetTest-module.html">TestON.tests.MininetTest</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#moveHost">moveHost()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
 </tr>
 <tr>
+<td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#method_ignoreList">method_ignoreList()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver-module.html">TestON.drivers.common.cli.emulator.mininetclidriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html">MininetTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.MininetTest.MininetTest-module.html">TestON.tests.MininetTest.MininetTest</a>)</span></td>
 <td width="33%" class="link-index">&nbsp;</td>
 </tr>
 </table>
@@ -729,16 +1636,32 @@
 <td valign="top">
 <table class="link-index" width="100%" border="1">
 <tr>
+<td width="33%" class="link-index"><a href="TestON.bin.nec-module.html">nec</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin-module.html">TestON.bin</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#net">net()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.ast.NodeTransformer-class.html">NodeTransformer</a><br />
+<td width="33%" class="link-index"><a href="TestON.core.ast.NodeVisitor-class.html">NodeVisitor</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.ast-module.html">TestON.core.ast</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html">NEC</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec-module.html">TestON.bin.nec</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#nodes">nodes()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#numSwitchesNlinks">numSwitchesNlinks()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html">TestON.drivers.common.cli.remotetestbed.necswitchdriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#nodes">nodes()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
 <td width="33%" class="link-index">&nbsp;</td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#nodes">nodes()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.ast.NodeVisitor-class.html">NodeVisitor</a><br />
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html">necswitchdriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed-module.html">TestON.drivers.common.cli.remotetestbed</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.ast.NodeTransformer-class.html">NodeTransformer</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.ast-module.html">TestON.core.ast</a>)</span></td>
 <td width="33%" class="link-index">&nbsp;</td>
 </tr>
@@ -748,25 +1671,97 @@
 <td valign="top">
 <table class="link-index" width="100%" border="1">
 <tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html">obelisk</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies-module.html">TestON.tests.HAclusterRestart.dependencies</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosBuild">onosBuild()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver-module.html">onosrestdriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller-module.html">TestON.drivers.common.api.controller</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html">obelisk</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies-module.html">TestON.tests.HAminorityRestart.dependencies</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosCfgSet">onosCfgSet()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver-module.html">TestON.drivers.common.api.controller.onosrestdriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.dependencies.obelisk-module.html">obelisk</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.dependencies-module.html">TestON.tests.HAsanity.dependencies</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosCli">onosCli()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStart">onosStart()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html">obelisk</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html">TestON.tests.HAsingleInstanceRestart.dependencies</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver-module.html">onosclidriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStartNetwork">onosStartNetwork()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html">ObeliskTopo</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html">TestON.tests.HAclusterRestart.dependencies.obelisk</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver-module.html">TestON.drivers.common.cli.onosclidriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStatus">onosStatus()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html">ObeliskTopo</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html">TestON.tests.HAminorityRestart.dependencies.obelisk</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosDie">onosDie()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosStop">onosStop()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html">ObeliskTopo</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.dependencies.obelisk-module.html">TestON.tests.HAsanity.dependencies.obelisk</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver-module.html">onosdriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosUninstall">onosUninstall()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html">ObeliskTopo</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html">TestON.tests.HAsingleInstanceRestart.dependencies.obelisk</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver-module.html">TestON.drivers.common.cli.onosdriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak-module.html">openspeak</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core-module.html">TestON.core</a>)</span></td>
+</tr>
+<tr>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#ofmsgSndCmp">ofmsgSndCmp()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.clidriver.CLI-class.html#onfail">onfail()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.clidriver.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#output">output()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosInstall">onosInstall()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.openspeak-module.html">TestON.core.openspeak</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#ofmsgSndCmpWithXid">ofmsgSndCmpWithXid()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak-module.html">openspeak</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core-module.html">TestON.core</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosKill">onosKill()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#output">output()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#onfail">onfail()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.openspeak-module.html">TestON.core.openspeak</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosPackage">onosPackage()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.clidriver.CLI-class.html#onfail">onfail()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.clidriver.CLI-class.html">CLI</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#onosRemoveRaftLogs">onosRemoveRaftLogs()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
 <td width="33%" class="link-index">&nbsp;</td>
 </tr>
 </table>
@@ -777,73 +1772,135 @@
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.ast-module.html#parse">parse()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.ast-module.html">TestON.core.ast</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#path">path</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html">PoxCliDriver</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.poxclidriver-module.html">TestON.drivers.common.cli.emulator.poxclidriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#pendingMap">pendingMap()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#plug">plug()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.iniparser.iniparser-class.html#parse">parse()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.iniparser.iniparser-class.html">iniparser</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#path">path</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.PoxTest-module.html">PoxTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingall">pingall()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#portDown">portDown()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html">LincOEDriver</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.xmlparser.xmlparser-class.html#parse">parse()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.xmlparser.xmlparser-class.html">xmlparser</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.TestThread-class.html#pause">pause()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.TestThread-class.html">TestThread</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.PoxTest.PoxTest-module.html">PoxTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.PoxTest-module.html">TestON.tests.PoxTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#pingall_interfaces">pingall_interfaces()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html">DPCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#ports">ports()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#parse_args">parse_args()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#pause">pause()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html">PoxTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.PoxTest.PoxTest-module.html">TestON.tests.PoxTest.PoxTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingallHosts">pingallHosts()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#portUp">portUp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html">LincOEDriver</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#parseArgs">parseArgs()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingall">pingall()</a><br />
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingHost">pingHost()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#print_details">print_details()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.poxclidriver-module.html">poxclidriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator-module.html">TestON.drivers.common.cli.emulator</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.iniparser.iniparser-class.html#parseParams">parseParams()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.iniparser.iniparser-class.html">iniparser</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingHost">pingHost()</a><br />
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingHost">pingHost()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html">PoxCliDriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.poxclidriver-module.html">TestON.drivers.common.cli.emulator.poxclidriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.core.xmlparser.xmlparser-class.html#parseParams">parseParams()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.xmlparser.xmlparser-class.html">xmlparser</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingHostOptical">pingHostOptical()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#print_details">print_details()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.core.iniparser.iniparser-class.html#parseTopology">parseTopology()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.iniparser.iniparser-class.html">iniparser</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingIpv6Hosts">pingIpv6Hosts()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#printHeader">printHeader()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.core.xmlparser.xmlparser-class.html#parseParams">parseParams()</a><br />
+<td width="33%" class="link-index"><a href="TestON.core.xmlparser.xmlparser-class.html#parseTopology">parseTopology()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.xmlparser.xmlparser-class.html">xmlparser</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingpair">pingpair()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingKill">pingKill()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#prompt">prompt</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.core.iniparser.iniparser-class.html#parseTopology">parseTopology()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.iniparser.iniparser-class.html">iniparser</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#partitions">partitions()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingLong">pingLong()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#ptpd">ptpd()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#path">path</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingLongKill">pingLongKill()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#purgeWithdrawnIntents">purgeWithdrawnIntents()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#path">path</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#pingpair">pingpair()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#pushTestIntents">pushTestIntents()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#paths">paths()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#pingstatus">pingstatus()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#pushTestIntentsShell">pushTestIntentsShell()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.TestThread-class.html#pause">pause()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.TestThread-class.html">TestThread</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#pingTest">pingTest()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.ast-module.html#PyCF_ONLY_AST">PyCF_ONLY_AST</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.ast-module.html">TestON.core.ast</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#pause">pause()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.bin.cli.TestThread-class.html#play">play()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli.TestThread-class.html">TestThread</a>)</span></td>
 <td width="33%" class="link-index">&nbsp;</td>
 </tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="Q">Q</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
 <tr>
-<td width="33%" class="link-index"><a href="TestON.core.xmlparser.xmlparser-class.html#parseTopology">parseTopology()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.xmlparser.xmlparser-class.html">xmlparser</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.poxclidriver-module.html">poxclidriver</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator-module.html">TestON.drivers.common.cli.emulator</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver-module.html">quaggaclidriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver-module.html">TestON.drivers.common.cli.quaggaclidriver</a>)</span></td>
 <td width="33%" class="link-index">&nbsp;</td>
 </tr>
+<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
 </table>
 </td></tr>
 <tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="R">R</a></h2></td>
@@ -852,260 +1909,756 @@
 <tr>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#recvStats">recvStats()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html">RemoteSysDriver</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotesysdriver-module.html">TestON.drivers.common.cli.remotesysdriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser">runAsSudoUser()</a><br />
+<td width="33%" class="link-index"><a href="TestON.drivers.common.clidriver.CLI-class.html#remove_contol_chars">remove_contol_chars()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.clidriver.CLI-class.html">CLI</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.TestThread-class.html#run">run()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.TestThread-class.html">TestThread</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-module.html">remotemininetdriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator-module.html">TestON.drivers.common.cli.emulator</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#removeAllIntents">removeAllIntents()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.Thread.Thread-class.html#run">run()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.Thread.Thread-class.html">Thread</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver-module.html">TestON.drivers.common.cli.emulator.remotemininetdriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#removeFlow">removeFlow()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#run">run()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html">remotepoxdriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed-module.html">TestON.drivers.common.cli.remotetestbed</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#removeFlowSpace">removeFlowSpace()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html">FlowVisorDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#run">run()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html">TestON.tests.HAclusterRestart.dependencies.obelisk</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html">RemotePoxDriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html">TestON.drivers.common.cli.remotetestbed.remotepoxdriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#removeIntent">removeIntent()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#run">run()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html">TestON.tests.HAminorityRestart.dependencies.obelisk</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotesys-module.html">remotesys</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.TestThread-class.html#run">run()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.TestThread-class.html">TestThread</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#runCase">runCase()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#removeIntent">removeIntent()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.dependencies.obelisk-module.html#run">run()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.dependencies.obelisk-module.html">TestON.tests.HAsanity.dependencies.obelisk</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotesysdriver-module.html">remotesysdriver</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#run">run()</a><br />
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#removeNode">removeNode()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#run">run()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html">TestON.tests.HAsingleInstanceRestart.dependencies.obelisk</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html">RemoteSysDriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotesysdriver-module.html">TestON.drivers.common.cli.remotesysdriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.jsonparser.JsonParser-class.html#response_parse">response_parse()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.jsonparser.JsonParser-class.html">JsonParser</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.clidriver.CLI-class.html#runAsSudoUser">runAsSudoUser()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.clidriver.CLI-class.html">CLI</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed-module.html">remotetestbed</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#response_parser">response_parser()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#runCase">runCase()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbeddriver-module.html">remotetestbeddriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#response_to_dict">response_to_dict()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#runOnosTopoCfg">runOnosTopoCfg()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html">RemoteTestBedDriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbeddriver-module.html">TestON.drivers.common.cli.remotetestbeddriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#roles">roles()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#runOpticalMnScript">runOpticalMnScript()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html">remotevmdriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed-module.html">TestON.drivers.common.cli.remotetestbed</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#rolesNotNull">rolesNotNull()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#runStep">runStep()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
 </tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html">RemoteVMDriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html">TestON.drivers.common.cli.remotetestbed.remotevmdriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#routes">routes()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
 </table>
 </td></tr>
 <tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="S">S</a></h2></td>
 <td valign="top">
 <table class="link-index" width="100%" border="1">
 <tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.webdriver.WebDriver-class.html#search_bus">search_bus()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.webdriver.WebDriver-class.html">WebDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_in_ipv6name">set_interfaces_ethernet_eth0_firewall_in_ipv6name()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_duplex">show_interfaces_ethernet_eth0_duplex()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPscaleTopo-module.html">SAMPscaleTopo</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setIpTables">setIpTables()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_lldp">show_lldp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html">SAMPscaleTopo</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPscaleTopo-module.html">TestON.tests.SAMPscaleTopo</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#setIpTablesOUTPUT">setIpTablesOUTPUT()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_logging">show_logging()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html">SAMPscaleTopo</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html">TestON.tests.SAMPscaleTopo.SAMPscaleTopo</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#setRule">setRule()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_logging">show_logging()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPstartTemplate-module.html">SAMPstartTemplate</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestAdd">setTestAdd()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_loopdetection">show_loopdetection()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html">SAMPstartTemplate</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPstartTemplate-module.html">TestON.tests.SAMPstartTemplate</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestGet">setTestGet()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_loopdetection">show_loopdetection()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html">SAMPstartTemplate</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html">TestON.tests.SAMPstartTemplate.SAMPstartTemplate</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestRemove">setTestRemove()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_macaddresstable">show_macaddresstable()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFcbench-module.html">SCPFcbench</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setTestSize">setTestSize()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_macaddresstable">show_macaddresstable()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFcbench.SCPFcbench-module.html">SCPFcbench</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFcbench-module.html">TestON.tests.SCPFcbench</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#setUp">setUp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_mc">show_mc()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html">SCPFcbench</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFcbench.SCPFcbench-module.html">TestON.tests.SCPFcbench.SCPFcbench</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show">show()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_mc">show_mc()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFflowTp1g-module.html">SCPFflowTp1g</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show">show()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_memory">show_memory()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html">SCPFflowTp1g</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFflowTp1g-module.html">TestON.tests.SCPFflowTp1g</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#show">show()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_memory">show_memory()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html">SCPFflowTp1g</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html">TestON.tests.SCPFflowTp1g.SCPFflowTp1g</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_acknowledgments">show_acknowledgments()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_mldsnooping">show_mldsnooping()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentEventTp-module.html">SCPFintentEventTp</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_acknowledgments">show_acknowledgments()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_mldsnooping">show_mldsnooping()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html">SCPFintentEventTp</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentEventTp-module.html">TestON.tests.SCPFintentEventTp</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_acknowledgments_interface">show_acknowledgments_interface()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_netconf">show_netconf()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html">SCPFintentEventTp</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html">TestON.tests.SCPFintentEventTp.SCPFintentEventTp</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_acknowledgments_interface">show_acknowledgments_interface()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_netconf">show_netconf()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentInstallWithdrawLat-module.html">SCPFintentInstallWithdrawLat</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_autoconfig">show_autoconfig()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_netstat">show_netstat()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html">SCPFintentInstallWithdrawLat</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentInstallWithdrawLat-module.html">TestON.tests.SCPFintentInstallWithdrawLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_autoconfig">show_autoconfig()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_netstat">show_netstat()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html">SCPFintentInstallWithdrawLat</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html">TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_axrp">show_axrp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_ntp">show_ntp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentRerouteLat-module.html">SCPFintentRerouteLat</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_axrp">show_axrp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_ntp">show_ntp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html">SCPFintentRerouteLat</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentRerouteLat-module.html">TestON.tests.SCPFintentRerouteLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_cfm">show_cfm()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_oadp">show_oadp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html">SCPFintentRerouteLat</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html">TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_cfm">show_cfm()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_oadp">show_oadp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFportLat-module.html">SCPFportLat</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_channelgroup">show_channelgroup()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_openflow">show_openflow()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFportLat.SCPFportLat-module.html">SCPFportLat</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFportLat-module.html">TestON.tests.SCPFportLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_channelgroup">show_channelgroup()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_openflow">show_openflow()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html">SCPFportLat</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFportLat.SCPFportLat-module.html">TestON.tests.SCPFportLat.SCPFportLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_clock">show_clock()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_port">show_port()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFswitchLat-module.html">SCPFswitchLat</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_clock">show_clock()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_port">show_port()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html">SCPFswitchLat</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFswitchLat-module.html">TestON.tests.SCPFswitchLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_configlockstatus">show_configlockstatus()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_power">show_power()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html">SCPFswitchLat</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html">TestON.tests.SCPFswitchLat.SCPFswitchLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_configlockstatus">show_configlockstatus()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_power">show_power()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.clidriver.CLI-class.html#secureCopy">secureCopy()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.clidriver.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_in_name">set_interfaces_ethernet_eth0_firewall_in_name()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_duplex_auto">show_interfaces_ethernet_eth0_duplex_auto()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_cpu">show_cpu()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_processes">show_processes()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.webdriver.WebDriver-class.html#select_bus">select_bus()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.webdriver.WebDriver-class.html">WebDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_local">set_interfaces_ethernet_eth0_firewall_local()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_hwid">show_interfaces_ethernet_eth0_hwid()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#send">send()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_cpu">show_cpu()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_processes">show_processes()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.webdriver.WebDriver-class.html#select_seat">select_seat()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.webdriver.WebDriver-class.html">WebDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_local_ipv6name">set_interfaces_ethernet_eth0_firewall_local_ipv6name()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_smp_affinity">show_interfaces_ethernet_eth0_smp_affinity()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.webdriver.WebDriver-class.html#selenium_method">selenium_method()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.webdriver.WebDriver-class.html">WebDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_local_name">set_interfaces_ethernet_eth0_firewall_local_name()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_smp_affinity_auto">show_interfaces_ethernet_eth0_smp_affinity_auto()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#sendline">sendline()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_dhcp">show_dhcp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_qos">show_qos()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet">set_interfaces_ethernet()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_out">set_interfaces_ethernet_eth0_firewall_out()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_speed">show_interfaces_ethernet_eth0_speed()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_dhcp">show_dhcp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_qos">show_qos()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0">set_interfaces_ethernet_eth0()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_out_ipv6name">set_interfaces_ethernet_eth0_firewall_out_ipv6name()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_speed_auto">show_interfaces_ethernet_eth0_speed_auto()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_dot1x">show_dot1x()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_qosflow">show_qosflow()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_address">set_interfaces_ethernet_eth0_address()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_out_name">set_interfaces_ethernet_eth0_firewall_out_name()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1">show_interfaces_ethernet_eth1()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_dot1x">show_dot1x()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_qosflow">show_qosflow()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bondgroup">set_interfaces_ethernet_eth0_bondgroup()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_hwid">set_interfaces_ethernet_eth0_hwid()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_address">show_interfaces_ethernet_eth1_address()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_dumpfile">show_dumpfile()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_sessions">show_sessions()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bridgegroup">set_interfaces_ethernet_eth0_bridgegroup()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_hwid_Media">set_interfaces_ethernet_eth0_hwid_Media()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_duplex">show_interfaces_ethernet_eth1_duplex()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_dumpfile">show_dumpfile()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_sessions">show_sessions()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bridgegroup_bridge">set_interfaces_ethernet_eth0_bridgegroup_bridge()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_Ignore">set_interfaces_ethernet_eth0_Ignore()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_duplex_auto">show_interfaces_ethernet_eth1_duplex_auto()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_efmoam">show_efmoam()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_sflow">show_sflow()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bridgegroup_cost">set_interfaces_ethernet_eth0_bridgegroup_cost()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip">set_interfaces_ethernet_eth0_ip()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_hwid">show_interfaces_ethernet_eth1_hwid()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_efmoam">show_efmoam()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_sflow">show_sflow()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_bridgegroup_priority">set_interfaces_ethernet_eth0_bridgegroup_priority()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_Enable">set_interfaces_ethernet_eth0_ip_Enable()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_smp_affinity">show_interfaces_ethernet_eth1_smp_affinity()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_environment">show_environment()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_spanningtree">show_spanningtree()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_description">set_interfaces_ethernet_eth0_description()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_enableproxyarp">set_interfaces_ethernet_eth0_ip_enableproxyarp()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_smp_affinity_auto">show_interfaces_ethernet_eth1_smp_affinity_auto()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_environment">show_environment()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_spanningtree">show_spanningtree()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_DHCPv6">set_interfaces_ethernet_eth0_DHCPv6()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf">set_interfaces_ethernet_eth0_ip_ospf()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_speed">show_interfaces_ethernet_eth1_speed()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_file">show_file()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_ssh">show_ssh()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_dhcpv6options">set_interfaces_ethernet_eth0_dhcpv6options()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication">set_interfaces_ethernet_eth0_ip_ospf_authentication()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_speed_auto">show_interfaces_ethernet_eth1_speed_auto()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_file">show_file()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_ssh">show_ssh()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_dhcpv6options_Acquire">set_interfaces_ethernet_eth0_dhcpv6options_Acquire()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_md5">set_interfaces_ethernet_eth0_ip_ospf_authentication_md5()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_loopback">show_interfaces_loopback()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_flash">show_flash()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_system">show_system()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_dhcpv6options_parametersonly">set_interfaces_ethernet_eth0_dhcpv6options_parametersonly()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid">set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_loopback_lo">show_interfaces_loopback_lo()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_flash">show_flash()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_system">show_system()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_dhcpv6options_temporary">set_interfaces_ethernet_eth0_dhcpv6options_temporary()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain">set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#showFlow">showFlow()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_gsrp">show_gsrp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_tcpdump">show_tcpdump()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_Disable">set_interfaces_ethernet_eth0_Disable()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword">set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#showStatus">showStatus()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_gsrp">show_gsrp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_tcpdump">show_tcpdump()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_disable">set_interfaces_ethernet_eth0_disable()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_bandwidth">set_interfaces_ethernet_eth0_ip_ospf_bandwidth()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#simplePacket">simplePacket()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_history">show_history()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_techsupport">show_techsupport()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_disableflowcontrol">set_interfaces_ethernet_eth0_disableflowcontrol()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_cost">set_interfaces_ethernet_eth0_ip_ospf_cost()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#step">step()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_history">show_history()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_techsupport">show_techsupport()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_disablelinkdetect">set_interfaces_ethernet_eth0_disablelinkdetect()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_OSPF">set_interfaces_ethernet_eth0_ip_ospf_OSPF()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.testparser.TestParser-class.html#step_code">step_code()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.testparser.TestParser-class.html">TestParser</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_igmpsnooping">show_igmpsnooping()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_track">show_track()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex">set_interfaces_ethernet_eth0_duplex()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#setRule">setRule()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.examples.StepParams-module.html">StepParams</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples-module.html">TestON.examples</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_igmpsnooping">show_igmpsnooping()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_track">show_track()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex_auto">set_interfaces_ethernet_eth0_duplex_auto()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#setUp">setUp()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.examples.StepParams.StepParams-module.html">StepParams</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples.StepParams-module.html">TestON.examples.StepParams</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_interfaces">show_interfaces()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_version">show_version()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex_full">set_interfaces_ethernet_eth0_duplex_full()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#show">show()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.examples.StepParams.StepParams.StepParams-class.html">StepParams</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples.StepParams.StepParams-module.html">TestON.examples.StepParams.StepParams</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces">show_interfaces()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_version">show_version()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_duplex_half">set_interfaces_ethernet_eth0_duplex_half()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces">show_interfaces()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.TestThread-class.html#stop">stop()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.TestThread-class.html">TestThread</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_interfaces">show_interfaces()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_vlan">show_vlan()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall">set_interfaces_ethernet_eth0_firewall()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet">show_interfaces_ethernet()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_vlan">show_vlan()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_in">set_interfaces_ethernet_eth0_firewall_in()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0">show_interfaces_ethernet_eth0()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_vrrpstatus">show_vrrpstatus()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_in_ipv6name">set_interfaces_ethernet_eth0_firewall_in_ipv6name()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_duplex">show_interfaces_ethernet_eth0_duplex()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_vrrpstatus">show_vrrpstatus()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_in_name">set_interfaces_ethernet_eth0_firewall_in_name()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_duplex_auto">show_interfaces_ethernet_eth0_duplex_auto()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_whoami">show_whoami()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_local">set_interfaces_ethernet_eth0_firewall_local()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_hwid">show_interfaces_ethernet_eth0_hwid()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_whoami">show_whoami()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_local_ipv6name">set_interfaces_ethernet_eth0_firewall_local_ipv6name()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_smp_affinity">show_interfaces_ethernet_eth0_smp_affinity()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#showFlow">showFlow()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_local_name">set_interfaces_ethernet_eth0_firewall_local_name()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_smp_affinity_auto">show_interfaces_ethernet_eth0_smp_affinity_auto()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#showStatus">showStatus()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_out">set_interfaces_ethernet_eth0_firewall_out()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_speed">show_interfaces_ethernet_eth0_speed()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#simplePacket">simplePacket()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_out_ipv6name">set_interfaces_ethernet_eth0_firewall_out_ipv6name()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth0_speed_auto">show_interfaces_ethernet_eth0_speed_auto()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#specificLeaderCandidate">specificLeaderCandidate()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_firewall_out_name">set_interfaces_ethernet_eth0_firewall_out_name()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1">show_interfaces_ethernet_eth1()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#SSH">SSH()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html">RemoteVMDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_hwid">set_interfaces_ethernet_eth0_hwid()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_address">show_interfaces_ethernet_eth1_address()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#startConsole">startConsole()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html">LincOEDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_hwid_Media">set_interfaces_ethernet_eth0_hwid_Media()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_duplex">show_interfaces_ethernet_eth1_duplex()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startNet">startNet()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_Ignore">set_interfaces_ethernet_eth0_Ignore()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_duplex_auto">show_interfaces_ethernet_eth1_duplex_auto()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#startOnosCli">startOnosCli()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip">set_interfaces_ethernet_eth0_ip()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_hwid">show_interfaces_ethernet_eth1_hwid()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#startSwitch">startSwitch()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html">LincOEDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_Enable">set_interfaces_ethernet_eth0_ip_Enable()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_smp_affinity">show_interfaces_ethernet_eth1_smp_affinity()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#startTcpdump">startTcpdump()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_enableproxyarp">set_interfaces_ethernet_eth0_ip_enableproxyarp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_smp_affinity_auto">show_interfaces_ethernet_eth1_smp_affinity_auto()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#startTcpdump">startTcpdump()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf">set_interfaces_ethernet_eth0_ip_ospf()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_speed">show_interfaces_ethernet_eth1_speed()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#step">step()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication">set_interfaces_ethernet_eth0_ip_ospf_authentication()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_ethernet_eth1_speed_auto">show_interfaces_ethernet_eth1_speed_auto()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.testparser.TestParser-class.html#step_code">step_code()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.testparser.TestParser-class.html">TestParser</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_md5">set_interfaces_ethernet_eth0_ip_ospf_authentication_md5()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_loopback">show_interfaces_loopback()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.StepParams-module.html">StepParams</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples-module.html">TestON.examples</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid">set_interfaces_ethernet_eth0_ip_ospf_authentication_md5_keyid()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#show_interfaces_loopback_lo">show_interfaces_loopback_lo()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.StepParams.StepParams-module.html">StepParams</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.StepParams-module.html">TestON.examples.StepParams</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain">set_interfaces_ethernet_eth0_ip_ospf_authentication_Plain()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_ip">show_ip()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.StepParams.StepParams.StepParams-class.html">StepParams</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.StepParams.StepParams-module.html">TestON.examples.StepParams.StepParams</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword">set_interfaces_ethernet_eth0_ip_ospf_authentication_plaintextpassword()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_ip">show_ip()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli.TestThread-class.html#stop">stop()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli.TestThread-class.html">TestThread</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_bandwidth">set_interfaces_ethernet_eth0_ip_ospf_bandwidth()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_ipdual">show_ipdual()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#stopLincOEConsole">stopLincOEConsole()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html">LincOEDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_cost">set_interfaces_ethernet_eth0_ip_ospf_cost()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_ipdual">show_ipdual()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopNet">stopNet()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#set_interfaces_ethernet_eth0_ip_ospf_OSPF">set_interfaces_ethernet_eth0_ip_ospf_OSPF()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_ipv6dhcp">show_ipv6dhcp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#stopSwitch">stopSwitch()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html">LincOEDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCell">setCell()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_ipv6dhcp">show_ipv6dhcp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#stopTcpdump">stopTcpdump()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#setCell">setCell()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_license">show_license()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#stopTcpdump">stopTcpdump()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#setCfg">setCfg()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#show_license">show_license()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#summary">summary()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#setInterfaceUp">setInterfaceUp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html">LincOEDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#show_lldp">show_lldp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
 <td width="33%" class="link-index">&nbsp;</td>
 </tr>
 </table>
@@ -1116,128 +2669,165 @@
 <tr>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver-module.html#test_set_init">test_set_init()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver-module.html">TestON.drivers.common.api.fvtapidriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html">TicketBooking</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.TicketBooking.TicketBooking-module.html">TestON.tests.TicketBooking.TicketBooking</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_experimental_mode">translate_experimental_mode()</a><br />
+<td width="33%" class="link-index"><a href="TestON.examples.Topology-module.html">Topology</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples-module.html">TestON.examples</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_if_else_operator">translate_if_else_operator()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#testcasesInRange">testcasesInRange()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool-module.html">tool</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_if_else_operator">translate_if_else_operator()</a><br />
+<td width="33%" class="link-index"><a href="TestON.examples.Topology.Topology-module.html">Topology</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.Topology-module.html">TestON.examples.Topology</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_log_message">translate_log_message()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#testDesc">testDesc()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.toolsdriver.Tools-class.html">Tools</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.toolsdriver-module.html">TestON.drivers.common.cli.toolsdriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_log_message">translate_log_message()</a><br />
+<td width="33%" class="link-index"><a href="TestON.examples.Topology.Topology.Topology-class.html">Topology</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.Topology.Topology-module.html">TestON.examples.Topology.Topology</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_logs">translate_logs()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON-module.html">TestON</a></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.toolsdriver-module.html">toolsdriver</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_logs">translate_logs()</a><br />
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#topology">topology()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_loop_block">translate_loop_block()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.teston-module.html">teston</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core-module.html">TestON.core</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.examples.Topology-module.html">Topology</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples-module.html">TestON.examples</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_loop_block">translate_loop_block()</a><br />
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topology">topology()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_onDOAs">translate_onDOAs()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html">TestON</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.examples.Topology.Topology-module.html">Topology</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples.Topology-module.html">TestON.examples.Topology</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_onDOAs">translate_onDOAs()</a><br />
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#topologyEventsMetrics">topologyEventsMetrics()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_operator">translate_operator()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.testparser-module.html">testparser</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core-module.html">TestON.core</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.examples.Topology.Topology.Topology-class.html">Topology</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples.Topology.Topology-module.html">TestON.examples.Topology.Topology</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_operator">translate_operator()</a><br />
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#topos">topos</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html">TestON.tests.HAclusterRestart.dependencies.obelisk</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_parameters">translate_parameters()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.testparser.TestParser-class.html">TestParser</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.testparser-module.html">TestON.core.testparser</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_assertion">translate_assertion()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_parameters">translate_parameters()</a><br />
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#topos">topos</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html">TestON.tests.HAminorityRestart.dependencies.obelisk</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_repeat">translate_repeat()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.tests-module.html">tests</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON-module.html">TestON</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_assertMessage">translate_assertMessage()</a><br />
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.dependencies.obelisk-module.html#topos">topos</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.dependencies.obelisk-module.html">TestON.tests.HAsanity.dependencies.obelisk</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_response_result">translate_response_result()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_repeat">translate_repeat()</a><br />
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#tests_path">tests_path</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#topos">topos</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html">TestON.tests.HAsingleInstanceRestart.dependencies.obelisk</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_step">translate_step()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.teston-module.html#tests_path">tests_path</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_case_block">translate_case_block()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_response_result">translate_response_result()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.core.logger.Logger-class.html#testSummary">testSummary()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.logger.Logger-class.html">Logger</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_comment">translate_comment()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_step">translate_step()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.bin.cli.TestThread-class.html">TestThread</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_conjuction">translate_conjuction()</a><br />
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_assertion">translate_assertion()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_store">translate_store()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.tests.TicketBooking-module.html">TicketBooking</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_connect">translate_connect()</a><br />
+<td width="33%" class="link-index"><a href="TestON.core.logger.Logger-class.html#testSummary">testSummary()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.logger.Logger-class.html">Logger</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_assertMessage">translate_assertMessage()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_testcase_name">translate_testcase_name()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.tests.TicketBooking.TicketBooking-module.html">TicketBooking</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.TicketBooking-module.html">TestON.tests.TicketBooking</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_disconnect">translate_disconnect()</a><br />
+<td width="33%" class="link-index"><a href="TestON.bin.cli.TestThread-class.html">TestThread</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_case_block">translate_case_block()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_usingas">translate_usingas()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
 </tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.core.Thread-module.html">Thread</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core-module.html">TestON.core</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_comment">translate_comment()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#tsharkGrep">tsharkGrep()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.core.Thread.Thread-class.html">Thread</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.Thread-module.html">TestON.core.Thread</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_conjuction">translate_conjuction()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#tsharkPcap">tsharkPcap()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool-module.html">tool</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_connect">translate_connect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#tsharkStop">tsharkStop()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.toolsdriver.Tools-class.html">Tools</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.toolsdriver-module.html">TestON.drivers.common.cli.toolsdriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_disconnect">translate_disconnect()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.toolsdriver-module.html">toolsdriver</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#translate_experimental_mode">translate_experimental_mode()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
 </table>
 </td></tr>
 <tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="U">U</a></h2></td>
 <td valign="top">
 <table class="link-index" width="100%" border="1">
 <tr>
-<td width="33%" class="link-index"><a href="TestON.core.logger.Logger-class.html#updateCaseResults">updateCaseResults()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.logger.Logger-class.html">Logger</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#uninstallApp">uninstallApp()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#update">update()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.bin.updatedriver-module.html">updatedriver</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin-module.html">TestON.bin</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.core.dicttoobject.DictToObject-class.html#update">update()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.dicttoobject.DictToObject-class.html">DictToObject</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.logger.Logger-class.html#updateCaseResults">updateCaseResults()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.logger.Logger-class.html">Logger</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver-module.html">TestON.bin.updatedriver</a>)</span></td>
 </tr>
-<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
 </table>
 </td></tr>
 <tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="V">V</a></h2></td>
@@ -1246,42 +2836,49 @@
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#verify_and_translate">verify_and_translate()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#verifyOptions">verifyOptions()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#verifyTestCases">verifyTestCases()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifyCell">verifyCell()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.teston-module.html#verifyParams">verifyParams()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta-module.html">vyatta</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin-module.html">TestON.bin</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#verifyTestScript">verifyTestScript()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.teston-module.html#verifyExample">verifyExample()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#verifyTest">verifyTest()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta-module.html">TestON.bin.vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#verifySSH">verifySSH()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.ast.NodeVisitor-class.html#visit">visit()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.ast.NodeVisitor-class.html">NodeVisitor</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.teston-module.html#verifyLogdir">verifyLogdir()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#verifyTestCases">verifyTestCases()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.VyattaTest-module.html">VyattaTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#verifyStaticGWandMAC">verifyStaticGWandMAC()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta-module.html">vyatta</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin-module.html">TestON.bin</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.teston-module.html#verifyMail">verifyMail()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#verifyTestScript">verifyTestScript()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.VyattaTest.VyattaTest-module.html">VyattaTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.VyattaTest-module.html">TestON.tests.VyattaTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#verifySummary">verifySummary()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta-module.html">TestON.bin.vyatta</a>)</span></td>
 </tr>
 <tr>
-<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#verifyOptions">verifyOptions()</a><br />
+<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#verifyOnosCell">verifyOnosCell()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.ast.NodeVisitor-class.html#visit">visit()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.ast.NodeVisitor-class.html">NodeVisitor</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html">VyattaTest</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.VyattaTest.VyattaTest-module.html">TestON.tests.VyattaTest.VyattaTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#verifyTest">verifyTest()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
 </tr>
 </table>
 </td></tr>
@@ -1289,21 +2886,13 @@
 <td valign="top">
 <table class="link-index" width="100%" border="1">
 <tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.webdriver.WebDriver-class.html#wait">wait()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.webdriver.WebDriver-class.html">WebDriver</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.ast-module.html#walk">walk()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.ast-module.html">TestON.core.ast</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.webdriver.WebDriver-class.html">WebDriver</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.webdriver-module.html">TestON.drivers.common.webdriver</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.webdriver.WebDriver-class.html#wait_for_element">wait_for_element()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.webdriver.WebDriver-class.html">WebDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.webdriver-module.html">webdriver</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common-module.html">TestON.drivers.common</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#writeDriver">writeDriver()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
 </tr>
+<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
 </table>
 </td></tr>
 <tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="X">X</a></h2></td>
@@ -1325,145 +2914,468 @@
 </tr>
 </table>
 </td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="Y">Y</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#yank">yank()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
+</table>
+</td></tr>
 <tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="_">_</a></h2></td>
 <td valign="top">
 <table class="link-index" width="100%" border="1">
 <tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.webdriver.WebDriver-class.html#__getattr__">__getattr__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.webdriver.WebDriver-class.html">WebDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html">HPSwitchDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html">TicketBooking</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="TestON.drivers.component.Component-class.html#__getattr__">__getattr__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.component.Component-class.html">Component</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html">RemoteSysDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html">VyattaTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.dicttoobject.DictToObject-class.html#__getattr__">__getattr__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.dicttoobject.DictToObject-class.html">DictToObject</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html">ObeliskTopo</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart-module.html">TestON.tests.HAclusterRestart</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.cli.CLI-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#_argsCheck">_argsCheck()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html">SAMPscaleTopo</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html">TestON.tests.HAclusterRestart.dependencies.Counters</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.cli.TestThread-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.cli.TestThread-class.html">TestThread</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.toolsdriver.Tools-class.html">Tools</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_dict_from_xml">_dict_from_xml()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html">SAMPstartTemplate</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.dependencies-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies-module.html">TestON.tests.HAclusterRestart.dependencies</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.generatedriver.GenerateDriver-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver.GenerateDriver-class.html">GenerateDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.clidriver.CLI-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.clidriver.CLI-class.html">CLI</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_dict_to_xml">_dict_to_xml()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html">SCPFcbench</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html">TestON.tests.HAclusterRestart.dependencies.obelisk</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.bin.nec.NEC-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html">SCPFflowTp1g</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart-module.html">TestON.tests.HAminorityRestart.HAminorityRestart</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.updatedriver.UpdateDriver-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver.UpdateDriver-class.html">UpdateDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.common.webdriver.WebDriver-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.webdriver.WebDriver-class.html">WebDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#_echo">_echo()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html">SCPFintentEventTp</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart-module.html">TestON.tests.HAminorityRestart</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.bin.vyatta.Vyatta-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta.Vyatta-class.html">Vyatta</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.drivers.component.Component-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.drivers.component.Component-class.html">Component</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_extract_attrs">_extract_attrs()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html">SCPFintentInstallWithdrawLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html">TestON.tests.HAminorityRestart.dependencies.Counters</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.core.Thread.Thread-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.Thread.Thread-class.html">Thread</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html">SCPFintentRerouteLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.dependencies-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies-module.html">TestON.tests.HAminorityRestart.dependencies</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.core.dicttoobject.DictToObject-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.dicttoobject.DictToObject-class.html">DictToObject</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html">SCPFportLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html">TestON.tests.HAminorityRestart.dependencies.obelisk</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.iniparser.iniparser-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.iniparser.iniparser-class.html">iniparser</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.examples.Assert.Assert.Assert-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples.Assert.Assert.Assert-class.html">Assert</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_from_xml">_from_xml()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html">SCPFswitchLat</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity-module.html">TestON.tests.HAsanity.HAsanity</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.core.jsonparser.JsonParser-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.jsonparser.JsonParser-class.html">JsonParser</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON-module.html">TestON</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity-module.html">TestON.tests.HAsanity</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html">CaseParams</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#_getTest">_getTest()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin-module.html">TestON.bin</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.dependencies.Counters-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.dependencies.Counters-module.html">TestON.tests.HAsanity.dependencies.Counters</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html">ExperimentTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_is_xml_el_dict">_is_xml_el_dict()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.cli-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.cli-module.html">TestON.bin.cli</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.dependencies-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.dependencies-module.html">TestON.tests.HAsanity.dependencies</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.testparser.TestParser-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.testparser.TestParser-class.html">TestParser</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.examples.StepParams.StepParams.StepParams-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples.StepParams.StepParams.StepParams-class.html">StepParams</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_is_xml_el_list">_is_xml_el_list()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.generatedriver-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.generatedriver-module.html">TestON.bin.generatedriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.dependencies.obelisk-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.dependencies.obelisk-module.html">TestON.tests.HAsanity.dependencies.obelisk</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.core.xmlparser.xmlparser-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.xmlparser.xmlparser-class.html">xmlparser</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.examples.Topology.Topology.Topology-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.examples.Topology.Topology.Topology-class.html">Topology</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_list_from_xml">_list_from_xml()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.nec-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.nec-module.html">TestON.bin.nec</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html">TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html">OnosRestDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.updatedriver-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.updatedriver-module.html">TestON.bin.updatedriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart-module.html">TestON.tests.HAsingleInstanceRestart</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.api.controllerdriver.Controller-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controllerdriver.Controller-class.html">Controller</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html">DpctlTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.logger.Logger-class.html#_printHeader">_printHeader()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.logger.Logger-class.html">Logger</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.bin.vyatta-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.bin.vyatta-module.html">TestON.bin.vyatta</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html">TestON.tests.HAsingleInstanceRestart.dependencies.Counters</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html">FvtApiDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.FvtTest.FvtTest.FvtTest-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.FvtTest.FvtTest.FvtTest-class.html">FvtTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_str_to_boolean">_str_to_boolean()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.Thread-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.Thread-module.html">TestON.core.Thread</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html">TestON.tests.HAsingleInstanceRestart.dependencies</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.apidriver.API-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.apidriver.API-class.html">API</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core-module.html">TestON.core</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html">TestON.tests.HAsingleInstanceRestart.dependencies.obelisk</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html">DPCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.ast-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.ast-module.html">TestON.core.ast</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html">TestON.tests.SAMPscaleTopo.SAMPscaleTopo</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html">FlowVisorDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.dicttoobject-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.dicttoobject-module.html">TestON.core.dicttoobject</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPscaleTopo-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPscaleTopo-module.html">TestON.tests.SAMPscaleTopo</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html">LincOEDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.iniparser-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.iniparser-module.html">TestON.core.iniparser</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html">TestON.tests.SAMPstartTemplate.SAMPstartTemplate</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html">MininetCliDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html">HPSwitchTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_str_to_datetime">_str_to_datetime()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.jsonparser-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.jsonparser-module.html">TestON.core.jsonparser</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SAMPstartTemplate-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SAMPstartTemplate-module.html">TestON.tests.SAMPstartTemplate</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html">PoxCliDriver</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html">MininetTest</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_to_xml">_to_xml()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.logger-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.logger-module.html">TestON.core.logger</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFcbench.SCPFcbench-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFcbench.SCPFcbench-module.html">TestON.tests.SCPFcbench.SCPFcbench</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html">RemoteMininetDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.openspeak-module.html">TestON.core.openspeak</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFcbench-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFcbench-module.html">TestON.tests.SCPFcbench</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html">Emulator</a>)</span></td>
-<td width="33%" class="link-index"><a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html#__init__">__init__()</a><br />
-<span class="index-where">(in&nbsp;<a href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html">PoxTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html">TestON.tests.SCPFflowTp1g.SCPFflowTp1g</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html">OnosCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.testparser-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.testparser-module.html">TestON.core.testparser</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFflowTp1g-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFflowTp1g-module.html">TestON.tests.SCPFflowTp1g</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html">OnosDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html">TestON.tests.SCPFintentEventTp.SCPFintentEventTp</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html">QuaggaCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.xmlparser-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.xmlparser-module.html">TestON.core.xmlparser</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentEventTp-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentEventTp-module.html">TestON.tests.SCPFintentEventTp</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html">RemoteSysDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers-module.html">TestON.drivers</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html">TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html">FloodLightCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common-module.html">TestON.drivers.common</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentInstallWithdrawLat-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentInstallWithdrawLat-module.html">TestON.tests.SCPFintentInstallWithdrawLat</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html">NEC</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api-module.html">TestON.drivers.common.api</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html">TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html">RemotePoxDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.api.controller-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.api.controller-module.html">TestON.drivers.common.api.controller</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFintentRerouteLat-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFintentRerouteLat-module.html">TestON.tests.SCPFintentRerouteLat</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html">RemoteVMDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFportLat.SCPFportLat-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFportLat.SCPFportLat-module.html">TestON.tests.SCPFportLat.SCPFportLat</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html">RemoteTestBedDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.emulator-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.emulator-module.html">TestON.drivers.common.cli.emulator</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFportLat-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFportLat-module.html">TestON.tests.SCPFportLat</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html">DpctlCliDriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotesys-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotesys-module.html">TestON.drivers.common.cli.remotesys</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html">TestON.tests.SCPFswitchLat.SCPFswitchLat</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.toolsdriver.Tools-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.toolsdriver.Tools-class.html">Tools</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed-module.html">TestON.drivers.common.cli.remotetestbed</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.SCPFswitchLat-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.SCPFswitchLat-module.html">TestON.tests.SCPFswitchLat</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.clidriver.CLI-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.clidriver.CLI-class.html">CLI</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html">TestON.drivers.common.cli.remotetestbed.necswitchdriver</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests-module.html">TestON.tests</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.examples.Assert.Assert.Assert-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.Assert.Assert.Assert-class.html">Assert</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.drivers.common.cli.tool-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.drivers.common.cli.tool-module.html">TestON.drivers.common.cli.tool</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.dicttoobject.DictToObject-class.html#__setattr__">__setattr__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.dicttoobject.DictToObject-class.html">DictToObject</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html">CaseParams</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.Assert.Assert-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.Assert.Assert-module.html">TestON.examples.Assert.Assert</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.dicttoobject.DictToObject-class.html#__update">__update()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.dicttoobject.DictToObject-class.html">DictToObject</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html">ExperimentTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.Assert-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.Assert-module.html">TestON.examples.Assert</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.openspeak.OpenSpeak-class.html#_argsCheck">_argsCheck()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.openspeak.OpenSpeak-class.html">OpenSpeak</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.examples.StepParams.StepParams.StepParams-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.StepParams.StepParams.StepParams-class.html">StepParams</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.CaseParams.CaseParams-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.CaseParams.CaseParams-module.html">TestON.examples.CaseParams.CaseParams</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_dict_from_xml">_dict_from_xml()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.examples.Topology.Topology.Topology-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.Topology.Topology.Topology-class.html">Topology</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.CaseParams-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.CaseParams-module.html">TestON.examples.CaseParams</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_dict_to_xml">_dict_to_xml()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html">CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.ExperimentTest.ExperimentTest-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.ExperimentTest.ExperimentTest-module.html">TestON.examples.ExperimentTest.ExperimentTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston-module.html#_echo">_echo()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston-module.html">TestON.core.teston</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html">FUNCintent</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.ExperimentTest-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.ExperimentTest-module.html">TestON.examples.ExperimentTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_extract_attrs">_extract_attrs()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html">HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.StepParams.StepParams-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.StepParams.StepParams-module.html">TestON.examples.StepParams.StepParams</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_from_xml">_from_xml()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html">TestON.tests.HAclusterRestart.dependencies.Counters</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.StepParams-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.StepParams-module.html">TestON.examples.StepParams</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.teston.TestON-class.html#_getTest">_getTest()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.teston.TestON-class.html">TestON</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html">ObeliskTopo</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.Topology.Topology-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.Topology.Topology-module.html">TestON.examples.Topology.Topology</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_is_xml_el_dict">_is_xml_el_dict()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html">HAminorityRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples.Topology-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples.Topology-module.html">TestON.examples.Topology</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_is_xml_el_list">_is_xml_el_list()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html">TestON.tests.HAminorityRestart.dependencies.Counters</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.examples-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.examples-module.html">TestON.examples</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_list_from_xml">_list_from_xml()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html">ObeliskTopo</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.lib-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.lib-module.html">TestON.lib</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.logger.Logger-class.html#_printHeader">_printHeader()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.logger.Logger-class.html">Logger</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html">HAsanity</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest.CHOtest-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest.CHOtest-module.html">TestON.tests.CHOtest.CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_str_to_boolean">_str_to_boolean()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.dependencies.Counters-module.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.dependencies.Counters-module.html">TestON.tests.HAsanity.dependencies.Counters</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.CHOtest-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.CHOtest-module.html">TestON.tests.CHOtest</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_str_to_datetime">_str_to_datetime()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html">ObeliskTopo</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent.FUNCintent-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent.FUNCintent-module.html">TestON.tests.FUNCintent.FUNCintent</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_to_xml">_to_xml()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html">HAsingleInstanceRestart</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.FUNCintent-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.FUNCintent-module.html">TestON.tests.FUNCintent</a>)</span></td>
 <td width="33%" class="link-index"><a href="TestON.core.xmldict-module.html#_val_and_maybe_convert">_val_and_maybe_convert()</a><br />
 <span class="index-where">(in&nbsp;<a href="TestON.core.xmldict-module.html">TestON.core.xmldict</a>)</span></td>
 </tr>
+<tr>
+<td width="33%" class="link-index"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html">TestON.tests.HAsingleInstanceRestart.dependencies.Counters</a>)</span></td>
+<td width="33%" class="link-index"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="TestON.tests.HAclusterRestart.HAclusterRestart-module.html">TestON.tests.HAclusterRestart.HAclusterRestart</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
 </table>
 </td></tr>
 </table>
@@ -1487,13 +3399,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/index.html b/TestON/Documentation/TestON_Document/index.html
index 1e7604d..ea95490 100644
--- a/TestON/Documentation/TestON_Document/index.html
+++ b/TestON/Documentation/TestON_Document/index.html
@@ -3,7 +3,7 @@
           "DTD/xhtml1-frameset.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title> API Documentation </title>
+  <title> TestON </title>
 </head>
 <frameset cols="20%,80%">
   <frameset rows="30%,70%">
diff --git a/TestON/Documentation/TestON_Document/module-tree.html b/TestON/Documentation/TestON_Document/module-tree.html
index e1da4e3..bb0be34 100644
--- a/TestON/Documentation/TestON_Document/module-tree.html
+++ b/TestON/Documentation/TestON_Document/module-tree.html
@@ -30,7 +30,12 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table width="100%" cellpadding="0" cellspacing="0">
@@ -61,15 +66,23 @@
     <ul>
     <li> <strong class="uidlink"><a href="TestON.bin.cli-module.html">TestON.bin.cli</a></strong>: <em class="summary">Created on 20-Dec-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.bin.generatedriver-module.html">TestON.bin.generatedriver</a></strong>: <em class="summary">Created on 11-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.bin.nec-module.html">TestON.bin.nec</a></strong>    </li>
+    <li> <strong class="uidlink">TestON.bin.pronto</strong>    </li>
     <li> <strong class="uidlink"><a href="TestON.bin.updatedriver-module.html">TestON.bin.updatedriver</a></strong>    </li>
-    <li> <strong class="uidlink"><a href="TestON.bin.vyatta-module.html">TestON.bin.vyatta</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.bin.vyatta-module.html">TestON.bin.vyatta</a></strong>: <em class="summary">TestON is free software: you can redistribute it and/or modify it 
+        under the terms of the GNU General Public License as published by 
+        the Free Software Foundation, either version 2 of the License, or 
+        (at your option) any later version.</em>    </li>
     </ul>
     </li>
     <li> <strong class="uidlink"><a href="TestON.core-module.html">TestON.core</a></strong>
     <ul>
+    <li> <strong class="uidlink"><a href="TestON.core.Thread-module.html">TestON.core.Thread</a></strong>    </li>
     <li> <strong class="uidlink"><a href="TestON.core.ast-module.html">TestON.core.ast</a></strong>: <em class="summary">ast
 ~~~</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.core.dicttoobject-module.html">TestON.core.dicttoobject</a></strong>    </li>
     <li> <strong class="uidlink"><a href="TestON.core.iniparser-module.html">TestON.core.iniparser</a></strong>: <em class="summary">Created on 07-Jan-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.core.jsonparser-module.html">TestON.core.jsonparser</a></strong>: <em class="summary">Created on 07-Jan-2013</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.core.logger-module.html">TestON.core.logger</a></strong>: <em class="summary">Created on 07-Jan-2013</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.core.openspeak-module.html">TestON.core.openspeak</a></strong>: <em class="summary">Created on 20-Dec-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.core.teston-module.html">TestON.core.teston</a></strong>: <em class="summary">Created on 22-Oct-2012</em>    </li>
@@ -85,27 +98,44 @@
     <ul>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.api-module.html">TestON.drivers.common.api</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controller-module.html">TestON.drivers.common.api.controller</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controller-module.html">TestON.drivers.common.api.controller</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controller.onosrestdriver-module.html">TestON.drivers.common.api.controller.onosrestdriver</a></strong>: <em class="summary">Created on 07-08-2015</em>    </li>
+    </ul>
+    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.api.controllerdriver-module.html">TestON.drivers.common.api.controllerdriver</a></strong>: <em class="summary">Created on 29-Nov-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.api.fvtapidriver-module.html">TestON.drivers.common.api.fvtapidriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink">TestON.drivers.common.apidriver</strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.apidriver-module.html">TestON.drivers.common.apidriver</a></strong>: <em class="summary">Created on 22-Nov-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli-module.html">TestON.drivers.common.cli</a></strong>
     <ul>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.dpclidriver-module.html">TestON.drivers.common.cli.dpclidriver</a></strong>: <em class="summary">Driver for blank dataplane VMs.</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator-module.html">TestON.drivers.common.cli.emulator</a></strong>
     <ul>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.flowvisordriver-module.html">TestON.drivers.common.cli.emulator.flowvisordriver</a></strong>: <em class="summary">Created on 26-Mar-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.lincoedriver-module.html">TestON.drivers.common.cli.emulator.lincoedriver</a></strong>: <em class="summary">This driver handles the optical switch emulator linc-oe.</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.mininetclidriver-module.html">TestON.drivers.common.cli.emulator.mininetclidriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.poxclidriver-module.html">TestON.drivers.common.cli.emulator.poxclidriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulator.remotemininetdriver-module.html">TestON.drivers.common.cli.emulator.remotemininetdriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     </ul>
     </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.emulatordriver-module.html">TestON.drivers.common.cli.emulatordriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesys-module.html">TestON.drivers.common.cli.remotesys</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.onosclidriver-module.html">TestON.drivers.common.cli.onosclidriver</a></strong>: <em class="summary">This driver enters the onos&gt; prompt to issue commands.</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.onosdriver-module.html">TestON.drivers.common.cli.onosdriver</a></strong>: <em class="summary">This driver interacts with ONOS bench, the OSGi platform that 
+        configures the ONOS nodes.</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.quaggaclidriver-module.html">TestON.drivers.common.cli.quaggaclidriver</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesys-module.html">TestON.drivers.common.cli.remotesys</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesysdriver-module.html">TestON.drivers.common.cli.remotesysdriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed-module.html">TestON.drivers.common.cli.remotetestbed</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html">TestON.drivers.common.cli.remotesys.hpswitchdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html">TestON.drivers.common.cli.remotetestbed.floodlightclidriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html">TestON.drivers.common.cli.remotetestbed.necswitchdriver</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html">TestON.drivers.common.cli.remotetestbed.remotepoxdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html">TestON.drivers.common.cli.remotetestbed.remotevmdriver</a></strong>: <em class="summary">Created on 12-Feb-2013</em>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotesysdriver-module.html">TestON.drivers.common.cli.remotesysdriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.remotetestbeddriver-module.html">TestON.drivers.common.cli.remotetestbeddriver</a></strong>: <em class="summary">Created on 26-Oct-2012</em>    </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.tool-module.html">TestON.drivers.common.cli.tool</a></strong>
     <ul>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.cli.tool.dpctlclidriver-module.html">TestON.drivers.common.cli.tool.dpctlclidriver</a></strong>: <em class="summary">Created on 26-Nov-2012</em>    </li>
@@ -115,17 +145,19 @@
     </ul>
     </li>
     <li> <strong class="uidlink"><a href="TestON.drivers.common.clidriver-module.html">TestON.drivers.common.clidriver</a></strong>: <em class="summary">Created on 24-Oct-2012</em>    </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.common.webdriver-module.html">TestON.drivers.common.webdriver</a></strong>: <em class="summary">Created on 27-Feb-2013</em>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.drivers.component-module.html">TestON.drivers.component</a></strong>    </li>
+    <li> <strong class="uidlink">TestON.drivers.component</strong>    </li>
     </ul>
     </li>
     <li> <strong class="uidlink"><a href="TestON.examples-module.html">TestON.examples</a></strong>
     <ul>
     <li> <strong class="uidlink"><a href="TestON.examples.Assert-module.html">TestON.examples.Assert</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.examples.Assert.Assert-module.html">TestON.examples.Assert.Assert</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.examples.Assert.Assert-module.html">TestON.examples.Assert.Assert</a></strong>: <em class="summary">TestON is free software: you can redistribute it and/or modify it 
+        under the terms of the GNU General Public License as published by 
+        the Free Software Foundation, either version 2 of the License, or 
+        (at your option) any later version.</em>    </li>
     </ul>
     </li>
     <li> <strong class="uidlink"><a href="TestON.examples.CaseParams-module.html">TestON.examples.CaseParams</a></strong>
@@ -153,39 +185,107 @@
     <li> <strong class="uidlink"><a href="TestON.lib-module.html">TestON.lib</a></strong>    </li>
     <li> <strong class="uidlink"><a href="TestON.tests-module.html">TestON.tests</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.DpctlTest-module.html">TestON.tests.DpctlTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.CHOtest-module.html">TestON.tests.CHOtest</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.DpctlTest.DpctlTest-module.html">TestON.tests.DpctlTest.DpctlTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.CHOtest.CHOtest-module.html">TestON.tests.CHOtest.CHOtest</a></strong>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.FvtTest-module.html">TestON.tests.FvtTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.FUNCintent-module.html">TestON.tests.FUNCintent</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.FvtTest.FvtTest-module.html">TestON.tests.FvtTest.FvtTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.FUNCintent.FUNCintent-module.html">TestON.tests.FUNCintent.FUNCintent</a></strong>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.HPSwitchTest-module.html">TestON.tests.HPSwitchTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart-module.html">TestON.tests.HAclusterRestart</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.HPSwitchTest.HPSwitchTest-module.html">TestON.tests.HPSwitchTest.HPSwitchTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.HAclusterRestart-module.html">TestON.tests.HAclusterRestart.HAclusterRestart</a></strong>: <em class="summary">Description: This test is to determine if ONOS can handle
+    all of it's nodes restarting</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.dependencies-module.html">TestON.tests.HAclusterRestart.dependencies</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html">TestON.tests.HAclusterRestart.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html">TestON.tests.HAclusterRestart.dependencies.obelisk</a></strong>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.MininetTest-module.html">TestON.tests.MininetTest</a></strong>
-    <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.MininetTest.MininetTest-module.html">TestON.tests.MininetTest.MininetTest</a></strong>: <em class="summary">Created on 29-Oct-2012</em>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.PoxTest-module.html">TestON.tests.PoxTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart-module.html">TestON.tests.HAminorityRestart</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.PoxTest.PoxTest-module.html">TestON.tests.PoxTest.PoxTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.HAminorityRestart-module.html">TestON.tests.HAminorityRestart.HAminorityRestart</a></strong>: <em class="summary">Description: This test is to determine if ONOS can handle
+    a minority of it's nodes restarting</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.dependencies-module.html">TestON.tests.HAminorityRestart.dependencies</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html">TestON.tests.HAminorityRestart.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html">TestON.tests.HAminorityRestart.dependencies.obelisk</a></strong>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.TicketBooking-module.html">TestON.tests.TicketBooking</a></strong>
-    <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.TicketBooking.TicketBooking-module.html">TestON.tests.TicketBooking.TicketBooking</a></strong>    </li>
     </ul>
     </li>
-    <li> <strong class="uidlink"><a href="TestON.tests.VyattaTest-module.html">TestON.tests.VyattaTest</a></strong>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity-module.html">TestON.tests.HAsanity</a></strong>
     <ul>
-    <li> <strong class="uidlink"><a href="TestON.tests.VyattaTest.VyattaTest-module.html">TestON.tests.VyattaTest.VyattaTest</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.HAsanity-module.html">TestON.tests.HAsanity.HAsanity</a></strong>: <em class="summary">Description: This test is to determine if the HA test setup is
+    working correctly.</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.dependencies-module.html">TestON.tests.HAsanity.dependencies</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.dependencies.Counters-module.html">TestON.tests.HAsanity.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsanity.dependencies.obelisk-module.html">TestON.tests.HAsanity.dependencies.obelisk</a></strong>    </li>
+    </ul>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart-module.html">TestON.tests.HAsingleInstanceRestart</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html">TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart</a></strong>: <em class="summary">Description: This test is to determine if a single
+    instance ONOS 'cluster' can handle a restart</em>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html">TestON.tests.HAsingleInstanceRestart.dependencies</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html">TestON.tests.HAsingleInstanceRestart.dependencies.Counters</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html">TestON.tests.HAsingleInstanceRestart.dependencies.obelisk</a></strong>    </li>
+    </ul>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SAMPscaleTopo-module.html">TestON.tests.SAMPscaleTopo</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html">TestON.tests.SAMPscaleTopo.SAMPscaleTopo</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SAMPstartTemplate-module.html">TestON.tests.SAMPstartTemplate</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html">TestON.tests.SAMPstartTemplate.SAMPstartTemplate</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFcbench-module.html">TestON.tests.SCPFcbench</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFcbench.SCPFcbench-module.html">TestON.tests.SCPFcbench.SCPFcbench</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFflowTp1g-module.html">TestON.tests.SCPFflowTp1g</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html">TestON.tests.SCPFflowTp1g.SCPFflowTp1g</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentEventTp-module.html">TestON.tests.SCPFintentEventTp</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html">TestON.tests.SCPFintentEventTp.SCPFintentEventTp</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentInstallWithdrawLat-module.html">TestON.tests.SCPFintentInstallWithdrawLat</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html">TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentRerouteLat-module.html">TestON.tests.SCPFintentRerouteLat</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html">TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFportLat-module.html">TestON.tests.SCPFportLat</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFportLat.SCPFportLat-module.html">TestON.tests.SCPFportLat.SCPFportLat</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFswitchLat-module.html">TestON.tests.SCPFswitchLat</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html">TestON.tests.SCPFswitchLat.SCPFswitchLat</a></strong>    </li>
     </ul>
     </li>
     </ul>
@@ -213,13 +313,18 @@
       <th>&nbsp;&nbsp;&nbsp;<a
         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
 
-      <th class="navbar" width="100%"></th>
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >TestON</th>
+          </tr></table></th>
   </tr>
 </table>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Mon Mar 11 12:56:26 2013
+    Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:34 2015
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/TestON/Documentation/TestON_Document/redirect.html b/TestON/Documentation/TestON_Document/redirect.html
index 0c2ea12..b5955e3 100644
--- a/TestON/Documentation/TestON_Document/redirect.html
+++ b/TestON/Documentation/TestON_Document/redirect.html
@@ -7,7 +7,7 @@
 <body>
 <script type="text/javascript">
 <!--
-var pages = ["TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-c", "TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-c", "TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-c", "TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-c", "TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-c", "TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-c", "TestON.tests.TicketBooking.TicketBooking.TicketBooking-c", "TestON.drivers.common.api.controllerdriver.Controller-c", "TestON.drivers.common.cli.emulator.mininetclidriver-m", "TestON.drivers.common.api.fvtapidriver.FvtApiDriver-c", "TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-c", "TestON.drivers.common.cli.remotesys.hpswitchdriver-m", "TestON.drivers.common.cli.emulatordriver.Emulator-c", "TestON.examples.CaseParams.CaseParams.CaseParams-c", "TestON.examples.StepParams.StepParams.StepParams-c", "TestON.tests.MininetTest.MininetTest.MininetTest-c", "TestON.drivers.common.cli.emulator.poxclidriver-m", "TestON.drivers.common.cli.tool.dpctlclidriver-m", "TestON.examples.ExperimentTest.ExperimentTest-m", "TestON.tests.VyattaTest.VyattaTest.VyattaTest-c", "TestON.drivers.common.cli.toolsdriver.Tools-c", "TestON.drivers.common.api.controllerdriver-m", "TestON.examples.Topology.Topology.Topology-c", "TestON.tests.DpctlTest.DpctlTest.DpctlTest-c", "TestON.drivers.common.cli.remotesysdriver-m", "TestON.drivers.common.webdriver.WebDriver-c", "TestON.drivers.common.cli.emulatordriver-m", "TestON.tests.TicketBooking.TicketBooking-m", "TestON.bin.generatedriver.GenerateDriver-c", "TestON.drivers.common.api.fvtapidriver-m", "TestON.tests.HPSwitchTest.HPSwitchTest-m", "TestON.drivers.common.cli.toolsdriver-m", "TestON.examples.CaseParams.CaseParams-m", "TestON.examples.StepParams.StepParams-m", "TestON.drivers.common.api.controller-m", "TestON.tests.MininetTest.MininetTest-m", "TestON.bin.updatedriver.UpdateDriver-c", "TestON.examples.Assert.Assert.Assert-c", "TestON.tests.FvtTest.FvtTest.FvtTest-c", "TestON.tests.PoxTest.PoxTest.PoxTest-c", "TestON.drivers.common.cli.remotesys-m", "TestON.drivers.common.clidriver.CLI-c", "TestON.drivers.common.cli.emulator-m", "TestON.tests.VyattaTest.VyattaTest-m", "TestON.drivers.component.Component-c", "TestON.examples.Topology.Topology-m", "TestON.core.testparser.TestParser-c", "TestON.tests.DpctlTest.DpctlTest-m", "TestON.drivers.common.clidriver-m", "TestON.drivers.common.webdriver-m", "TestON.core.ast.NodeTransformer-c", "TestON.core.iniparser.iniparser-c", "TestON.core.openspeak.OpenSpeak-c", "TestON.core.xmlparser.xmlparser-c", "TestON.drivers.common.cli.tool-m", "TestON.examples.ExperimentTest-m", "TestON.examples.Assert.Assert-m", "TestON.tests.FvtTest.FvtTest-m", "TestON.tests.PoxTest.PoxTest-m", "TestON.core.ast.NodeVisitor-c", "TestON.examples.CaseParams-m", "TestON.examples.StepParams-m", "TestON.tests.TicketBooking-m", "TestON.bin.generatedriver-m", "TestON.drivers.common.api-m", "TestON.drivers.common.cli-m", "TestON.tests.HPSwitchTest-m", "TestON.bin.cli.TestThread-c", "TestON.core.logger.Logger-c", "TestON.core.teston.TestON-c", "TestON.drivers.component-m", "TestON.examples.Topology-m", "TestON.tests.MininetTest-m", "TestON.bin.vyatta.Vyatta-c", "TestON.bin.updatedriver-m", "TestON.tests.VyattaTest-m", "TestON.core.testparser-m", "TestON.examples.Assert-m", "TestON.tests.DpctlTest-m", "TestON.core.iniparser-m", "TestON.core.openspeak-m", "TestON.core.xmlparser-m", "TestON.drivers.common-m", "TestON.tests.FvtTest-m", "TestON.tests.PoxTest-m", "TestON.core.xmldict-m", "TestON.core.logger-m", "TestON.core.teston-m", "TestON.bin.cli.CLI-c", "TestON.bin.vyatta-m", "TestON.core.ast-m", "TestON.examples-m", "TestON.bin.cli-m", "TestON.drivers-m", "TestON.tests-m", "TestON.core-m", "TestON.bin-m", "TestON.lib-m", "TestON-m"];
+var pages = ["TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-c", "TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-c", "TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-c", "TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-c", "TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-c", "TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-c", "TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-m", "TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-c", "TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-c", "TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-c", "TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-c", "TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-c", "TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-c", "TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-c", "TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-c", "TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-c", "TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-c", "TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-c", "TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-c", "TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-m", "TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-c", "TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-c", "TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-c", "TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-c", "TestON.drivers.common.cli.remotetestbed.floodlightclidriver-m", "TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-c", "TestON.tests.HAsingleInstanceRestart.dependencies.Counters-m", "TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-m", "TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-c", "TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-c", "TestON.drivers.common.cli.remotetestbed.necswitchdriver-m", "TestON.drivers.common.cli.remotetestbed.remotepoxdriver-m", "TestON.drivers.common.cli.emulator.remotemininetdriver-m", "TestON.drivers.common.cli.remotetestbed.remotevmdriver-m", "TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-m", "TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-c", "TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-c", "TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-c", "TestON.drivers.common.api.controllerdriver.Controller-c", "TestON.drivers.common.cli.onosclidriver.OnosCliDriver-c", "TestON.tests.HAminorityRestart.dependencies.Counters-m", "TestON.drivers.common.api.controller.onosrestdriver-m", "TestON.drivers.common.cli.emulator.mininetclidriver-m", "TestON.tests.HAclusterRestart.dependencies.Counters-m", "TestON.tests.HAminorityRestart.dependencies.obelisk-m", "TestON.drivers.common.api.fvtapidriver.FvtApiDriver-c", "TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-c", "TestON.drivers.common.cli.emulator.flowvisordriver-m", "TestON.tests.HAclusterRestart.dependencies.obelisk-m", "TestON.tests.HAsingleInstanceRestart.dependencies-m", "TestON.drivers.common.cli.dpclidriver.DPCliDriver-c", "TestON.drivers.common.cli.emulatordriver.Emulator-c", "TestON.tests.HAminorityRestart.HAminorityRestart-m", "TestON.tests.SAMPstartTemplate.SAMPstartTemplate-m", "TestON.tests.SCPFintentEventTp.SCPFintentEventTp-m", "TestON.examples.CaseParams.CaseParams.CaseParams-c", "TestON.examples.StepParams.StepParams.StepParams-c", "TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-c", "TestON.drivers.common.cli.emulator.lincoedriver-m", "TestON.drivers.common.cli.emulator.poxclidriver-m", "TestON.drivers.common.cli.onosdriver.OnosDriver-c", "TestON.tests.HAclusterRestart.HAclusterRestart-m", "TestON.drivers.common.cli.remotetestbeddriver-m", "TestON.drivers.common.cli.tool.dpctlclidriver-m", "TestON.examples.ExperimentTest.ExperimentTest-m", "TestON.tests.FUNCintent.FUNCintent.FUNCintent-c", "TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-c", "TestON.tests.HAminorityRestart.dependencies-m", "TestON.tests.HAsanity.dependencies.Counters-m", "TestON.drivers.common.cli.toolsdriver.Tools-c", "TestON.drivers.common.api.controllerdriver-m", "TestON.tests.HAclusterRestart.dependencies-m", "TestON.tests.HAsanity.dependencies.obelisk-m", "TestON.examples.Topology.Topology.Topology-c", "TestON.drivers.common.cli.quaggaclidriver-m", "TestON.drivers.common.cli.remotesysdriver-m", "TestON.tests.SCPFintentInstallWithdrawLat-m", "TestON.drivers.common.cli.emulatordriver-m", "TestON.tests.SAMPscaleTopo.SAMPscaleTopo-m", "TestON.tests.SCPFswitchLat.SCPFswitchLat-m", "TestON.bin.generatedriver.GenerateDriver-c", "TestON.drivers.common.cli.onosclidriver-m", "TestON.drivers.common.cli.remotetestbed-m", "TestON.tests.HAsanity.HAsanity.HAsanity-c", "TestON.drivers.common.api.fvtapidriver-m", "TestON.tests.SCPFflowTp1g.SCPFflowTp1g-m", "TestON.drivers.common.cli.dpclidriver-m", "TestON.drivers.common.cli.toolsdriver-m", "TestON.examples.CaseParams.CaseParams-m", "TestON.examples.StepParams.StepParams-m", "TestON.core.dicttoobject.DictToObject-c", "TestON.drivers.common.api.controller-m", "TestON.drivers.common.cli.onosdriver-m", "TestON.tests.HAsingleInstanceRestart-m", "TestON.tests.SCPFportLat.SCPFportLat-m", "TestON.bin.updatedriver.UpdateDriver-c", "TestON.examples.Assert.Assert.Assert-c", "TestON.tests.CHOtest.CHOtest.CHOtest-c", "TestON.drivers.common.cli.remotesys-m", "TestON.drivers.common.apidriver.API-c", "TestON.drivers.common.clidriver.CLI-c", "TestON.drivers.common.cli.emulator-m", "TestON.tests.FUNCintent.FUNCintent-m", "TestON.tests.HAsanity.dependencies-m", "TestON.tests.SCPFcbench.SCPFcbench-m", "TestON.examples.Topology.Topology-m", "TestON.tests.SCPFintentRerouteLat-m", "TestON.core.jsonparser.JsonParser-c", "TestON.core.testparser.TestParser-c", "TestON.drivers.common.apidriver-m", "TestON.drivers.common.clidriver-m", "TestON.core.ast.NodeTransformer-c", "TestON.core.iniparser.iniparser-c", "TestON.core.openspeak.OpenSpeak-c", "TestON.core.xmlparser.xmlparser-c", "TestON.drivers.common.cli.tool-m", "TestON.examples.ExperimentTest-m", "TestON.tests.HAminorityRestart-m", "TestON.tests.HAsanity.HAsanity-m", "TestON.tests.SAMPstartTemplate-m", "TestON.tests.SCPFintentEventTp-m", "TestON.examples.Assert.Assert-m", "TestON.tests.HAclusterRestart-m", "TestON.tests.CHOtest.CHOtest-m", "TestON.core.ast.NodeVisitor-c", "TestON.examples.CaseParams-m", "TestON.examples.StepParams-m", "TestON.tests.SAMPscaleTopo-m", "TestON.tests.SCPFswitchLat-m", "TestON.bin.generatedriver-m", "TestON.drivers.common.api-m", "TestON.drivers.common.cli-m", "TestON.tests.SCPFflowTp1g-m", "TestON.bin.cli.TestThread-c", "TestON.core.Thread.Thread-c", "TestON.core.logger.Logger-c", "TestON.core.teston.TestON-c", "TestON.core.dicttoobject-m", "TestON.examples.Topology-m", "TestON.tests.SCPFportLat-m", "TestON.bin.vyatta.Vyatta-c", "TestON.bin.updatedriver-m", "TestON.tests.FUNCintent-m", "TestON.tests.SCPFcbench-m", "TestON.core.jsonparser-m", "TestON.core.testparser-m", "TestON.examples.Assert-m", "TestON.core.iniparser-m", "TestON.core.openspeak-m", "TestON.core.xmlparser-m", "TestON.drivers.common-m", "TestON.tests.HAsanity-m", "TestON.tests.CHOtest-m", "TestON.core.xmldict-m", "TestON.core.Thread-m", "TestON.core.logger-m", "TestON.core.teston-m", "TestON.bin.cli.CLI-c", "TestON.bin.nec.NEC-c", "TestON.bin.vyatta-m", "TestON.core.ast-m", "TestON.examples-m", "TestON.bin.cli-m", "TestON.bin.nec-m", "TestON.drivers-m", "TestON.tests-m", "TestON.core-m", "TestON.bin-m", "TestON.lib-m", "TestON-m"];
 var dottedName = get_anchor();
 if (dottedName) {
     var target = redirect_url(dottedName);
diff --git a/TestON/Documentation/TestON_Document/toc-TestON-module.html b/TestON/Documentation/TestON_Document/toc-TestON-module.html
index c727fbc..ca55d4d 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module TestON</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.bin-module.html b/TestON/Documentation/TestON_Document/toc-TestON.bin-module.html
index ff29285..a67847e 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.bin-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.bin-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module bin</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.bin-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.bin.cli-module.html b/TestON/Documentation/TestON_Document/toc-TestON.bin.cli-module.html
index aae6504..a9e3eee 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.bin.cli-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.bin.cli-module.html
@@ -20,10 +20,17 @@
      >dictToObj</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#error"
      >error</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#output"
      >output</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="TestON.bin.cli-module.html#dump"
+    <a target="mainFrame" href="TestON.bin.cli-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#config_path"
+     >config_path</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#core_path"
+     >core_path</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#drivers_path"
+     >drivers_path</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#dump"
      >dump</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#introduction"
-     >introduction</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#path"
-     >path</a><br /><hr />
+     >introduction</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#location"
+     >location</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#logs_path"
+     >logs_path</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#path"
+     >path</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#tests_path"
+     >tests_path</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.bin.generatedriver-module.html b/TestON/Documentation/TestON_Document/toc-TestON.bin.generatedriver-module.html
index 0b2894b..6f3f4e8 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.bin.generatedriver-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.bin.generatedriver-module.html
@@ -14,7 +14,9 @@
 <hr />
   <h2 class="toc">Classes</h2>
     <a target="mainFrame" href="TestON.bin.generatedriver.GenerateDriver-class.html"
-     >GenerateDriver</a><br /><hr />
+     >GenerateDriver</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.bin.generatedriver-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.bin.nec-module.html
similarity index 77%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.bin.nec-module.html
index 21c8194..0009607 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.bin.nec-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>nec</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module nec</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.bin.nec.NEC-class.html"
+     >NEC</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.bin.nec-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.bin.updatedriver-module.html b/TestON/Documentation/TestON_Document/toc-TestON.bin.updatedriver-module.html
index e622202..d4d7803 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.bin.updatedriver-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.bin.updatedriver-module.html
@@ -14,7 +14,9 @@
 <hr />
   <h2 class="toc">Classes</h2>
     <a target="mainFrame" href="TestON.bin.updatedriver.UpdateDriver-class.html"
-     >UpdateDriver</a><br /><hr />
+     >UpdateDriver</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.bin.updatedriver-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.bin.vyatta-module.html b/TestON/Documentation/TestON_Document/toc-TestON.bin.vyatta-module.html
index f7d7e3d..9b599b5 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.bin.vyatta-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.bin.vyatta-module.html
@@ -14,7 +14,9 @@
 <hr />
   <h2 class="toc">Classes</h2>
     <a target="mainFrame" href="TestON.bin.vyatta.Vyatta-class.html"
-     >Vyatta</a><br /><hr />
+     >Vyatta</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.bin.vyatta-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.core-module.html b/TestON/Documentation/TestON_Document/toc-TestON.core-module.html
index 55adb19..cebd443 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.core-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.core-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module core</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.core-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.core.Thread-module.html
similarity index 75%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.core.Thread-module.html
index 21c8194..a4fdaef 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.core.Thread-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>Thread</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module Thread</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.core.Thread.Thread-class.html"
+     >Thread</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.core.Thread-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.core.ast-module.html b/TestON/Documentation/TestON_Document/toc-TestON.core.ast-module.html
index 321ab79..d5e44d2 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.core.ast-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.core.ast-module.html
@@ -26,7 +26,10 @@
      >iter_fields</a><br />    <a target="mainFrame" href="TestON.core.ast-module.html#literal_eval"
      >literal_eval</a><br />    <a target="mainFrame" href="TestON.core.ast-module.html#parse"
      >parse</a><br />    <a target="mainFrame" href="TestON.core.ast-module.html#walk"
-     >walk</a><br /><hr />
+     >walk</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.core.ast-module.html#PyCF_ONLY_AST"
+     >PyCF_ONLY_AST</a><br />    <a target="mainFrame" href="TestON.core.ast-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.core.dicttoobject-module.html
similarity index 73%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.core.dicttoobject-module.html
index 21c8194..e9528c7 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.core.dicttoobject-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>dicttoobject</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module dicttoobject</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.core.dicttoobject.DictToObject-class.html"
+     >DictToObject</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.core.dicttoobject-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.core.iniparser-module.html b/TestON/Documentation/TestON_Document/toc-TestON.core.iniparser-module.html
index 1cd4c91..88bdced 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.core.iniparser-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.core.iniparser-module.html
@@ -14,7 +14,9 @@
 <hr />
   <h2 class="toc">Classes</h2>
     <a target="mainFrame" href="TestON.core.iniparser.iniparser-class.html"
-     >iniparser</a><br /><hr />
+     >iniparser</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.core.iniparser-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.core.jsonparser-module.html
similarity index 74%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.core.jsonparser-module.html
index 21c8194..6627aed 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.core.jsonparser-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>jsonparser</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module jsonparser</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.core.jsonparser.JsonParser-class.html"
+     >JsonParser</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.core.jsonparser-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.core.logger-module.html b/TestON/Documentation/TestON_Document/toc-TestON.core.logger-module.html
index 120d82c..fd80415 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.core.logger-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.core.logger-module.html
@@ -14,7 +14,9 @@
 <hr />
   <h2 class="toc">Classes</h2>
     <a target="mainFrame" href="TestON.core.logger.Logger-class.html"
-     >Logger</a><br /><hr />
+     >Logger</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.core.logger-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.core.openspeak-module.html b/TestON/Documentation/TestON_Document/toc-TestON.core.openspeak-module.html
index 714ec89..1cc3a1f 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.core.openspeak-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.core.openspeak-module.html
@@ -14,7 +14,9 @@
 <hr />
   <h2 class="toc">Classes</h2>
     <a target="mainFrame" href="TestON.core.openspeak.OpenSpeak-class.html"
-     >OpenSpeak</a><br /><hr />
+     >OpenSpeak</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.core.openspeak-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.core.teston-module.html b/TestON/Documentation/TestON_Document/toc-TestON.core.teston-module.html
index 2068491..c59bf57 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.core.teston-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.core.teston-module.html
@@ -25,18 +25,20 @@
      >load_parser</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyExample"
      >verifyExample</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyLogdir"
      >verifyLogdir</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyMail"
-     >verifyMail</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyOptions"
+     >verifyMail</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyOnosCell"
+     >verifyOnosCell</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyOptions"
      >verifyOptions</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyParams"
      >verifyParams</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyTest"
      >verifyTest</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyTestCases"
      >verifyTestCases</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyTestScript"
      >verifyTestScript</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="TestON.core.teston-module.html#config_path"
+    <a target="mainFrame" href="TestON.core.teston-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#config_path"
      >config_path</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#core_path"
      >core_path</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#drivers_path"
-     >drivers_path</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#logs_path"
-     >logs_path</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#module"
-     >module</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#path"
+     >drivers_path</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#location"
+     >location</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#logs_path"
+     >logs_path</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#path"
      >path</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#tests_path"
      >tests_path</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.core.testparser-module.html b/TestON/Documentation/TestON_Document/toc-TestON.core.testparser-module.html
index 98a0219..386adf6 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.core.testparser-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.core.testparser-module.html
@@ -14,7 +14,9 @@
 <hr />
   <h2 class="toc">Classes</h2>
     <a target="mainFrame" href="TestON.core.testparser.TestParser-class.html"
-     >TestParser</a><br /><hr />
+     >TestParser</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.core.testparser-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.core.xmldict-module.html b/TestON/Documentation/TestON_Document/toc-TestON.core.xmldict-module.html
index ec8572c..af29a59 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.core.xmldict-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.core.xmldict-module.html
@@ -48,7 +48,9 @@
      >_val_and_maybe_convert</a><br />  </div>
     <a target="mainFrame" href="TestON.core.xmldict-module.html#dict_to_xml"
      >dict_to_xml</a><br />    <a target="mainFrame" href="TestON.core.xmldict-module.html#xml_to_dict"
-     >xml_to_dict</a><br /><hr />
+     >xml_to_dict</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.core.xmldict-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.core.xmlparser-module.html b/TestON/Documentation/TestON_Document/toc-TestON.core.xmlparser-module.html
index 8b24437..829621a 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.core.xmlparser-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.core.xmlparser-module.html
@@ -14,7 +14,9 @@
 <hr />
   <h2 class="toc">Classes</h2>
     <a target="mainFrame" href="TestON.core.xmlparser.xmlparser-class.html"
-     >xmlparser</a><br /><hr />
+     >xmlparser</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.core.xmlparser-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.drivers-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers-module.html
index 7d61d81..0f622e7 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.drivers-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module drivers</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.drivers-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common-module.html
index 57896ef..1dc9ae9 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module common</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.drivers.common-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.api-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.api-module.html
index e526bdd..a2ec467 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.api-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.api-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module api</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.drivers.common.api-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.api.controller-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.api.controller-module.html
index 964f1dd..ab0c4a6 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.api.controller-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.api.controller-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module controller</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.drivers.common.api.controller-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.api.controller.onosrestdriver-module.html
similarity index 80%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.drivers.common.api.controller.onosrestdriver-module.html
index 21c8194..b11d341 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.api.controller.onosrestdriver-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>onosrestdriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module onosrestdriver</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html"
+     >OnosRestDriver</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.FvtTest.FvtTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.apidriver-module.html
similarity index 84%
rename from TestON/Documentation/TestON_Document/toc-TestON.tests.FvtTest.FvtTest-module.html
rename to TestON/Documentation/TestON_Document/toc-TestON.drivers.common.apidriver-module.html
index 4eba17c..52413f0 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.FvtTest.FvtTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.apidriver-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>FvtTest</title>
+  <title>apidriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module FvtTest</h1>
+<h1 class="toc">Module apidriver</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.FvtTest.FvtTest.FvtTest-class.html"
-     >FvtTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.drivers.common.apidriver.API-class.html"
+     >API</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli-module.html
index 2149fb5..6ef0218 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module cli</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.drivers.common.cli-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.dpclidriver-module.html
similarity index 82%
rename from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
rename to TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.dpclidriver-module.html
index 21c8194..668bfad 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.dpclidriver-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>dpclidriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module dpclidriver</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html"
+     >DPCliDriver</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.emulator-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.emulator-module.html
index 26bd42e..726087a 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.emulator-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.emulator-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module emulator</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.drivers.common.cli.emulator-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.emulator.flowvisordriver-module.html
similarity index 80%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.emulator.flowvisordriver-module.html
index 21c8194..24ac8eb 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.emulator.flowvisordriver-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>flowvisordriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module flowvisordriver</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html"
+     >FlowVisorDriver</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.emulator.lincoedriver-module.html
similarity index 81%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.emulator.lincoedriver-module.html
index 21c8194..3b72a9a 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.emulator.lincoedriver-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>lincoedriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module lincoedriver</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html"
+     >LincOEDriver</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.emulator.remotemininetdriver-module.html
similarity index 78%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.emulator.remotemininetdriver-module.html
index 21c8194..0581459 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.emulator.remotemininetdriver-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>remotemininetdriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module remotemininetdriver</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html"
+     >RemoteMininetDriver</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.onosclidriver-module.html
similarity index 81%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.onosclidriver-module.html
index 21c8194..50a181c 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.onosclidriver-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>onosclidriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module onosclidriver</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html"
+     >OnosCliDriver</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.onosdriver-module.html
similarity index 82%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.onosdriver-module.html
index 21c8194..1905476 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.onosdriver-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>onosdriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module onosdriver</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html"
+     >OnosDriver</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.quaggaclidriver-module.html
similarity index 80%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.quaggaclidriver-module.html
index 21c8194..9550ed1 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.quaggaclidriver-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>quaggaclidriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module quaggaclidriver</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html"
+     >QuaggaCliDriver</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys-module.html
index dfe6df4..77d9590 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module remotesys</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.drivers.common.cli.remotesys-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbed-module.html
similarity index 83%
copy from TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbed-module.html
index 7e3419a..05d2171 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbed-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>hpswitchdriver</title>
+  <title>remotetestbed</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module hpswitchdriver</h1>
+<h1 class="toc">Module remotetestbed</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html"
-     >HPSwitchDriver</a><br /><hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.drivers.common.cli.remotetestbed-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html
similarity index 83%
copy from TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html
index 7e3419a..d2c213e 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>hpswitchdriver</title>
+  <title>floodlightclidriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module hpswitchdriver</h1>
+<h1 class="toc">Module floodlightclidriver</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html"
-     >HPSwitchDriver</a><br /><hr />
+    <a target="mainFrame" href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html"
+     >FloodLightCliDriver</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html
similarity index 75%
copy from TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html
index 7e3419a..fbd85a3 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>hpswitchdriver</title>
+  <title>necswitchdriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module hpswitchdriver</h1>
+<h1 class="toc">Module necswitchdriver</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html"
-     >HPSwitchDriver</a><br /><hr />
+    <a target="mainFrame" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html"
+     >NEC</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html
similarity index 85%
rename from TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
rename to TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html
index 7e3419a..2331cd0 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>hpswitchdriver</title>
+  <title>remotepoxdriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module hpswitchdriver</h1>
+<h1 class="toc">Module remotepoxdriver</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html"
-     >HPSwitchDriver</a><br /><hr />
+    <a target="mainFrame" href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html"
+     >RemotePoxDriver</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html
similarity index 85%
copy from TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html
index 7e3419a..9038b6e 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>hpswitchdriver</title>
+  <title>remotevmdriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module hpswitchdriver</h1>
+<h1 class="toc">Module remotevmdriver</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html"
-     >HPSwitchDriver</a><br /><hr />
+    <a target="mainFrame" href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html"
+     >RemoteVMDriver</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbeddriver-module.html
similarity index 84%
copy from TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbeddriver-module.html
index 7e3419a..9c2f32b 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.remotetestbeddriver-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>hpswitchdriver</title>
+  <title>remotetestbeddriver</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module hpswitchdriver</h1>
+<h1 class="toc">Module remotetestbeddriver</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html"
-     >HPSwitchDriver</a><br /><hr />
+    <a target="mainFrame" href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html"
+     >RemoteTestBedDriver</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.tool-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.tool-module.html
index 20edc26..cabfce6 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.tool-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.cli.tool-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module tool</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.drivers.common.cli.tool-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.webdriver-module.html b/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.webdriver-module.html
deleted file mode 100644
index c7f8513..0000000
--- a/TestON/Documentation/TestON_Document/toc-TestON.drivers.common.webdriver-module.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>webdriver</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module webdriver</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.drivers.common.webdriver.WebDriver-class.html"
-     >WebDriver</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.examples-module.html b/TestON/Documentation/TestON_Document/toc-TestON.examples-module.html
index 0f1ae98..a812b31 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.examples-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.examples-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module examples</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.examples-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.examples.Assert-module.html b/TestON/Documentation/TestON_Document/toc-TestON.examples.Assert-module.html
index dc4adcb..b6d616f 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.examples.Assert-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.examples.Assert-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module Assert</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.examples.Assert-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.examples.Assert.Assert-module.html b/TestON/Documentation/TestON_Document/toc-TestON.examples.Assert.Assert-module.html
index db0cb32..439019e 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.examples.Assert.Assert-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.examples.Assert.Assert-module.html
@@ -14,7 +14,9 @@
 <hr />
   <h2 class="toc">Classes</h2>
     <a target="mainFrame" href="TestON.examples.Assert.Assert.Assert-class.html"
-     >Assert</a><br /><hr />
+     >Assert</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.examples.Assert.Assert-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.examples.CaseParams-module.html b/TestON/Documentation/TestON_Document/toc-TestON.examples.CaseParams-module.html
index 5465975..6ec36cb 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.examples.CaseParams-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.examples.CaseParams-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module CaseParams</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.examples.CaseParams-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.examples.CaseParams.CaseParams-module.html b/TestON/Documentation/TestON_Document/toc-TestON.examples.CaseParams.CaseParams-module.html
index 91c4e71..0922876 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.examples.CaseParams.CaseParams-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.examples.CaseParams.CaseParams-module.html
@@ -14,7 +14,9 @@
 <hr />
   <h2 class="toc">Classes</h2>
     <a target="mainFrame" href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html"
-     >CaseParams</a><br /><hr />
+     >CaseParams</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.examples.CaseParams.CaseParams-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.examples.ExperimentTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.examples.ExperimentTest-module.html
index e34de20..af20c36 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.examples.ExperimentTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.examples.ExperimentTest-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module ExperimentTest</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.examples.ExperimentTest-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.examples.ExperimentTest.ExperimentTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.examples.ExperimentTest.ExperimentTest-module.html
index 8510953..52ae0d9 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.examples.ExperimentTest.ExperimentTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.examples.ExperimentTest.ExperimentTest-module.html
@@ -14,7 +14,9 @@
 <hr />
   <h2 class="toc">Classes</h2>
     <a target="mainFrame" href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html"
-     >ExperimentTest</a><br /><hr />
+     >ExperimentTest</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.examples.ExperimentTest.ExperimentTest-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.examples.StepParams-module.html b/TestON/Documentation/TestON_Document/toc-TestON.examples.StepParams-module.html
index 2f7a20e..af76676 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.examples.StepParams-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.examples.StepParams-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module StepParams</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.examples.StepParams-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.examples.StepParams.StepParams-module.html b/TestON/Documentation/TestON_Document/toc-TestON.examples.StepParams.StepParams-module.html
index 157b7b8..9559b4d 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.examples.StepParams.StepParams-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.examples.StepParams.StepParams-module.html
@@ -14,7 +14,9 @@
 <hr />
   <h2 class="toc">Classes</h2>
     <a target="mainFrame" href="TestON.examples.StepParams.StepParams.StepParams-class.html"
-     >StepParams</a><br /><hr />
+     >StepParams</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.examples.StepParams.StepParams-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.examples.Topology-module.html b/TestON/Documentation/TestON_Document/toc-TestON.examples.Topology-module.html
index ac54ebc..a64bf44 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.examples.Topology-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.examples.Topology-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module Topology</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.examples.Topology-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.examples.Topology.Topology-module.html b/TestON/Documentation/TestON_Document/toc-TestON.examples.Topology.Topology-module.html
index b508b69..7c1cf2e 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.examples.Topology.Topology-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.examples.Topology.Topology-module.html
@@ -14,7 +14,9 @@
 <hr />
   <h2 class="toc">Classes</h2>
     <a target="mainFrame" href="TestON.examples.Topology.Topology.Topology-class.html"
-     >Topology</a><br /><hr />
+     >Topology</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.examples.Topology.Topology-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.lib-module.html b/TestON/Documentation/TestON_Document/toc-TestON.lib-module.html
index 89562a8..aee63d3 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.lib-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.lib-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module lib</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.lib-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests-module.html
index 4c66376..5b40044 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests-module.html
@@ -12,7 +12,9 @@
       alink="#204080">
 <h1 class="toc">Module tests</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.CHOtest-module.html
similarity index 81%
rename from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html
rename to TestON/Documentation/TestON_Document/toc-TestON.tests.CHOtest-module.html
index 823de32..5bede73 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.CHOtest-module.html
@@ -3,16 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>CHOtest</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module CHOtest</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.CHOtest-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.CHOtest.CHOtest-module.html
similarity index 74%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.CHOtest.CHOtest-module.html
index 21c8194..3f8bd41 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.CHOtest.CHOtest-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>CHOtest</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module CHOtest</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html"
+     >CHOtest</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.CHOtest.CHOtest-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.DpctlTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.DpctlTest-module.html
deleted file mode 100644
index 019f56c..0000000
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.DpctlTest-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>DpctlTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module DpctlTest</h1>
-<hr />
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.DpctlTest.DpctlTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.DpctlTest.DpctlTest-module.html
deleted file mode 100644
index b08a60a..0000000
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.DpctlTest.DpctlTest-module.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>DpctlTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module DpctlTest</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html"
-     >DpctlTest</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.FUNCintent-module.html
similarity index 80%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.FUNCintent-module.html
index 823de32..c7fb0c4 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.FUNCintent-module.html
@@ -3,16 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>FUNCintent</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module FUNCintent</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.FUNCintent-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.drivers.component-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.FUNCintent.FUNCintent-module.html
similarity index 73%
rename from TestON/Documentation/TestON_Document/toc-TestON.drivers.component-module.html
rename to TestON/Documentation/TestON_Document/toc-TestON.tests.FUNCintent.FUNCintent-module.html
index 5fd413c..00fd295 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.drivers.component-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.FUNCintent.FUNCintent-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>component</title>
+  <title>FUNCintent</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module component</h1>
+<h1 class="toc">Module FUNCintent</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.drivers.component.Component-class.html"
-     >Component</a><br /><hr />
+    <a target="mainFrame" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html"
+     >FUNCintent</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.FUNCintent.FUNCintent-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.FvtTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.FvtTest-module.html
deleted file mode 100644
index 53ac6cb..0000000
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.FvtTest-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>FvtTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module FvtTest</h1>
-<hr />
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAclusterRestart-module.html
similarity index 79%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.HAclusterRestart-module.html
index 21c8194..452f537 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAclusterRestart-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>HAclusterRestart</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module HAclusterRestart</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAclusterRestart-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAclusterRestart.HAclusterRestart-module.html
similarity index 70%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.HAclusterRestart.HAclusterRestart-module.html
index 21c8194..1b1d060 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAclusterRestart.HAclusterRestart-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>HAclusterRestart</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module HAclusterRestart</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html"
+     >HAclusterRestart</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAclusterRestart.HAclusterRestart-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAclusterRestart.dependencies-module.html
similarity index 78%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.HAclusterRestart.dependencies-module.html
index 21c8194..d3332b7 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAclusterRestart.dependencies-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>dependencies</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module dependencies</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAclusterRestart.dependencies-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAclusterRestart.dependencies.Counters-module.html
similarity index 62%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.HAclusterRestart.dependencies.Counters-module.html
index 21c8194..b6e8d97 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAclusterRestart.dependencies.Counters-module.html
@@ -3,18 +3,21 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>Counters</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module Counters</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__"
+     >__init__</a><br />    <a target="mainFrame" href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html#counterCheck"
+     >counterCheck</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.HAclusterRestart.dependencies.obelisk-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAclusterRestart.dependencies.obelisk-module.html
new file mode 100644
index 0000000..803867a
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAclusterRestart.dependencies.obelisk-module.html
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>obelisk</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module obelisk</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html"
+     >ObeliskTopo</a><br />  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#run"
+     >run</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#topos"
+     >topos</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAminorityRestart-module.html
similarity index 79%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.HAminorityRestart-module.html
index 21c8194..c89ac28 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAminorityRestart-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>HAminorityRestart</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module HAminorityRestart</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAminorityRestart-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAminorityRestart.HAminorityRestart-module.html
similarity index 69%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.HAminorityRestart.HAminorityRestart-module.html
index 21c8194..de0ff87 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAminorityRestart.HAminorityRestart-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>HAminorityRestart</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module HAminorityRestart</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html"
+     >HAminorityRestart</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAminorityRestart.HAminorityRestart-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAminorityRestart.dependencies-module.html
similarity index 78%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.HAminorityRestart.dependencies-module.html
index 21c8194..01ce5c6 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAminorityRestart.dependencies-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>dependencies</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module dependencies</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAminorityRestart.dependencies-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAminorityRestart.dependencies.Counters-module.html
similarity index 62%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.HAminorityRestart.dependencies.Counters-module.html
index 21c8194..4e3efc8 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAminorityRestart.dependencies.Counters-module.html
@@ -3,18 +3,21 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>Counters</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module Counters</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__"
+     >__init__</a><br />    <a target="mainFrame" href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html#counterCheck"
+     >counterCheck</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.HAminorityRestart.dependencies.obelisk-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAminorityRestart.dependencies.obelisk-module.html
new file mode 100644
index 0000000..a533bf0
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAminorityRestart.dependencies.obelisk-module.html
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>obelisk</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module obelisk</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html"
+     >ObeliskTopo</a><br />  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#run"
+     >run</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#topos"
+     >topos</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsanity-module.html
similarity index 80%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.HAsanity-module.html
index 823de32..fff5872 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsanity-module.html
@@ -3,16 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>HAsanity</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module HAsanity</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAsanity-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsanity.HAsanity-module.html
similarity index 73%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.HAsanity.HAsanity-module.html
index 21c8194..6845520 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsanity.HAsanity-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>HAsanity</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module HAsanity</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html"
+     >HAsanity</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAsanity.HAsanity-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsanity.dependencies-module.html
similarity index 79%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.HAsanity.dependencies-module.html
index 21c8194..f05bf4a 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsanity.dependencies-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>dependencies</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module dependencies</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAsanity.dependencies-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsanity.dependencies.Counters-module.html
similarity index 63%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.HAsanity.dependencies.Counters-module.html
index 21c8194..8885be9 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsanity.dependencies.Counters-module.html
@@ -3,18 +3,21 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>Counters</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module Counters</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="TestON.tests.HAsanity.dependencies.Counters-module.html#__init__"
+     >__init__</a><br />    <a target="mainFrame" href="TestON.tests.HAsanity.dependencies.Counters-module.html#counterCheck"
+     >counterCheck</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAsanity.dependencies.Counters-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsanity.dependencies.obelisk-module.html
similarity index 60%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.HAsanity.dependencies.obelisk-module.html
index 21c8194..f03fe94 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsanity.dependencies.obelisk-module.html
@@ -3,18 +3,23 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>obelisk</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module obelisk</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html"
+     >ObeliskTopo</a><br />  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="TestON.tests.HAsanity.dependencies.obelisk-module.html#run"
+     >run</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAsanity.dependencies.obelisk-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAsanity.dependencies.obelisk-module.html#topos"
+     >topos</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsingleInstanceRestart-module.html
similarity index 77%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.HAsingleInstanceRestart-module.html
index 21c8194..41db1a2 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsingleInstanceRestart-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>HAsingleInstanceRestart</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module HAsingleInstanceRestart</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html
similarity index 67%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html
index 21c8194..1aa793b 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>HAsingleInstanceRestart</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module HAsingleInstanceRestart</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html"
+     >HAsingleInstanceRestart</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsingleInstanceRestart.dependencies-module.html
similarity index 78%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.HAsingleInstanceRestart.dependencies-module.html
index 21c8194..788dac1 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsingleInstanceRestart.dependencies-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>dependencies</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module dependencies</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html
similarity index 61%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html
index 21c8194..a13c880 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html
@@ -3,18 +3,21 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>Counters</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module Counters</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__"
+     >__init__</a><br />    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#counterCheck"
+     >counterCheck</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html
new file mode 100644
index 0000000..b00fff2
--- /dev/null
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>obelisk</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module obelisk</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html"
+     >ObeliskTopo</a><br />  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#run"
+     >run</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#topos"
+     >topos</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.HPSwitchTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HPSwitchTest-module.html
deleted file mode 100644
index a06a07b..0000000
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.HPSwitchTest-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>HPSwitchTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module HPSwitchTest</h1>
-<hr />
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.HPSwitchTest.HPSwitchTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.HPSwitchTest.HPSwitchTest-module.html
deleted file mode 100644
index 4689ac2..0000000
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.HPSwitchTest.HPSwitchTest-module.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>HPSwitchTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module HPSwitchTest</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html"
-     >HPSwitchTest</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.PoxTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.PoxTest-module.html
deleted file mode 100644
index 7c59956..0000000
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.PoxTest-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>PoxTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module PoxTest</h1>
-<hr />
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.PoxTest.PoxTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.PoxTest.PoxTest-module.html
deleted file mode 100644
index 831bb66..0000000
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.PoxTest.PoxTest-module.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>PoxTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module PoxTest</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html"
-     >PoxTest</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SAMPscaleTopo-module.html
similarity index 79%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SAMPscaleTopo-module.html
index 21c8194..61f8a0d 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SAMPscaleTopo-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SAMPscaleTopo</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SAMPscaleTopo</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SAMPscaleTopo-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html
similarity index 71%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html
index 21c8194..0103df4 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SAMPscaleTopo</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SAMPscaleTopo</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html"
+     >SAMPscaleTopo</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SAMPstartTemplate-module.html
similarity index 79%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SAMPstartTemplate-module.html
index 21c8194..9ec9e97 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SAMPstartTemplate-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SAMPstartTemplate</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SAMPstartTemplate</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SAMPstartTemplate-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html
similarity index 69%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html
index 21c8194..5b1070b 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SAMPstartTemplate</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SAMPstartTemplate</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html"
+     >SAMPstartTemplate</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFcbench-module.html
similarity index 80%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFcbench-module.html
index 823de32..ae5ad96 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFcbench-module.html
@@ -3,16 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SCPFcbench</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SCPFcbench</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SCPFcbench-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFcbench.SCPFcbench-module.html
similarity index 72%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFcbench.SCPFcbench-module.html
index 21c8194..8db18dc 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFcbench.SCPFcbench-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SCPFcbench</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SCPFcbench</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html"
+     >SCPFcbench</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SCPFcbench.SCPFcbench-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFflowTp1g-module.html
similarity index 80%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFflowTp1g-module.html
index 823de32..464bb54 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFflowTp1g-module.html
@@ -3,16 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SCPFflowTp1g</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SCPFflowTp1g</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SCPFflowTp1g-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html
similarity index 72%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html
index 21c8194..56f016f 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SCPFflowTp1g</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SCPFflowTp1g</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html"
+     >SCPFflowTp1g</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentEventTp-module.html
similarity index 79%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentEventTp-module.html
index 21c8194..8f56638 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentEventTp-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SCPFintentEventTp</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SCPFintentEventTp</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SCPFintentEventTp-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html
similarity index 69%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html
index 21c8194..12e4ba8 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SCPFintentEventTp</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SCPFintentEventTp</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html"
+     >SCPFintentEventTp</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentInstallWithdrawLat-module.html
similarity index 76%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentInstallWithdrawLat-module.html
index 21c8194..b9ece54 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentInstallWithdrawLat-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SCPFintentInstallWithdrawLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SCPFintentInstallWithdrawLat</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SCPFintentInstallWithdrawLat-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html
similarity index 65%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html
index 21c8194..382b326 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SCPFintentInstallWithdrawLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SCPFintentInstallWithdrawLat</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html"
+     >SCPFintentInstallWithdrawLat</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentRerouteLat-module.html
similarity index 78%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentRerouteLat-module.html
index 21c8194..dbe1351 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentRerouteLat-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SCPFintentRerouteLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SCPFintentRerouteLat</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SCPFintentRerouteLat-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html
similarity index 68%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html
index 21c8194..ed47725 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SCPFintentRerouteLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SCPFintentRerouteLat</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html"
+     >SCPFintentRerouteLat</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFportLat-module.html
similarity index 80%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFportLat-module.html
index 823de32..0b2d83c 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFportLat-module.html
@@ -3,16 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SCPFportLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SCPFportLat</h1>
 <hr />
-<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SCPFportLat-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFportLat.SCPFportLat-module.html
similarity index 72%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFportLat.SCPFportLat-module.html
index 21c8194..ef3c717 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFportLat.SCPFportLat-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SCPFportLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SCPFportLat</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html"
+     >SCPFportLat</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SCPFportLat.SCPFportLat-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFswitchLat-module.html
similarity index 79%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFswitchLat-module.html
index 21c8194..7fd36a7 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFswitchLat-module.html
@@ -3,18 +3,18 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SCPFswitchLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SCPFswitchLat</h1>
 <hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SCPFswitchLat-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html
similarity index 71%
copy from TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
copy to TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html
index 21c8194..fa595fb 100644
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.MininetTest.MininetTest-module.html
+++ b/TestON/Documentation/TestON_Document/toc-TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html
@@ -3,18 +3,20 @@
           "DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>MininetTest</title>
+  <title>SCPFswitchLat</title>
   <link rel="stylesheet" href="epydoc.css" type="text/css" />
   <script type="text/javascript" src="epydoc.js"></script>
 </head>
 
 <body bgcolor="white" text="black" link="blue" vlink="#204080"
       alink="#204080">
-<h1 class="toc">Module MininetTest</h1>
+<h1 class="toc">Module SCPFswitchLat</h1>
 <hr />
   <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >MininetTest</a><br /><hr />
+    <a target="mainFrame" href="TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html"
+     >SCPFswitchLat</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html#__package__"
+     >__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.TicketBooking-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.TicketBooking-module.html
deleted file mode 100644
index b2cdf7a..0000000
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.TicketBooking-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TicketBooking</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module TicketBooking</h1>
-<hr />
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.TicketBooking.TicketBooking-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.TicketBooking.TicketBooking-module.html
deleted file mode 100644
index 8bd7333..0000000
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.TicketBooking.TicketBooking-module.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>TicketBooking</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module TicketBooking</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html"
-     >TicketBooking</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.VyattaTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.VyattaTest-module.html
deleted file mode 100644
index baa9385..0000000
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.VyattaTest-module.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>VyattaTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module VyattaTest</h1>
-<hr />
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/toc-TestON.tests.VyattaTest.VyattaTest-module.html b/TestON/Documentation/TestON_Document/toc-TestON.tests.VyattaTest.VyattaTest-module.html
deleted file mode 100644
index 9e17757..0000000
--- a/TestON/Documentation/TestON_Document/toc-TestON.tests.VyattaTest.VyattaTest-module.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>VyattaTest</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module VyattaTest</h1>
-<hr />
-  <h2 class="toc">Classes</h2>
-    <a target="mainFrame" href="TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html"
-     >VyattaTest</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide&nbsp;private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/TestON/Documentation/TestON_Document/toc-everything.html b/TestON/Documentation/TestON_Document/toc-everything.html
index f191db6..01cd17f 100644
--- a/TestON/Documentation/TestON_Document/toc-everything.html
+++ b/TestON/Documentation/TestON_Document/toc-everything.html
@@ -16,41 +16,68 @@
     <a target="mainFrame" href="TestON.bin.cli.CLI-class.html"
      >TestON.bin.cli.CLI</a><br />    <a target="mainFrame" href="TestON.bin.cli.TestThread-class.html"
      >TestON.bin.cli.TestThread</a><br />    <a target="mainFrame" href="TestON.bin.generatedriver.GenerateDriver-class.html"
-     >TestON.bin.generatedriver.GenerateDriver</a><br />    <a target="mainFrame" href="TestON.bin.updatedriver.UpdateDriver-class.html"
+     >TestON.bin.generatedriver.GenerateDriver</a><br />    <a target="mainFrame" href="TestON.bin.nec.NEC-class.html"
+     >TestON.bin.nec.NEC</a><br />    <a target="mainFrame" href="TestON.bin.updatedriver.UpdateDriver-class.html"
      >TestON.bin.updatedriver.UpdateDriver</a><br />    <a target="mainFrame" href="TestON.bin.vyatta.Vyatta-class.html"
-     >TestON.bin.vyatta.Vyatta</a><br />    <a target="mainFrame" href="TestON.core.ast.NodeTransformer-class.html"
+     >TestON.bin.vyatta.Vyatta</a><br />    <a target="mainFrame" href="TestON.core.Thread.Thread-class.html"
+     >TestON.core.Thread.Thread</a><br />    <a target="mainFrame" href="TestON.core.ast.NodeTransformer-class.html"
      >TestON.core.ast.NodeTransformer</a><br />    <a target="mainFrame" href="TestON.core.ast.NodeVisitor-class.html"
-     >TestON.core.ast.NodeVisitor</a><br />    <a target="mainFrame" href="TestON.core.iniparser.iniparser-class.html"
-     >TestON.core.iniparser.iniparser</a><br />    <a target="mainFrame" href="TestON.core.logger.Logger-class.html"
+     >TestON.core.ast.NodeVisitor</a><br />    <a target="mainFrame" href="TestON.core.dicttoobject.DictToObject-class.html"
+     >TestON.core.dicttoobject.DictToObject</a><br />    <a target="mainFrame" href="TestON.core.iniparser.iniparser-class.html"
+     >TestON.core.iniparser.iniparser</a><br />    <a target="mainFrame" href="TestON.core.jsonparser.JsonParser-class.html"
+     >TestON.core.jsonparser.JsonParser</a><br />    <a target="mainFrame" href="TestON.core.logger.Logger-class.html"
      >TestON.core.logger.Logger</a><br />    <a target="mainFrame" href="TestON.core.openspeak.OpenSpeak-class.html"
      >TestON.core.openspeak.OpenSpeak</a><br />    <a target="mainFrame" href="TestON.core.teston.TestON-class.html"
      >TestON.core.teston.TestON</a><br />    <a target="mainFrame" href="TestON.core.testparser.TestParser-class.html"
      >TestON.core.testparser.TestParser</a><br />    <a target="mainFrame" href="TestON.core.xmlparser.xmlparser-class.html"
-     >TestON.core.xmlparser.xmlparser</a><br />    <a target="mainFrame" href="TestON.drivers.common.api.controllerdriver.Controller-class.html"
+     >TestON.core.xmlparser.xmlparser</a><br />    <a target="mainFrame" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html"
+     >TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.api.controllerdriver.Controller-class.html"
      >TestON.drivers.common.api.controllerdriver.Controller</a><br />    <a target="mainFrame" href="TestON.drivers.common.api.fvtapidriver.FvtApiDriver-class.html"
-     >TestON.drivers.common.api.fvtapidriver.FvtApiDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html"
+     >TestON.drivers.common.api.fvtapidriver.FvtApiDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.apidriver.API-class.html"
+     >TestON.drivers.common.apidriver.API</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.dpclidriver.DPCliDriver-class.html"
+     >TestON.drivers.common.cli.dpclidriver.DPCliDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver-class.html"
+     >TestON.drivers.common.cli.emulator.flowvisordriver.FlowVisorDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver-class.html"
+     >TestON.drivers.common.cli.emulator.lincoedriver.LincOEDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver-class.html"
      >TestON.drivers.common.cli.emulator.mininetclidriver.MininetCliDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver-class.html"
-     >TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html"
-     >TestON.drivers.common.cli.emulatordriver.Emulator</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver-class.html"
-     >TestON.drivers.common.cli.remotesys.hpswitchdriver.HPSwitchDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html"
-     >TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html"
+     >TestON.drivers.common.cli.emulator.poxclidriver.PoxCliDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver-class.html"
+     >TestON.drivers.common.cli.emulator.remotemininetdriver.RemoteMininetDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.emulatordriver.Emulator-class.html"
+     >TestON.drivers.common.cli.emulatordriver.Emulator</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.onosclidriver.OnosCliDriver-class.html"
+     >TestON.drivers.common.cli.onosclidriver.OnosCliDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.onosdriver.OnosDriver-class.html"
+     >TestON.drivers.common.cli.onosdriver.OnosDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver-class.html"
+     >TestON.drivers.common.cli.quaggaclidriver.QuaggaCliDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver-class.html"
+     >TestON.drivers.common.cli.remotesysdriver.RemoteSysDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver-class.html"
+     >TestON.drivers.common.cli.remotetestbed.floodlightclidriver.FloodLightCliDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC-class.html"
+     >TestON.drivers.common.cli.remotetestbed.necswitchdriver.NEC</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver-class.html"
+     >TestON.drivers.common.cli.remotetestbed.remotepoxdriver.RemotePoxDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver-class.html"
+     >TestON.drivers.common.cli.remotetestbed.remotevmdriver.RemoteVMDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver-class.html"
+     >TestON.drivers.common.cli.remotetestbeddriver.RemoteTestBedDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver-class.html"
      >TestON.drivers.common.cli.tool.dpctlclidriver.DpctlCliDriver</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.toolsdriver.Tools-class.html"
      >TestON.drivers.common.cli.toolsdriver.Tools</a><br />    <a target="mainFrame" href="TestON.drivers.common.clidriver.CLI-class.html"
-     >TestON.drivers.common.clidriver.CLI</a><br />    <a target="mainFrame" href="TestON.drivers.common.webdriver.WebDriver-class.html"
-     >TestON.drivers.common.webdriver.WebDriver</a><br />    <a target="mainFrame" href="TestON.drivers.component.Component-class.html"
-     >TestON.drivers.component.Component</a><br />    <a target="mainFrame" href="TestON.examples.Assert.Assert.Assert-class.html"
+     >TestON.drivers.common.clidriver.CLI</a><br />    <a target="mainFrame" href="TestON.examples.Assert.Assert.Assert-class.html"
      >TestON.examples.Assert.Assert.Assert</a><br />    <a target="mainFrame" href="TestON.examples.CaseParams.CaseParams.CaseParams-class.html"
      >TestON.examples.CaseParams.CaseParams.CaseParams</a><br />    <a target="mainFrame" href="TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest-class.html"
      >TestON.examples.ExperimentTest.ExperimentTest.ExperimentTest</a><br />    <a target="mainFrame" href="TestON.examples.StepParams.StepParams.StepParams-class.html"
      >TestON.examples.StepParams.StepParams.StepParams</a><br />    <a target="mainFrame" href="TestON.examples.Topology.Topology.Topology-class.html"
-     >TestON.examples.Topology.Topology.Topology</a><br />    <a target="mainFrame" href="TestON.tests.DpctlTest.DpctlTest.DpctlTest-class.html"
-     >TestON.tests.DpctlTest.DpctlTest.DpctlTest</a><br />    <a target="mainFrame" href="TestON.tests.FvtTest.FvtTest.FvtTest-class.html"
-     >TestON.tests.FvtTest.FvtTest.FvtTest</a><br />    <a target="mainFrame" href="TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest-class.html"
-     >TestON.tests.HPSwitchTest.HPSwitchTest.HPSwitchTest</a><br />    <a target="mainFrame" href="TestON.tests.MininetTest.MininetTest.MininetTest-class.html"
-     >TestON.tests.MininetTest.MininetTest.MininetTest</a><br />    <a target="mainFrame" href="TestON.tests.PoxTest.PoxTest.PoxTest-class.html"
-     >TestON.tests.PoxTest.PoxTest.PoxTest</a><br />    <a target="mainFrame" href="TestON.tests.TicketBooking.TicketBooking.TicketBooking-class.html"
-     >TestON.tests.TicketBooking.TicketBooking.TicketBooking</a><br />    <a target="mainFrame" href="TestON.tests.VyattaTest.VyattaTest.VyattaTest-class.html"
-     >TestON.tests.VyattaTest.VyattaTest.VyattaTest</a><br />  <h2 class="toc">All Functions</h2>
+     >TestON.examples.Topology.Topology.Topology</a><br />    <a target="mainFrame" href="TestON.tests.CHOtest.CHOtest.CHOtest-class.html"
+     >TestON.tests.CHOtest.CHOtest.CHOtest</a><br />    <a target="mainFrame" href="TestON.tests.FUNCintent.FUNCintent.FUNCintent-class.html"
+     >TestON.tests.FUNCintent.FUNCintent.FUNCintent</a><br />    <a target="mainFrame" href="TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart-class.html"
+     >TestON.tests.HAclusterRestart.HAclusterRestart.HAclusterRestart</a><br />    <a target="mainFrame" href="TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo-class.html"
+     >TestON.tests.HAclusterRestart.dependencies.obelisk.ObeliskTopo</a><br />    <a target="mainFrame" href="TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart-class.html"
+     >TestON.tests.HAminorityRestart.HAminorityRestart.HAminorityRestart</a><br />    <a target="mainFrame" href="TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo-class.html"
+     >TestON.tests.HAminorityRestart.dependencies.obelisk.ObeliskTopo</a><br />    <a target="mainFrame" href="TestON.tests.HAsanity.HAsanity.HAsanity-class.html"
+     >TestON.tests.HAsanity.HAsanity.HAsanity</a><br />    <a target="mainFrame" href="TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo-class.html"
+     >TestON.tests.HAsanity.dependencies.obelisk.ObeliskTopo</a><br />    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart-class.html"
+     >TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.HAsingleInstanceRestart</a><br />    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo-class.html"
+     >TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.ObeliskTopo</a><br />    <a target="mainFrame" href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo-class.html"
+     >TestON.tests.SAMPscaleTopo.SAMPscaleTopo.SAMPscaleTopo</a><br />    <a target="mainFrame" href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate-class.html"
+     >TestON.tests.SAMPstartTemplate.SAMPstartTemplate.SAMPstartTemplate</a><br />    <a target="mainFrame" href="TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench-class.html"
+     >TestON.tests.SCPFcbench.SCPFcbench.SCPFcbench</a><br />    <a target="mainFrame" href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g-class.html"
+     >TestON.tests.SCPFflowTp1g.SCPFflowTp1g.SCPFflowTp1g</a><br />    <a target="mainFrame" href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp-class.html"
+     >TestON.tests.SCPFintentEventTp.SCPFintentEventTp.SCPFintentEventTp</a><br />    <a target="mainFrame" href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-class.html"
+     >TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat</a><br />    <a target="mainFrame" href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat-class.html"
+     >TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.SCPFintentRerouteLat</a><br />    <a target="mainFrame" href="TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat-class.html"
+     >TestON.tests.SCPFportLat.SCPFportLat.SCPFportLat</a><br />    <a target="mainFrame" href="TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat-class.html"
+     >TestON.tests.SCPFswitchLat.SCPFswitchLat.SCPFswitchLat</a><br />  <h2 class="toc">All Functions</h2>
     <a target="mainFrame" href="TestON.bin.cli-module.html#dictToObj"
      >TestON.bin.cli.dictToObj</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#error"
      >TestON.bin.cli.error</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#output"
@@ -74,7 +101,8 @@
      >TestON.core.teston.load_parser</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyExample"
      >TestON.core.teston.verifyExample</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyLogdir"
      >TestON.core.teston.verifyLogdir</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyMail"
-     >TestON.core.teston.verifyMail</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyOptions"
+     >TestON.core.teston.verifyMail</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyOnosCell"
+     >TestON.core.teston.verifyOnosCell</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyOptions"
      >TestON.core.teston.verifyOptions</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyParams"
      >TestON.core.teston.verifyParams</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyTest"
      >TestON.core.teston.verifyTest</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#verifyTestCases"
@@ -115,19 +143,126 @@
     <a target="mainFrame" href="TestON.core.xmldict-module.html#dict_to_xml"
      >TestON.core.xmldict.dict_to_xml</a><br />    <a target="mainFrame" href="TestON.core.xmldict-module.html#xml_to_dict"
      >TestON.core.xmldict.xml_to_dict</a><br />    <a target="mainFrame" href="TestON.drivers.common.api.fvtapidriver-module.html#test_set_init"
-     >TestON.drivers.common.api.fvtapidriver.test_set_init</a><br />  <h2 class="toc">All Variables</h2>
-    <a target="mainFrame" href="TestON.bin.cli-module.html#dump"
+     >TestON.drivers.common.api.fvtapidriver.test_set_init</a><br />    <a target="mainFrame" href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__init__"
+     >TestON.tests.HAclusterRestart.dependencies.Counters.__init__</a><br />    <a target="mainFrame" href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html#counterCheck"
+     >TestON.tests.HAclusterRestart.dependencies.Counters.counterCheck</a><br />    <a target="mainFrame" href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#run"
+     >TestON.tests.HAclusterRestart.dependencies.obelisk.run</a><br />    <a target="mainFrame" href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__init__"
+     >TestON.tests.HAminorityRestart.dependencies.Counters.__init__</a><br />    <a target="mainFrame" href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html#counterCheck"
+     >TestON.tests.HAminorityRestart.dependencies.Counters.counterCheck</a><br />    <a target="mainFrame" href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#run"
+     >TestON.tests.HAminorityRestart.dependencies.obelisk.run</a><br />    <a target="mainFrame" href="TestON.tests.HAsanity.dependencies.Counters-module.html#__init__"
+     >TestON.tests.HAsanity.dependencies.Counters.__init__</a><br />    <a target="mainFrame" href="TestON.tests.HAsanity.dependencies.Counters-module.html#counterCheck"
+     >TestON.tests.HAsanity.dependencies.Counters.counterCheck</a><br />    <a target="mainFrame" href="TestON.tests.HAsanity.dependencies.obelisk-module.html#run"
+     >TestON.tests.HAsanity.dependencies.obelisk.run</a><br />    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__init__"
+     >TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__init__</a><br />    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#counterCheck"
+     >TestON.tests.HAsingleInstanceRestart.dependencies.Counters.counterCheck</a><br />    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#run"
+     >TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.run</a><br />  <h2 class="toc">All Variables</h2>
+    <a target="mainFrame" href="TestON-module.html#__package__"
+     >TestON.__package__</a><br />    <a target="mainFrame" href="TestON.bin-module.html#__package__"
+     >TestON.bin.__package__</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#__package__"
+     >TestON.bin.cli.__package__</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#config_path"
+     >TestON.bin.cli.config_path</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#core_path"
+     >TestON.bin.cli.core_path</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#drivers_path"
+     >TestON.bin.cli.drivers_path</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#dump"
      >TestON.bin.cli.dump</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#introduction"
-     >TestON.bin.cli.introduction</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#path"
-     >TestON.bin.cli.path</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#config_path"
+     >TestON.bin.cli.introduction</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#location"
+     >TestON.bin.cli.location</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#logs_path"
+     >TestON.bin.cli.logs_path</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#path"
+     >TestON.bin.cli.path</a><br />    <a target="mainFrame" href="TestON.bin.cli-module.html#tests_path"
+     >TestON.bin.cli.tests_path</a><br />    <a target="mainFrame" href="TestON.bin.generatedriver-module.html#__package__"
+     >TestON.bin.generatedriver.__package__</a><br />    <a target="mainFrame" href="TestON.bin.nec-module.html#__package__"
+     >TestON.bin.nec.__package__</a><br />    <a target="mainFrame" href="TestON.bin.updatedriver-module.html#__package__"
+     >TestON.bin.updatedriver.__package__</a><br />    <a target="mainFrame" href="TestON.bin.vyatta-module.html#__package__"
+     >TestON.bin.vyatta.__package__</a><br />    <a target="mainFrame" href="TestON.core.Thread-module.html#__package__"
+     >TestON.core.Thread.__package__</a><br />    <a target="mainFrame" href="TestON.core-module.html#__package__"
+     >TestON.core.__package__</a><br />    <a target="mainFrame" href="TestON.core.ast-module.html#PyCF_ONLY_AST"
+     >TestON.core.ast.PyCF_ONLY_AST</a><br />    <a target="mainFrame" href="TestON.core.ast-module.html#__package__"
+     >TestON.core.ast.__package__</a><br />    <a target="mainFrame" href="TestON.core.dicttoobject-module.html#__package__"
+     >TestON.core.dicttoobject.__package__</a><br />    <a target="mainFrame" href="TestON.core.iniparser-module.html#__package__"
+     >TestON.core.iniparser.__package__</a><br />    <a target="mainFrame" href="TestON.core.jsonparser-module.html#__package__"
+     >TestON.core.jsonparser.__package__</a><br />    <a target="mainFrame" href="TestON.core.logger-module.html#__package__"
+     >TestON.core.logger.__package__</a><br />    <a target="mainFrame" href="TestON.core.openspeak-module.html#__package__"
+     >TestON.core.openspeak.__package__</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#__package__"
+     >TestON.core.teston.__package__</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#config_path"
      >TestON.core.teston.config_path</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#core_path"
      >TestON.core.teston.core_path</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#drivers_path"
-     >TestON.core.teston.drivers_path</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#logs_path"
-     >TestON.core.teston.logs_path</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#module"
-     >TestON.core.teston.module</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#path"
+     >TestON.core.teston.drivers_path</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#location"
+     >TestON.core.teston.location</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#logs_path"
+     >TestON.core.teston.logs_path</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#path"
      >TestON.core.teston.path</a><br />    <a target="mainFrame" href="TestON.core.teston-module.html#tests_path"
-     >TestON.core.teston.tests_path</a><br />    <a target="mainFrame" href="TestON.drivers.common.api.fvtapidriver-module.html#config_default"
-     >TestON.drivers.common.api.fvtapidriver.config_default</a><br /><hr />
+     >TestON.core.teston.tests_path</a><br />    <a target="mainFrame" href="TestON.core.testparser-module.html#__package__"
+     >TestON.core.testparser.__package__</a><br />    <a target="mainFrame" href="TestON.core.xmldict-module.html#__package__"
+     >TestON.core.xmldict.__package__</a><br />    <a target="mainFrame" href="TestON.core.xmlparser-module.html#__package__"
+     >TestON.core.xmlparser.__package__</a><br />    <a target="mainFrame" href="TestON.drivers-module.html#__package__"
+     >TestON.drivers.__package__</a><br />    <a target="mainFrame" href="TestON.drivers.common-module.html#__package__"
+     >TestON.drivers.common.__package__</a><br />    <a target="mainFrame" href="TestON.drivers.common.api-module.html#__package__"
+     >TestON.drivers.common.api.__package__</a><br />    <a target="mainFrame" href="TestON.drivers.common.api.controller-module.html#__package__"
+     >TestON.drivers.common.api.controller.__package__</a><br />    <a target="mainFrame" href="TestON.drivers.common.api.fvtapidriver-module.html#config_default"
+     >TestON.drivers.common.api.fvtapidriver.config_default</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli-module.html#__package__"
+     >TestON.drivers.common.cli.__package__</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.emulator-module.html#__package__"
+     >TestON.drivers.common.cli.emulator.__package__</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.remotesys-module.html#__package__"
+     >TestON.drivers.common.cli.remotesys.__package__</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.remotetestbed-module.html#__package__"
+     >TestON.drivers.common.cli.remotetestbed.__package__</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html#__package__"
+     >TestON.drivers.common.cli.remotetestbed.necswitchdriver.__package__</a><br />    <a target="mainFrame" href="TestON.drivers.common.cli.tool-module.html#__package__"
+     >TestON.drivers.common.cli.tool.__package__</a><br />    <a target="mainFrame" href="TestON.examples.Assert.Assert-module.html#__package__"
+     >TestON.examples.Assert.Assert.__package__</a><br />    <a target="mainFrame" href="TestON.examples.Assert-module.html#__package__"
+     >TestON.examples.Assert.__package__</a><br />    <a target="mainFrame" href="TestON.examples.CaseParams.CaseParams-module.html#__package__"
+     >TestON.examples.CaseParams.CaseParams.__package__</a><br />    <a target="mainFrame" href="TestON.examples.CaseParams-module.html#__package__"
+     >TestON.examples.CaseParams.__package__</a><br />    <a target="mainFrame" href="TestON.examples.ExperimentTest.ExperimentTest-module.html#__package__"
+     >TestON.examples.ExperimentTest.ExperimentTest.__package__</a><br />    <a target="mainFrame" href="TestON.examples.ExperimentTest-module.html#__package__"
+     >TestON.examples.ExperimentTest.__package__</a><br />    <a target="mainFrame" href="TestON.examples.StepParams.StepParams-module.html#__package__"
+     >TestON.examples.StepParams.StepParams.__package__</a><br />    <a target="mainFrame" href="TestON.examples.StepParams-module.html#__package__"
+     >TestON.examples.StepParams.__package__</a><br />    <a target="mainFrame" href="TestON.examples.Topology.Topology-module.html#__package__"
+     >TestON.examples.Topology.Topology.__package__</a><br />    <a target="mainFrame" href="TestON.examples.Topology-module.html#__package__"
+     >TestON.examples.Topology.__package__</a><br />    <a target="mainFrame" href="TestON.examples-module.html#__package__"
+     >TestON.examples.__package__</a><br />    <a target="mainFrame" href="TestON.lib-module.html#__package__"
+     >TestON.lib.__package__</a><br />    <a target="mainFrame" href="TestON.tests.CHOtest.CHOtest-module.html#__package__"
+     >TestON.tests.CHOtest.CHOtest.__package__</a><br />    <a target="mainFrame" href="TestON.tests.CHOtest-module.html#__package__"
+     >TestON.tests.CHOtest.__package__</a><br />    <a target="mainFrame" href="TestON.tests.FUNCintent.FUNCintent-module.html#__package__"
+     >TestON.tests.FUNCintent.FUNCintent.__package__</a><br />    <a target="mainFrame" href="TestON.tests.FUNCintent-module.html#__package__"
+     >TestON.tests.FUNCintent.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAclusterRestart.HAclusterRestart-module.html#__package__"
+     >TestON.tests.HAclusterRestart.HAclusterRestart.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAclusterRestart-module.html#__package__"
+     >TestON.tests.HAclusterRestart.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAclusterRestart.dependencies.Counters-module.html#__package__"
+     >TestON.tests.HAclusterRestart.dependencies.Counters.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAclusterRestart.dependencies-module.html#__package__"
+     >TestON.tests.HAclusterRestart.dependencies.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#__package__"
+     >TestON.tests.HAclusterRestart.dependencies.obelisk.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAclusterRestart.dependencies.obelisk-module.html#topos"
+     >TestON.tests.HAclusterRestart.dependencies.obelisk.topos</a><br />    <a target="mainFrame" href="TestON.tests.HAminorityRestart.HAminorityRestart-module.html#__package__"
+     >TestON.tests.HAminorityRestart.HAminorityRestart.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAminorityRestart-module.html#__package__"
+     >TestON.tests.HAminorityRestart.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAminorityRestart.dependencies.Counters-module.html#__package__"
+     >TestON.tests.HAminorityRestart.dependencies.Counters.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAminorityRestart.dependencies-module.html#__package__"
+     >TestON.tests.HAminorityRestart.dependencies.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#__package__"
+     >TestON.tests.HAminorityRestart.dependencies.obelisk.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAminorityRestart.dependencies.obelisk-module.html#topos"
+     >TestON.tests.HAminorityRestart.dependencies.obelisk.topos</a><br />    <a target="mainFrame" href="TestON.tests.HAsanity.HAsanity-module.html#__package__"
+     >TestON.tests.HAsanity.HAsanity.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAsanity-module.html#__package__"
+     >TestON.tests.HAsanity.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAsanity.dependencies.Counters-module.html#__package__"
+     >TestON.tests.HAsanity.dependencies.Counters.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAsanity.dependencies-module.html#__package__"
+     >TestON.tests.HAsanity.dependencies.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAsanity.dependencies.obelisk-module.html#__package__"
+     >TestON.tests.HAsanity.dependencies.obelisk.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAsanity.dependencies.obelisk-module.html#topos"
+     >TestON.tests.HAsanity.dependencies.obelisk.topos</a><br />    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html#__package__"
+     >TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart-module.html#__package__"
+     >TestON.tests.HAsingleInstanceRestart.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html#__package__"
+     >TestON.tests.HAsingleInstanceRestart.dependencies.Counters.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.dependencies-module.html#__package__"
+     >TestON.tests.HAsingleInstanceRestart.dependencies.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#__package__"
+     >TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.__package__</a><br />    <a target="mainFrame" href="TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html#topos"
+     >TestON.tests.HAsingleInstanceRestart.dependencies.obelisk.topos</a><br />    <a target="mainFrame" href="TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html#__package__"
+     >TestON.tests.SAMPscaleTopo.SAMPscaleTopo.__package__</a><br />    <a target="mainFrame" href="TestON.tests.SAMPscaleTopo-module.html#__package__"
+     >TestON.tests.SAMPscaleTopo.__package__</a><br />    <a target="mainFrame" href="TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html#__package__"
+     >TestON.tests.SAMPstartTemplate.SAMPstartTemplate.__package__</a><br />    <a target="mainFrame" href="TestON.tests.SAMPstartTemplate-module.html#__package__"
+     >TestON.tests.SAMPstartTemplate.__package__</a><br />    <a target="mainFrame" href="TestON.tests.SCPFcbench.SCPFcbench-module.html#__package__"
+     >TestON.tests.SCPFcbench.SCPFcbench.__package__</a><br />    <a target="mainFrame" href="TestON.tests.SCPFcbench-module.html#__package__"
+     >TestON.tests.SCPFcbench.__package__</a><br />    <a target="mainFrame" href="TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html#__package__"
+     >TestON.tests.SCPFflowTp1g.SCPFflowTp1g.__package__</a><br />    <a target="mainFrame" href="TestON.tests.SCPFflowTp1g-module.html#__package__"
+     >TestON.tests.SCPFflowTp1g.__package__</a><br />    <a target="mainFrame" href="TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html#__package__"
+     >TestON.tests.SCPFintentEventTp.SCPFintentEventTp.__package__</a><br />    <a target="mainFrame" href="TestON.tests.SCPFintentEventTp-module.html#__package__"
+     >TestON.tests.SCPFintentEventTp.__package__</a><br />    <a target="mainFrame" href="TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html#__package__"
+     >TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat.__package__</a><br />    <a target="mainFrame" href="TestON.tests.SCPFintentInstallWithdrawLat-module.html#__package__"
+     >TestON.tests.SCPFintentInstallWithdrawLat.__package__</a><br />    <a target="mainFrame" href="TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html#__package__"
+     >TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat.__package__</a><br />    <a target="mainFrame" href="TestON.tests.SCPFintentRerouteLat-module.html#__package__"
+     >TestON.tests.SCPFintentRerouteLat.__package__</a><br />    <a target="mainFrame" href="TestON.tests.SCPFportLat.SCPFportLat-module.html#__package__"
+     >TestON.tests.SCPFportLat.SCPFportLat.__package__</a><br />    <a target="mainFrame" href="TestON.tests.SCPFportLat-module.html#__package__"
+     >TestON.tests.SCPFportLat.__package__</a><br />    <a target="mainFrame" href="TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html#__package__"
+     >TestON.tests.SCPFswitchLat.SCPFswitchLat.__package__</a><br />    <a target="mainFrame" href="TestON.tests.SCPFswitchLat-module.html#__package__"
+     >TestON.tests.SCPFswitchLat.__package__</a><br />    <a target="mainFrame" href="TestON.tests-module.html#__package__"
+     >TestON.tests.__package__</a><br /><hr />
 <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>
 
diff --git a/TestON/Documentation/TestON_Document/toc.html b/TestON/Documentation/TestON_Document/toc.html
index 25ee985..3f54aab 100644
--- a/TestON/Documentation/TestON_Document/toc.html
+++ b/TestON/Documentation/TestON_Document/toc.html
@@ -19,12 +19,16 @@
      onclick="setFrame('toc-TestON-module.html','TestON-module.html');"     >TestON</a><br />    <a target="moduleFrame" href="toc-TestON.bin-module.html"
      onclick="setFrame('toc-TestON.bin-module.html','TestON.bin-module.html');"     >TestON.bin</a><br />    <a target="moduleFrame" href="toc-TestON.bin.cli-module.html"
      onclick="setFrame('toc-TestON.bin.cli-module.html','TestON.bin.cli-module.html');"     >TestON.bin.cli</a><br />    <a target="moduleFrame" href="toc-TestON.bin.generatedriver-module.html"
-     onclick="setFrame('toc-TestON.bin.generatedriver-module.html','TestON.bin.generatedriver-module.html');"     >TestON.bin.generatedriver</a><br />    <a target="moduleFrame" href="toc-TestON.bin.updatedriver-module.html"
+     onclick="setFrame('toc-TestON.bin.generatedriver-module.html','TestON.bin.generatedriver-module.html');"     >TestON.bin.generatedriver</a><br />    <a target="moduleFrame" href="toc-TestON.bin.nec-module.html"
+     onclick="setFrame('toc-TestON.bin.nec-module.html','TestON.bin.nec-module.html');"     >TestON.bin.nec</a><br />    <a target="moduleFrame" href="toc-TestON.bin.updatedriver-module.html"
      onclick="setFrame('toc-TestON.bin.updatedriver-module.html','TestON.bin.updatedriver-module.html');"     >TestON.bin.updatedriver</a><br />    <a target="moduleFrame" href="toc-TestON.bin.vyatta-module.html"
      onclick="setFrame('toc-TestON.bin.vyatta-module.html','TestON.bin.vyatta-module.html');"     >TestON.bin.vyatta</a><br />    <a target="moduleFrame" href="toc-TestON.core-module.html"
-     onclick="setFrame('toc-TestON.core-module.html','TestON.core-module.html');"     >TestON.core</a><br />    <a target="moduleFrame" href="toc-TestON.core.ast-module.html"
-     onclick="setFrame('toc-TestON.core.ast-module.html','TestON.core.ast-module.html');"     >TestON.core.ast</a><br />    <a target="moduleFrame" href="toc-TestON.core.iniparser-module.html"
-     onclick="setFrame('toc-TestON.core.iniparser-module.html','TestON.core.iniparser-module.html');"     >TestON.core.iniparser</a><br />    <a target="moduleFrame" href="toc-TestON.core.logger-module.html"
+     onclick="setFrame('toc-TestON.core-module.html','TestON.core-module.html');"     >TestON.core</a><br />    <a target="moduleFrame" href="toc-TestON.core.Thread-module.html"
+     onclick="setFrame('toc-TestON.core.Thread-module.html','TestON.core.Thread-module.html');"     >TestON.core.Thread</a><br />    <a target="moduleFrame" href="toc-TestON.core.ast-module.html"
+     onclick="setFrame('toc-TestON.core.ast-module.html','TestON.core.ast-module.html');"     >TestON.core.ast</a><br />    <a target="moduleFrame" href="toc-TestON.core.dicttoobject-module.html"
+     onclick="setFrame('toc-TestON.core.dicttoobject-module.html','TestON.core.dicttoobject-module.html');"     >TestON.core.dicttoobject</a><br />    <a target="moduleFrame" href="toc-TestON.core.iniparser-module.html"
+     onclick="setFrame('toc-TestON.core.iniparser-module.html','TestON.core.iniparser-module.html');"     >TestON.core.iniparser</a><br />    <a target="moduleFrame" href="toc-TestON.core.jsonparser-module.html"
+     onclick="setFrame('toc-TestON.core.jsonparser-module.html','TestON.core.jsonparser-module.html');"     >TestON.core.jsonparser</a><br />    <a target="moduleFrame" href="toc-TestON.core.logger-module.html"
      onclick="setFrame('toc-TestON.core.logger-module.html','TestON.core.logger-module.html');"     >TestON.core.logger</a><br />    <a target="moduleFrame" href="toc-TestON.core.openspeak-module.html"
      onclick="setFrame('toc-TestON.core.openspeak-module.html','TestON.core.openspeak-module.html');"     >TestON.core.openspeak</a><br />    <a target="moduleFrame" href="toc-TestON.core.teston-module.html"
      onclick="setFrame('toc-TestON.core.teston-module.html','TestON.core.teston-module.html');"     >TestON.core.teston</a><br />    <a target="moduleFrame" href="toc-TestON.core.testparser-module.html"
@@ -34,23 +38,35 @@
      onclick="setFrame('toc-TestON.drivers-module.html','TestON.drivers-module.html');"     >TestON.drivers</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common-module.html"
      onclick="setFrame('toc-TestON.drivers.common-module.html','TestON.drivers.common-module.html');"     >TestON.drivers.common</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.api-module.html"
      onclick="setFrame('toc-TestON.drivers.common.api-module.html','TestON.drivers.common.api-module.html');"     >TestON.drivers.common.api</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.api.controller-module.html"
-     onclick="setFrame('toc-TestON.drivers.common.api.controller-module.html','TestON.drivers.common.api.controller-module.html');"     >TestON.drivers.common.api.controller</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.api.controllerdriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.api.controller-module.html','TestON.drivers.common.api.controller-module.html');"     >TestON.drivers.common.api.controller</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.api.controller.onosrestdriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.api.controller.onosrestdriver-module.html','TestON.drivers.common.api.controller.onosrestdriver-module.html');"     >TestON.drivers.common.api.controller.onosrestdriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.api.controllerdriver-module.html"
      onclick="setFrame('toc-TestON.drivers.common.api.controllerdriver-module.html','TestON.drivers.common.api.controllerdriver-module.html');"     >TestON.drivers.common.api.controllerdriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.api.fvtapidriver-module.html"
-     onclick="setFrame('toc-TestON.drivers.common.api.fvtapidriver-module.html','TestON.drivers.common.api.fvtapidriver-module.html');"     >TestON.drivers.common.api.fvtapidriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli-module.html"
-     onclick="setFrame('toc-TestON.drivers.common.cli-module.html','TestON.drivers.common.cli-module.html');"     >TestON.drivers.common.cli</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.emulator-module.html"
-     onclick="setFrame('toc-TestON.drivers.common.cli.emulator-module.html','TestON.drivers.common.cli.emulator-module.html');"     >TestON.drivers.common.cli.emulator</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.emulator.mininetclidriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.api.fvtapidriver-module.html','TestON.drivers.common.api.fvtapidriver-module.html');"     >TestON.drivers.common.api.fvtapidriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.apidriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.apidriver-module.html','TestON.drivers.common.apidriver-module.html');"     >TestON.drivers.common.apidriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli-module.html','TestON.drivers.common.cli-module.html');"     >TestON.drivers.common.cli</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.dpclidriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.dpclidriver-module.html','TestON.drivers.common.cli.dpclidriver-module.html');"     >TestON.drivers.common.cli.dpclidriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.emulator-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.emulator-module.html','TestON.drivers.common.cli.emulator-module.html');"     >TestON.drivers.common.cli.emulator</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.emulator.flowvisordriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.emulator.flowvisordriver-module.html','TestON.drivers.common.cli.emulator.flowvisordriver-module.html');"     >TestON.drivers.common.cli.emulator.flowvisordriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.emulator.lincoedriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.emulator.lincoedriver-module.html','TestON.drivers.common.cli.emulator.lincoedriver-module.html');"     >TestON.drivers.common.cli.emulator.lincoedriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.emulator.mininetclidriver-module.html"
      onclick="setFrame('toc-TestON.drivers.common.cli.emulator.mininetclidriver-module.html','TestON.drivers.common.cli.emulator.mininetclidriver-module.html');"     >TestON.drivers.common.cli.emulator.mininetclidriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.emulator.poxclidriver-module.html"
-     onclick="setFrame('toc-TestON.drivers.common.cli.emulator.poxclidriver-module.html','TestON.drivers.common.cli.emulator.poxclidriver-module.html');"     >TestON.drivers.common.cli.emulator.poxclidriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.emulatordriver-module.html"
-     onclick="setFrame('toc-TestON.drivers.common.cli.emulatordriver-module.html','TestON.drivers.common.cli.emulatordriver-module.html');"     >TestON.drivers.common.cli.emulatordriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.remotesys-module.html"
-     onclick="setFrame('toc-TestON.drivers.common.cli.remotesys-module.html','TestON.drivers.common.cli.remotesys-module.html');"     >TestON.drivers.common.cli.remotesys</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html"
-     onclick="setFrame('toc-TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html','TestON.drivers.common.cli.remotesys.hpswitchdriver-module.html');"     >TestON.drivers.common.cli.remotesys.hpswitchdriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.remotesysdriver-module.html"
-     onclick="setFrame('toc-TestON.drivers.common.cli.remotesysdriver-module.html','TestON.drivers.common.cli.remotesysdriver-module.html');"     >TestON.drivers.common.cli.remotesysdriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.tool-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.emulator.poxclidriver-module.html','TestON.drivers.common.cli.emulator.poxclidriver-module.html');"     >TestON.drivers.common.cli.emulator.poxclidriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.emulator.remotemininetdriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.emulator.remotemininetdriver-module.html','TestON.drivers.common.cli.emulator.remotemininetdriver-module.html');"     >TestON.drivers.common.cli.emulator.remotemininetdriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.emulatordriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.emulatordriver-module.html','TestON.drivers.common.cli.emulatordriver-module.html');"     >TestON.drivers.common.cli.emulatordriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.onosclidriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.onosclidriver-module.html','TestON.drivers.common.cli.onosclidriver-module.html');"     >TestON.drivers.common.cli.onosclidriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.onosdriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.onosdriver-module.html','TestON.drivers.common.cli.onosdriver-module.html');"     >TestON.drivers.common.cli.onosdriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.quaggaclidriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.quaggaclidriver-module.html','TestON.drivers.common.cli.quaggaclidriver-module.html');"     >TestON.drivers.common.cli.quaggaclidriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.remotesys-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.remotesys-module.html','TestON.drivers.common.cli.remotesys-module.html');"     >TestON.drivers.common.cli.remotesys</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.remotesysdriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.remotesysdriver-module.html','TestON.drivers.common.cli.remotesysdriver-module.html');"     >TestON.drivers.common.cli.remotesysdriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.remotetestbed-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.remotetestbed-module.html','TestON.drivers.common.cli.remotetestbed-module.html');"     >TestON.drivers.common.cli.remotetestbed</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html','TestON.drivers.common.cli.remotetestbed.floodlightclidriver-module.html');"     >TestON.drivers.common.cli.remotetestbed.floodlightclidriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html','TestON.drivers.common.cli.remotetestbed.necswitchdriver-module.html');"     >TestON.drivers.common.cli.remotetestbed.necswitchdriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html','TestON.drivers.common.cli.remotetestbed.remotepoxdriver-module.html');"     >TestON.drivers.common.cli.remotetestbed.remotepoxdriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html','TestON.drivers.common.cli.remotetestbed.remotevmdriver-module.html');"     >TestON.drivers.common.cli.remotetestbed.remotevmdriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.remotetestbeddriver-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.cli.remotetestbeddriver-module.html','TestON.drivers.common.cli.remotetestbeddriver-module.html');"     >TestON.drivers.common.cli.remotetestbeddriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.tool-module.html"
      onclick="setFrame('toc-TestON.drivers.common.cli.tool-module.html','TestON.drivers.common.cli.tool-module.html');"     >TestON.drivers.common.cli.tool</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.tool.dpctlclidriver-module.html"
      onclick="setFrame('toc-TestON.drivers.common.cli.tool.dpctlclidriver-module.html','TestON.drivers.common.cli.tool.dpctlclidriver-module.html');"     >TestON.drivers.common.cli.tool.dpctlclidriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.cli.toolsdriver-module.html"
      onclick="setFrame('toc-TestON.drivers.common.cli.toolsdriver-module.html','TestON.drivers.common.cli.toolsdriver-module.html');"     >TestON.drivers.common.cli.toolsdriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.clidriver-module.html"
-     onclick="setFrame('toc-TestON.drivers.common.clidriver-module.html','TestON.drivers.common.clidriver-module.html');"     >TestON.drivers.common.clidriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.common.webdriver-module.html"
-     onclick="setFrame('toc-TestON.drivers.common.webdriver-module.html','TestON.drivers.common.webdriver-module.html');"     >TestON.drivers.common.webdriver</a><br />    <a target="moduleFrame" href="toc-TestON.drivers.component-module.html"
-     onclick="setFrame('toc-TestON.drivers.component-module.html','TestON.drivers.component-module.html');"     >TestON.drivers.component</a><br />    <a target="moduleFrame" href="toc-TestON.examples-module.html"
+     onclick="setFrame('toc-TestON.drivers.common.clidriver-module.html','TestON.drivers.common.clidriver-module.html');"     >TestON.drivers.common.clidriver</a><br />    <a target="moduleFrame" href="toc-TestON.examples-module.html"
      onclick="setFrame('toc-TestON.examples-module.html','TestON.examples-module.html');"     >TestON.examples</a><br />    <a target="moduleFrame" href="toc-TestON.examples.Assert-module.html"
      onclick="setFrame('toc-TestON.examples.Assert-module.html','TestON.examples.Assert-module.html');"     >TestON.examples.Assert</a><br />    <a target="moduleFrame" href="toc-TestON.examples.Assert.Assert-module.html"
      onclick="setFrame('toc-TestON.examples.Assert.Assert-module.html','TestON.examples.Assert.Assert-module.html');"     >TestON.examples.Assert.Assert</a><br />    <a target="moduleFrame" href="toc-TestON.examples.CaseParams-module.html"
@@ -63,21 +79,49 @@
      onclick="setFrame('toc-TestON.examples.Topology-module.html','TestON.examples.Topology-module.html');"     >TestON.examples.Topology</a><br />    <a target="moduleFrame" href="toc-TestON.examples.Topology.Topology-module.html"
      onclick="setFrame('toc-TestON.examples.Topology.Topology-module.html','TestON.examples.Topology.Topology-module.html');"     >TestON.examples.Topology.Topology</a><br />    <a target="moduleFrame" href="toc-TestON.lib-module.html"
      onclick="setFrame('toc-TestON.lib-module.html','TestON.lib-module.html');"     >TestON.lib</a><br />    <a target="moduleFrame" href="toc-TestON.tests-module.html"
-     onclick="setFrame('toc-TestON.tests-module.html','TestON.tests-module.html');"     >TestON.tests</a><br />    <a target="moduleFrame" href="toc-TestON.tests.DpctlTest-module.html"
-     onclick="setFrame('toc-TestON.tests.DpctlTest-module.html','TestON.tests.DpctlTest-module.html');"     >TestON.tests.DpctlTest</a><br />    <a target="moduleFrame" href="toc-TestON.tests.DpctlTest.DpctlTest-module.html"
-     onclick="setFrame('toc-TestON.tests.DpctlTest.DpctlTest-module.html','TestON.tests.DpctlTest.DpctlTest-module.html');"     >TestON.tests.DpctlTest.DpctlTest</a><br />    <a target="moduleFrame" href="toc-TestON.tests.FvtTest-module.html"
-     onclick="setFrame('toc-TestON.tests.FvtTest-module.html','TestON.tests.FvtTest-module.html');"     >TestON.tests.FvtTest</a><br />    <a target="moduleFrame" href="toc-TestON.tests.FvtTest.FvtTest-module.html"
-     onclick="setFrame('toc-TestON.tests.FvtTest.FvtTest-module.html','TestON.tests.FvtTest.FvtTest-module.html');"     >TestON.tests.FvtTest.FvtTest</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HPSwitchTest-module.html"
-     onclick="setFrame('toc-TestON.tests.HPSwitchTest-module.html','TestON.tests.HPSwitchTest-module.html');"     >TestON.tests.HPSwitchTest</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HPSwitchTest.HPSwitchTest-module.html"
-     onclick="setFrame('toc-TestON.tests.HPSwitchTest.HPSwitchTest-module.html','TestON.tests.HPSwitchTest.HPSwitchTest-module.html');"     >TestON.tests.HPSwitchTest.HPSwitchTest</a><br />    <a target="moduleFrame" href="toc-TestON.tests.MininetTest-module.html"
-     onclick="setFrame('toc-TestON.tests.MininetTest-module.html','TestON.tests.MininetTest-module.html');"     >TestON.tests.MininetTest</a><br />    <a target="moduleFrame" href="toc-TestON.tests.MininetTest.MininetTest-module.html"
-     onclick="setFrame('toc-TestON.tests.MininetTest.MininetTest-module.html','TestON.tests.MininetTest.MininetTest-module.html');"     >TestON.tests.MininetTest.MininetTest</a><br />    <a target="moduleFrame" href="toc-TestON.tests.PoxTest-module.html"
-     onclick="setFrame('toc-TestON.tests.PoxTest-module.html','TestON.tests.PoxTest-module.html');"     >TestON.tests.PoxTest</a><br />    <a target="moduleFrame" href="toc-TestON.tests.PoxTest.PoxTest-module.html"
-     onclick="setFrame('toc-TestON.tests.PoxTest.PoxTest-module.html','TestON.tests.PoxTest.PoxTest-module.html');"     >TestON.tests.PoxTest.PoxTest</a><br />    <a target="moduleFrame" href="toc-TestON.tests.TicketBooking-module.html"
-     onclick="setFrame('toc-TestON.tests.TicketBooking-module.html','TestON.tests.TicketBooking-module.html');"     >TestON.tests.TicketBooking</a><br />    <a target="moduleFrame" href="toc-TestON.tests.TicketBooking.TicketBooking-module.html"
-     onclick="setFrame('toc-TestON.tests.TicketBooking.TicketBooking-module.html','TestON.tests.TicketBooking.TicketBooking-module.html');"     >TestON.tests.TicketBooking.TicketBooking</a><br />    <a target="moduleFrame" href="toc-TestON.tests.VyattaTest-module.html"
-     onclick="setFrame('toc-TestON.tests.VyattaTest-module.html','TestON.tests.VyattaTest-module.html');"     >TestON.tests.VyattaTest</a><br />    <a target="moduleFrame" href="toc-TestON.tests.VyattaTest.VyattaTest-module.html"
-     onclick="setFrame('toc-TestON.tests.VyattaTest.VyattaTest-module.html','TestON.tests.VyattaTest.VyattaTest-module.html');"     >TestON.tests.VyattaTest.VyattaTest</a><br /><hr />
+     onclick="setFrame('toc-TestON.tests-module.html','TestON.tests-module.html');"     >TestON.tests</a><br />    <a target="moduleFrame" href="toc-TestON.tests.CHOtest-module.html"
+     onclick="setFrame('toc-TestON.tests.CHOtest-module.html','TestON.tests.CHOtest-module.html');"     >TestON.tests.CHOtest</a><br />    <a target="moduleFrame" href="toc-TestON.tests.CHOtest.CHOtest-module.html"
+     onclick="setFrame('toc-TestON.tests.CHOtest.CHOtest-module.html','TestON.tests.CHOtest.CHOtest-module.html');"     >TestON.tests.CHOtest.CHOtest</a><br />    <a target="moduleFrame" href="toc-TestON.tests.FUNCintent-module.html"
+     onclick="setFrame('toc-TestON.tests.FUNCintent-module.html','TestON.tests.FUNCintent-module.html');"     >TestON.tests.FUNCintent</a><br />    <a target="moduleFrame" href="toc-TestON.tests.FUNCintent.FUNCintent-module.html"
+     onclick="setFrame('toc-TestON.tests.FUNCintent.FUNCintent-module.html','TestON.tests.FUNCintent.FUNCintent-module.html');"     >TestON.tests.FUNCintent.FUNCintent</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAclusterRestart-module.html"
+     onclick="setFrame('toc-TestON.tests.HAclusterRestart-module.html','TestON.tests.HAclusterRestart-module.html');"     >TestON.tests.HAclusterRestart</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAclusterRestart.HAclusterRestart-module.html"
+     onclick="setFrame('toc-TestON.tests.HAclusterRestart.HAclusterRestart-module.html','TestON.tests.HAclusterRestart.HAclusterRestart-module.html');"     >TestON.tests.HAclusterRestart.HAclusterRestart</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAclusterRestart.dependencies-module.html"
+     onclick="setFrame('toc-TestON.tests.HAclusterRestart.dependencies-module.html','TestON.tests.HAclusterRestart.dependencies-module.html');"     >TestON.tests.HAclusterRestart.dependencies</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAclusterRestart.dependencies.Counters-module.html"
+     onclick="setFrame('toc-TestON.tests.HAclusterRestart.dependencies.Counters-module.html','TestON.tests.HAclusterRestart.dependencies.Counters-module.html');"     >TestON.tests.HAclusterRestart.dependencies.Counters</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAclusterRestart.dependencies.obelisk-module.html"
+     onclick="setFrame('toc-TestON.tests.HAclusterRestart.dependencies.obelisk-module.html','TestON.tests.HAclusterRestart.dependencies.obelisk-module.html');"     >TestON.tests.HAclusterRestart.dependencies.obelisk</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAminorityRestart-module.html"
+     onclick="setFrame('toc-TestON.tests.HAminorityRestart-module.html','TestON.tests.HAminorityRestart-module.html');"     >TestON.tests.HAminorityRestart</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAminorityRestart.HAminorityRestart-module.html"
+     onclick="setFrame('toc-TestON.tests.HAminorityRestart.HAminorityRestart-module.html','TestON.tests.HAminorityRestart.HAminorityRestart-module.html');"     >TestON.tests.HAminorityRestart.HAminorityRestart</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAminorityRestart.dependencies-module.html"
+     onclick="setFrame('toc-TestON.tests.HAminorityRestart.dependencies-module.html','TestON.tests.HAminorityRestart.dependencies-module.html');"     >TestON.tests.HAminorityRestart.dependencies</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAminorityRestart.dependencies.Counters-module.html"
+     onclick="setFrame('toc-TestON.tests.HAminorityRestart.dependencies.Counters-module.html','TestON.tests.HAminorityRestart.dependencies.Counters-module.html');"     >TestON.tests.HAminorityRestart.dependencies.Counters</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAminorityRestart.dependencies.obelisk-module.html"
+     onclick="setFrame('toc-TestON.tests.HAminorityRestart.dependencies.obelisk-module.html','TestON.tests.HAminorityRestart.dependencies.obelisk-module.html');"     >TestON.tests.HAminorityRestart.dependencies.obelisk</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAsanity-module.html"
+     onclick="setFrame('toc-TestON.tests.HAsanity-module.html','TestON.tests.HAsanity-module.html');"     >TestON.tests.HAsanity</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAsanity.HAsanity-module.html"
+     onclick="setFrame('toc-TestON.tests.HAsanity.HAsanity-module.html','TestON.tests.HAsanity.HAsanity-module.html');"     >TestON.tests.HAsanity.HAsanity</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAsanity.dependencies-module.html"
+     onclick="setFrame('toc-TestON.tests.HAsanity.dependencies-module.html','TestON.tests.HAsanity.dependencies-module.html');"     >TestON.tests.HAsanity.dependencies</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAsanity.dependencies.Counters-module.html"
+     onclick="setFrame('toc-TestON.tests.HAsanity.dependencies.Counters-module.html','TestON.tests.HAsanity.dependencies.Counters-module.html');"     >TestON.tests.HAsanity.dependencies.Counters</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAsanity.dependencies.obelisk-module.html"
+     onclick="setFrame('toc-TestON.tests.HAsanity.dependencies.obelisk-module.html','TestON.tests.HAsanity.dependencies.obelisk-module.html');"     >TestON.tests.HAsanity.dependencies.obelisk</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAsingleInstanceRestart-module.html"
+     onclick="setFrame('toc-TestON.tests.HAsingleInstanceRestart-module.html','TestON.tests.HAsingleInstanceRestart-module.html');"     >TestON.tests.HAsingleInstanceRestart</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html"
+     onclick="setFrame('toc-TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html','TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart-module.html');"     >TestON.tests.HAsingleInstanceRestart.HAsingleInstanceRestart</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAsingleInstanceRestart.dependencies-module.html"
+     onclick="setFrame('toc-TestON.tests.HAsingleInstanceRestart.dependencies-module.html','TestON.tests.HAsingleInstanceRestart.dependencies-module.html');"     >TestON.tests.HAsingleInstanceRestart.dependencies</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html"
+     onclick="setFrame('toc-TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html','TestON.tests.HAsingleInstanceRestart.dependencies.Counters-module.html');"     >TestON.tests.HAsingleInstanceRestart.dependencies.Counters</a><br />    <a target="moduleFrame" href="toc-TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html"
+     onclick="setFrame('toc-TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html','TestON.tests.HAsingleInstanceRestart.dependencies.obelisk-module.html');"     >TestON.tests.HAsingleInstanceRestart.dependencies.obelisk</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SAMPscaleTopo-module.html"
+     onclick="setFrame('toc-TestON.tests.SAMPscaleTopo-module.html','TestON.tests.SAMPscaleTopo-module.html');"     >TestON.tests.SAMPscaleTopo</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html"
+     onclick="setFrame('toc-TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html','TestON.tests.SAMPscaleTopo.SAMPscaleTopo-module.html');"     >TestON.tests.SAMPscaleTopo.SAMPscaleTopo</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SAMPstartTemplate-module.html"
+     onclick="setFrame('toc-TestON.tests.SAMPstartTemplate-module.html','TestON.tests.SAMPstartTemplate-module.html');"     >TestON.tests.SAMPstartTemplate</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html"
+     onclick="setFrame('toc-TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html','TestON.tests.SAMPstartTemplate.SAMPstartTemplate-module.html');"     >TestON.tests.SAMPstartTemplate.SAMPstartTemplate</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SCPFcbench-module.html"
+     onclick="setFrame('toc-TestON.tests.SCPFcbench-module.html','TestON.tests.SCPFcbench-module.html');"     >TestON.tests.SCPFcbench</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SCPFcbench.SCPFcbench-module.html"
+     onclick="setFrame('toc-TestON.tests.SCPFcbench.SCPFcbench-module.html','TestON.tests.SCPFcbench.SCPFcbench-module.html');"     >TestON.tests.SCPFcbench.SCPFcbench</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SCPFflowTp1g-module.html"
+     onclick="setFrame('toc-TestON.tests.SCPFflowTp1g-module.html','TestON.tests.SCPFflowTp1g-module.html');"     >TestON.tests.SCPFflowTp1g</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html"
+     onclick="setFrame('toc-TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html','TestON.tests.SCPFflowTp1g.SCPFflowTp1g-module.html');"     >TestON.tests.SCPFflowTp1g.SCPFflowTp1g</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SCPFintentEventTp-module.html"
+     onclick="setFrame('toc-TestON.tests.SCPFintentEventTp-module.html','TestON.tests.SCPFintentEventTp-module.html');"     >TestON.tests.SCPFintentEventTp</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html"
+     onclick="setFrame('toc-TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html','TestON.tests.SCPFintentEventTp.SCPFintentEventTp-module.html');"     >TestON.tests.SCPFintentEventTp.SCPFintentEventTp</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SCPFintentInstallWithdrawLat-module.html"
+     onclick="setFrame('toc-TestON.tests.SCPFintentInstallWithdrawLat-module.html','TestON.tests.SCPFintentInstallWithdrawLat-module.html');"     >TestON.tests.SCPFintentInstallWithdrawLat</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html"
+     onclick="setFrame('toc-TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html','TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat-module.html');"     >TestON.tests.SCPFintentInstallWithdrawLat.SCPFintentInstallWithdrawLat</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SCPFintentRerouteLat-module.html"
+     onclick="setFrame('toc-TestON.tests.SCPFintentRerouteLat-module.html','TestON.tests.SCPFintentRerouteLat-module.html');"     >TestON.tests.SCPFintentRerouteLat</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html"
+     onclick="setFrame('toc-TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html','TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat-module.html');"     >TestON.tests.SCPFintentRerouteLat.SCPFintentRerouteLat</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SCPFportLat-module.html"
+     onclick="setFrame('toc-TestON.tests.SCPFportLat-module.html','TestON.tests.SCPFportLat-module.html');"     >TestON.tests.SCPFportLat</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SCPFportLat.SCPFportLat-module.html"
+     onclick="setFrame('toc-TestON.tests.SCPFportLat.SCPFportLat-module.html','TestON.tests.SCPFportLat.SCPFportLat-module.html');"     >TestON.tests.SCPFportLat.SCPFportLat</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SCPFswitchLat-module.html"
+     onclick="setFrame('toc-TestON.tests.SCPFswitchLat-module.html','TestON.tests.SCPFswitchLat-module.html');"     >TestON.tests.SCPFswitchLat</a><br />    <a target="moduleFrame" href="toc-TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html"
+     onclick="setFrame('toc-TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html','TestON.tests.SCPFswitchLat.SCPFswitchLat-module.html');"     >TestON.tests.SCPFswitchLat.SCPFswitchLat</a><br /><hr />
   <span class="options">[<a href="javascript:void(0);" class="privatelink"
     onclick="toggle_private();">hide&nbsp;private</a>]</span>